Konfigurasi Dasar pada Ubuntu 18.04 Server

Ketika Anda menginstall ubuntu 18.04 server (atau versi lainnya), ada beberapa konfigurasi dasar yang sebaiknya Anda lakukan terlebih dahulu. Dengan mengikuti panduan ini diharapkan akan meningkatkan keamanan server Anda dan ini akan menjadi fondasi dasar yang baik untuk konfigurasi selanjutnya.

Disini saya menggunakan contoh pada VPS yang biasanya ketika selesai instalasi hanya diberi akses akun root menggunakan SSH. Tetapi jika Anda menginstall ubuntu 18.04 server pada komputer Anda (manual) biasanya akun dengan grup “sudo” telah dibuat ketika instalasi, jadi Anda bisa langsung ke Step 4.

 

Step 1 – Login dengan akun Root

Untuk login pada server, Anda harus mengetahui terlebih dahulu alamat IP atau domain yang digunakan server. Jalankan perintah berikutย pada terminal PC lokal Anda untuk mengakses server:

$ ssh root@ip_server_anda

Tentang Root:

User root adalah user administrator yang ada pada Linux yang memiliki hak yang istimewa. Karena hak-nya yang istimewa, disarankan agar Anda tidak menggunakannya untuk keperluan biasa. Jika Anda tidak sengaja menjalankan perintah yang berbahaya atau mengedit file yang tidak diketahui, ditakutkan akan menyebabkan kerusakan pada sistem.

Langkah selanjutnya adalah membuat user alternatif baru, yang aman digunakan untuk keperluan biasa. Dan nanti akan kita pelajari juga tentang cara mendapatkan hak istimewa ketika kita membutuhkannya.

 

Step 2 – Membuat User Baru

Setelah berhasil login sebagai root, kita akan membuat akun baru yang akan digunakan sebagai pengganti root.

Sebagai contoh, user baru tersebut bernama “naaget“, Anda bisa menyesuaikannya dengan username yang diinginkan. Untuk membuat user baru, Anda dapat menjalankan perintah seperti berikut:

# adduser naaget

Nantinya Anda akan ditanya beberapa pertanyaan, seperti password yang diinginkan, nama lengkap, dll. Jika ada pertanyaan yang mungkin tidak dibutuhkan oleh Anda seperti No Telp, Anda bisa melewatinya dengan menekan Enter.

 

Step 3 – Memberikan Hak Akses Root

Sekarang kita telah memiliki user yang memiliki hak biasa (reguler). Tetapi terkadang kita membutuhkan perintah-perintah yang bersifat administratif.

Untuk menghindari logout dari normal user kemudian login kembali menggunakan root, kita dapat mengaturnya sebagai “superuser” atau hak akses root untuk normal user. Jadi user normal tadi, dapat juga menjalankan perintah yang bersifat administratif dengan mengawali sudo disetiap perintahnya.

Untuk memberikan hak istimewa pada user normal, user tersebut harus tergabung terlebih dahulu pada grup “sudo“. Secara default, pada ubuntu 18.04 setiap user yang tergabung dalam grup “sudo“, mereka dapat menjalankan perintah sudo.

Sebagai root, jalankan perintah berikut untuk memasukkan user tadi ke grup “sudo“.

# usermod -aG sudo naaget

Sekarang user tersebut dapat menjalankan perintah yang bersifat administratif ๐Ÿ˜€ . Untuk informasi lebih dalam, Anda dapat membaca tutorial sudoers.

 

Step 4 – Menambahkan Public Key Authentication (Recommended)

Selanjutnya adalah mengamankan server dengan menggunakan Public Key Authentication untuk user yang telah dibuat sebelumnya. Dengan melakukan setting-an ini akan membuat kemananan server Anda meningkat karena untuk mengakses (login) server, user harus memiliki Private SSH Key.

Membuat Key Pair

Jika Anda belum memiliki SSH key pair, yang terdiri dari Public key dan Private Key, Anda harus membuatnya terlebih dahulu (seperti pada bagian ini). Tetapi jika Anda sudah memilikinya, Anda dapat skip langkah ini.

Untuk membuat Key Pair, jalankan perintah berikut pada terminal di PC lokal Anda (komputer Anda):

$ ssh-keygen

Saya asumsikan nama dari user PC lokal Anda adalah “localuser” dan Anda akan melihat output seperti berikut:

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

Tekan ENTER untuk menyetujui tempat direktori Key Pair secara default atau Anda bisa merubahnya sesuai keinginan Anda.

Selanjutnya, Anda akan diminta passphrase untuk mengamankan penggunaan Pair Key tadi. Passphrase ini adalah password yang akan diminta ketika Anda ingin menggunakan Pair Key tersebut. Berikut adalah contoh Passpharase:

Yang Sebaiknya Dilakukan Setelah Menginstall Ubuntu 16.04 Server

 

Ketika Anda akan menggunakan Pair Key, Anda harus memasukkan passpharase terlebih dahulu seperti pada gambar di atas. Ini saya rekomendasikan untuk meninggkatkan keamanan server Anda, karena dapat mencegah seseorang yang dapat mengakses PC lokal Anda untuk mencoba me-remote server tersebut. Tetapi jika Anda tidak ingin menggunakannya, tekan ENTER (blank).

Pair Key yang telah dibuat terdiri dari id_rsa (Private Key) dan id_rsa.pub (Public Key) yang berada di direktori .ssh dari PC lokal home direktory (/home/localuser/.ssh/). Ingat jangan bagikan private key kepada siapa pun yang tidak berhak menggunakannya! ๐Ÿ™‚

 

Copy Public Key ke Server

