Apa Yang Harus diLakukan Setelah Sewa Server Ubuntu? Lakukan Ini, Untuk Perkuat Security Server Kamu!

By Last updated on

Ketika kamu pertama kali menyewa VPS yang terinstall OS Ubuntu 16.04, ada beberapa langkah yang harus kamu lakukan untuk meningkatkan keamanan dan penggunaan dan juga memberikan pondasi yang solid untuk kedepannya.

1. Login sebagai Root

Untuk login atau masuk ke server kamu, kamu sebelumnya harus tahu alamat IP public server yang kamu miliki. Kamu juga wajib tahu passwordnya, biasanya bisa didapatkan di panel provider tempat kamu menyewa VPS nya atau juga biasanya ada email notif yang masuk ke email kamu memberitahukan credential login yang berisi alamat ip dan juga password untuk masuk ke server. Dan default user pada server yang baru di sewa adalah root.

Silakan kamu login dengan terminal atau SSH client seperti putty, masuk dengan baris perintah seperti ini:

ssh root@ip_server_kamu

Selesaikan proses login, selanjutnya masukkan password. Jika baru pertama kali login biasanya server akan meminta kamu untuk merubah password.

Tentang Root

Root user adalah administratif user pada Linux, yang mempunyai akses super seperti super administrator pada windows. Jadi dengan root kamu bisa bebas menginstall program, service apa saja.

Memakai root pada penggunaan server sehari-hari sangatlah riskan, karena sifat root yang mempunyai hak bebas untuk mengatur server, install segala macam, hal ini sangatlah membahayakan penggunaan server. Alternatif yang lebih aman adalah dengan membuat user baru dengan akses yang serupa dengan root.

2. Buat User Baru

Ketika kamu sudah login menggunakan root, selanjutnya kita akan menyiapkan membuat user baru yang nantinya akan kita gunakan untuk login seterusnya menggunakan user tersebut, tidak lagi login menggunakan root.

Berikut contoh baris peritnah membuat user baru dengan username gegeriyadi, silakan kamu ganti dengan username kamu sendiri ya.

adduser gegeriyadi

Selanjutnya akan muncul beberapa pertanyaan, termasuk tentang password.

Masukkan password yang kuat, dan opsi lainnya seperti informasi tambahan bisa kamu isi ataupun kamu kosongkan dengan tekan Enter.

3. Beri Hak Akses Root

Sekarang, kita punya user baru dengan hak akses tipe reguler, atau secara kasarnya adalah akun biasa. Untuk bisa melakukan proses administratif seperti root (install/remove) selanjutnya kita akan membuat akun ini sebagai tipe superuser, yang mempunyai privilege sama seperti root akun dengan menggunakan perintah sudo diawal baris perintah.

Sebagai root, jalankan baris perintah berikut untuk menambahkan akun biasa yang dibuat tadi kedalam grup sudo:

usermod -aG sudo gegeriyadi

Sekarang silakan kamu coba gunakan perintah dengan perintah yang diharuskan mempunyai hak privilege contohnya sudo apt-get udpate.

4. Tambahkan Public Key Authentication (Sangat disarankan)

Step berikutnya dalam menambah keamanan server adalah membuat Public Key Authentication untuk user baru yang tadi dibuat. Setting ini akan lebih meningkatkan keamanan server karena server akan meminta Private SSH Key untuk bisa masuk ke dalam server.

Buat Sepasang SSH Key (Public & Private Key)

Jika sebelumnya kamu belum memiliki sepasang SSH key, yaitu key autentikasi yang terdiri dari Public dan Private Key, kamu harus membuatnya. Jika kamu sudah punya sebelumnya kamu bisa skip langkah ini dan langsung ke bagian berikutnya yaitu Menyalin Public Key.

Gunakan baris perintah berikut untuk membuat sepasang SSH key pada local machine (komputer) kamu:

ssh-keygen

Asumsikan local user di komputer kamu adalah localuser maka kamu akan melihat output dari hasil generate pada baris perintah diatas seperti ini:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Tekan enter untuk menyetujui nama file dan lokasi file berada (atau kamu bisa sesuaikan dengan nama dan lokasi yang kamu inginkan, saran saya sih biarkan default seperti itu).

Selanjutnya kamu akan dimintai masukkan password untuk mengamankan key kamu, kamu bisa mengisinya bisa juga membiarkannya tanpa password.

Baris perintah tadi akan menghasilkan 2 file, file pertama adalah private key yang dafultnya bernama id_rsa dan file kedua adalah public key id_rsa.pub. Kedua file tersebut berada pada folder bernama .ssh di lokasi user home berada, defaultnya di /c/users/localusername/.ssh.

