Login


 
Newsletter
Werbung

Do, 28. Dezember 2000, 00:00

Firewall - Teil 3

5.7 Ein konkretes Beispiel1

Der folgende Abschnitt gibt einen Einblick in die Firewallkonfiguration an Hand eines konkreten Beispiels:

Eine Firewall verbindet ein kleines lokales Netz mit dem Internet. Die Verbindung zum Internet erfolgt über ein Modem. Die Rechner im lokalen Netz werden über eine Netzwerkkarte angesprochen. Die Rechner im lokalen Netz erhalten reservierte IP-Adressen aus dem reservierten Klasse C- Adressbereich. Der Firewallrechner maskiert alle ausgehenden Verbindungen mit seiner offiziellen IP-Adresse, die vom Provider statisch vergeben wurde. Der Firewallrechner erlaubt den Zugriff auf folgende Dienste:

  • Nameserver des Providers
  • SMTP Server des Providers
  • POP3 Server des Providers
  • Zugriffe auf Webseiten
  • Zugriff auf FTP-Seiten

Alle anderen Dienste sind nicht gestattet und werden geblockt.

5.7.1 Variablen

Zu Beginn werden einige Variablen definiert, um das Firewallskript lesbarer und übersichtlicher zu gestalten.

ext_int="ppp0"

Schnittstelle zum Internet, das Modem

int_int="eth0"

Schnittstelle zum lokalen Netz, die Netzwerkkarte

ip_adr="195.20.195.212"

Die vom Provider vergebene statische IP-Adresse der Internetverbindung

ip_adr_lan="192.168.0.1"

IP-Adresse der internen Schnittstelle, der Netzwerkkarte zum lokalen Netz

lan="192.168.0.0/24"

Der Adreßbereich des lokalen Netzes

alles="any/0"

Alle IP-Adressen

lo_int="lo"

Das Loopback Interface, die interne lokale Netzwerkschnittstelle des Firewallrechners

class_a="10.0.0.0/8"

Reservierter Bereich eines Klasse A Netzes.

class_b="172.16.0.0/12"

Reservierter Bereich eines Klasse B Netzes.

class_c="192.168.0.0/16"

Reservierter Bereich eines Klasse C Netzes.

class_d="224.0.0.0/4"

Reservierter Bereich eines Klasse D Netzes.

class_e="240.0.0.0/5"

Reservierter Bereich eines Klasse E Netzes.

bcast_src="0.0.0.0"
bcast_dest="255.255.255.255"

priv_ports="0:1023"

Alle privilegierten Ports (0-1023)

unpriv_ports="1024:65535"

Alle unprivilegierten Ports (1024-65535)

DNS="195.20.202.1"

Nameserver des Providers

POP3="195.20.202.6"

POP3 Server des Providers

SMTP="195.20.202.6"

SMTP Server des Providers

5.7.2 Chains löschen

Zu Beginn werden die vorhandenen Regellisten gelöscht, um evtl. vorhandene alte Regeln zu entfernen:

ipchains input -F
ipchains output -F
ipchains forward -F

Die Chains sind nun gelöscht. Es gelten keine Regeln mehr. Die Firewall ist sozusagen "nackt".

5.7.3 Default Policy definieren

ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward REJECT

Die Default Policy der einzelnen Chains wird eingerichtet. Da eine "deny everything by default"-Strategie verfolgt wird, werden alle Pakete abgelehnt.

Kleiner Unterschied zwischen der input- und output/forward-Chain: Eingehende Pakete, für die keine Regel existiert, werden kommentarlos verworfen (deny), während ausgehende, sowie zwischen Schnittstellen weitergeleitete Pakete mit einer Fehlermeldung zurückgewiesen werden (reject). Der Angreifer erhält keinerlei Informationen darüber, ob ein kontaktierter Dienst überhaupt existiert oder nicht.

Die Firewall befindet sich jetzt in einem absolut geblockten Zustand. Sämtlicher Netzwerkverkehr wird in dieser Einstellung verhindert. Deshalb muß als nächstes der lokale Netzwerkdienst wieder freigeschalten werden.

5.7.4 Loopback-Interface aktivieren

ipchains -A input -i $lo_int -j ACCEPT
ipchains -A output -i $lo_int -j ACCEPT

Datenverkehr auf dem Loopback-Interface wird wieder möglich, da dieser für lokale Netzwerkdienste, wie die Erstellung von Logfiles oder X-Windows2 benötigt wird.

5.7.5 Schutz vor SYN Flooding

Folgende Zeilen aktivieren den im Kernel enthaltenen Schutz vor SYN Flooding DoS-Angriffen:3

echo 1 > /proc/sys/net/ipv4/tcp_syncookies
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
 echo 1 > $f
done

5.7.6 IP Forwarding aktivieren

Das im Linux-Kernel integrierte IP Forwarding muß aktiviert werden, damit IP-Pakete von einem Netzwerkinterface an ein anderes weitergeleitet werden können. Sonst ist es später nicht möglich, Pakete aus dem lokalen Netz ins Internet weiterzureichen.

echo "1" > /proc/sys/net/ipv4/ip_forward

5.7.7 IP Spoofing: eigene IP-Adresse

ipchains -A input -i $ext_int -s $ip_adr -j DENY -l

Kommen aus dem Internet Pakete, die die IP-Adresse der eigenen externen Schnittstelle als Quelladresse aufweisen, sind diese gefälscht und sollten geblockt werden. Eine Regel für eingehende Pakete ist ausreichend, da alle ausgehenden Pakete, die an die eigene IP-Adresse gerichtet sind, automatisch am Loopback-Interface auftauchen. Diese Pakete werden nie bis zur externen Schnittstelle gelangen.

Da es sich bei einem solchen Paket offensichtlich um einen Täuschungsversuch handelt, wird der Vorgang mitprotokolliert.

5.7.8 IP Spoofing: Loopback Interface

ipchains -A input $ext_int -s $lo_int -j DENY
ipchains -A output $ext_int -s $lo_int -j DENY -l

Beim Loopback Interface handelt es sich um eine lokale, interne Netzwerkschnittstelle des Computers. Deshalb sind eingehende und ausgehende Pakete mit dieser Quelladresse offensichtlich gefälscht. Sollte ein Benutzer des eigenen Netzes versuchen, diese IP-Adresse zu verwenden, wird dieses mitprotokolliert.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung