Pengaturan Awal Ubuntu Server 20.04 LTS

Pengaturan awal Ubuntu server

Setelah melakukan instalasi ubuntu server 20.04 LTS pada VPS atau komputer server, sebaiknya kita melakukan beberapa pengaturan awal ini untuk meningkatkan keamanan dan menyesuaikan konfigurasi dasar yang sesuai dengan keperluan kita. Konfigurasi pada artikel ini juga saya gunakan pada server ITKoding sebagai konfigurasi awal. Hal ini dikarenakan penyedia VPS seperti Linode, DigitalOcean, Vultr, Upcloud dan lainnya menggunakan template standar saat menginstall server kita. Apa saja prasyarat yang diperlukan untuk melakukan tutorial ubuntu server kali ini?

Prasyarat:

  • Sudah menginstall Ubuntu Server 20.04 di VPS atau komputer server. Silahkan baca tulisan saya tentang cara install Ubuntu Server di VPS.
  • Telah mengetahui IP address dan root password dari VPS atau server.

Berikut ini adalah langkah-langkah pengaturan awal ubuntu server 20.04 LTS.

1. Log in sebagai root

Kita bisa melakukan pengaturan secara remote pada VPS melalui SSH. Bagi pengguna sistem operasi Windows bisa menggunakan software Putty untuk mengakses SSH VPS dari Windows melalui IP address yang telah kita ketahui. Masukkan IP address dan portnya lalu klik Open. Untuk lebih jelaskan silahkan lihat pada tutorial cara remote server atau VPS melalui SSH.

Bagi pengguna sistem operasi macOS atau Linux bisa menggunakan terminal dengan perintah:

ssh root@alamat_ip

Silahkan ganti alamat_ip dengan IP address VPS anda.

2. Ganti Password dari root

Mengganti password dari root adalah hal yang sangat penting khususnya bagi pengguna VPS. Hal ini dikarenakan provider VPS membuat password untuk kita secara otomatis dan acak. Agar lebih aman kita harus menggantinya sesuai dengan keinginan kita. Caranya adalah menggunakan perintah:

# passwd

Lalu masukkan password baru saat muncul pertanyaan new password.

3. Buat User Baru Sebagai Sudoer

Untuk menjaga keamanan server sebaiknya tidak menggunakan user root saat login ke server. Sebisa mungkin kita meminimalkan penggunaan user root dan juga meminimalkan orang lain tahu password root tersebut. Oleh karena itu kita akan membuat user baru contohnya di sini kita akan buat user paijo.

# adduser paijo

Kita akan diminta membuat password baru untuk user tersebut dan mengisi informasi lainnya.

Kemudian kita memasukkan user tersebut ke dalam grup sudo agar memiliki hak istimewa root. Sehingga user paijo tersebut bisa melakukan perintah-perintah administratif seperti menginstall aplikasi dan lainnya.

# usermod -aG sudo paijo

Nah, sekarang user paijo sudah memiliki hak administratif seperti user root.

4. Disable root Login dari SSH

Agar root tidak bisa digunakan untuk masuk ke SSH kita harus disable pada pengaturan ssh.

# nano /etc/ssh/sshd_config

Maka akan terbuka file sshd_config. Cari kata PermitRootLogin yes atau PermitRootLogin without-password. Ubah menjadi:

PermitRootLogin no

Jika kita ingin mengizinkan hanya user tertentu saja yang bisa login bisa menambahkan AllowUsers<spasi>nama_user di bagian paling bawah. Contohnya:

AllowUsers paijo

Maka hanya user paijo yang bisa login ke SSH. Untuk menyimpannya tekan CTRL+X lalu tekan Y untuk konfirmasi. Untuk melihat dan mencoba login menggunakan user yang telah kita buat silahkan restart VPS atau server.

# reboot

Login lagi seperti langkah 1 tapi menggunakan user yang telah kita buat tadi beserta passwordnya. Setelah berhasil login kita sudah bisa menggunakan user tersebut untuk melakukan perintah administratif seperti menginstall software, edit konfigurasi, dan lainnya tanpa user root melainkan menggunakan perintah sudo.

5. Update Software dan Patch Keamanan Server Ubuntu 20.04

Sejak awal dirilis, Ubuntu server 20.04 mendapatkan beberapa pembaruan baik berupa patch keamanan maupun software bawaan di dalamnya. Sangat disarankan untuk selalu menginstall patch keamanan terbaru dan software bawaan tersebut. Hal ini bertujuan agar tidak ada bug pada server kita.

Perbarui terlebih dahulu database paket dari repository:

$ sudo apt update

Jika diminta mengisikan password maka masukkan password untuk user yang baru kita buat tadi.

Setelah itu, kita update semua software yang telah terinstall:

$ sudo apt -y upgrade

