Yang Perlu Dilakukan Setelah Memasang Server Ubuntu 16.04

Bagus Aji Santoso 18 Oktober 2017

Yang Perlu Dilakukan Setelah Memasang Server Ubuntu 16.04

Pendahuluan

Saat pertama memasang server Ubuntu 16.04, ada beberapa konfigurasi yang mesti dilakukan di awal. Langkah-langkah ini akan membantu meningkatkan keamanan dan kegunaan dari server kita sehingga memberikan dasar yang baik bagi kehidupan aplikasi yang akan dipasang di server tersebut.

Langkah Pertama — Root Login

Untuk masuk ke server yang telah dipasang, kita perlu tahu alamat IP publiknya. Kita juga perlu tahu password, atau jika memasang SSH key, maka kita juga perlu memiliki private key untuk user "root".

To log into your server, you will need to know your server's public IP address. You will also need the password or, if you installed an SSH key for authentication, the private key for the "root" user's account.

Jika belum masuk, maka lakukanlah terlebih dahulu dengan user `root menggunakan perintah berikut ini:

ssh root@your_server_ip

Tentang 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.

Langkah Kedua — Membuat User Baru

Setelah masuk sebagai user root, kita sekarang sudah siap untuk membuat akun user baru sebagai penggantinya. Contoh di bawah ini kita akan membuat user baru dengan akun "sammy", namun kita perlu menggantinya dengan username yang disukai:

adduser sammy

Akan ada beberapa pertanyaan yang mesti di jawab dan dimulai dengan memasukkan password baru.

Berikan password yang kuat, dan isi informasi-informasi yang dianggap penting. Pertanyaan yang wajib diisi hanya password, sisanya dapat dilewati dengan menekan tombol ENTER bila diinginkan.

Langkah Ketiga — 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.

Langkah Keempat — 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 dengan hasil seperti berikut:

id_rsa.pub contentsssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

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.

Langkah Kelima — 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.

Langkah Keenam — 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_ip

Jika 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.

Langkah Ketujuh — 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:
  OpenSSH

Kita perlu memastikan firewall mengijinkan koneksi SSH sehingga kita dapat masuk ke server di koneksi berikutnya. Lakukan hal ini dengan perintah:

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
OutputStatus: active

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

Jika memasang dan mengatur service baru, kita mungkin perlu mengatur lagi konfigurasi firewall untuk mengijinkan traffic masuk.

Penutup

Sampai di sini, kita sudah memiliki fondasi dasar yang baik bagu server baru kita. Kita sudah dapat memasang software-software lain yang dibutuhkan.

Sumber gambar: omgubuntu

Diterjemahkan dari Initial Server Setup with Ubuntu 16.04 di bawah Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.