Rabu, 05 Oktober 2022

Langkah Konfigurasi Awal VPS

Ketika pertama kali membuat server Debian untuk VPS, ada beberapa konfigurasi dasar VPS yang perlu terapkan.

Konfigurasi dasar ini dapat meningkatkan keamanan. Selain itu, konfigurasi dasar ini akan memudahkan Anda dalam melakukan beberapa paket instalasi.

 Apa saja langkah-langkahnya? 

Berikut ini langkah yang perlu di lakukan untuk konfigurasi VPS Debian :

  1. Root login
  2. Update dan upgrade server
  3. Membuat user baru
  4. Tambahkan Public Key Authentication (PKA)
  5. Nonaktifkan Password Authentication
  6. Test Log In
  7. Konfigurasi Firewall menggunakan UFW
  8. Reboot VPS Debian 

1. Root Login 

Root login digunakan untuk proses masuk ke server. Anda bisa mendapatkan detail Login di panel ataupun email saat Anda membeli cloud VPS

konfigurasi vps debian tahap root login

Jika menggunakan Windows, Anda akan membutuhkan aplikasi seperti PuTTY. Masukkan IP pada kotak Host Name (or IP address) lalu klik Open.

memasukkan ip pada kotak host name

Selanjutnya akan muncul halaman untuk masukkan user login as, lalu masukkan password yang telah diberikan pada email saat pembelian VPS Hosting Indonesia.

memasukkan password pada konfigurasi vps debian

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.

peringatan keaslian host

Setelah klik YES kemudian Anda akan diminta untuk  masukkan user login as dan kata sandi. 

memasukkan user login pada konfigurasi vps debian

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: 

$ apt-get update
memasukkan perintah untuk update server

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:

$ apt-get upgrade
melakukan upgrade server

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.

fase membuat user baru pada konfigurasi vps debian

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.

memasukkan passphrase atau kata sandi

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:

membuat direktori baru ssh

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. 

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.

mengubah nilai password authentication pada konfigurasi vps debian

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:

konfigurasi vps debian

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.

status service ufw pada konfigurasi vps debian

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.

ilustrasi mengaktifkan firewall rule

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:

konfigurasi vps debian

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
konfigurasi vps debian

Penjelasan Default Policy :

  1. Melarang (dany) seluruh paket masuk, kecuali yang diizinkan.
  2. Mengijinkan (allow) seluruh paket yang masuk.
  3. 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:

konfigurasi vps debian

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.

konfigurasi vps debian

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
konfigurasi vps debian

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 format perintah

$ 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

konfigurasi vps debian

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

Sudah Siap Melakukan Konfigurasi VPS Debian ?

Dengan menjalankan semua langkah konfigurasi dasar di atas, server Anda telah memiliki dasar keamanan yang kuat. Dengan begitu Anda bisa menggunakannya dengan aman.