Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: freedj в Aug 30, 2010, 17:11



Титла: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 30, 2010, 17:11
Здравейте :)

Мисълта ми е да блокирам сканирането на портове примерно със nmap от външни хостове. Тази опция я има в един рутер на linksys . Но понеже неможах да се справя сам да го блокирам с iptables, реших да се допитам до вас колеги :)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: ntrance в Aug 30, 2010, 17:14
Ключовата думичка в гоогле е  " portsentry"


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 30, 2010, 17:35
Ключовата думичка в гоогле е  " portsentry"

Благодаря ти, но нещо не намерих нищо което да ми свърши работа


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: chen_dzen в Aug 30, 2010, 18:38
    /etc/sysconfig/iptables

iptables -A INPUT -p tcp –tcp-flags ALL FIN -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL FIN,PSH,URG -j DROP 


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 30, 2010, 20:51
    /etc/sysconfig/iptables

iptables -A INPUT -p tcp –tcp-flags ALL FIN -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp –tcp-flags ALL FIN,PSH,URG -j DROP 

Ммм не се получава, като сканирам със nmap си изкарва всичко. Идей?


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: dvasilev в Aug 30, 2010, 21:59
@freedj: Принципно няма как да забраниш сканирането. Можеш само да влияеш върху резултатите.
При linux базирани системи, ако искаш да имитираш затворен порт трябва да направиш REJECT --with-tcp-reset


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 30, 2010, 23:13
@freedj: Принципно няма как да забраниш сканирането. Можеш само да влияеш върху резултатите.
При linux базирани системи, ако искаш да имитираш затворен порт трябва да направиш REJECT --with-tcp-reset

Да нямаш в предвид --reject-with tcp-reset. Но така не имитирам, че го затварям а баш си го затварям. Ето как го правя:

Код:
iptables -I INPUT -p tcp --dport 80 -j REJECT --reject-with tcp-reset


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: dvasilev в Aug 31, 2010, 09:00
@freedj: Да, точно това имам предвид.
Я поясни на теб какво ти е целта на мероприятието. Ако идеята е общодостъпен за всички порт да не се вижда като отворен от nmap или подобни скенери, то няма как да стане. Ако имаш отворен порт, който трябва да е достъпен за някакво крайно множество клиенти, а за всички останали да изглежда, че все едно е затворен, това, което ти дадох, е решението.


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: chen_dzen в Aug 31, 2010, 10:07
Може да блокираш ping(ICMP) nmap прави Ping обхождане . Обаче ако се окаже на nmap да пробусне това
, Ъоу губиш .    :)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 31, 2010, 10:46
Целта ми е да блокирам сканирането на портовете на машината. Демек ако 80 е отворен да не го изкара. Тази опция я видях в един рутер на linksys не помня точно модела. Пинга съм го спрял но когато сканирам примерно със SYN "nmap -v ip", си изкарва всичко


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: solarflux в Aug 31, 2010, 11:52
евентуално нещо подобно може да ти свърши работа
http://www.debian-administration.org/articles/268 ($2)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: gat3way в Aug 31, 2010, 12:15
Тоест ако браузъра прати SYN пакет, да му се върне SYN-ACK, ако nmap го прати обаче, да не му се връща :)

Това ще е някой firewall с гадателски наклонности :)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 31, 2010, 13:18
Ето този рутер: http://bikiniwings.com/JMM/Images/MyToys/Linksys%28RV042%29.jpg го има това. Когато му включиш firewall-а неможеш да правиш никакъв скенинк на портовете


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: chen_dzen в Aug 31, 2010, 14:04
Къде го скeнираш на WAN адреса или на LAN адрса ? ???


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 31, 2010, 14:20
От външна мрежа демек през WAN


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: dvasilev в Aug 31, 2010, 15:40
@freedj: Както казаха и други, това което го искаш няма как да стане. Просто го приеми.
Нещо, което обаче може да направиш допълнително е да се мъчиш да отгатнеш дали SYN пакетите са от сканираща програма. При по-глупавите опити за сканиране, е характерно, че от един и същ адрес идват доста SYN пакети и ако техния брой за единица време мина над някакъв праг, може да започнеш да ги филтрираш. Ако се интересуваш как може да направиш такова нещо виж тук ($2). Лошата новина за теб е, че на nmap може да му се указва време между отделните опити и мисля, че всеки, който не иска да се набива на очи, би разредил времето между тестването на отделните портове.


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 31, 2010, 15:52
Благодаря ви. Приех, че няма да стане затова просто филтрирах повечето портове а други ги затворих от външни мрежи.

