KONFIGURASI VPS
8 Langkah Konfigurasi Awal VPS Debian 9
Ketika pertama kali membuat server Debian 9
untuk VPS, ada beberapa konfigurasi dasar VPS yang
perlu Anda terapkan. Konfigurasi dasar ini dapat meningkatkan keamanan. Selain
itu, konfigurasi dasar ini akan memudahkan Anda dalam melakukan beberapa paket
instalasi. Setidaknya ada 8 konfigurasi dasar yang harus Anda lakukan. Apa saja
langkah-langkah konfigurasi tersebut? Kami akan menjelaskan semuanya satu per
satu di artikel ini
Konfigurasi Awal Pengaturan VPS Debian 9
Berikut ini pembahasan dari langkah awal konfigurasi VPS Debian 9:
1. Root Login
Root login digunakan untuk proses masuk ke server. Anda bisa mendapatkan detail Login di panel ataupun email saat Anda membeli VPS.
Jika menggunakan Windows, Anda akan membutuhkan
aplikasi seperti PuTTY. Masukkan IP pada kotak Host Name (or IP address) lalu
klik Open.
Selanjutnya akan muncul halaman untuk masukkan
user login as, lalu masukkan password yang telah diberikan pada email saat
pembelian VPS Hosting Indonesia.
Sedangkan untuk Linux dan Mac, Anda dapat
menggunakan terminal yang sudah menjadi aplikasi bawaan pada sistem operasinya.
Masukkan perintah dibawah ini untuk login server.
$ ssh root@server_IP_Anda
Setelah proses login selesai, Anda akan menerima
peringatan tentang keaslian host.
Setelah klik YES kemudian Anda akan diminta
untuk masukkan user login as dan kata sandi.
Jika ini adalah pertama kalinya Anda masuk ke
server dengan kata sandi, Anda bisa cek kata sandi pada email yang Anda gunakan
untuk pembelian VPS. Di email tersebut, Anda akan mendapatkan informasi untuk
login SSH.
2. Update dan Upgrade Server
Setelah login ke server, Anda perlu
melakukan update dan upgrade server untuk memastikan program atau aplikasi
yang digunakan tidak terjadi error.
Update server adalah pembaharuan sebuah program
komputer atau menambah data pendukung, termasuk juga memperbaiki kelemahan-kelemahan
(bug) dan meningkatkan kegunaan atau kinerjanya. Untuk melakukan update,
gunakan perintah ini:
$ sudo apt-get update
Upgrade server digunakan untuk menginstall versi
terbaru dari semua paket saat ini yang diinstall pada sistem dari sumber-sumber
yang telah disebutkan dalam /etc/apt/sources.list. Paket yang terinstall akan
di-upgrade dengan versi terbaru yang tersedia. Untuk melakukan upgrade
server, gunakan perintah ini:
$ sudo apt-get upgrade
3. Membuat User Baru
Setelah masuk sebagai root, Anda dapat menambahkan pengguna akun baru yang nantinya bisa Anda gunakan untuk masuk/login server. Fungsi dari user baru di sini adalah untuk menambahkan tingkat keamanan saat login sehingga tidak sembarang orang bisa login ke server VPS Anda. Selain itu, mempermudah dalam proses manajemen dan pengolahan sever.
Pada contoh di bawah ini, kami membuat user baru
dengan nama “dev”. Anda bisa membuat user dengan nama yang sesuai dengan
keinginan dan kebutuhan Anda :
$ adduser dev
Setelah itu, Anda akan diminta untuk memasukkan
password baru. Buat password yang unik, fungsinya adalah untuk keamanan server
Anda.
Selain itu, Anda juga akan diminta mengisi
beberapa detail informasi seperti Full Name, Room Number, Work Phone dan Home
Phone. Tetapi dalam pengisian informasi tersebut adalah opsional.
Selesai, Anda telah berhasil membuat user baru.
Dalam penambahan user, Anda bisa menambahkan sesuai kebutuhan. Anda bisa
mengulangi perintah di atas untuk membuat user baru.
Langkah selanjutnya dalam mengamankan
server adalah mengatur Public Key Authentication untuk pengguna baru
Anda. Public Key Authentication akan memberikan kenyamanan dan keamanan untuk
login melalui SSH karena user tidak perlu memasukkan username dan password
seperti biasanya (dan rawan brute-force).
Untuk membuat Public Key Authentication, Anda
perlu generate Key Pair SSH. Berikut adalah cara membuat public key
authentication:
4.1. Generate a Key Pair
Untuk menghasilkan New Key Pair SSH, masukkan perintah
berikut di terminal Anda:
$ ssh-keygen
Dengan asumsi pengguna lokal Anda disebut “Local User”, Anda akan melihat output yang terlihat seperti berikut:
Generating public/private rsa key pair.Enter file in which to save the key
(/root/.ssh/id_rsa):dev
Tekan ENTER untuk menerima nama dan jalur file
ini.
Selanjutnya, Anda akan diminta untuk memasukan
passphrase (frasa sandi) untuk mengamankan key. Anda dapat memasukkan kata
sandi atau membiarkan kata sandi kosong.
Anda telah berhasil membuat Key Pair yang
terdiri dari Private Key id_rsa dan Public Key, id_rsa.pub. Setelah itu, Anda
bisa melihat file Public Key dengan nama Private Key, id_rsa dan Public Key di
direktori .ssh.
Note
Jika Anda membiarkan kata sandi kosong, Anda akan dapat menggunakan private key untuk otentikasi tanpa memasukan kata sandi. Jika Anda memasukkan passphrase, Anda akan memerlukan private key dan passphrase untuk login. Mengamankan key Anda dengan passphrase lebih aman, tetapi kedua metode memiliki penggunaannya dan lebih aman dari pada otentikasi kata sandi dasar.
4.2. Salin Public Key
Setelah sukses membuat Public Key
Authentication, kini Anda perlu menyalinnya ke server baru Anda. Terdapat dua
cara untuk menyalin Public Key ini, yaitu menggunakan ssh-copy-id dan dengan
cara manual. Pilih salah satu cara di bawah ini yang menurut Anda mudah.
Pilihan 1 Gunakan ssh-copy-id
Jalankan ssh-copy-id dengan menggunakan perintah di bawah ini. (Ganti IP_server_Anda dengan alamat IP server Anda yang sesungguhnya).
$ ssh-copy-id dev@IP_server_Anda
Selanjutnya Anda akan diminta untuk memasukan kata sandi user yang telah Anda buat., Setelah itu, Public Key Anda akan ditambahkan .ssh/authorized_keys untuk remote user. Sekarang Public Key dapat digunakan untuk masuk server.
Pilihan 2 Install Key Secara Manual
Cara lain untuk menyalin Public Key adalah dengan cara manual jalankan perintah di bawah ini untuk membuat Public Key Anda (id_rsa.pub).
$ cat ~/.ssh/id_rsa.pub
Ini akan menampilkan Public Key Anda yang akan terlihat seperti berikut ini:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/3K3UNpE0iTWLNla51XmDioLmdD8Wp3cIkxJyRJmnRM3Tkc5QvIUjvcViJmjPUxn2kmKETtMJUXWDCArG8z1SLSn7hIbwxfdduLRS8/ip8tVafeG3571wgLp9dAkmW0j0OBInYP3w3Bw5HxeUy4b6gZ9jsmtdrFaY+lQcq3yhX5YJQrPn8aR2luPDiya6bh2pObqVC9Si4wjcooraVHRpUfoiim/htNWu3WmXoI9Y8PR8n0Q3/CouUvgVPgFUkPfvklphrDMZtoAzflNoAU7u8QNvulBan7mpuYsKa4NpiUNsvPeOU3Wf8/W3AzNBRkFeryQuUAtD4nYHN80Wln3v root@dapitkurniawan.io
Anda harus menambahkan file Public Key di atas
ke file khusus di direktori home/user. Berikut cara menambahkan file Private
Key id_rsa dan Public Key, id_rsa.pub:
Apabila Anda masih login sebagai root, masukkan
perintah berikut ini untuk beralih ke pengguna baru:
$ su - dev
Anda akan berada di direktori home/new user Anda.
Buat direktori baru yang disebut .ssh dan batasi izinnya dengan perintah berikut ini:
Buat direktori baru yang disebut .ssh dan batasi
izinnya dengan perintah berikut ini:
$ mkdir ~/.ssh$ chmod 700 ~/.ssh
Sekarang buka file yang .ssh disebut
authorized_keys dengan editor teks. Kami akan gunakan perintah nano untuk
mengedit file.
$ nano ~/.ssh/authorized_keys
Ketikkan perintah ini untuk kembali ke user
root:
$ exit
Selesai, kini Anda telah berhasil menambahkan
Public Key Authentication pada server.
5. Nonaktifkan Password
Authentication (Recommended)
Anda dapat meningkatkan keamanan server Anda
dengan menonaktifkan otentikasi kata sandi. Melakukan hal itu akan membatasi
akses SSH ke server Anda hanya untuk otentikasi Public Key. Artinya,
satu-satunya cara untuk masuk ke server Anda selain dari konsol adalah dengan memiliki Private key.
Untuk menonaktifkan otentikasi kata sandi di
server Anda, ikuti langkah-langkah ini.
$ sudo nano /etc/ssh/sshd_config
Temukan baris yang menentukan
PasswordAuthentication, hapus tanda # lalu ubah nilainya menjadi “NO” seperti
pada gambar di bawah ini.
Berikut adalah dua pengaturan lain yang penting
untuk otentikasi kunci saja dan ditetapkan secara default. Jika belum
mengubah file ini sebelumnya, Anda tidak perlu mengubah pengaturan ini:
Ketika Anda selesai melakukan perubahan, simpan
dan tutup file menggunakan perintah Ctrl+X, lalu Y, lalu ENTER.
Ketik ini untuk melakukan restart SSH :
$ sudo systemctl reload sshd
Sekarang otentikasi kata sandi dinonaktifkan.
Server Anda sekarang hanya dapat diakses dengan otentikasi kunci SSH..
6. Test Log In
sebelum Anda keluar dari server, Anda harus
menguji konfigurasi baru Anda. Jangan putuskan sambungan sampai Anda
mengkonfirmasi bahwa Anda bisa masuk melalui SSH.
Masuk ke server Anda menggunakan akun baru yang
Anda buat. Untuk melakukannya, gunakan perintah ini:
$ ssh dev@IP_Server_Anda
Jika Anda menambahkan otentikasi Public Key ke
New User, seperti yang dijelaskan dalam langkah empat dan lima, Private Key
Anda akan digunakan sebagai otentikasi. Jika tidak, Anda akan diminta kata
sandi pengguna Anda. Setelah otentikasi diberikan ke server, Anda akan masuk
sebagai New User.
7. Konfigurasi Firewall
Menggunakan UFW
Uncomplicated Firewall (UFW) adalah sebuah interface dari Linux iptables. iptables sendiri adalah tools yang sangat bagus untuk melakukan konfigurasi firewall di sistem operasi berbasis Linux. Namun iptables cukup rumit untuk dipahami oleh sebagian orang. UFW hadir untuk mengatasi permasalahan tersebut dengan cara menyederhanakan perintah konfigurasi firewall sehingga memudahkan sistem administrator dalam mengelola firewall.
Di bawah ini kami akan menjelaskan cara konfigurasi firewall menggunakan ufw.
7.1. Mengaktifkan
Service UFW
Berikut adalah langkah-langkah konfigurasi
firewall menggunakan UFW.Sebelum melakukan konfigurasi firewall
menggunakan ufw, Anda harus memastikan service ufw telah berjalan di server
Anda dengan perintah:
$ sudo systemctl status ufw
Bila ternyata service ufw adalah inactive
(dead), Anda harus mengaktifkannya dengan cara di bawah ini:
$ sudo systemctl start ufw$ sudo systemctl enable ufw
Setelah menjalankan perintah diatas,
pastikan kali ini status service ufw adalah active (exited)seperti pada gambar
di bawah ini.
7.2. Mengaktifkan
Firewall Menggunakan UFW
Walaupun service ufw telah aktif, firewall
rule belum diaktifkan. Anda bisa mengeceknya dengan perintah ini:
$ sudo ufw status
Bila output perintah tersebut Status: inactive maka
artinya ufw belum aktif dan default policy dari firewall adalah ACCEPT.
Cek kembali dengan perintah di bawah ini.
$ sudo iptables -L
Maka Anda akan mendapatkan output kurang lebih
seperti ini.
Kondisi seperti ini akan mengijinkan seluruh
koneksi keluar dan masuk ke server Anda. Sekarang aktifkanlah ufw dengan
perintah ini:
$ sudo ufw enable
Kemudian tekan y bila mendapatkan pesan seperti
pada tampilan di bawah ini:
Bila berhasil, Anda akan mendapatkan pesan
Firewall is active and enabled on system startup. Untuk melakukan pengecekan
status jalankan perintah ini.
Untuk melihat default policy setelah UFW
diaktifkan. Contoh output perintah tersebut adalah
$ sudo ufw status verbose
Penjelasan Default Policy :
Melarang (dany) seluruh paket masuk, kecuali
yang diizinkan.
Mengijinkan (allow) seluruh paket yang masuk.
Tidak mengaktifkan (disabled) paket routing.
7.3. Mengaktifkan UFW
Application Profile
UFW telah menyediakan berbagai Application
profile yang berisi default rule berbagai aplikasi populer. Anda dapat melihat
daftar Application profile tersebut dengan menggunakan perintah.
$ sudo ufw app list
Output perintah tersebut bergantung pada
aplikasi yang Anda install dalam komputer Anda. Berikut contoh output perintah
di atas:
Anda dapat mengizinkan aplikasi tertentu dengan
perintah
$ sudo ufw allow nama aplikasi
Anda dapat melihat policy yang ada dalam
masing-masing Application profile dengan perintah sudo ufw app info <nama
aplikasi>. Berikut adalah contoh output ketika menjalankan perintah di atas.
7.4. Mengizinkan Akses
Layanan SSH
Untuk mengizinkan layanan SSH menggunakan
ufw, Anda dapat melakukannya dengan mengizinkan Application profile
OpenSSH menggunakan perintah ini:
$ sudo ufw allow OpenSSH
Atau Anda dapat melakukannya secara manual dengan
cara
$ sudo ufw allow 22/top
7.5. Mengizinkan Layanan
Apache
Setelah memberi izin pada SSH selanjutnya adalah
mengizinkan layanan Apache Cara paling mudah mengizinkan layanan Web server
Apache, baik itu port 80 untuk protokol HTTP dan port 443 untuk protokol HTTPS
dengan perintah
$ sudo ufw allow ‘Apache Full’
Atau Anda dapat melakukannya secara manual
dengan cara
$ sudo ufw allow 80/tcp$ sudo ufw allow 443/tcp
Jalankan perintah di bawah ini untuk mengecek
dampak perubahan firewall policy
$ sudo ufw status verbose
7.6. Mengizinkan Port
dan Protokol Tertentu
Kemudian Anda dapat mengizinkan port dan
protokol tertentu dengan format perintah
$ sudo ufw allow 80/tcp
Permintaan di atas akan mengizinkan akses ke
port 80 dengan protokol TCP, sedangkan perintah
$ sudo ufw allow 53/udp
Permintaan di atas akan mengizinkan akses ke
port 53 dengan protokol UDP.
7.7. Mengizinkan Port
dengan Range dan Protokol Tertentu
Setelah itu, Anda dapat mengizinkan port dengan
range dan protokol tertentu dengan formatperintah
$ sudo ufw allow 8000:8100/tcp
Permintaan di atas akan mengizinkan akses ke
port 8000 hingga 8100 dengan protokol TCP.
$ sudo ufw allow 5300:5500/udp
sedangkan perintah, diatas akan mengizinkan
akses ke port 5300 hingga 5500 dengan protokol TCP
7.8. Mengizinkan IP
tertentu
Anda dapat mengizinkan IP dengan format perintah
yang tujuannya adalah mengizinkan akses dari IP tertentu di server.
$ sudo ufw allow from 104.28.29.182
Perintah di atas akan mengizinkan semua akses
dari IP 104.28.29.182 masuk ke komputer Anda. Bila ingin hanya IP tertentu yang
dapat mengakses port tertentu di server, Anda dapat menjalankan perintah
ini:
$ sudo ufw allow from 104.28.29.182 to any port 22
7.9. Mengizinkan Subnet
tertentu
Anda dapat mengizinkan Subnet dengan format perintah
yang berfungsi untuk mengizinkan semua akses dari Subnet yang masuk ke server
Anda.
$ sudo ufw allow from 104.28.29.180/24
Perintah di atas akan mengizinkan semua akses
dari subnet 104.28.29.180/24 masuk ke server Anda. Bila ingin hanya Subnet
tertentu yang dapat mengakses port tertentu di server, Anda dapat menjalankan
perintah
$ sudo ufw allow from 104.28.24.40/24 to any port 22
Perintah di atas akan mengizinkan akses dari IP
104.28.24.40/24 masuk ke port 22 di server Anda.
7.10. Memblokir Akses
dari IP atau Subnet Tertentu
UFW dapat Anda manfaatkan untuk memblokir IP
atau Subnet tertentu. Untuk memblokir IP tertentu gunakan perintah.
$ sudo ufw deny from 104.17.170.122
Bila Anda ingin memblokir Subnet tertentu,
gunakan perintah dengan format
$ sudo ufw deny from 104.17.170.122/24
8. Cara Reboot VPS debian 9
Konfigurasi terakhir yang harus dilakukan adalah
melakukan reboot server yang fungsinya adalah untuk memuat ulang setelah Anda
melakukan konfigurasi server. Silahkan masukkan perintah ini.
$ reboot
Kesimpulan :
Dengan menjalankan semua langkah konfigurasi
dasar di atas, server Anda telah memiliki dasar keamanan yang kuat. Dengan
begitu Anda bisa menggunakannya dengan aman.
Komentar
Posting Komentar