(022) 856789 support@naaget.id

Ketika Anda memasang ubuntu 18.04 server, ada beberapa pengaturan awal ubuntu yang sebaiknya Anda lakukan terlebih dahulu agar server lebih aman dan server memiliki fondasi yang kuat untuk konfigurasi selanjutnya.

Pada contoh kali ini saya menggunakan VPS yang biasanya ketika selesai instalasi akan diberi akses root menggunakan SSH. Jika Anda memasang ubuntu 18.04 server secara manual (seperti di PC) biasanya akun normal dengan grup “sudo” telah dibuat ketika proses instalasi, jadi Anda bisa langsung ke Step 4.

 

Step 1 – Login dengan Root

Untuk masuk ke dalam server, Anda harus mengetahui terlebih dahulu alamat IP dari server tersebut. Dan Anda juga harus mengetahui password dari user “root” pada server. Dalam contoh kali ini kita akan mengakses server menggunakan SSH.

Untuk mengakses server menggunakan SSH, Anda dapat menggunakan perintah berikut pada terminal di PC lokal Anda:

$ ssh root@ip_server_anda

Lalu selesaikan proses masuk dengan menerima peringatan tentang host authenticity (jika ada), dan masukkan password dari dari user root tersebut.

Tentang Root

User root adalah user administratif pada Linux environment yang memiliki hak istimewa. Karena memiliki hak istimewa, Anda tidak disarankan untuk menggunakannya untuk kegiatan biasa. Ditakutkan Anda tidak sengaja merubah atau menghapus file berbahaya yang dapat berakibat fatal.

Karna dari itu step selanjutnya adalah kita akan membuat user alternatif sebagai penganti root untuk kebutuhan sehari-hari. Dan kita juga akan mempelajari agar user tersebut dapat menggunakan hak istimewa ketika dibutuhkan.

 

 

Step 2 – Membuat User Baru

Pada contoh kali ini saya akan membuat user baru dengan nama “naaget“, Anda dapat menyesuaikannya dengan username yang diinginkan:

# adduser naaget

Nantinya Anda akan ditanya beberapa pertanyaan, seperti password yang diinginkan dan beberapa informasi tambahan. Jika ada pertanyaan yang menurut Anda tidak diperlukan (seperti no fax, dll), Anda dapat mengosongkannya dan menekan ENTER.

*Pastikan Anda menggunakan password yang kuat, untuk meningkatkan kemananan server Anda 🙂 ..

 

 

Step 3 – Memberikan Hak Akses Root

Sekarang kita telah memiliki user biasa, tetapi terkadang kita perlu menggunakan perintah yang bersifat administratif. Untuk menghindari log out dari user biasa dan log in kembali menggunakan user root, kita dapat mengatur user biasa tersebut menjadi “superuser” atau hak akses root untuk user biasa.

Dengan demikian user biasa tersebut dapat menjalankan perintah yang bersifat administratif dengan mengawali sudo pada perintahnya.

Untuk melakukkan hal tersebut, user tersebut harus bergabung terlebih dahulu dengan grup “sudo“. Secara default pada ubuntu, user yang tergabung pada grup “sudo” dapat menjalankan perintah sudo.

Dengan menggunakan user root, jalankan perintah berikut agar user tersebut ditambahkan ke grup “sudo“:

$ usermod -aG sudo naaget

 

Selamat! sekarang user tersebut dapat menjalankan perintah yang bersifat administratif 🙂 .. Untuk informasi lebih tentang cara kerjanya, Anda dapat membaca tutorial sudoers.

 

 

Step 4 – Menambah Public Key Authentication (Recommended)

Langkah selanjutnya adalah mengatur Public Key Authentication untuk user yang telah kita buat. Dengan demikian keamanan server Anda akan meningkat, karena untuk mengakses server dibutuhkan SSH Keys terlebih dahulu.

 

Membuat Key Pair

Jika Anda belum memiliki SSH Key Pair, yang terdiri dari Public Key dan Private Key, Anda perlu membuatnya terlebih dahulu (seperti pada tahapan ini). Tetapi jika Anda telah memilikinya, Anda dapat melewati langkah ini.

Untuk membuat Key Pair baru, jalankan perintah berikut pada PC Lokal Anda:

