Penguatan Dasar Server Debian 10

10 September 2020 | 0 Komentar

Pendahuluan

Ketika kita selesai memasang sistem operasi pada server atau VPS untuk pertama kali, maka kita perlu melakukan beberapa langkah untuk menjaga keamanan server. Hal ini perlu karena server tersambung dengan internet 24×7 sehingga keamanan server adalah hal yang mutlak perlu dijaga.

Artikel ini akan menjelaskan mengenai beberapa cara yang lazim digunakan untuk meningkatkan keamanan server milik kita. Berikut adalah beberapa caranya.

Mengubah password user root

Login melalui SSH dengan user root, lakukan penggantian password user root dengan perintah berikut:

root@baubusuk:~# passwd
New password: 
Retype new password: 
passwd: password updated successfully

Berikut saran komposisi password yang baik dari saya:

  • Minimal 8 karakter
  • Ada kombinasi huruf kapital
  • Ada kombinasi angka
  • Ada kombinasi karakter spesial

Memperbaharui software & sistem operasi

Sebelum memperbaharui software dan sistem operasi, kita perlu mengubah repository APT supaya bisa lebih cepat untuk proses pembaharuannya. Secara default kita akan menggunakan repository APT dari Amerika Serikat. Apabila server atau VPS kita berlokasi selai di Amerika Serikat lebih baik menyesuaikan dengan lokasi di mana server itu berada.

Buka file repository APT dengan perintah ini.

nano /etc/apt/sources.list

Lalu ubah data di dalam fiel sources.list dengan data berikut ini, atau jika ingin menggunakan FTP, bisa disesuaikan dengan daftar dari https://www.debian.org/mirror/list.

deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main
deb-src http://deb.debian.org/debian/ buster-updates main

Simpan perubahan dan keluar dari aplikasi nano. Update repository APT beserta software dan sistem operasi dengan perintah berikut ini.

apt update && apt upgrade -y

Membuat user sudo

User sudo adalah user biasa yang levelnya bisa naik lebih tinggi seperti level user root, tetapi masih aman untuk digunakan. Karena proses naik level harus menggunakan password dan menambahkan sudo sebelum menjalankan perintah bash. Install software sudo dan juga htop dengan perintah berikut ini.

apt install sudo htop

Untuk membuat user sudo baru dan menambahkannya ke dalam grup suda, masukan perintah berikut ini.

adduser choco
usermod -aG sudo choco

Mengatur SSH

Karena kita sudah membuat user sudo baru, maka user root sudah bisa dinonaktifkan melalui SSH. Secara default port SSH adalah port 22, jika kita masih menggunakan port default, maka akan banyak sumberdaya yang dihabiskan untuk proses login/otentikasi user root yang dilakukan oleh BOT. Sebelum menonaktifkan user root, kita perlu memodifikasi file konfigurasi SSH.

nano /etc/ssh/sshd_config

Ubah dan aktifkan parameter berikut ini.

Port 6969

LoginGraceTime 30s
PermitRootLogin no
MaxAuthTries 2

Simpan konfirgurasi dan restart service SSH dengan perintah berikut ini.

systemctl restart sshd

Perintah di atas tidak langsung menutup koneksi SSH user root yang sedang berjalan, tetapi berlaku untuk proses login berikutnya. Dengan konfigurasi di atas, maka user root sudah tidak bisa login lagi melalui SSH, hanya user biasa yang bisa login, dan port login sudah diganti dari port 22 menjadi port 6969.

Untuk memastikan user sudo baru bisa login dan user root sudha nonaktif, silahkan buat koneksi SSH baru dengan user sudo dan port di atas.

Jika sudah bisa login dengan user sudo baru, coba ketikkan perintah berikut untuk memastikan bahwa user sudo sudah bekerja dengan semestinya

choco@baubusuk:/tmp$ sudo htop
[sudo] password for choco:

Jika muncul aplikasi htop, maka bisa diartikan bahwa user sudo sudah bekerja dengan semestinya. Ke depannya jika ingin menggunakan akses sudo (level lebih tinggi) cukup menambahkan sudo sebelum perintah bash.

Memasang firewall

Firewall akan membatasi akses baik menuju atau keluar server. Yang perlu kita lakukan hanyalah membatasi akses menuju server, sedangkan akses keluar dari server tidak perlu dibatasi.

Firewall yang disarankan pada sistem operasi Debian 10 adalah UFW. Dengan user sudo yang baru, UFW bisa diinstal dengan perintah berikut ini.

sudo apt install ufw

Untuk akses masuk anda perlu menutup semua port yang ada, kecuali untuk port untuk SSH yang sudah diganti di atas, yaitu port 6969. Jika ada memiliki server web di dalamnya, maka anda juga perlu membuka membuka port 80 dan 443. Sedangkan akses untuk keluar server tidak perlu dibatasi. Berikut adalah perintah untuk mengatur UFW.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 6969
sudo ufw allow 80
sudo ufw allow 443

Jika sudah, maka aktifkan UFW dengan perintah berikut.

sudo ufw enable

Selamat, UFW anda sudah aktif, periksa status UFW dengan perintah berikut ini.

choco@baubusuk:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
6969                       ALLOW       Anywhere                  
90 (v6)                    ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)
6969 (v6)                  ALLOW       Anywhere (v6)

Penutup

Sebenarnya saya lebih menyarankan untuk menggunakan SSH keys untuk menggantikan password supaya lebih aman, akan tetapi SSH keys ini sedikit kurang fleksibel untuk mengaturnya dan tidak bisa login dari semua perangkat.

Dengan mengikuti perubahan di atas Insya Allah server atau VPS-nya sudah lebih aman.

Referensi
Initial Server Setup with Debian 10
SSH config file for OpenSSH client

0 Komentar

Trackbacks/Pingbacks

  1. Proxmox VE (3) – Guest Container (LXC) | baubus.uk - […] Baca jugaPenguatan Dasar Server Debian 10 […]

Kirim Komentar

Alamat email Anda tidak akan dipublikasikan.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Share This