MikroTik Fail2Ban (Menyekat Serangan Brute Force)

Beberapa pilihan untuk melindungi daripada serangan Brute Force pada peranti MikroTik (MikroTik Fail2Ban), untuk sambungan Winbox, Web atau SSH menggunakan MikroTik Firewall. Penyekatan mudah alamat IP penyerang selepas percubaan kata laluan yang salah pertama atau penyekatan alamat IP selepas beberapa percubaan kata laluan. Diuji pada versi RouterOS 7.

Pilih pilihan Fail2Ban bergantung pada kaedah log masuk yang digunakan, tidak perlu menggunakan semua kaedah log masuk yang tersedia pada peranti MikroTik (saya hanya menggunakan Winbox ).

Dalam artikel ini, saya menggunakan rantaian Jump dalam MikroTik Firewall kerana ia kurang intensif CPU, dan kaedah penyekatan yang digunakan dalam artikel itu mudah disesuaikan dan dilanjutkan.

MikroTik Fail2Ban - Menyekat Serangan Brute Force: SSH, Web, Winbox. (MHelp.pro)
Contoh peraturan MikroTik Firewall untuk melindungi daripada serangan kekerasan pada sambungan SSH, Web dan Winbox.

✏️ Perhatian: Memandangkan serangan Brute Force pada peranti boleh datang daripada rangkaian dalaman yang dipercayai (sangat penting untuk mengetahui perkara ini tepat pada masanya), mengikut peraturan yang ditetapkan, semua alamat IP yang menyerang dimasukkan dalam BlackList.

Other languages:

Fail2Ban Winbox

Melindungi MikroTik daripada serangan brute force apabila menyambung melalui Winbox (alamat IP) menggunakan MikroTik Firewall. Untuk setiap percubaan kata laluan yang salah melalui Winbox, MikroTik menghantar semula teks biasa “invalid user name or password“.

Maklumat:

  • Chain: output
  • Protocol: 6 (tcp)
  • Src. Port: 8291
  • Content: invalid user name or password

1 percubaan

Menyekat selepas satu percubaan kata laluan yang salah:

/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=output comment="F2B Winbox: Login Failure -> BlackList" content="invalid user name or password" protocol=tcp src-port=8291

3 percubaan

Menyekat alamat IP destinasi selepas tiga percubaan kata laluan yang salah.

Penerangan:

  • Jika paket sepadan dengan syarat, pemprosesan paket dihantar ke rantaian Fail2Ban-Destination-IP;
  • Jika alamat IP destinasi sudah ada dalam senarai LoginFailure02, alamat IP destinasi ditambahkan pada BlackList selama 10 minit;
  • Jika alamat IP destinasi sudah ada dalam senarai LoginFailure01, alamat IP destinasi ditambahkan pada senarai LoginFailure02 selama 2 minit;
  • alamat IP destinasi ditambahkan pada senarai LoginFailure01, selama 1 minit.

Peraturan:

/ip firewall filter add action=jump chain=output comment="F2B Winbox: Jump to Fail2Ban-Destination-IP chain" content="invalid user name or password" jump-target=Fail2Ban-Destination-IP protocol=tcp src-port=8291
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Destination-IP comment="3 Attempt --> BlackList" dst-address-list=LoginFailure02
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Destination-IP comment="2 Attempt --> LoginFailure02" dst-address-list=LoginFailure01
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Destination-IP comment="1 Attempt --> LoginFailure01"

Fail2Ban Web

Melindungi MikroTik daripada kata laluan BruteForce apabila menyambung melalui antara muka Web menggunakan MikroTik Firewall. Pada percubaan akses tidak sah, MikroTik menghantar mesej respons yang mengandungi teks biasa “Error 403“.

80 ialah port lalai antara muka Web MikroTik, saya cadangkan menukarnya. Dalam contoh, port bukan standard ditentukan – 90. Dalam artikel “MikroTik Protection (basic device security setting)” – 80 port TCP digunakan sebagai perangkap untuk menyekat pengimbas port.

Maklumat:

  • Chain: output
  • Protocol: 6 (tcp)
  • Scr. Port: Web port (contoh: 90)
  • Content: Error 403

1 percubaan

Menyekat selepas satu percubaan kata laluan yang salah:

/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=output comment="F2B Web: Login Failure -> BlackList" connection-state=established content="Error 403" protocol=tcp src-port=90

3 percubaan

Menyekat alamat IP destinasi selepas tiga percubaan kata laluan yang salah.

