Menyiapkan proteksi terhadap serangan BruteForce pada router Mikrotik | UNIX LINUX EXPLORE
Edit

Menyiapkan proteksi terhadap serangan BruteForce pada router Mikrotik

Serangan Brute Force adalah jenis serangan yang sangat umum di Internet, yang bermuara pada upaya menebak kata sandi dengan kekerasan. Selain itu, penyerang menggunakan pustaka kata kamus dan daftar kata sandi yang disusupi, jadi meskipun Anda menggunakan kata sandi yang rumit, Anda tidak boleh menganggap enteng ancaman tersebut. Tentu saja, tidak mungkin untuk sepenuhnya melindungi dari kekerasan kata sandi, tetapi Anda dapat mempersulit proses ini dengan memblokir penyerang dan dengan demikian mengurangi kecepatan kekerasan. Pada artikel ini kita akan melihat bagaimana melindungi router Mikrotik Winbox dan WebFig dari serangan ini.

Kami tidak akan membahas pertanyaan mengapa antarmuka Winbox dan WebFig terlihat ke dunia luar, karena ini adalah topik artikel terpisah; dalam hal ini, kami hanya akan mempertimbangkan langkah-langkah perlindungan terhadap kekerasan kata sandi. Artinya antarmuka ini juga digunakan oleh pengguna sah, yang berhak melakukan kesalahan.


1. Perlindungan Winbox dari BruteForce

Winbox adalah metode paling populer untuk mengelola perangkat Mikrotik dan oleh karena itu cukup populer di kalangan peretas, jadi tugas kita adalah mengidentifikasi upaya memasukkan kata sandi yang salah dan, setelah beberapa kali mencoba, memblokir penyerang. Menurut pendapat kami, cukup bagi pengguna sah untuk melakukan tiga upaya dalam satu menit; ini sangat sesuai dengan logika pekerjaan pengguna sah, yang, setelah upaya gagal, akan memeriksa tata letak, melihat catatan, dan melihat catatan. tidak akan dengan bodohnya mematuk. Jika upaya masuk lebih sering terjadi, kemungkinan besar kita menghadapi penyerang.

Bagaimana cara mendeteksi entri kata sandi yang salah? Sederhananya, dalam paket respons, router akan melaporkan dalam teks yang jelas:

invalid user name or password

Dan penerima paket seperti itu akan menjadi subjek peningkatan minat kami. Tapi pertama-tama, mari kita lacak acara itu sendiri; untuk melakukan ini, buka IP - Firewall - Mangle dan buat aturan: Chain - output, Protocol - tcp, Src.Port - 8291 .


Lalu pada tab Advanced , tambahkan kriteria: Content - invalid user name or password.


Dan pada tab Action kami akan menunjukkan aksi lompat dan di kolom Jump Target kami akan menunjukkan nama rantai pengguna, dalam kasus kami FB-WB ( Fail2Ban Winbox ).



Aturan yang sama di terminal:

/ip firewall mangle
add action=jump chain=output content="invalid user name or password" jump-target=FB-WB protocol=tcp src-port=8291

Sekarang mari kita jelaskan sedikit apa yang kami lakukan. Pertama, kami mengisolasi paket respons kesalahan kredensial router dan meneruskannya ke rantai firewall itu sendiri. Ini akan memungkinkan Anda untuk bekerja lebih lanjut dengan mereka tanpa secara pribadi memeriksa kepatuhan terhadap kriteria keberadaan teks kesalahan setiap saat. Hal ini juga menghilangkan kebutuhan paket lain untuk mengikuti aturan rantai, yang berdampak positif pada kinerja.

Sekarang mari kita mulai membuat aturan untuk rantai kita dan kita akan melakukannya dari awal hingga akhir. Untuk melakukan ini, kami akan menggunakan beberapa daftar alamat dan, berdasarkan pengulangan alamat dalam daftar, membuat keputusan untuk memblokir. Pengguna sah akan melakukan tiga upaya dalam satu menit.

Di sana, di IP - Firewall - Mangle , kita akan membuat aturan: Chain - FB-WB . Pada tab Lanjutan , tentukan Dst. Daftar Alamat adalah FB-WB-3 , dan dalam Aksi - tambahkan dst ke daftar alamat, Daftar Alamat - FB-WB-BAN, Timeout - 1d 00:00:00 .



Di terminal:

/ip firewall mangle
add action=add-dst-to-address-list address-list=FB-WB-BAN address-list-timeout=1d chain=FB-WB dst-address-list=FB-WB-3

Dengan aturan ini, kami menganalisis alamat tujuan paket respons router dan apakah itu ada dalam daftar FB-WB-3 , mis. Jika berhasil salah memasukkan password sebanyak tiga kali, maka kami kirimkan ke daftar FB-WB-BAN untuk jangka waktu satu hari.

Kemudian kita akan membuat aturan untuk mengisi daftar yang tersisa dengan cara yang sama. Jadi jika alamatnya ada di daftar FB-WB-2 , maka tambahkan ke daftar FB-WB-3 selama satu menit, jika alamatnya ada di FB-WB-1 , maka tambahkan ke FB-WB-2 untuk sebentar , dan jika tidak ada dalam daftar apa pun, mari tambahkan ke FB-WB-1 selama satu menit:

