Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
iptables
 
Подскжите, как при помощи iptables запретить определение ОС.
 
маразм крепчал....
 
Обычно OS определяется по некоторым характерным параметрам ip стека, например TTL. Для фальсификации этих параметров нужно произвести тюнинг ip стека через ядро (например через /proc), но тут надо поосторожнее чтобы сеть ни начала глючить :(
 
А в iptables запртить обработку таких запросов нельзя?
 
Цитата
Плаха пишет:
А в iptables запртить обработку таких запросов нельзя?
Ну, обячно, при сканировании ось определяется эвристически, на основании ответов крутящихля на ней скрвисов.
Либо, апликейшн (например браузер) сам говорит кто он, либо это определяют ява аплеты, которые подгрузились с вэб сайтом. Фаер тут безсилен.
В общем, не заморачивай голову!
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
И никто тебя не пропалит )))))))))
 
Цитата
Linuxoid-ht пишет:
В общем, не заморачивай голову!
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
И никто тебя не пропалит )))))))))
Угу, и ещё сетевой шнурок обрезать
 
Это не специальные запросы, а обработка стандартных пакетов. Например если у вас веб сервер, можно просто обратится на 80 порт и по шапкам ip и tcp пакетов сделать вывод о используемой OS. Наверно самый известный сканер nmap, о нем есть много описаний принципа определения os. Существуют так-же полностью пассивные сканеры, они только слушают чужой трафик, а сами ничего не посылают.
 
Механизм фингерпринтинга новых версий nmap(например, 4.20) легко можно озадачить обычным изменением TTL:
Цитата
sysctl net.ipv4.ip_default_ttl=128

Цитата
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).

Или изменением других параметров TCP/IP стека, например отключением SACK(может сказаться на производительности сетевого стека):
Цитата
sysctl net.ipv4.tcp_sack=0

Цитата
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).

Старые версии nmap и другие фингерпринтеры TCP/IP стека на такие дешевые уловки не попадаются, поэтому бороться с ними сложнее - путем использования ядерных модулей, в т.ч. POM-расширений для Netfilter, или программ пользовательского режима, изменяющих поведение TCP/IP стека Linux.
Актуальных модулей или патчей назвать не могу. FingerPrintFucker - устарел. IP Personality - заброшен,последняя версия для ядра 2.4.18. Stealth Patch - устарел. Был также патч UST antinmap, но попытка найти его не увенчалась успехом.
Из реально работающих в пользовательском режиме программ, использующих для модификации пакетов libpcap и позволяющих бороться с механизмом фингерпринтинга nmap и, вероятно, не только с ним, могу назвать программу iplog:
Цитата
--fool-nmap[=true|false|toggle] or -z Fool nmap's OS detection.

Nmap новой версии 4.20 и более ранней 4.0 определить тип операционной системы при запущенном iplog с ключем "-z" не смог.
 
Цитата
R пишет:
Механизм фингерпринтинга новых версий nmap(например, 4.20) легко можно озадачить обычным изменением TTL:
Цитата
sysctl net.ipv4.ip_default_ttl=128


Цитата
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).


Или изменением других параметров TCP/IP стека, например отключением SACK(может сказаться на производительности сетевого стека):
Цитата
sysctl net.ipv4.tcp_sack=0


Цитата
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).

