Konfigurasi Fail2Ban Untuk SSH dan Nginx Dengan UFW Agar Situsmu Makin Aman


Gak ada yg aman 100% di dunia ini. Meskipun demikan bukan berarti kita abai terhadap keamanan. Justru kita mesti berusaha mengamankan.

Jika situsmu kebetulan berjalan di atas VPS. Pastikan kamu gak lupa menyalakan firewall-nya dan melapisinya dengan fail2ban agar menjadi aman.

Pada tulisan kali ini, saya ingin berbagi cara konfigurasi fail2ban untuk UFW. Mengapa UFW? Karena kebetulan VPS saya pake itu dan alasannya ada di artikel ini.

Dan ..

Apa itu Fail2Ban

Fail2Ban kalau dilihat dari namanya sudah mencerminkan untuk apa aplikasi tersebut dipakai. Kalau kamu gagal maka kamu dibanned. Kira-kira seperti itu cara kerjanya.

Ini berguna untuk menghalangi para attackers yang mencoba-coba masuk ke VPS-mu.

Bayangkan jika kamu gak pake ini, terus ada hacker mencoba-coba VPS mu dengan metode brute-force lalu mereka berhasil, kan bahaya.

Nah jadi fail2ban ini sangat penting. Dengan adanya ia, minimal kita bisa terbantu menghalangi mereka yang berusaha menerobos masuk ke VPS kita.

Pasang

Cara pasangnya gampang langsung dari paket manager distromu.

$ sudo apt install -y fail2ban
Code language: Shell Session (shell)

Kebetulan VPS saya pake Ubuntu jadi pemasangan melalui apt.

Setelah pemasangan selesai, cek apakah ia sudah aktif atau belum. Defaultnya sih udah klo di Ubuntu, tapi untuk jaga-jaga cek aja dulu pake perintah berikut

$ sudo fail2ban-client status
Code language: Shell Session (shell)

Kalau hasilnya seperti ini, artinya fail2ban sudah berjalan

Status |- Number of jail: 1 `- Jail list: sshd
Code language: plaintext (plaintext)

Sebetulnya sampai di sini udah selesai, karena di sini saya pake UFW maka perlu ditambahkan pengaturannya.

Pengaturan

Biar pengaturan default dari fail2ban tetap ada, alangkah baiknya kita buat pengaturan local, dengan cara mengkopinya.

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Code language: Shell Session (shell)

Setelah itu baru deh kita sunting pengaturan fail2bannya.

$ sudoedit /etc/fail2ban/jail.local
Code language: Shell Session (shell)

Dan cari kata-kata banaction ganti menjadi ufw

banaction = ufw
Ganti Bannation ke UFW

Selesai deh, fail2ban mu sudah berjalan di atas UFW.

Pengaturan Nginx

Secara default, fail2ban hanya mengurusi ssh, jadi ia hanya ngeband kalo ada yg coba-coba ssh situsmu.

Biar makin aman, Nginx juga perlu kita lindungi dengan fail2ban, dengan mengaktifkan filternya.

Jika servermu menggunakan Ubuntu, filter fail2ban sudah banyak di sediakan di sana, kamu tinggal aktifkan saja.

Filter-filter tersebut bisa kamu liat dengan perintah

$ ls /etc/fail2ban/filter.d/
Code language: Shell Session (shell)
Filter dari Fail2ban

Untuk mengaktifkannya kamu hanya perlu melakukan sunting dari pengaturan file jail.local.

$ sudoedit /etc/fail2ban/jail.local
Code language: Shell Session (shell)

Kemudian cari filter mana yang ingin kamu aktifkan. Contoh di sini saya ingin mengaktifkan filter nginx-botsearch.

Tinggal tambahkan enabled = true di sana. Jadi kira-kira seperti ini.

[nginx-botsearch] enabled = true port = http,https logpath = %(nginx_error_log)s maxretry = 2 findtime = 120
Code language: JavaScript (javascript)
Nginx-Botsearch Filter

Kalau sudah tinggal kita reload fail2bannya dengan perintah

$ sudo fail2ban-client reload
Code language: Shell Session (shell)

Terus cek deh filternya udah aktif atau belum.

$ sudo fail2ban-client status
Code language: Shell Session (shell)

Nanti hasilnya kaya gini:

Status |- Number of jail: 2 `- Jail list: nginx-botsearch, sshd
Code language: plaintext (plaintext)

Selesai sudah semuanya.

Langkah selanjutnya kamu bisa aktifkan filter lainnya yang kamu perlukan.

Kesimpulan

Gak ada yg aman 100% di dunia ini. Meskipun demikan bukan berarti kita abai terhadap keamanan. Justru kita mesti berusaha mengamankan salah satunya dengan pasang fail2ban.

Fail2ban secara default hanya berjalan di atas iptables jika kamu menggunakan UFW kamu perlu menyetinggnya dulu biar ia berjalan dengan semestinya.

Fail2ban juga secara default juga hanya menangani SSH, kalau kamu ingin mengamankan Nginx kamu perlu menyalakan filternya dulu.

Bantuan

Bingung dengan istilah dan simbol-simbol dari tulisan ini?

Kamu bisa mempelajari bagaimana cara membacanya di sini.

Artikel Terkait:

Leave a Reply

Your email address will not be published. Required fields are marked *