Cara Mengatur Fail2Ban Pada CentOS

Pengantar Fail2Ban

Secara default, klien terhubung ke SSH menggunakan port 22. Karena ini adalah port terkenal, konfigurasi default rentan terhadap banyak serangan brute force. Fail2Ban adalah solusi untuk secara otomatis melindungi server dari serangan ini. Program berjalan di latar belakang, memindai file log untuk mendeteksi IP mana yang menyerang dan secara otomatis melarang mereka mengakses SSH.

Menginstal Fail2Ban

Dalam tutorial ini, kita akan menginstal Fail2Ban pada CentOS 6 melalui repositori EPEL. Jalankan perintah berikut.

yum install epel-release
yum install fail2ban

Penjelasan

  • yum install epel-release: Menginstal repositori EPEL (Paket Tambahan untuk Enterprise Linux).
  • yum install fail2ban: Menginstal Fail2Ban dari repositori EPEL.

Mengonfigurasi pengaturan Fail2Ban

Buka file konfigurasi Fail2Ban.

nano /etc/fail2ban/jail.conf

Dalam file tersebut, Anda akan melihat beberapa parameter seperti yang ditunjukkan di bawah ini. Sesuaikan salah satu nilai dengan kebutuhan Anda.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Penjelasan

  • ignoreip: Jangan melarang host yang cocok dengan alamat dalam daftar ini. Beberapa alamat dapat didefinisikan menggunakan pemisah ruang. Tulis IP pribadi Anda di baris ini.
  • bantime: Jumlah detik yang dilarang oleh sebuah host.
  • findtime: Tuan rumah diblokir jika telah menghasilkan maxretryselama yang terakhir findtime.
  • maxretry: Jumlah kegagalan sebelum suatu host diblokir.

Mengkonfigurasi Fail2Ban untuk melindungi SSH

Pertama, kita perlu membuat file konfigurasi.

nano /etc/fail2ban/jail.local

Salin baris di bawah ini dan tempel ke file.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: Aktifkan proteksi. Jika Anda ingin mematikannya, ubah nilainya menjadi false.
  • filter: Secara default, diatur ke sshd yang merujuk ke file /etc/fail2ban/filter.d/sshd.conf.
  • action: Fail2Ban akan mencekal IP yang cocok dengan filter /etc/fail2ban/action.d/iptables.conf. Jika Anda telah mengubah port SSH sebelumnya, ubah port=sshke port baru, misalnya port=2222. Jika Anda menggunakan port 22, Anda tidak perlu mengubah nilainya.
  • logpath: Jalur file log yang digunakan oleh Fail2Ban.
  • maxretry: Jumlah maksimum upaya login yang gagal.

Memulai layanan Fail2Ban

Jalankan dua perintah di bawah ini untuk memulai layanan Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

Akhirnya, periksa iptablesuntuk melihat apakah ada aturan yang ditambahkan oleh Fail2Ban.

iptables -L

Hasilnya akan terlihat mirip dengan output ini.

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Cara melacak upaya login yang gagal

Anda dapat menggunakan perintah ini untuk memeriksa apakah server Anda telah gagal mencoba login (kemungkinan serangan).

cat /var/log/secure | grep 'Failed password'

Hasilnya akan terlihat mirip dengan garis-garis ini.

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

Untuk melihat IP mana yang telah dilarang, gunakan perintah berikut.

iptables -L -n

Untuk menghapus alamat IP dari daftar terlarang, jalankan perintah berikut. Ubah banned_ipke IP yang ingin Anda batalkan pembatalannya.

iptables -D f2b-SSH -s banned_ip -j DROP

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.