LINUX.ORG.RU
решено ФорумAdmin

iptables: nmap syn scan (-sS)


0

1

На сервере настроен файрвол следующим образом:

# Generated by iptables-save v1.3.5 on Sat Oct  6 16:06:24 2012
*filter
:INPUT ACCEPT [111022:17690768]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [250168:55387442]
#block external ping, exclusion - [censored] sip server
-A INPUT -s 192.168.1.0/255.255.255.0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
#block udp access from external, exclusion - [censored] sip server
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -p udp --dport 5060 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx -i eth0 -p udp --dport 5060 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 5060 -j LOG --log-level WARN --log-prefix "SIP BLOCKED: "
-A INPUT -i eth0 -p udp --dport 5060 -j DROP
#block access from local or non [censored] ip ranges
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.240.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.248.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.128.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.xxx/255.255.224.0 -i eth0 -j ACCEPT
-A INPUT -i eth0 -j LOG --log-level WARN --log-prefix "INPUT BLOCKED: "
-A INPUT -i eth0 -j DROP
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# SYN and FIN are both set
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# SYN and RST are both set
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# FIN and RST are both set
-A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# FIN is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
# PSH is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
# URG is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP 
COMMIT
# Completed on Sat Oct  6 16:06:24 2012

при сканировании nmap -sS -Pn <server ip>

выдает такой результат:

Host is up (0.025s latency).
Not shown: 996 closed ports
PORT     STATE    SERVICE
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
445/tcp  filtered microsoft-ds
1720/tcp filtered H.323/Q.931

То что filtered - это провайдер. Интересна одна строка:

Host is up (0.025s latency).

Показывает что сервер онлайн. Можно ли это скрыть? Заодно подскажите не накосячил ли я с правилами iptables (в целом все нормально?). Для меня это первый опыт работы с данным файром.


Может меня кто-то поправит, но по моему смысла нет после
-A INPUT -i eth0 -j DROP
писать еще правила, так как они не выполнятся.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от massive

DROP поставить -j REJECT

При дропе просто пакет скинется, что более нативно в случае если по определённому адресу ничего нет.

Mr_Alone ★★★★★ ()
Ответ на: комментарий от Kaeso

icmp-net-unreachable icmp-host-unreachable icmp-port-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited

Вот такие флаги нашел. Просто REJECT вроде по умолчанию делает icmp-port-unreachable?

Kaeso ()
Ответ на: комментарий от massive

Вот такой конфиг теперь:

# Generated by iptables-save v1.3.5 on Mon Oct  8 11:19:07 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [13:1332]
#Allow response packets
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#Allow localhost
-A INPUT -i lo -j ACCEPT
#block ping from untrusted source
-A INPUT -s 192.168.1.0/255.255.255.0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -s xx.xx.xx.xx -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
#block SIP connection from untrusted source
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -s xx.xx.xx.xx -i eth0 -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 5060 -j LOG --log-prefix "SIP BLOCKED: "
-A INPUT -i eth0 -p udp -m udp --dport 5060 -j DROP
#block any connection from non provider subnets
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.240.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.248.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.128.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.192.0 -i eth0 -j ACCEPT
-A INPUT -s xx.xx.xx.xx/255.255.224.0 -i eth0 -j ACCEPT
-A INPUT -i eth0 -j LOG --log-prefix "INPUT BLOCKED: "
COMMIT
# Completed on Mon Oct  8 11:19:07 2012

Сейчас косяков вроде нет? :)

Еще интересно имеет ли смылс прикручивать это (от SYN флуда):

# SYN and FIN are both set
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# SYN and RST are both set
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# FIN and RST are both set
-A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# FIN is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
# PSH is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
# URG is the only bit set, without the expected accompanying ACK
-A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP 

Kaeso ()
Ответ на: комментарий от Kaeso

Мое мнение - нет. У тебя и так по умолчанию все дропается.

massive ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.