Menyalin Public Key ke Server

Langkah berikutnya, kamu perlu menyalin Public Key yang telah di generate tadi ke server untuk keperluan login. Caranya ketik kan baris perintah berikut:

ssh-copy-id gegeriyadi@ip_server_kamu

Setelah dimintai password user dan kamu berhasil login, artinya kamu berhasil menghubungkan local computer kamu dengan server, yang untuk selanjutnya kamu login nanti tidak perlu lagi menggunakan password.

5. Me-nonaktifkan Autentifikasi Password (Sangat di Sarankan)

Sebelumnya kamu login via SSH menggunakan password, setelah membuat SSH key dan menghubungkan nya ke server sekarang kamu tidak perlu lagi login menggunakan password, hal ini tentu akan meningkatkan keamanan server karena orang orang yang tidak berkepentingan yang tidak memiliki SSH key tidak akan bisa masuk ke dalam server.

Untuk menonaktifkan autentifikasi password, kamu perlu mengedit konfigurasi sshd_configbisa kamu lakukan dengan baris perintah berikut, pertama kita buka file config-nya dahulu dengan nano editor. Kamu bisa melakukan ini dengan root atau user yang baru dibuat tadi.

sudo nano /etc/ssh/sshd_config

Cari baris kode yang berkaitan dengan PasswordAuthentication, dan ubah nilai nya menjadi no.

PasswordAuthentication no

Lalu ketik perintah berikut untuk me-reload SSH Daemon:

sudo systemctl reload sshd

Jika sudah, kamu bisa melakukan test login, coba logout terlebih dahulu dengan perintah exit. Lalu login dengan ssh gegeriyadi@ip_server_kamu. Dan ya, kamu sudah tidak perlu lagi login dengan password.

6. Disable Root Login

Akun root adalah akun yang utama di sistem operasi linux. Akun ini memiliki akses ke semua perintah dan file di sistem dengan kuasa baca, tulis dan eksekusi penuh.

Karena akun root ini mempunyai power yang absolut, setiap tidakan yang dilakukannya sangatlah penting pada sistem. Dalam hal ini, setiap kesalahan yang dilakukan melalui akun root sangat memungkinkan memiliki impact yang besar pada operasi suatu sistem.

Selain itu, akun ini juga dapat disalahgunakan dengan menggunakannya secara tidak benar, dan juga untuk menghindari hal bodoh yang terjadi meskipun tidak sengaja, untuk itu disarankan untuk melakukan disable terhadap root login ini.

Caranya kamu hanya perlu melakukan setting di sshd_config, buka dengan mengetikkan berikut

sudo nano /etc/ssh/sshd_config

Lalu cari PermitRootLogin dan ubah nilai nya dari yes ke no

PermitRootLogin no

Save dengan menekan tombol Ctrl dan x secara bersamaan, lalu enter.

7. Setting Basic Firewall

Pada Ubuntu 16.04 server bisa gunakan UFW firewall untuk memastikan hanya koneksi berkepentingan yang bisa menjalankan service yang diijinkan.

Beberapa aplikasi biasanya secara otomatis meregistrasi profile nya ke UFW ketika instalasi. UFW mengelola aplikasi berdasar nama. OpenSSH, service yang mengijinkan kita terhubung ke server juga sudah teregister ke UFW.

Kamu bisa melihat list app yang tersedia di ufw dengan mengetik berikut:

sudo ufw app list

Outputnya

Available applications:
OpenSSH

Untuk memastikan firewall mengijinkan koneksi SSH untuk login berikutnya. Kita bisa mengijinkan koneksi nya dengan perintah:

sudo ufw allow OpenSSH

Selanjutnya kita aktifkan firewall dengan perintah berikut:

sudo ufw enable

Ketik y dan enter. Kamu bisa melihat koneksi SSH diijinkan di firewall dengan mengetik:

sudo ufw status

Outputnya:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Selanjutnya jika kamu install service tambahan lainnya, kamu harus menambahkannya ke setting firewall untuk mengijinkan koneksinya.

Setelah semuanya kamu lakukan, kamu punya pondasi yang solid untuk server kamu. Kamu bisa install software apapun di server kamu sekarang.

Next

Selanjutnya kamu bisa baca tutorial berikutnya Install LEMP (Nginx, MySQL, PHP) Stack di Ubuntu, dimana LEMP Stack ini akan kita butuhkan nantinya sebagai engine untuk menjalankan web WordPress maupun PHP Framework seperti Laravel di server Ubuntu.

Referensi:

About The Author

About image

Founder Gegeriyadi.com, layanan yang sudah 10 tahun bergerak di bidang Web Development Services yang juga intens update seputar SEO dan juga Web Optimization...