1

Господа, поскажите как закрыть свой сервер от сканирования портов командой nmap?
Какое правило iptables надо написать. чтобы команда
nmap domain
не показывала портов, например, чтобы выдавало то, что выдает команда
nmap google.com
Буду признателен!

2

waldi, завалялось тут у меня, давай заодно и проверим:

## nmap -sN (Scan: none of any flags = not implemented in TCP)
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST NONE -m limit --limit 10/minute --limit-burst 10 -j LOG --log-prefix "IPT: Scan: empty flags: "
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST NONE -j REJECT --reject-with tcp-reset
## nmap -sF (Scan: only FIN)
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST FIN -m limit --limit 10/minute --limit-burst 10 -j LOG --log-prefix "IPT: Scan: only FIN: "
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED --tcp-flags SYN,ACK,FIN,RST FIN -j REJECT --reject-with tcp-reset
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

3

Вот кусок целиком, не помню где-то выдрал:

###[ syn-flood chain 4 detecting DOS attaks ]---------------------------------------
iptables -t mangle -N syn-flood
## Limit in 24 connections per sec, max allowed - 48
iptables -t mangle -A syn-flood -m limit --limit 24/s --limit-burst 48 -j RETURN
iptables -t mangle -A syn-flood \
    -m limit --limit 10/s  --limit-burst 10 -j LOG \
    --log-prefix "IPT: DOS (dropped): "
iptables -t mangle -A syn-flood -j DROP
###[ end of syn-flood ]==============================================================

###[ hach_scan shain ]---------------------------------------------------------------
iptables -t filter -N hack_scan
## nmap -sS (Scan: SYN+ACK = no defense... )
## nmap -sX (Scan: SYN+ACK+FIN+RST [+PSH+URG] = not implemented in TCP)
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST ALL  \
    -j LOG --log-prefix "IPT: Scan: SYN+ACK+FIN+RST: "
#    -m limit --limit 10/minute --limit-burst 10 \

iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST ALL  \
    -j REJECT --reject-with tcp-reset

## nmap -sN (Scan: none of any flags = not implemented in TCP)
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST NONE \
    -m limit --limit 10/minute --limit-burst 10 \
    -j LOG --log-prefix "IPT: Scan: empty flags: "
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST NONE \
    -j REJECT --reject-with tcp-reset

## nmap -sF (Scan: only FIN)
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST FIN \
    -m limit --limit 10/minute --limit-burst 10 \
    -j LOG --log-prefix "IPT: Scan: only FIN: "
iptables -t filter -A hack_scan -p tcp -m state --state ! ESTABLISHED \
    --tcp-flags SYN,ACK,FIN,RST FIN \
    -j REJECT --reject-with tcp-reset

## NEW, not SYN
iptables -t filter -A hack_scan -p tcp ! --syn -m state --state NEW \
    -m limit --limit 10/minute --limit-burst 10 \
    -j LOG --log-prefix "IPT: NEW not SYN (rejected): "
iptables -t filter -A hack_scan -p tcp ! --syn -m state --state NEW \
    -j REJECT --reject-with tcp-reset
###[ end of hach_scan chain ]==========================================================

### Check 4 DOS attack
iptables -t mangle -A PREROUTING -p tcp --syn -j syn-flood

### Check 4 port scanning
iptables -t filter -A INPUT -p ALL -j hack_scan

### Check 4 loopback spoofing
iptables -A INPUT -p ALL -i lo   -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
iptables -A INPUT -p ALL -i ! lo -d 127.0.0.0/8 -j DROP
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

4

Спасибо. smile
Это меня тоже очень интересовало.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

5

Огромная благодарность господину модератору!!!

У меня что-то не помогло ac от nmap не закрывает..

Спасибо, Вы очень любезны.

7 (03.10.2012 16:04:50 отредактировано kom-pik)

А если так?

$IPT -A INPUT -p icmp -j DROP
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP 
$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP 
$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP 
$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP 
$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP 
$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
$IPT -A INPUT -m recent --rcheck --seconds 120 --name nmap-j DROP
$IPT -A INPUT -p tcp -m multiport ! --dports 21,22,80 -m recent --set --name nmap -j DROP