Код
host ~ # sysctl net.ipv4.tcp_sack=0
net.ipv4.tcp_sack = 0
host ~ # sysctl net.ipv4.ip_default_ttl=128
net.ipv4.ip_default_ttl = 128
host ~ # ps waux |grep iplog
root     13803  0.0  0.2  43120  1044 ?        Ss   11:43   0:00 iplog -z
root     13804  0.0  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13805  0.1  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13806  0.0  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13807  0.0  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13808  0.0  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13809  0.0  0.2  43120  1044 ?        S    11:43   0:00 iplog -z
root     13824  0.0  0.1   1868   624 pts/0    R+   11:47   0:00 grep --colour=auto iplog
host ~ # nmap -A localhost | grep OS
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).
OS:SCAN(V=4.20%D=10/10%OT=22%CT=1%CU=30381%PV=N%DS=0%G=Y%TM=470C75B2%P=i386
OS:-pc-linux-gnu)SEQ(SP=C7%GCD=1%ISR=CC%TI=Z%II=I%TS=7)OPS(O1=M400CNNT11NW4
OS:%O2=M400CNNT11NW4%O3=M400CNNT11NW4%O4=M400CNNT11NW4%O5=M400CNNT11NW4%O6=
OS:M400CNNT11)WIN(W1=8000%W2=8000%W3=8000%W4=8000%W5=8000%W6=8000)ECN(R=Y%D
OS:F=Y%T=80%W=8018%O=M400CNW4%CC=N%Q=)T1(R=Y%DF=Y%T=80%S=O%A=S+%F=AS%RD=0%Q
OS:=)T2(R=N)T3(R=Y%DF=Y%T=80%W=8000%S=O%A=S+%F=AS%O=M400CNNT11NW4%RD=0%Q=)T
OS:4(R=Y%DF=Y%T=80%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+
OS:%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y
OS:%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=80%TOS=C0%IPL=164%UN=0%
OS:RIPL=G%RID=G%RIPCK=G%RUCK=G%RUL=G%RUD=G)IE(R=Y%DFI=N%T=80%TOSI=S%CD=S%SI
OS:=S%DLI=S)
OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .

host ~ # nmap -O2 localhost | grep OS
No exact OS matches for host (If you know what OS is running on it, see http://insecure.org/nmap/submit/ ).
OS:SCAN(V=4.20%D=10/10%OT=22%CT=1%CU=40519%PV=N%DS=0%G=Y%TM=470C75F2%P=i386
OS:-pc-linux-gnu)SEQ(SP=C4%GCD=1%ISR=CA%TI=Z%II=I%TS=7)SEQ(SP=C3%GCD=1%ISR=
OS:C9%TI=Z%II=I%TS=7)OPS(O1=M400CNNT11NW4%O2=M400CNNT11NW4%O3=M400CNNT11NW4
OS:%O4=M400CNNT11NW4%O5=M400CNNT11NW4%O6=M400CNNT11)WIN(W1=8000%W2=8000%W3=
OS:8000%W4=8000%W5=8000%W6=8000)ECN(R=Y%DF=Y%T=80%W=8018%O=M400CNW4%CC=N%Q=
OS:)T1(R=Y%DF=Y%T=80%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=Y%DF=Y%T=80%W=8000%S
OS:=O%A=S+%F=AS%O=M400CNNT11NW4%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=Z%F=R%O=
OS:%RD=0%Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%
OS:W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=
OS:)U1(R=Y%DF=N%T=80%TOS=C0%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUL=G%
OS:RUD=G)IE(R=Y%DFI=N%T=80%TOSI=S%CD=S%SI=S%DLI=S)
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .


host ~ # nmap -O1 localhost | grep OS
Aggressive OS guesses: Linux 2.4.0 - 2.5.20 (89%), Linux 2.4.18 - 2.4.20 (x86) (89%), Linux 2.4.20 (X86, Redhat 7.3) (89%), Linux 2.4.21 (x86, RedHat) (89%), Linux 2.4.22 (SPARC) (89%), Linux 2.4.30 (89%), Linux 2.4.18 (88%), Linux 2.4.20 - 2.4.22 w/grsecurity.org patch (88%), Linux 2.4.25 w/grsec (x86) (88%), Linux 2.4.20 (Red Hat) (87%)
 
Видимо, против агрессивного режима новой версии nmap старые трюки iplog не помогают...
 
http://wardriver.ru/panic.png

Агрессивный тип сканирования. NMAP выдал на выбор гетерогенный ряд операционных систем, ни одна из которых не удовлетворяет реальной стендовой (FreeBSD).

Замечу, что изменение TTL/Windows Size недостаточно для полноценного "сбива" сканнера. Актуально смотреть в сторону опций стека, потому что каждая система индивидуально работает с опциями TCP.

Шибуршите ядро :)
 