6. Ubah Timezone

Instalasi server pada VPS biasanya menggunakan template dengan Timezone default yaitu US. Rekomendasi saya, gunakanlah timezone sesuai dengan lokasi anda sehingga log atau segala sesuatu tentang waktu akan lebih mudah kita pahami.

$ sudo timedatectl set-timezone Asia/Jakarta

Silahkan lihat perubahannya dengan:

$ sudo timedatectl

Jika lokasi anda bukan menggunakan WIB silahkan mencari yang sesuai:

$ sudo timedatectl list-timezones

7. Atur dan Aktifkan UFW

UFW atau Uncomplicated Firewall adalah software antarmuka yang mudah dipahami untuk mengatur firewall. Sangat disarankan untuk menggunakan firewall sehingga kita bisa melakukan filter koneksi apa saja yang bisa masuk.

Pertama, block semua koneksi dari luar yang masuk ke server:

$ sudo ufw default deny incoming

Lalu, perbolehkan semua koneksi dari server ke luar:

$ sudo ufw default allow outgoing

Kita bisa mengatur firewall berdasarkan nama software dan port melalui UFW. Untuk melihat nama-nama software yang ada:

$ sudo ufw app list

Karena masih awal dan hanya OpenSSH yang menggunakan koneksi maka akan muncul.

Available applications:
   OpenSSH

Kita harus membuka port yang dibutuhkan OpenSSH agar dapat kita akses.

$ sudo ufw allow OpenSSH

Nah, selanjutnya kita aktifkan service UFW.

$ sudo ufw enable

Untuk mengecek hasil pengaturan di atas dapat melalui perintah:

$ sudo ufw status

Hasilnya status sudah aktif dan OpenSSH sudah mendapatkan akses dengan ditandai “Allow”.

Status: active
 To                         Action      From
 --                         ------      ----
 OpenSSH                    ALLOW       Anywhere
 OpenSSH (v6)               ALLOW       Anywhere (v6)

Kita juga bisa melihat semua software beserta port dan statusnya dengan perintah:

$ sudo ufw show listening

8. Install Software Penting

Untuk memperlancar kita dalam melakukan konfigurasi server ada beberapa software yang perlu kita install yaitu net-tools dan zip. Penggunaanya seperti unzip, zip, netstat dan perintah dasar jaringan lainnya.

$ sudo apt -y install net-tools zip

9. Atur Hostname

Hostname merupakan nama dari VPS atau komputer server kita. Hostname perlu di atur dengan benar karena ada beberapa software server yang akan menggunakannya pada pengaturan seperti software Postfix untuk email dan lainnya. Untuk mengaturnya kita bisa mengedit file /etc/hostname.

$ sudo nano /etc/hostname

lalu ganti sesuai dengan keinginan misalnya itkodingserver.

itkodingserver

Kemudian simpan pengaturan dengan menekan CTRL+X lalu pilih Y.

Banyak tutorial beredar bahwa hostname harus berisi FQDN (Fully Qualified Domain Name) atau full nama komputer beserta domainnya misalnya itkodingserver.itkoding.com. Menurut halaman manual ubuntu, hostname bukanlah FQDN. Hostname hanya berisi nama komputer tanpa ada nama domain di dalamnya.

Pada halaman manual Ubuntu juga dijelaskan untuk mengatur FQDN bisa mengubah file /etc/hosts.

$ sudo nano /etc/hosts

Lalu masukkan FQDN dan IP address server dengan format IP_address<spasi>FQDN<spasi>hostname pada baris setelah localhost. Misalnya (lihat baris kedua):

127.0.0.1    localhost
192.168.1.1    itkodingserver.itkoding.com    itkodingserver
#The following lines are desirable for IPv6 capable hosts
::1          localhost ip6-localhost ip6-loopback
ff02::1      ip6-allnodes
ff02::2      ip6-allrouters

Lihat pada baris kedua, di sana adalah perubahan yang harus kita lakukan. Simpan pengaturan CTRL+X lalu pilih Y.

Perubahan akan terjadi setelah restart. Maka silahkan restart dan login kembali untuk melakukan cek hostname.

$ hostname --short

Output: buster

$ hostname --domain

Output: itkoding.com

$ hostname --fqdn

output: itkodingserver.itkoding.com

Jika sudah sesuai maka berarti konfigurasi tersebut sudah benar. Semua konfigurasi di atas sebaiknya dilakukan tepat setelah instalasi OS Ubuntu Server 20.04 sebelum menginstall software server lain karena akan menjadi pondasi dan berguna untuk konfigurasi software server selanjutnya. Semoga bermanfaat.

M. Hernawan
Web developer yang juga suka dengan dunia sysadmin. Pernah belajar Teknik Informatika di Indonesia.

Kirim Komentar