LinuxForum.Fans
Тема

Как закрыть свой сервер от nmap?

Автор: waldi 7 сообщений 5106 просмотров
#173874

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

#173893

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

text
## 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
text
## 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
#173894

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

text
###[ 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

#174247

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

#174413

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

#276557

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

#277825

А если так?

text

$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
Войдите или зарегистрируйтесь, чтобы ответить.