Saat pertama kali menginstal server Ubuntu 16.04, ada beberapa konfigurasi yang harus dilakukan di awal. Langkah-langkah ini akan membantu meningkatkan keamanan dan kegunaan server kami sehingga memberikan dasar yang baik untuk kehidupan aplikasi yang akan diinstal pada server itu.
Untuk masuk ke server yang telah diinstal, kita perlu mengetahui alamat IP publik. Kita juga perlu mengetahui kata sandi, atau jika Anda menginstal kunci SSH, maka perlu memiliki kunci pribadi untuk pengguna "root".
Jika belum masuk, maka lakukan terlebih dahulu dengan `root user menggunakan perintah berikut:
ssh root@your_server_ip
Root
User root merupakan user administrator di lingkungan Linux dengan kemampuan tak terhingga. Karena kemampuannya yang tak ada batas dan dapat melakukan sesuatu yang amat berbahaya (meskipun tanpa sengaja), maka penggunaan user root tidak disarankan dikehidupan sehari-hari.
Langkah berikutnya ialah kita akan membuat akun user baru dengan kemampuan yang dibatasi untuk pekerjaan sehari-hari.
Membuat User Baru
Setelah masuk sebagai user root, kita sekarang siap untuk membuat akun user baru sebagai pengganti. Contoh di bawah ini kita akan membuat user baru dengan akun "sammy", namun kita harus menggantinya dengan nama user yang disukai:
adduser sammy
Akan ada beberapa pertanyaan yang harus dijawab dan dimulai dengan memasukkan kata sandi baru.
Berikan kata sandi yang kuat, dan isi informasi yang dianggap penting. Satu-satunya pertanyaan yang diperlukan adalah kata sandi, sisanya dapat dilewati dengan menekan tombol ENTER jika diinginkan.
Baca Juga : Manajemen User Pada Linux Ubuntu Server
Baca Juga : Manajemen User Pada Linux Ubuntu Server
Root Privileges
Sekarang, kita telah memiliki akun user baru dengan hak biasa. Namun, terkadang kita masih perlu melakukan aksi yang hanya bisa dilakukan oleh administrator.
Daripada keluar dari akun user biasa lalu masuk lagi dengan akun root, kita akan menyiapkan sesuatu yang dikenal dengan istilah "superuser" atau hak root (alias root privileges) ke akun user biasa yang telah kita buat. Dengan demikian akun user biasa kita dapat menjalankan perintah-perintah root menggunakan kata kunci sudo.
Untuk menambah hak ini, kita perlu memasukkan akun tadi ke grup "sudo". Di Ubuntu 16.04. apabila seorang user dimasukkan ke dalam grup "sudo" maka ia dapat melakukan perintah sudo.
Login dulu sebagai root, lalu jalankan perintah berikut untuk menambahkan akun user tadi ke grup "sudo":
usermod -aG sudo sammy
Sekarang user baru yang sudah kita buat dapat menjalankan perintah-perintah administrator.
Menambahkan Public Key Authentication
Langkah berikutnya untuk mengamankan server Ubuntu baru ialah dengan menambahkan public key authentication untuk user tadi.
Pengaturan ini akan meningkatkan keamanan server yang akan meminta private SSH tiap kali login.
Membuat sebuah Key Pair
Jika belum memiliki sebuah SSH key pair yang terdiri dari key publik dan private, maka kita perlu membuatnya terlebih dahulu. Jika sudah ada, lewati ke langkah berikutnya.
Untuk membuat key pair baru, masukkan perintah di bawah ini di komputer lokal dan bukan di server :
ssh-keygen
Bila user di komputer lokal bernama "localuser", kita akan melihat hasil yang seperti ini:
ssh-keygen outputGenerating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Tekan enter untuk menerima (atau masukkan nama baru untuk filenya).
Kemudian, kita akan diminta memasukkan sebuah passphrase, semacam password untuk mengamankan key tadi. Kita boleh tidak mengisi passphrase-nya (lebih baik jika diisi).
Catatan: Jika dikosongkan, kita tidak akan dimintai passphrase saat melakukan koneksi nantinya menggunakan private key. Lalu, jika diberikan passphrase, saat melakukan koneksi kita juga akan dimintai apa passphrase yang dimasukkan. Mengamankannya dengan passphrase akan lebih baik dibanding tidak. Akan tetapi keduanya masih tetap lebih baik dibanding melakukan otentikasi password biasa.
Perintah di atas akan membuat private key baru, id_rsa, dan sebuah public key, id_rsa.pub, di dalam direktori .ssh di direktori home user bernama localuser. Selalu ingat untuk tidak berbagi private key kepada orang-orang yang tidak seharusnya memiliki akses.
Salin Public Key
Setelah membuat sebuah SSH key pair, kita kemudian perlu membuat salinan public key ke server. Ada dua cara yang dapat dilakukan.
Opsi 1: Gunakan ssh-copy-id
Jika komputer kita memiliki skrip ssh-copy-id, kita bisa memakainya untuk memasang public key ke server.
Jalankah skrip ssh-copy-id dengan memberikan akun dan alamat IP dari server yang ingin dipasangkan:
ssh-copy-id sammy@your_server_ip
Setelah memberikan password yang diminta, public key kita akan ditambahkan ke file .ssh/authorized_keys. Private key yang satunya lagi sekarang bisa dipakai untuk masuk ke server.
Opsi 2: Memasang Key Secara Manual
Lakukan perintah berikut untuk membaca isi file id_rsa.pub:
cat ~/.ssh/id_rsa.pub
Perintah di atas akan mencetak public SSH key
Salin dulu kode yang dihasilkan.
Jika masuk sebagai root, ganti dulu ke user biasa dengan perintah di bawah:
su - sammy
Sekarang kita seharusnya sudah ada di direktori home user sammy (atau user yang sudah dibuat).
Buat direktori baru bernama .ssh dan atur permission-nya menjadi:
mkdir ~/.ssh
chmod 700 ~/.ssh
Sekarang buat/buka sebuah file di direktori .ssh bernama authorized_keys dengan sebuah editor, misalnya nano:
nano ~/.ssh/authorized_keys
Tempelkan/paste kode public key yang tadi dihasilkan.
Tekan CTRL-x untuk keluar dari nano, lalu tekan tombol y untuk menyimpan perubahan. Tekan ENTER untuk konfirmasi.
Selanjutnya atur lagi permission authorized_keys dengan perintah berikut:
chmod 600 ~/.ssh/authorized_keys
Tulis perintah berikut untuk kembali menjadi root:
exit
Sekarang public key sudah terpasang dan kita sudah bisa terhubung ke server menggunakan SSH key sebagai user biasa.
Disable Password Authentication
Karena user biasa sudah bisa masuk menggunakan SSH key, kita dapat meningkatkan keamanan server lebih lanjut dengan men-disable otentikasi password bawaan. Dengan demikian hanya orang-orang yang memiliki SSH key yang dapat masuk.Catatan: Pastikan sudah bisa melakukan koneksi menggunakan SSH key. Jika tidak langkah selanjutnya akan membuat kita tidak dapat masuk ke server.
Langkah pertama, sebagai root atau user baru dengan perintah sudo , buka konfigurasi SSH daemon:
sudo nano /etc/ssh/sshd_config
Cari baris yang mengatur PasswordAuthentication, hapus tanda #, lalu tambahkan nilai "no" seperti pada contoh di bawah:
sshd_config — Disable password authentication
PasswordAuthentication no
Berikut adalah dua pengaturan lainnya yang penting bagi proses otentikasi menggunakan SSH key saja. Jika belum pernah mengubahnya, kita tidak perlu otak-atik dua baris ini:
sshd_config — Important defaults
PubkeyAuthentication yes
ChallengeResponseAuthentication no
Jika sudah selesai, simpan file dan tutup nano dengan cara yang sama dengan sebelumnya (CTRL-X, lalu Y, lalu ENTER).
Ketikkan perintah berikut untuk me-restart SSH daemon:
sudo systemctl reload sshd
Otentikasi menggunakan password sekarang telah di-disable. Sekarang kita hanya bisa masuk ke server menggunakan SSH key.
Test Log In
Sekarang, sebelum keluar dari server, kita perlu menguji pengaturan yang telah dilakukan. Jangan keluar dulu sampai sudah bisa login lewat SSH.Buka jendela terminal baru di komputer lokal, kemudian login ke server menggunakan akun user yang sudah kita buat. Untuk melakukannya, gunakan perintah berikut (ganti dengan username dan alamat IP yang dimiliki):
ssh sammy@your_server_ipJika pengaturan otentikasi menggunakan public key yang sudah dilakukan benar, maka kita akan masuk ke server. Jika tidak, maka kita akan diminta untuk memasukkan password user.
Catatan: Jika saat membuat key pair pembaca memasukkan sebuah passphrase, maka saat melakukan koneksi kita akan dimintai passphrase tadi. Jika dikosongkan, maka kita akan masuk ke server tanpa passphrase.
Jika berhasil masuk tanpa diminta password user sammy (atau user yang sudah dibuat sendiri), maka artinya proses tadi sudah berhasil.
Baca Juga : 11 Hal Yang Harus Dilakukan Setelah Menginstal Ubuntu 18.04
Baca Juga : 6 Hal Yang Perlu Diperhatikan Setelah Menginstall Ubuntu Server 18.04
Mengatur Firewall
Server Ubuntu 16.04 dapat diatur dengan firewall UFW untuk memastikan bahwa hanya koneksi ke beberapa service yang diijinkan. Kita dapat mengatur sebuah firewall dasar menggunakan aplikasi ini.Aplikasi-aplikasi lain nanti dapat ditambahkan profilenya ke UFW saat pemasangan. Profile ini akan mengijinkan UFW untuk mengatur aplikasi tadi berdasarkan nama. OpenSSH, sebuah service yang membuat kita dapat terhubung ke server sekarang, memiliki profile yang terdaftar di UFW. Kita dapat melihatnya dengan perintah:
sudo ufw app list
OutputAvailable applications:Kita perlu memastikan firewall mengijinkan koneksi SSH sehingga kita dapat masuk ke server di koneksi berikutnya. Lakukan hal ini dengan perintah:
OpenSSH
sudo ufw allow OpenSSH
Lalu kita dapat mengaktifkan firewall dengan perintah:
sudo ufw enable
Tekan "y" lalu ENTER untuk melanjutkan. Kita dapat melihat koneksi SSH masih diijinkan dengan memasukkan perintah:
sudo ufw status