bernhard_pauler
19.11.07, 10:28
Hallo!
Ich habe vor kurzem eine Firewall mit iptables eingerichtet. Im Anschluss habe ich diese von einem Windows-Rechner aus mit dem Portscanner SuperScan 4.0 getestet.
Beim Scannen (Scan type: Connect) werden folgende Ports als offen gemeldet:
TCP ports (5) 21,25,80,110,143
Diese Ports habe ich allerdings nicht bewusst in der Firewall geöffnet. Ich habe die Firewall-Regeln aus einem Buch übernommen und adaptiert (Linux Netzwerkadministration von Jens Banning) und habe geglaubt, sie verstanden zu haben. :(
Hat jemand vielleicht eine Idee, warum die Ports offen sind bzw. warum der Portscanner diese als offen meldet? Danke.
Bernhard
- - -
Mein Firewall-Skript:
#!/bin/sh
# Packet-Forwarding aktivieren
echo "1" >/proc/sys/net/ipv4/ip_forward
# Alle bestehenden Regeln löschen
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Per Default wird der Zugriff komplett verboten
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Erlaubt:
# HTTP-Anfragen (Port 80)
# alle TCP-Antworten
# interne Kommunikation über lo (Loopback-Device)
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp ! --syn -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth0 -s 195.34.133.21/32 -p udp -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP
# Erlaubt:
# HTTP-Anfragen (Port 80)
# alle TCP-Antworten
# interne Kommunikation über lo (Loopback-Device)
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A OUTPUT -o eth0 -d 0.0.0.0/0 -p tcp --destination-port 80 -j ACCEPT
iptables -A OUTPUT -p tcp ! --syn -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -d 0.0.0.0/0 -p udp --destination-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -p udp -j ACCEPT
iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP
# Daten ins Internet werden maskiert
# Durchgelassen:
# HTTP-Anfragen (Port 80)
# TCP-Antworten
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A POSTROUTING -t nat -o eth0 -p tcp -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth0 -p udp -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -p tcp --destination-port 80 -j ACCEPT
iptables -A FORWARD -p tcp ! --syn -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -p udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 195.34.133.21/32 -p udp -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP
Ich habe vor kurzem eine Firewall mit iptables eingerichtet. Im Anschluss habe ich diese von einem Windows-Rechner aus mit dem Portscanner SuperScan 4.0 getestet.
Beim Scannen (Scan type: Connect) werden folgende Ports als offen gemeldet:
TCP ports (5) 21,25,80,110,143
Diese Ports habe ich allerdings nicht bewusst in der Firewall geöffnet. Ich habe die Firewall-Regeln aus einem Buch übernommen und adaptiert (Linux Netzwerkadministration von Jens Banning) und habe geglaubt, sie verstanden zu haben. :(
Hat jemand vielleicht eine Idee, warum die Ports offen sind bzw. warum der Portscanner diese als offen meldet? Danke.
Bernhard
- - -
Mein Firewall-Skript:
#!/bin/sh
# Packet-Forwarding aktivieren
echo "1" >/proc/sys/net/ipv4/ip_forward
# Alle bestehenden Regeln löschen
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Per Default wird der Zugriff komplett verboten
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Erlaubt:
# HTTP-Anfragen (Port 80)
# alle TCP-Antworten
# interne Kommunikation über lo (Loopback-Device)
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp ! --syn -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -p udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth0 -s 195.34.133.21/32 -p udp -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP
# Erlaubt:
# HTTP-Anfragen (Port 80)
# alle TCP-Antworten
# interne Kommunikation über lo (Loopback-Device)
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A OUTPUT -o eth0 -d 0.0.0.0/0 -p tcp --destination-port 80 -j ACCEPT
iptables -A OUTPUT -p tcp ! --syn -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -d 0.0.0.0/0 -p udp --destination-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -p udp -j ACCEPT
iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP
# Daten ins Internet werden maskiert
# Durchgelassen:
# HTTP-Anfragen (Port 80)
# TCP-Antworten
# DNS-Anfragen ins Internet (UDP-Port 53)
# UDP-Daten vom Nameserver
# Rest wird abgewiesen und geloggt
iptables -A POSTROUTING -t nat -o eth0 -p tcp -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth0 -p udp -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -p tcp --destination-port 80 -j ACCEPT
iptables -A FORWARD -p tcp ! --syn -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -p udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 195.34.133.21/32 -p udp -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 --log-level 7 -j DROP