>Например так, хотя не от всякого сканирования
>iptables -A INPUT -m state --state NEW -p tcp ! --syn -j
>LOG --log-level info --log-prefix "STEALTH SCAN"
>iptables -A INPUT -m state --state NEW -p tcp ! --syn -j
>DROP
грамотнее делать REJECT --reject-with tcp-reset
как дополнения к известным stealth сканам Null, Fin, Xmas
--tcp-flags SYN,RST SYN,RST -j REJECT --reject-with tcp-reset
--tcp-flags SYN,FIN SYN,FIN -j REJECT --reject-with tcp-reset
--tcp-flags ALL FIN,URG,PSH -j REJECT --reject-with tcp-reset
однако от nmap -sS средствами iptables без патча не получится, поскольку это не просто syn scan ;)
Да и надо ли? любой порт можно вычислить банальной пробой.
Совет: смотрите на snort или аналогогичные ids. их средствами можно прекрасно контролировать процессы сканирования (от сброса соединений, до бана хостов)