2. Konfiguration - Routing/Firewall |
Mit ROUTE_NETWORK kann man bestimmten externen Netzen den Zugang in das eigene LAN erlauben, und zwar *ohne* Masquerading. Dieses kann z.B. für eine Verbindung zur Firma sinnvoll sein, wo Mitarbeiter dieser Firma von dort Zugang in das eigene Netz haben sollen. Das Format ist dasselbe wie bei MASQ_NETWORK, also z.B.
ROUTE_NETWORK='192.168.1.0/24'
Auch können hier wieder mehrere (diesmal externe) Netze angegeben werden.
ROUTE_NETWORK ist eine optionale Variable. In den meisten Fällen sollte man sie einfach leer lassen.
Soll einigen Rechnern der Zugriff in andere Netze (also z.B. das Internet) verwehrt werden, können sie in dieser Liste eingetragen werden. Das Routing von IP-Paketen in andere Netze wird dann für diese Rechner in der Firewall verboten.
Beispiel:
FORWARD_DENY_HOST_N='2' FORWARD_DENY_HOST_1='192.168.6.5' FORWARD_DENY_HOST_2='192.168.6.6'
Hiermit kann das Routing über bestimmte IP-Ports verhindert werden. Sinnvoll ist z.B. das Verbieten des Routings der Netbios-Ports 137-139. Damit wird nicht nur das Routing von IP-Paketen mit den angegebenen Ports nach "außen" unterbunden, sondern auch das Routing dieser Ports zwischen zwei LANs.
Betreibt man mehrere Netzwerkkarten für mehrere Subnetze und möchte, daß einige Clients aus einem Subnetz auf die unter Windows freigegebenen Verzeichnisse eines Clients aus einem anderen Subnetz zugreifen können, sollte das Forwarding der Netbios-Ports aber hier nicht unterbunden werden. In diesem Fall kann man mit FORWARD_TRUSTED_NETS Netze angeben, zwischen denen das Routing dieser Ports dennoch explizit erlaubt ist.
Ein Beispiel: Abschalten Zugriff auf Napster-Dienste:
FORWARD_DENY_PORT_N='6' # Anzahl FORWARD_DENY_PORT_1='137:139' # NetBios-Ports 137 bis 139 FORWARD_DENY_PORT_2='8888' # Napster Port 8888 FORWARD_DENY_PORT_3='7777' # Napster Port 7777 FORWARD_DENY_PORT_4='7000' # Napster Port 7000 FORWARD_DENY_PORT_5='4444' # Napster Port 4444 FORWARD_DENY_PORT_6='4200' # Napster Port 4200
Ab Version 1.5.1 kann nun noch ein weiterer Parameter zusätzlich zur Portnummer angegeben werden, nämlich:
REJECT - das Weiterleiten des IP-Paketes wird abgelehnt DENY - das IP-Paket wird schlichtweg ignoriert.
Fehlt die zusätzliche Angabe, wird die REJECT-Methode verwendet. Beispiel:
FORWARD_DENY_PORT_1='80 DENY' # Surfen heute verboten!
Standard-Einstellung: FORWARD_DENY_PORT_N='1' FORWARD_DENY_PORT_1='137:139'
Das Sperren des Routings der mittels FORWARD_DENY_PORT_x angegebenen Ports kann mit FORWARD_TRUSTED_NETS für bestimmte Netze außer Kraft gesetzt werden. Hier können Netze angegeben werden, die "vertrauenswürdig" sind. Ein typisches Beispiel ist das Routing von NetBios-Ports zwischen zwei LANs, die über zwei Netzwerkkarten des fli4l-Routers versorgt werden. In diesem Fall sind alle vertrauenswürdigen Netze anzugeben, z.B.
FORWARD_TRUSTED_NETS='192.168.1.0/24 192.168.6.0/24'
Firewall-Ports: bei FIREWALL_DENY_PORT_N ist die Anzahl der TCP/IP-Ports anzugeben, die bei Zugriff von aussen (also ISDN oder DSL) auf den fli4l-Router gesperrt werden sollen. Da fli4l bestimmte Dienste zur Verfügung stellt, ist es sinnvoll, diese vor Zugriffen vor aussen zu schützen.
Dies betrifft folgende Ports:
Port Name Prozess ----------------------------------------------------------- 21 ftp ftpd 22 ssh sshd 23 telnet telnetd 37 time [kernel] 53 domain ens 80 www mini_httpd 137:139 netbios smbd (samba) 515 printer lpd 5000 [imond] imond 5001 [telmond] telmond 8000 [proxy] junkbuster
Hinweis:
Ein maskiertes LAN (s.o) ist generell vor dem Zugang von aussen geschützt. Die angegebenen Portnummern regeln deshalb nur den Zugriff von aussen auf den fli4l-Router selbst.
Die zu sperrenden Ports müssen jeweils einzeln in den Variablen FIREWALL_DENY_PORT_1 bis FIREWALL_DENY_PORT_n eingetragen werden. Man kann Bereiche von Port-Nummern mit dem Doppelpunkt zusammenfassen, z.B. '137:139'
Es wird DRINGEND empfohlen, die Standardkonfiguration der Firewall-Ports nicht zu verändern. Soll jedoch ein bestimmter Dienst über Portforwarding in das innere Netz geleitet werden, muß der entsprechende Port freigeschaltet, also hier entfernt werden.
In der Beispiel-Datei werden alle priviligierten Ports von 0 bis 1023 außer 53 gesperrt, außerdem die Ports 5000 und 5001, welche von imond und telmond verwendet werden. Wird auf dem fli4l-Rechner zusätzlich Junkbuster eingesetzt, ist auch der Port 8000 zu sperren.
Die Standard-Konfiguration sieht daher folgendermaßen aus:
FIREWALL_DENY_PORT_N='6' FIREWALL_DENY_PORT_1='0:52 REJECT' FIREWALL_DENY_PORT_2='54:112 REJECT' FIREWALL_DENY_PORT_3='114:1023 REJECT' FIREWALL_DENY_PORT_4='5000:5001 REJECT' FIREWALL_DENY_PORT_5='8000 REJECT' FIREWALL_DENY_PORT_6='20012 REJECT'
WICHTIG:
Es ist unbedingt nötig, den Port 53 freizuschalten. Anderenfalls sind
keine Internet-DNS-Abfragen möglich!
Soll zum Beispiel der Port 21 für FTP von außen zugänglich sein, weil er über Portforwarding auf einen internen Rechner weitergeleitet werden soll, kann man ihn folgendermaßen freischalten:
FIREWALL_DENY_PORT_N='7' # Neu: 7 statt 6 Einträge! FIREWALL_DENY_PORT_1='0:20 REJECT' # Ports von 0 bis 20 sperren FIREWALL_DENY_PORT_2='22:52 REJECT' # Ports von 22 bis 52 sperren FIREWALL_DENY_PORT_3='54:112 REJECT' # Ports von 54 bis 112 sperren FIREWALL_DENY_PORT_4='114:1023 REJECT' # Ports von 114 bis 1023 sperren FIREWALL_DENY_PORT_5='5000:5001 REJECT' # imond/telmond-Ports sperren FIREWALL_DENY_PORT_6='8000 REJECT' # HTTP-Proxy-Zugang sperren FIREWALL_DENY_PORT_7='20012 REJECT' # VBOX-Zugang sperren
Hier eine Liste der gängigen Internet-Dienste und ihrer Ports:
ftp 21 ssh 22 telnet 23 smtp 25 time 37 domain 53 http 80 pop3 110 auth (ident) 113 syslog 514 printer 515
Wohlgemerkt: Diese Ports brauchen nur freigeschaltet werden, wenn ein Zugriff auf das innere Netz über Portforwarding ermöglicht werden soll!
Ab Version 1.5.1 kann nun noch ein weiterer Parameter zusätzlich zur Portnummer angegeben werden, nämlich:
REJECT - das Weiterleiten des IP-Paketes wird abgelehnt DENY - das IP-Paket wird schlichtweg ignoriert.
Fehlt die zusätzliche Angabe, wird die REJECT-Methode verwendet: Wenn der Router auf einem Port von außen her angesprochen wird, sender er seinem Gegenüber eine Antwort (Ablehnung).
Bei der Anwendung der DENY-Methode verhält sich der Router still - das kann auch Probleme machen. Zum Beispiel schicken einige Rechner, die Internet-Dienste wie ftp anbieten, als Antwort auf einen Verbindungsaufbau eine Anfrage auf Port 113 (auth) zurück. Wenn fli4l darauf nicht reagiert, kann es zum ungewollten Abbruch der Verbindung zum gewünschen Dienst kommen.
Ich persönlich ziehe die REJECT-Methode vor, da sie erwartungsgemäß weniger Probleme bei diversen Internet- Protokollen bereitet und genauso sicher ist wie DENY.
Weiterführende Informationen zu REJECT vs DENY (bei iptables auch DROP genannt):
Sollen Zugriffe von außen über das ICMP-Protokoll verboten werden, kann FIREWALL_DENY_ICMP='yes' gesetzt werden. In diesem Fall kann man den Router von außen nicht mehr mit ping ansprechen.
Bitte unbedingt folgende Links beachten:
Standard-Einstellung: FIREWALL_DENY_ICMP='no'
Mit FIREWALL_LOG kann eingestellt werden, ob Zugriffe von außen auf die Firewall-Ports über die Syslog-Schnittstelle protokolliert werden sollen.
Hier eine kurze Erklärung einer Protokollzeile:
Packet log:
input REJECT ppp0 PROTO=6 217.88.245.79:3248 217.88.168.16:80 L48 S=0x00 I=60459 F=0x4000 T=124 SYN (#6)
input Input-Chain REJECT Paket wurde zurückgewiesen. ppp0 Device PROTO=6 TCP Paket L Länge des Pakets in Bytes S Type Of Service (TOS) I IP-ID, wird mit jedem Paket vom Sender um eins erhöht F Flags (3 bits), falls Paket fragmeniert ist das Offset, 13 bits T TTL (Time To Live), Anzahl der Hops, bis das Paket gelöscht wird #6 die 6. Regel des Paketfilters hat zugeschlagen
Standard-Einstellung: FIREWALL_LOG='yes'
«« 2. Konfiguration - Masquerading | Home | 2. Konfiguration - Domain-Konfiguration »» |