Cara mudah untuk melindungi Mikrotik anda daripada serangan

Saya ingin berkongsi dengan komuniti cara mudah dan berkesan tentang cara menggunakan Mikrotik untuk melindungi rangkaian anda dan perkhidmatan "mengintip" dari belakangnya daripada serangan luar. Iaitu, hanya tiga peraturan untuk mengatur honeypot pada Mikrotik.

Jadi, mari bayangkan bahawa kami mempunyai pejabat kecil, dengan IP luaran di belakangnya terdapat pelayan RDP untuk pekerja bekerja dari jauh. Peraturan pertama, sudah tentu, menukar port 3389 pada antara muka luaran kepada yang lain. Tetapi ini tidak akan bertahan lama; selepas beberapa hari, log audit pelayan terminal akan mula menunjukkan beberapa kebenaran yang gagal sesaat daripada pelanggan yang tidak diketahui.

Situasi lain, anda mempunyai asterisk tersembunyi di belakang Mikrotik, sudah tentu bukan pada port 5060 udp, dan selepas beberapa hari pencarian kata laluan juga bermula... ya, ya, saya tahu, fail2ban adalah segala-galanya, tetapi kita masih perlu lakukannya... sebagai contoh, saya baru-baru ini memasangnya pada ubuntu 18.04 dan terkejut apabila mendapati fail2ban di luar kotak tidak mengandungi tetapan semasa untuk asterisk dari kotak yang sama bagi pengedaran ubuntu yang sama... dan googling tetapan pantas kerana "resipi" siap sedia tidak lagi berfungsi, bilangan keluaran semakin meningkat dari semasa ke semasa, dan artikel dengan " resipi" untuk versi lama tidak lagi berfungsi, dan yang baharu hampir tidak pernah muncul... Tetapi saya menyimpang...

Jadi, apakah itu honeypot secara ringkas - ia adalah honeypot, dalam kes kami, mana-mana port popular pada IP luaran, sebarang permintaan ke port ini daripada pelanggan luaran menghantar alamat src ke senarai hitam. Semua.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" 
    connection-state=new dst-port=22,3389,8291 in-interface=
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment=
    "block honeypot asterisk" connection-state=new dst-port=5060 
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
    "Honeypot Hacker"

Peraturan pertama pada port TCP popular 22, 3389, 8291 antara muka luaran ether4-wan menghantar IP "tetamu" ke senarai "Honeypot Hacker" (port untuk ssh, rdp dan winbox dilumpuhkan terlebih dahulu atau ditukar kepada yang lain). Yang kedua melakukan perkara yang sama pada UDP 5060 yang popular.

Peraturan ketiga pada peringkat pra penghalaan menggugurkan paket daripada "tetamu" yang alamat srsnya disertakan dalam "Penggodam Honeypot".

Selepas dua minggu bekerja dengan Mikrotik rumah saya, senarai "Honeypot Hacker" termasuk kira-kira satu setengah ribu alamat IP mereka yang suka "memegang ambing" sumber rangkaian saya (di rumah ada telefon saya sendiri, mel, nextcloud, rdp). Serangan brute-force berhenti, kebahagiaan datang.

Di tempat kerja, tidak semuanya menjadi begitu mudah, di sana mereka terus memecahkan pelayan rdp dengan kata laluan yang memaksa.

Nampaknya, nombor port telah ditentukan oleh pengimbas lama sebelum honeypot dihidupkan, dan semasa kuarantin tidak begitu mudah untuk mengkonfigurasi semula lebih daripada 100 pengguna, yang mana 20% daripadanya berusia lebih 65 tahun. Dalam kes apabila port tidak boleh diubah, terdapat resipi kerja kecil. Saya telah melihat sesuatu yang serupa di Internet, tetapi terdapat beberapa tambahan tambahan dan penalaan halus yang terlibat:

Peraturan untuk mengkonfigurasi Port Knocking

 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist 
    connection-state=new dst-port=3389 protocol=tcp src-address-list=
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist

Dalam 4 minit, pelanggan jauh dibenarkan membuat hanya 12 "permintaan" baharu kepada pelayan RDP. Satu percubaan log masuk adalah dari 1 hingga 4 "permintaan". Pada "permintaan" ke-12 - menyekat selama 15 minit. Dalam kes saya, penyerang tidak berhenti menggodam pelayan, mereka menyesuaikan diri dengan pemasa dan kini melakukannya dengan perlahan, kelajuan pemilihan sedemikian mengurangkan keberkesanan serangan kepada sifar. Kakitangan syarikat hampir tidak mengalami kesulitan di tempat kerja daripada langkah-langkah yang diambil.

Satu lagi helah kecil
Peraturan ini dihidupkan mengikut jadual pada pukul 5 pagi dan dimatikan pada pukul XNUMX pagi, apabila orang sebenar pasti tidur dan pemilih automatik terus terjaga.

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=1w0d0h0m chain=forward comment=
    "night_rdp_blacklist" connection-state=new disabled=
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

Sudah pada sambungan ke-8, IP penyerang disenaraihitamkan selama seminggu. Kecantikan!

Nah, sebagai tambahan kepada perkara di atas, saya akan menambah pautan ke artikel Wiki dengan persediaan yang berfungsi untuk melindungi Mikrotik daripada pengimbas rangkaian. wiki.mikrotik.com/wiki/Drop_port_scanners

Pada peranti saya, tetapan ini berfungsi bersama-sama dengan peraturan honeypot yang diterangkan di atas, melengkapkannya dengan baik.

UPD: Seperti yang dicadangkan dalam ulasan, peraturan penurunan paket telah dialihkan ke RAW untuk mengurangkan beban pada penghala.

Sumber: www.habr.com

Tambah komen