Вот, что то похожее, но только для ОС FreeBSD(примеры приведены с pf).
 
Цитата
cyberX пишет:

                                                               Вот , что то похожее, но только для ОС FreeBSD(примеры приведены с pf).
что то похожее это ip personalisation к сожалению только для 2.4 ядер линукса.
А вышеприведенное ничто иное как
Код
host ~ # sysctl net.ipv4.tcp_sack=0 
net.ipv4.tcp_sack = 0 
host ~ # sysctl net.ipv4.ip_default_ttl=128 
net.ipv4.ip_default_ttl = 128

и все в таком духе.
механизма внедрения в netfilter connection tracking (CONFIG_NF_CONNTRACK в ядре) с полным эффектом присутствия стека протокола чужой системы в этом нету..
 
Цитата
что то похожее это ip personalisation к сожалению только для 2.4 ядер линукса.

Что-то похожее для Linux, это следующие правила для Iptables, потому что задача состоит в урезании лишнего вида трафика, о чём и говорят правила на pf.

Боремся с XMAS-сканированием:
-A INPUT –p tcp –m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG –j DROP

Боремся с NULL-сканированием:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE –j DROP

Боремся с TCP connect() и SYN-cканом:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,SYN FIN,SYN –j DROP

Боремся с FIN-сканированием:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,ACK FIN-j DROP

Цитата
А вышеприведенное ничто иное как
Код

host ~ # sysctl net.ipv4.tcp_sack=0
net.ipv4.tcp_sack = 0
host ~ # sysctl net.ipv4.ip_default_ttl=128
net.ipv4.ip_default_ttl = 128

и все в таком духе.
механизма внедрения в netfilter connection tracking (CONFIG_NF_CONNTRACK в ядре) с полным эффектом присутствия стека протокола чужой системы в этом нету..

Ну про этим вещи уже речь шла наверху. Было бы так, было бы как наверху :)
 
в инете можно найти патчи на ядро, которые меняют сетевые параметры оси(ttl и т.д.) правда названия не помню. в голове крутится rbac, dte.
Если нет возможности перекомпилить ядро, наверное можно просто разрешить несколько портов а потом как сказали
например
iptables -A INPUT -p tcp -dport 80 -j ACCEPT
iptables -A INPUT -j DROP
 
Цитата
Андрей Комаров пишет:
Боремся с XMAS-сканированием:
-A INPUT –p tcp –m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG –j DROP

Боремся с NULL-сканированием:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE –j DROP

Боремся с TCP connect() и SYN-cканом:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,SYN FIN,SYN –j DROP

Боремся с FIN-сканированием:
-A INPUT –p tcp –m tcp –-tcp-flags FIN,ACK FIN-j DROP

Похоже, эти меры не сбивают nmap(-O1) с толку:

Цитата
Device type: general purpose|firewall|broadband router
Running (JUST GUESSING) : Linux 2.6.X|2.4.X|2.5.X (91%), Checkpoint Windows NT/2K/XP (86%), D-Link embedded (85%)
OS fingerprint not ideal because: Didn't receive UDP response. Please try again with -sSU
Aggressive OS guesses: Linux 2.6.5 - 2.6.11 (91%), Linux 2.4.20 - 2.4.28 (91%), Linux 2.4.6 - 2.4.26 or 2.6.9 (91%), Linux 2.4.18 - 2.4.27 (88%), Linux 2.4.21 (Suse, X86) (88%), Linux 2.4.22 (88%), Linux 2.4.22 or 2.6.3 - 2.6.10 (88%), Linux 2.6.10 (88%), Linux 2.6.7 (88%), Linux 2.6.8 (Debian) (88%)
Страницы: 1
Читают тему