Procedura PSD (port scan detection) jest bardzo łatwa do wdrożenia. Są to dwie linijki kodu:
/ip firewall filter add action=add-src-to-address-list address-list=port-scanners address-list-timeout=none-static chain=input comment="Add port scanners to port-scanners list" protocol=tcp psd=21,3s,3,1 log=yes
/ip firewall filter add chain=input action=drop src-address-list=port-scanners log=no log-prefix=""
I cyk, działa 🙂
Jeżeli chcielibyśmy ją dopasować do swoich potrzeb to w pierwszej linijce najbardziej interesuje nas wpis psd=21,3s,3,1
Pierwsza cyfra 21 to liczba punktów, jaką musi zebrać skaner portów by zostać dodanym do listy adresów IP o nazwie port-scanners
Druga to 3s czyli trzy sekundy – jest to czas w jakim musi zebrać wskazanie wyżej 21 punktów.
Kolejne dwie to 3 i 1, odpowiednio punkty (waga) zdobyte za przeskanowanie niskiego portu (22, 80, 443, itp.) i punkty zdobyte za przeskanowanie wysokiego portu.
Wobec powyższego skoro waga wysokiego portu to 3, a maksymalna liczba punktów to 21. To wystarczy że skaner portów przeskanuje 7 niskich portów w ciągu 3 sekund by dostać się na listę port-scanners. Analogicznie musi przeskanować 21 wysokich portów (bo waga każdego to 1) by dostać się na listę port-scanners.
Wartości te można dopasować do własnych potrzeb.
Należy również zadbać by obydwie reguły były odpowiednio wysoko na liście naszych reguł firewall.
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.
Hi, I think yur bloog might be havihg browser ckmpatibility
issues. When I look att yur bpog site iin Chrome, itt look fine but when opening iin Internet Explorer, itt hass some
overlapping. I just wanted to give you a qquick heads up!
Other then that, very ggood blog!
WOW just wyat I was seearching for. Came
here bby searching foor pbfrju
I’ve ben surfing online more than 4 hours today, yet I
necer found anny interesting article like yours.
It’s pretty worth enlugh foor me. In my opinion,
iif alll site owners annd bloggers mmade good contyent aas you did, the innternet wil bbe a llot
more useftul than ver before.
Hello there, jujst became awar of your blog throgh Google,and found tat it’s ttruly informative.
I amm going to wqtch out foor brussels. I wilol apprecate if youu continnue this in future.
Loots oof peoplpe will be benefitdd from youyr writing.
Cheers!
Czym może być powodowana odpowiedź konsoli „invalid time value for argument address-list-timeout” ?
Miałem jedynie obawę, że coś się zmieniło w wersji 7 Router OS, ale przetestowałem na najnowszej wersji i też działa (zrzut ekranu poniżej). Wcześniej wdrażałem to na dziesiątkach różnych wersji 6.XX.X i też zawsze działało. Musi przyjąć „none-static” nie ma wyjścia. może coś się podziało przy kopiowaniu komendy ze strony. Skopiowały się jakieś znaki, które są niewidoczne (spacja, enter itp.). Proponuję jeszcze wpisać komendę ręcznie.
Powiększ
a ja tak zapytam:
1. czy ma sens regułę DROP dać na firewall RAW ? jesli filtrujemy tylko z list zbanowanych IP to dlaczego nie tam?
2. czy pod portscan tylko TCP czy może dowolny protokół ? (czy tu sie nie zrobi jakiś fałszywy alarm)
Ad. 1 – Masz rację. Wpis jest już trochę „leciwy”. Teraz drop robię na tablicy RAW. Według dokumentacji MikroTik w „Traffic flow diagram” jest ona z punktu widzenia wejściowego interfejsu przed Firewall/Filter. Zatem dropowanie pakietów na tablicy RAW będzie skutkowało mniejszym obciążeniem procesora. Odpowiednia reguła to: /ip firewall raw add chain=prerouting action=drop src-address-list=port-scanners
Ad. 2 – Najważniejsze usługi na routerze, które chemy chronić działają na TCP (SSH, HTTPS, FTP, Winbox itp.). Myślę, że do większości zastosowań TCP wystarczy.