Penerangan:

  • Jika paket sepadan dengan syarat, pemprosesan paket dihantar ke rantaian Fail2Ban-Destination-IP;
  • Jika alamat IP destinasi sudah ada dalam senarai LoginFailure02, alamat IP destinasi ditambahkan pada BlackList selama 10 minit;
  • Jika alamat IP destinasi sudah ada dalam senarai LoginFailure01, alamat IP destinasi ditambahkan pada senarai LoginFailure02 selama 2 minit;
  • alamat IP destinasi ditambahkan pada senarai LoginFailure01, selama 1 minit.

Peraturan:

/ip firewall filter add action=jump chain=output comment="F2B Web: Jump to Fail2Ban-Destination-IP chain" connection-state=established content="Error 403" jump-target=Fail2Ban-Destination-IP protocol=tcp src-port=90
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Destination-IP comment="3 Attempt --> BlackList" dst-address-list=LoginFailure02
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Destination-IP comment="2 Attempt --> LoginFailure02" dst-address-list=LoginFailure01
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Destination-IP comment="1 Attempt --> LoginFailure01"

Fail2Ban SSH

Melindungi MikroTik (Fail2Ban) daripada serangan Brute Force pada sambungan SSH menggunakan MikroTik Firewall. Untuk meminta kata laluan melalui SSH, peranti MikroTik menghantar paket baharu 304 bait ke alamat destinasi, kami menjejaki bilangan paket yang dihantar ke alamat IP tertentu.

✏️ Menyekat serangan BruteForce menggunakan status sambungan Baru tidak boleh dipercayai (Saya sering melihat cadangan ini di Internet). Status Baharu diberikan kepada sambungan apabila disambungkan ke peranti, tetapi bilangan percubaan kata laluan yang mungkin bergantung pada program. Dengan memasukkan log masuk pengguna, penyerang boleh memasukkan daripada 3 hingga 7 pilihan kata laluan yang berbeza sebelum sambungan ditamatkan.

PuTTY menggugurkan sambungan SSH selepas 7 percubaan kata laluan yang buruk
7 percubaan untuk meneka kata laluan SSH dalam PuTTY sebelum memutuskan sambungan

Maklumat:

  • Chain: input
  • Protocol: 6 (tcp)
  • Dst. Port: 22
  • Connection State: estabished
  • Packet Size: 304
  • TCP Flags: psh, ack

1 percubaan

Menyekat selepas satu percubaan kata laluan yang salah:

/ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10m chain=input comment="F2B SSH: Login Failure -> BlackList" connection-state=established dst-port=22 packet-size=304 protocol=tcp

3 percubaan

Menyekat alamat IP sumber selepas tiga kali percubaan kata laluan yang salah.

Penerangan:

  • Jika paket sepadan dengan syarat, pemprosesan paket dihantar ke rantaian Fail2Ban-Source-IP;
  • Jika alamat IP sumber berada dalam senarai LoginFailure02, alamat IP sumber ditambah pada BlackList, selama 10 minit;
  • Jika alamat IP sumber berada dalam senarai LoginFailure01, alamat IP sumber ditambah pada senarai LoginFailure02 selama 2 minit;
  • alamat IP sumber ditambah pada senarai LoginFailure01, selama 1 minit.

Peraturan:

/ip firewall filter add action=jump chain=input comment="F2B SSH: Jump to Fail2Ban-Source-IP chain" connection-state=established dst-port=22 jump-target=Fail2Ban-Source-IP packet-size=304 protocol=tcp
/ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Source-IP comment="3 Attempt --> BlackList" src-address-list=LoginFailure02
/ip firewall filter add action=add-src-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Source-IP comment="2 Attempt --> LoginFailure02" src-address-list=LoginFailure01
/ip firewall filter add action=add-src-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Source-IP comment="1 Attempt --> LoginFailure01"

BlackList

Kami menyekat semua data daripada alamat IP daripada senarai BlackList. Kami meletakkan peraturan dalam rantaian Firewall Raw.

/ip firewall raw
add action=drop chain=prerouting comment="Drop all" src-address-list=BlackList

? Cara mengkonfigurasi perlindungan terhadap serangan Brute Force (MikroTIk Fail2Ban) pada peranti MikroTik menggunakan MikroTik Firewall telah dibincangkan dalam artikel ini. Saya harap anda boleh menyediakan perlindungan Fail To Ban untuk sambungan Winbox, Web dan SSH. Walau bagaimanapun, jika anda menghadapi sebarang masalah semasa menyediakan, sila tulis dalam ulasan. Saya akan cuba membantu.

Leave a Comment