Setelah membuat SSH key pair, selanjutnya adalah melakukan duplikat public key ke komputer server Anda. Ada dua cara untuk melakukkannya yaitu seperti berikut:

Cara 1: Menggunakan ssh-copy-id

ssh-copy-id adalah aplikasi/program yang biasanya ikut terinstall ketika melakukan instalasi open-ssh. Dengan adanya ssh-copy-id Anda dapat mengirimkan public key ke server dengan mudah. Gunakan perintah berikut untuk menggunakannya:

$ ssh-copy-id naaget@ip_server_anda

Setelah memberikan password, public key Anda telah ditambahkan ke file remote user (.ssh/authorized_keys) pada server. Sekarang private key Anda telah terkait dan dapat digunakan untuk mengakses server.

Cara 2: Menginstall Key Secara Manual

Ikuti perintah berikut untuk menampilkan isi dari id_rsa.pubย  yang telah dibuat sebelumnya pada terminal.

$ cat ~/.ssh/id_rsa.pub

Seharusnya akan muncul public key yang kurang lebih seperti berikut:

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

Copy isi dari public key tersebut, lalu login ke komputer server Anda.

$ ssh naaget@ip_server_anda

Setelah berhasil login, buatlah direktori dengan nama .ssh dan kita setting hak aksesnya seperti berikut:

$ mkdir ~/.ssh
$ sudo chmod 700 ~/.ssh

Selanjutnya buat file authorized_keys pada direktori .ssh. Di sini saya menggunakan text editor nano.

$ nano ~/.ssh/authorized_keys

Lalu masukkan (paste) public key yang telah di-copy sebelumnya. Jika sudah, simpan dengan menekan CTRL+X untuk keluar dari file, dan tekan y untuk menyimpan perubahan yang telah dibuat. Lalu ENTER untuk confirm nama filenya.

Sekarang public key Anda telah terpasang dan Anda dapat menggunakan SSH keys untuk login.

Untuk mengetahui lebih lanjut tentang bagaimana key authentication bekerja, Anda dapat membaca tutorial ini.

 

Step 5 – Mematikan Password Authentication (Recommended)

Sekarang user yang telah kita buat dapat mengakses server menggunakan SSH keys, untuk meningkatkan keamanan server Anda, sebaiknya disable password-only authentication. Bukankah Anda telah dapat mengakses server tanpa menggunakan password? ๐Ÿ™‚ . Hal ini dilakukan untuk mencegahnya ada serangan brute force pada user Anda.

Untuk melakukannya, edit file sshd_config yang terdapat di direktori /etc/ssh/ seperti berikut:

$ sudo nano /etc/ssh/sshd_config

Cari script PasswordAuthentication lalu, edit di depannya menjadi no, seperti berikut:

PasswordAuthentication no

Dan pastikan juga setting-an lainnya seperti berikut (ini sebenarnya sudah diset default, tetapi dikhawatirkan Anda pernah mengeditnya):

PubkeyAuthentication yes
ChallengeResponeAuthentication no

Jika sudah, simpan konfigurasi dan tutup texteditor dengan mengekan CTRL+X, lalu y dan ENTER.

Jalankan perintah berikut untuk me-reload ssh daemon.

$ sudo systemctl reload sshd

Password authentication sekarang telah dimatikan, sekarang Anda hanya dapat mengakses server menggunakan SSH Keys.

 

Step 7 – Mengatur Firewall Dasar

Ubuntu 18.04 server dapat menggunakan UFW firewall untuk memastikan hanya koneksi ke layanan tertentu saja yang diizinkan. Anda dapat mengatur firewall dasar (basic) dengan menggunakan aplikasi ini.

Aplikasi yang berbeda nantinya dapat mendaftarkan profil mereka dengan UFW setelah instalasi. Profil-profil ini memungkinkan UFW untuk mengelola aplikasi berdasarkan namanya. Seperti contohnya adalah OpenSSH, layanan yang memungkinkan Anda untuk terhubung dengan server sekarang, memiliki profil yang terdaftar dengan UFW. Masih bingung? Ayo ikuti prakteknya ๐Ÿ™‚

Anda dapat melihat aplikasi (profil) dengan menjalankan perintah berikut:

$ sudo ufw app list
Output
Available applications:
  OpenSSH

Terlihat ada aplikasi yang OpenSSH yang dapat di atur oleh UFW.

Selanjutnya Anda harus memastikan bahwa firewall mengizinkan koneksi SSH agar kita dapat login kembali nantinya. Gunakan perintah berikut untuk mengizinkan koneksi SSH:

$ sudo ufw allow OpenSSH

Dalam pengalaman saya untuk aplikasi SSH (jika Apache sudah termasuk dengan portnya), Anda harus mengizinkan port yang digunakan ssh (di sini port ssh adalah 20) dengan perintah sebagai berikut:

$ sudo ufw allow 22

Setelah itu aktifkan firewall dengan perintah berikut:

$ sudo ufw enable

Tekan y dan ENTER untuk melanjutkan. Anda dapat melihat bahwa koneksi SSH telah diizinkan dengan perintah sebagai berikut:

$ sudo ufw status
Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)

Jika Anda nantinya menginstall dan mengkongurasi layanan lain, Anda harus menyesuaikan pengaturan firewall untuk memungkinkan lalu lintas (trafic) yang dapat diterima oleh server. Anda dapat mendalami lagi tentang UFW dengan membaca panduan ini.

 

Setelah ini apa yang harus dilakukan?

Setelah Anda telah mengikuti panduan ini, Anda memiliki fondasi yang kuat untuk server Anda. Anda dapat menginstall software apapun yang dibutuhkan oleh server Anda.

 

 

 

Sumber:

Leave a Comment