П.П
Един оделен въпрос, може би трябва нова тема, дано модераторите не ми се сърдят. Има ли начин с iptables когато примерно някой ме удря със SYN флууд да го записва в отделен лог. Сега записва в syslog, но това малко не ме устройва, има ли възможност?


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: laskov в Aug 31, 2010, 16:10
Нещо близо до темата: http://www.linux-bg.org/forum/index.php?topic=14244.msg82562#msg82562 ($2)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: chen_dzen в Aug 31, 2010, 16:32
Как искаш на WAN interface да ти дава че имаш отворени портове . Трябва да ги пренасочиш към вътрешен хост или да си пуснал Remote Managment на рутера . А и някои доставчици филтрират портове .
 
П.С IPTABLES няма как да разбере SYN пакета истински ли е или от скенер . Още повече ,че nmap има опция -stealth  ;)


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Aug 31, 2010, 16:44
Премирих се вече, че неможе. За втория ми въпрос има ли шанс?


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: p3tzata_ в Sep 01, 2010, 10:06
Премирих се вече, че неможе. За втория ми въпрос има ли шанс?

laskov ти отговори на въпроса, остава само да го прочетеш...


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Sep 01, 2010, 11:09
Не ме разбрахте по-главния въпрос в темата се оправих имах един страничен който гласи:

1. Има ли начин с iptables когато примерно някой ме удря със SYN флууд да го записва в отделен лог. Сега записва в syslog, но това малко не ме устройва, има ли възможност?


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: laskov в Sep 01, 2010, 11:26
Цитат
iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --rcheck --seconds 60 -j DROP
iptables -A INPUT -p tcp -s X.X.X.0/24 --syn --dport 25  -m recent --name bad_smtp --set -j ACCEPT
Тези два реда правят следното:
1. Идва SYN пакет от някакъв IP адрес към нашия 25-ти порт. iptables проверява в списъка bad_smtp дали през последните 60 секунди от това IP е бил получен такъв пакет и ако да, DROP-ва пакета
2. Ако не, пропуска пакета и постава IP-то в списъка bad_smtp

Разбира се, за твоите цели ще трябва да го редактираш. Трябва да имаш компилиран модула recent.

Моля някой ако реши, да го обясни по-добре. Ако държиш на лог файла, копни тук syslog.conf и 1-2 от тези редове от syslog.


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Sep 01, 2010, 11:37
Пак не ме разбра, сложил съм защити от SYN и темподобни в момента логвам атаките по следния начин:
Код:
iptables -A syn-flood -m limit --limit 1/sec -j LOG --log-prefix "SYN FLOOD " --log-tcp-sequence --log-tcp-options --log-ip-options --log-level 4

И те се логват в:
Код:
/var/log/iptables.log

Мисълта ми беше дали примерно има начин да се логват в друг файл с име:
Код:
/var/log/synflood.log


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: laskov в Sep 01, 2010, 11:54
man iptables
Цитат
   LOG
       Turn on kernel logging of matching packets.  When this option is set for a rule,  the  Linux
       kernel  will print some information on all matching packets (like most IP header fields) via
       the kernel log (where it can be read with dmesg or syslogd(8)).  This is a  "non-terminating
       target",  i.e. rule traversal continues at the next rule.  So if you want to LOG the packets
       you refuse, use two separate rules with the same matching criteria, first using  target  LOG
       then DROP (or REJECT).

       --log-level level
              Level of logging (numeric or see syslog.conf(5)).
и обърни внимание на последния ред от цитата.

ПС: Какво ще правиш после с този файл?


Титла: Re: [iptables] Има ли начин да блокирам сканирането на портове?
Публикувано от: freedj в Sep 01, 2010, 12:32
Добре задавам в /etc/syslog.conf
Код:
syn.flood                       /var/log/synflood.log
Тогава какъв левал, ще трябва да се запише при правилото?