/ip firewall mangle
add action=add-dst-to-address-list address-list=FB-WB-3 address-list-timeout=1m chain=FB-WB dst-address-list=FB-WB-2
add action=add-dst-to-address-list address-list=FB-WB-2 address-list-timeout=1m chain=FB-WB dst-address-list=FB-WB-1
add action=add-dst-to-address-list address-list=FB-WB-1 address-list-timeout=1m chain=FB-WB
Untuk memeriksa kebenaran operasi, kami mencoba menentukan kredensial yang salah beberapa kali dan mengamati bagaimana alamat penyerang secara berurutan mengisi daftar dari FB-WB-1 hingga FB-WB-BAN.



Sekarang yang perlu dilakukan hanyalah memblokir penyerang. Untuk melakukan ini, buka IP - Firewall - Raw dan buat aturan: Chain - Prerouting . Kemudian, pada tab Advanced , tambahkan Src. Daftar Alamat - FB-WB-BAN dan pada tab Action tentukan tindakan drop .

/ip firewall raw
add action=drop chain=prerouting src-address-list=FB-WB-BAN

Dengan demikian, siapa pun yang memasukkan kredensial yang salah lebih dari tiga kali dalam satu menit akan diblokir selama satu hari. Batasan waktu diberikan sebagai contoh; Anda dapat mengubahnya sesuai kebijaksanaan Anda sendiri.


2. Perlindungan WebFig dari BruteForce


Antarmuka web WebFig dilindungi dari boot-force dengan cara yang persis sama seperti Windox, jadi kami tidak akan memberikan contoh untuk antarmuka grafis, tetapi akan membatasi diri hanya pada perintah di terminal.

Kami juga akan menganalisis respons router dari port server web (80 TCP); jika kredensial salah, RouterOS 6 merespons dengan pesan:

403 Forbidden
Dan RouterOS 7:

Error 403

Dan semuanya seperti pada versi sebelumnya. Pertama-tama, mari kirim semua paket dengan respons yang diperlukan ke rantai FB-WEB pengguna yang terpisah:


/ip firewall mangle
add action=jump chain=output content="403 Forbidden" jump-target=FB-WEB protocol=tcp src-port=80
Lalu kita akan mulai mengisi daftar alamat dengan cara yang sama, dari akhir ke awal. Untuk setiap alamat, keberadaannya dalam daftar diperiksa dan jika dikonfirmasi, maka dimasukkan dalam daftar yang lebih tinggi. Tiga daftar FB-WEB-1 - FB-WEB-3 diisi selama satu menit dan memberikan kesempatan kepada pengguna sah untuk melakukan tiga kesalahan. Daftar keempat FB-WEB-BAN ditujukan untuk pemblokiran dan durasi alamat di dalamnya adalah satu hari.

/ip firewall mangle
add action=add-dst-to-address-list address-list=FB-WEB-BAN address-list-timeout=1d chain=FB-WEB dst-address-list=FB-WEB-3
add action=add-dst-to-address-list address-list=FB-WEB-3 address-list-timeout=1m chain=FB-WEB dst-address-list=FB-WEB-2
add action=add-dst-to-address-list address-list=FB-WEB-2 address-list-timeout=1m chain=FB-WEB dst-address-list=FB-WEB-1
add action=add-dst-to-address-list address-list=FB-WEB-1 address-list-timeout=1m chain=FB-WEB

Kemudian kita memblokir penyerang di tabel Raw.

/ip firewall raw
add action=drop chain=prerouting src-address-list=FB-WEB-BAN

Anda dapat menyesuaikan waktu yang dihabiskan dalam daftar dan jumlah upaya sesuai kebijaksanaan Anda.


3. Perlindungan SSL WebFig dari BruteForce

Namun di sini kita mempunyai tugas yang lebih rumit; ketika perlindungan SSL diaktifkan, kita tidak dapat menganalisis isi paket respons dan kita perlu menemukan beberapa kriteria lain yang mengindikasikan upaya untuk menebak kata sandi. Selama penelitian kami, secara empiris ditemukan bahwa ukuran paket respon dapat dijadikan kriteria, yaitu 317 byte untuk RouterOS 6 dan 378 byte untuk RouterOS 7.

Jika tidak, prinsip perlindungan tetap sama, pertama-tama, kami akan mengirimkan paket yang memenuhi kriteria ke rantai pengguna terpisah, hanya saja kami menggunakan port sumber 443 dan kriteria pada tab Lanjutan , bukan Konten, harus Ukuran Paket.


Di terminal winbox anda ketikkan.

/ip firewall mangle
add action=jump chain=output jump-target=FB-SSL packet-size=317 protocol=tcp src-port=443

Selanjutnya, kita mengisi empat tabel dengan cara yang persis sama.

/ip firewall mangle
add action=add-dst-to-address-list address-list=FB-SSL-BAN address-list-timeout=1d chain=FB-SSL dst-address-list=FB-SSL-3
add action=add-dst-to-address-list address-list=FB-SSL-3 address-list-timeout=1m chain=FB-SSL dst-address-list=FB-SSL-2
add action=add-dst-to-address-list address-list=FB-SSL-2 address-list-timeout=1m chain=FB-SSL dst-address-list=FB-SSL-1
add action=add-dst-to-address-list address-list=FB-SSL-1 address-list-timeout=1m chain=FB-SSL

Dan kemudian kami memblokir semua orang yang mencapai tabel terakhir di tabel Raw:

/ip firewall raw
add action=drop chain=prerouting src-address-list=FB-SSL-BAN

Seperti yang Anda lihat, melindungi router Mikrotik Anda dari kekerasan kata sandi cukup mudah, tetapi untuk melakukan ini Anda perlu memiliki seperangkat pengetahuan dan keterampilan tertentu yang memungkinkan Anda memilih pesan yang diperlukan dari arus lalu lintas atau menggunakan artikel kami.