$ ssh-keygen

Saya asumsikan PC Lokal tersebut bernama “localuser“. Nanti Anda akan melihat hasil yang kurang lebih seperti berikut:

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

Tekan ENTER untuk menyetujui nama key dan dimana file tersebut disimpan atau Anda bisa ganti sesuai keinginan.

Nantinya Anda akan dimintai passphrase untuk mengamankan SSH Keys tersebut. Agar Anda lebih mengerti tentang passphrase, berikut adalah contohnya:

pengaturan awal ubuntu server

 

Jadi, ketika seseorang ingin menggunakan SSH Keys, ia harus memasukkan password terlebih dahulu. Ini sangat direkomendasikan, karena dapat mencegah seseorang yang dapat mengakses PC Lokal Anda untuk me-remote server. Masukkanlah passphrase yang diinginkan atau jika tidak biarkanlah kosong.

Sekarang Anda akan memiliki Private Key (id_rsa) dan Public Key (id_rsa.pub) di dalam direktori .ssh.

*Pastikan untuk tidak memberikan Private Key kepada siapapun yang tidak berhak untuk memilikinya! 🙂 ..

 

Menyalin Public Key ke Server

Sekarang kita telah memiliki SSH Key Pair, selanjutkan kita harus menyalinnya Public Key ke server agar SSH Key Pair tersebut dapat digunakan. Untuk itu ada dua cara yang akan kita pelajari, yaitu:

 

Opsi 1 : Menggunakan ssh-copy-id

ssh-copy-id adalah aplikasi yang biasanya ikut terpasang ketika Anda memasang OpenSSH. Dengan aplikasi ini Anda dapat menyalin Public Key ke server dengan mudah.

Untuk menggunakan ssh-copy-id ini, kita cukup mengetikkan perintah berikut:

$ ssh-copy-id naaget@ip_server_anda

Setelah itu masukkanlah password yang telah Anda buat sebelumnya, dan Public Key Anda akan ditambahkan secara otomatis ke file remote user pada server yang terletak di ~/.ssh/authorized_keys. Sekarang Public Key dan Private Key Anda telah terkait, dan Anda dapat menggunakannya untuk mengakses server.

 

Opsi 2 : Memasang Key Manual

Saya asumsikan Anda membuat SSH Key Pair menggunakan nama dan tempat secara default, sehingga Public Key berada pada ~/.ssh/id_rsa.pub. Untuk menampilkan isinya di terminal, kita akan menggunakan perintah cat seperti berikut:

$ cat ~/.ssh/id_rsa.pub

Akan tampil isi Public Key pada terminal, kurang lebih akan terlihat 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

Salinlah Public Key tersebut ke clipboard.

Selanjutnya kita harus membuat file khusus di dalam direktori home user (pada server), agar SSH Key Pair tersebut dapat digunakan.

Pada server sebagai root, jalankan perintah berikut untuk beralih sementara ke user baru yang telah dibuat sebelumnya:

# su - naaget

Sekarang Anda akan berada di dalam direktori home user tersebut.

Buat direktori baru bernama .ssh dan batasi izinnya dengan perintah berikut:

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

Lalu buat dan buka lah file bernama authorized_keys di dalam direktori .ssh menggunakan text editor (di sini saya menggunakan text editor nano):

$ nano ~/.ssh/authorized_keys

Tempelkan lah (paste) Public Key Anda yang sebelumnya disalin di clipboard. Setelah itu tekan CTRL+X untuk keluar, lalu tekan Y untuk menyetujui perubahan yang dibuat, dan tekan ENTER untuk mengkonfirmasi nama file.

Batasi izin kembali untuk file authorized_key tersebut dengan perintah:

$ chmod 600 ~/.ssh/authorized_key

Ketikan perintah berikut sekali untuk kembali ke user root:

$ exit

Sekarang Public Key telah terpasang pada server dan Anda dapat log in dengan mudah menggunakan user yang telah dibuat sebelumnya.

Untuk mengetahui lebih lanjut tentang cara kerja Key Authentication, Anda dapat membaca panduan:  How To Configure SSH Key-Based Authentication on a Linux Server.

 

 

Step 5 – Disable Password Authentication (Recommended)

