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 langkah yang perlu Anda terapkan saat melakukan konfigurasi awal VPS pada Debian 9. Apa saja langkah-langkahnya? Kami akan menjelaskan semuanya satu per satu di artikel ini. Konfigurasi Awal Pengaturan VPS Debian 9Berikut ini 8 langkah yang perlu Anda lakukan untuk konfigurasi VPS Debian 9:
Mari kita bahas satu per satu! 1. Root LoginRoot login digunakan untuk proses masuk ke server. Anda bisa mendapatkan detail Login di panel ataupun email saat Anda membeli cloud 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_AndaSetelah 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 ServerSetelah 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 updateUpgrade 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 upgrade3. Membuat User BaruSetelah 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 devSetelah 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. 4. Tambahkan Public Key Authentication (Recommended)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 PairUntuk menghasilkan New Key Pair SSH, masukkan perintah berikut di terminal Anda: $ ssh-keygenDengan 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):devTekan 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 KeySetelah 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.
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_AndaSelanjutnya 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.
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.pubIni akan menampilkan Public Key Anda yang akan terlihat seperti berikut ini: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/3K3UNpE0iTWLNla51XmDioLmdD8Wp3cIkxJyRJmnRM3Tkc5QvIUjvcViJmjPUxn2kmKETtMJUXWDCArG8z1SLSn7hIbwxfdduLRS8/ip8tVafeG3571wgLp9dAkmW0j0OBInYP3w3Bw5HxeUy4b6gZ9jsmtdrFaY+lQcq3yhX5YJQrPn8aR2luPDiya6bh2pObqVC9Si4wjcooraVHRpUfoiim/htNWu3WmXoI9Y8PR8n0Q3/CouUvgVPgFUkPfvklphrDMZtoAzflNoAU7u8QNvulBan7mpuYsKa4NpiUNsvPeOU3Wf8/W3AzNBRkFeryQuUAtD4nYHN80Wln3v [email protected]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 - devAnda 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 ~/.sshSekarang buka file yang .ssh disebut authorized_keys dengan editor teks. Kami akan gunakan perintah nano untuk mengedit file. $ nano ~/.ssh/authorized_keysKetikkan perintah ini untuk kembali ke user root: $ exitSelesai, 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_configTemukan 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 sshdSekarang otentikasi kata sandi dinonaktifkan. Server Anda sekarang hanya dapat diakses dengan otentikasi kunci SSH.. 6. Test Log Insebelum 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_AndaJika 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. Baca Juga: 15+ Tips Keamanan Server VPS 7. Konfigurasi Firewall Menggunakan UFWUncomplicated 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 UFWBerikut 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 ufwBila ternyata service ufw adalah inactive (dead), Anda harus mengaktifkannya dengan cara di bawah ini: $ sudo systemctl start ufw$ sudo systemctl enable ufwSetelah menjalankan perintah diatas, pastikan kali ini status service ufw adalah active (exited) seperti pada gambar di bawah ini. 7.2. Mengaktifkan Firewall Menggunakan UFWWalaupun service ufw telah aktif, firewall rule belum diaktifkan. Anda bisa mengeceknya dengan perintah ini: $ sudo ufw statusBila 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 -LMaka 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 enableKemudian 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 verbosePenjelasan Default Policy :
7.3. Mengaktifkan UFW Application ProfileUFW 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 listOutput 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 aplikasiAnda 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 SSHUntuk mengizinkan layanan SSH menggunakan ufw, Anda dapat melakukannya dengan mengizinkan Application profile OpenSSH menggunakan perintah ini: $ sudo ufw allow OpenSSHAtau Anda dapat melakukannya secara manual dengan cara $ sudo ufw allow 22/top7.5. Mengizinkan Layanan ApacheSetelah 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/tcpJalankan perintah di bawah ini untuk mengecek dampak perubahan firewall policy $ sudo ufw status verbose7.6. Mengizinkan Port dan Protokol TertentuKemudian Anda dapat mengizinkan port dan protokol tertentu dengan format perintah $ sudo ufw allow 80/tcpPermintaan di atas akan mengizinkan akses ke port 80 dengan protokol TCP, sedangkan perintah $ sudo ufw allow 53/udpPermintaan di atas akan mengizinkan akses ke port 53 dengan protokol UDP. 7.7. Mengizinkan Port dengan Range dan Protokol TertentuSetelah itu, Anda dapat mengizinkan port dengan range dan protokol tertentu dengan format perintah $ sudo ufw allow 8000:8100/tcpPermintaan di atas akan mengizinkan akses ke port 8000 hingga 8100 dengan protokol TCP. $ sudo ufw allow 5300:5500/udpsedangkan perintah, diatas akan mengizinkan akses ke port 5300 hingga 5500 dengan protokol TCP 7.8. Mengizinkan IP tertentuAnda dapat mengizinkan IP dengan format perintah yang tujuannya adalah mengizinkan akses dari IP tertentu di server. $ sudo ufw allow from 104.28.29.182Perintah 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 227.9. Mengizinkan Subnet tertentuAnda 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/24Perintah 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 22Perintah 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 TertentuUFW dapat Anda manfaatkan untuk memblokir IP atau Subnet tertentu. Untuk memblokir IP tertentu gunakan perintah. $ sudo ufw deny from 104.17.170.122Bila Anda ingin memblokir Subnet tertentu, gunakan perintah dengan format $ sudo ufw deny from 104.17.170.122/248. Cara Reboot VPS debian 9Konfigurasi terakhir yang harus dilakukan adalah melakukan reboot server yang fungsinya adalah untuk memuat ulang setelah Anda melakukan konfigurasi server. Silahkan masukkan perintah ini. $ rebootBaca Juga :Langkah Konfigurasi Awal VPS Ubuntu 16.04Konfigurasi Awal Pengaturan VPS Centos 7 Sudah Siap Melakukan Konfigurasi VPS Debian 9?Dengan menjalankan semua langkah konfigurasi dasar di atas, server Anda telah memiliki dasar keamanan yang kuat. Dengan begitu Anda bisa menggunakannya dengan aman. Itulah langkah awal konfigurasi VPS Debian 9. |