ReSeT
09.10.02, 21:09
Hi there!
Was kann ich eigentlich von diversen Online-Scan-Diensten wie z.B. scan.sygatetech.com halten?
Die Frage hat sich mir heute beim aufpolieren meiner Firewall gestellt:
Trotz erfolgreichem NMAP (nur die Ports die ich nach aussen geöffnet habe, werden auch als offen gemeldet)
erzählt mir der TCP Scan von sygate, bei mir seien diverse Ports offen. Vergleiche ich diese mit den Diensten,
die bei mir auf dem Server laufen, stimmt das auch überein.
Jetzt habe ich noch zusätzliche Regeln eingefügt, die eben diese Ports dediziert blocken, aber der Scan von sygate
bleibt unverändert. Kann mir einer etwas dazu sagen?
Zur Info hier noch das Script:
#! /bin/sh
start_fw=1
icmp_world=1
local_samba=1
localnet=10.0.1.0/24
dns1=194.8.194.60
dns2=213.168.112.60
worlddev=ppp0
localdev=eth0
vpn=1
if [ "$start_fw" -eq 1 ]
then
case "$1" in
start)
# enabling forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
echo -e "Starting Firewall"
# Enabling NAT
iptables -A POSTROUTING -t nat -s $localnet -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# default policy for input chain
iptables -P INPUT DROP
# local access
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
iptables -A INPUT -i $localdev -p all -j ACCEPT
# enable dns from outside
iptables -A INPUT -s $dns1 -d 0/0 -p udp -i $worlddev -j ACCEPT
iptables -A INPUT -s $dns2 -d 0/0 -p udp -i $worlddev -j ACCEPT
# iptables --log-level 2
# iptables -A INPUT -p all -j LOG
# Allow packets only for related and established connections
iptables -A INPUT -i $worlddev -m state --state ESTABLISHED,RELATED -j ACCEPT
# Discard invalid packets
iptables -A INPUT -i $worlddev -p tcp -m state --state INVALID -j DROP
# ICMP
if [ "$icmp_world" -eq 1 ]
then
iptables -A INPUT -i $worlddev -p icmp --icmp-type echo-reply -j ACCEPT
fi
if [ "$icmp_world" -eq 0 ]
then
iptables -A INPUT -i $worlddev -p icmp --icmp-type echo-reply -j DROP
fi
# Ports to be reachable from the outside world
for openport in 21 22 80 443 10000
do
iptables -A INPUT -p tcp -i $worlddev --dport $openport --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -i $worlddev --dport $openport --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p udp -i $worlddev --dport $openport -j ACCEPT
done
# IPsec rules
if [ "$vpn" -eq 1 ]
then
iptables -A INPUT -p udp -i $worlddev --dport 500 -j ACCEPT
iptables -A INPUT -p 50 -i $worlddev -j ACCEPT
iptables -A OUTPUT -p udp -i $worlddev --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -p 50 -i $worlddev -j ACCEPT
fi
# Samba from localnet
if [ "$local_samba" -eq 1 ]
then
iptables -A INPUT -p tcp --syn -s $localnet --destination-port 139 -j ACCEPT
fi
;;
stop)
echo -e "Stopping Firewall"
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -F
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage : firewall {start|stop|restart}" >&2
;;
esac
fi
GreetZ
ReSeT
Was kann ich eigentlich von diversen Online-Scan-Diensten wie z.B. scan.sygatetech.com halten?
Die Frage hat sich mir heute beim aufpolieren meiner Firewall gestellt:
Trotz erfolgreichem NMAP (nur die Ports die ich nach aussen geöffnet habe, werden auch als offen gemeldet)
erzählt mir der TCP Scan von sygate, bei mir seien diverse Ports offen. Vergleiche ich diese mit den Diensten,
die bei mir auf dem Server laufen, stimmt das auch überein.
Jetzt habe ich noch zusätzliche Regeln eingefügt, die eben diese Ports dediziert blocken, aber der Scan von sygate
bleibt unverändert. Kann mir einer etwas dazu sagen?
Zur Info hier noch das Script:
#! /bin/sh
start_fw=1
icmp_world=1
local_samba=1
localnet=10.0.1.0/24
dns1=194.8.194.60
dns2=213.168.112.60
worlddev=ppp0
localdev=eth0
vpn=1
if [ "$start_fw" -eq 1 ]
then
case "$1" in
start)
# enabling forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
echo -e "Starting Firewall"
# Enabling NAT
iptables -A POSTROUTING -t nat -s $localnet -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# default policy for input chain
iptables -P INPUT DROP
# local access
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
iptables -A INPUT -i $localdev -p all -j ACCEPT
# enable dns from outside
iptables -A INPUT -s $dns1 -d 0/0 -p udp -i $worlddev -j ACCEPT
iptables -A INPUT -s $dns2 -d 0/0 -p udp -i $worlddev -j ACCEPT
# iptables --log-level 2
# iptables -A INPUT -p all -j LOG
# Allow packets only for related and established connections
iptables -A INPUT -i $worlddev -m state --state ESTABLISHED,RELATED -j ACCEPT
# Discard invalid packets
iptables -A INPUT -i $worlddev -p tcp -m state --state INVALID -j DROP
# ICMP
if [ "$icmp_world" -eq 1 ]
then
iptables -A INPUT -i $worlddev -p icmp --icmp-type echo-reply -j ACCEPT
fi
if [ "$icmp_world" -eq 0 ]
then
iptables -A INPUT -i $worlddev -p icmp --icmp-type echo-reply -j DROP
fi
# Ports to be reachable from the outside world
for openport in 21 22 80 443 10000
do
iptables -A INPUT -p tcp -i $worlddev --dport $openport --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -i $worlddev --dport $openport --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p udp -i $worlddev --dport $openport -j ACCEPT
done
# IPsec rules
if [ "$vpn" -eq 1 ]
then
iptables -A INPUT -p udp -i $worlddev --dport 500 -j ACCEPT
iptables -A INPUT -p 50 -i $worlddev -j ACCEPT
iptables -A OUTPUT -p udp -i $worlddev --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -p 50 -i $worlddev -j ACCEPT
fi
# Samba from localnet
if [ "$local_samba" -eq 1 ]
then
iptables -A INPUT -p tcp --syn -s $localnet --destination-port 139 -j ACCEPT
fi
;;
stop)
echo -e "Stopping Firewall"
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -F
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage : firewall {start|stop|restart}" >&2
;;
esac
fi
GreetZ
ReSeT