Untuk meningkatkan keamanan server, Anda dapat menonaktifkan password-only authentication. Bukankah user baru yang telah dibuat dapat log in menggunakan SSH Keys? 🙂 . Dengan demikian hanya yang memiliki SSH Keys saja yang dapat mengakses server Anda.

Untuk menonaktifkan password-only authentication, bukalah file konfigurasi SSH daemon menggunakan root atau sudo user dengan mengetikkan:

$ sudo nano /etc/ssh/sshd_config

Setelah itu carilah baris PasswordAuthentication,  dan rubahlah nilainya menjadi “no“. Hasil akhirnya harus terlihat seperti berikut:

PasswordAuthentication no

Dan pastikan juga dua pengaturan penting lainnya terlihat seperti berikut (ini adalah pengaturan default, dikhawatirkan Anda pernah mengubahnya):

PubkeyAuthentication yes
ChallengeResponseAuthentication no

Jika sudah, simpan dan tutup file tersebut dengan menekan CTRL+X, lalu Y, dan ENTER.

Jalankan perintah berikut untuk me-reload SSH daemon:

$ sudo systemctl reload sshd

Password authentication sekarang telah dinonaktifkan, sekarang Anda hanya dapat log in menggunakan SSH Keys authentication.

 

 

Step 6 – Test Log In

Sebelumnya kita telah memasang SSH Keys, sekarang kita akan mencoba user baru yang telah dibuat untuk log in ke server dengan Public Key Authentication. Untuk melakukan hal tersebut ketikkan perintah berikut pada terminal PC Lokal Anda:

$ ssh naaget@ip_server_anda

Nantinya Anda akan dimintain passphrase untuk menggunakan SSH Keys tersebut (jika Anda menggunakannya). Setelah itu Anda akan masuk ke server sebagai user baru tersebut.

Ingat ya! untuk menggunakan perintah yang bersifat administratif, tambahkan sudo disetiap perintahnya.

$ sudo perintah_yg_dijalakan

 

 

Step 7 – Pengaturan Firewall Dasar

Sistem operasi ubuntu dapat menggunakan firewall UFW untuk memastikan hanya koneksi ke layanan tertentu yang diizinkan. Dengan aplikasi ini kita dapat mengatur firewall dasar dengan sangat mudah.

Nantinya setiap aplikasi/layanan akan mendaftarkan profil-nya setelah instalasi. Profil-profil ini memungkinkan UFW mengelola aplikasi yang dimaksud berdasarkan namanya. Seperti layanan OpenSSH yang saat ini kita gunakan, memiliki profil yang terdaftar di UFW.

Untuk melihat aplikasi profil apa saja yang sedang tersedia, ketikkan:

$ sudo ufw app list
Output
Available applications:
  OpenSSH

Pada hasil di atas, saat ini hanya tersedia aplikasi profil dari OpenSSH saja. Jika Anda memasang web server seperti Apache2, nantinya aplikasi tersebut akan mendaftarkan profil-nya ke UFW 🙂 .

Kita harus memastikan bahwa koneksi SSH diizinkan oleh firewall agar kita dapat menggunakannya kembali. Untuk melakukan itu ketikkan:

$ sudo ufw allow OpenSSH

Dalam pengalaman penulis untuk koneksi SSH (yang lain sudah termasuk port), kita harus mengiizinkan juga port yang digunakan SSH (di sini saya menggunakan port default) dengan mengetikkan:

$ sudo ufw allow 22

Setelah itu, kita dapat mengaktifkan firewall dengan mengetikkan:

$ sudo ufw enable

Ketikkan Y dan ENTER untuk melanjutkan. Sekarang Anda dapat melihat bahwa koneksi SSH telah diizinkan oleh firewall dengan mengetikan:

$ sudo ufw status
Status: active

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

Ingat ya! jika suatu hari Anda memasang dan mengkonfigurasi layanan lainnya, jangan lupa untuk menyesuaikan pengaturan firewall agar memungkinkan lalu lintas (traffic) yang dapat diterima.

 

 

Setelah Ini Kemana?

Setelah mengikuti panduan pengaturan awal ubuntu, server Anda memiliki fondasi yang kuat. Sekarang Anda dapat memasang layanan lainnya yang dibutuh.

 

 

 

Sumber: