Benutzer-Werkzeuge

Webseiten-Werkzeuge


bs:linux:firewall

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bs:linux:firewall [2012/07/09 17:06]
mhoffmann
bs:linux:firewall [2012/10/11 10:23] (aktuell)
Zeile 4: Zeile 4:
 ===== Voraussetzung ===== ===== Voraussetzung =====
  
-  * Installiertes Paket ''​iptables2''​+  * Installiertes Paket ''​iptables2'' ​(Bei Ubuntu schon installiert)
   * Liste aller zu öffnenden Ports   * Liste aller zu öffnenden Ports
   * Bei vielen Interfaces am besten eine Zeichnung des Netzwerks, sonst kann es schnell unübersichtlich werden   * Bei vielen Interfaces am besten eine Zeichnung des Netzwerks, sonst kann es schnell unübersichtlich werden
Zeile 31: Zeile 31:
 Die Firewall prüft bei eingehendem Datenverkehr zuerst immer im policy File was mit dem Traffic (Portunabhängig) passieren soll. Hier kann der Verkehr entweder zugelassen oder geblockt werden. Die Firewall prüft bei eingehendem Datenverkehr zuerst immer im policy File was mit dem Traffic (Portunabhängig) passieren soll. Hier kann der Verkehr entweder zugelassen oder geblockt werden.
  
-Wird der Verkehr laut Policy ​**zugelassen**, so wird er einfach an das Entsprechenden Netz weitergeleitet. +Für allen eingehenden Verkehr werden zunächst Richtlinien in der Datei **policy** gesuchtund danach Regeln in der Datei **rules**.
-Wird der Verkehr laut Policy ​**geblockt**, so wird anschließend in der rules-Datei geprüft ob eventuell eine Ausnahmeregelung für den aktuellen Port, das aktuelle Protokoll oder die Zieladresse existieren.+
  
 Bei der Konfiguration gehen wir wie folgt vor: interfaces -> zones -> policy -> rules -> masq  Bei der Konfiguration gehen wir wie folgt vor: interfaces -> zones -> policy -> rules -> masq 
 +
 ==== interfaces ==== ==== interfaces ====
 Hier legt man zunächst fest, welche Netzwekkarten überwacht werden sollen. Hier legt man zunächst fest, welche Netzwekkarten überwacht werden sollen.
Zeile 62: Zeile 62:
  
 ==== Zones ==== ==== Zones ====
 +Diese Datei spezifiziert die einzelnen Zonen und um was für Typen es sich handelt.
 +Die Firewall selbst ist dabei eine eigene Zone, das heißt für sie werden auch eigene policies und rules erstellt.
 +Systemweit kann die Firwall mit der Umgebungsvaribale ''​$FW''​ in der Shorewallkonfig genutzt werden.
 +
   #   #
   # Shorewall version 4.0 - Sample Zones File for three-interface configuration.   # Shorewall version 4.0 - Sample Zones File for three-interface configuration.
Zeile 83: Zeile 87:
   vpn     ipv4   vpn     ipv4
   ​   ​
-Diese Datei spezifiziert die einzelnen ​Zonen und um was für Typen es sich handelt+==== Policy - Richtlinien für den Verkehr zwischen ​Zonen ==== 
-Die Firewall selbst ist dabei eine eigene Zone, das heißt ​für sie werden ​auch eigene policies ​und rules erstellt+Hier beginnt die eigentliche Konfiguration der Firewall.  
-Systemweit ​kann die Firwall mit der Umgebungsvaribale ​''​$FW''​ in der Shorewallkonfig genutzt ​werden.+Im Policy-File wird definiert welche Netzwerke miteinander Kommunizieren können ​und welche nicht. 
 +Hierbei wird nicht Portbasiert verfahren, ​es kommt entweder alles oder nichts durch. 
 +Hierzu werden sowohl Source- als auch Destination Netzwerk angegeben
 +Die drei Regeln für den Traffic sind: 
 +  * DROP = Der eingehende Verkehr wird nicht weitergeleitet und "​fallen"​ gelassen. 
 +  * REJECT = Der eingehende Verkehr wird nicht weitergeleitet und die Quelle wird darüber informiert 
 +  * ACCEPT = Lässt den Verkehr zu. 
 + 
 +  # 
 +  # Shorewall version 3.4 - Sample Policy File for three-interface configuration. 
 +  # Copyright (C) 2006 by the Shorewall Team 
 +  # 
 +  # This library is free software; you can redistribute it and/or 
 +  # modify it under the terms of the GNU Lesser General Public 
 +  # License as published by the Free Software Foundation; either 
 +  # version 2.1 of the Licenseor (at your option) any later version.  
 +  # 
 +  # See the file README.txt for further details. 
 +  #​------------------------------------------------------------------------------ 
 +  # For information about entries in this file, type "man shorewall-policy"​ 
 +  ###############################################################################​ 
 +  #​SOURCE ​        ​DEST ​           POLICY ​         LOG LEVEL       ​LIMIT:​BURST 
 +   
 +  loc             ​net ​            ​ACCEPT 
 +  net             ​all ​            ​DROP ​           info 
 +  # THE FOLLOWING POLICY MUST BE LAST 
 +  all             ​all ​            ​REJECT ​         info 
 + 
 +Wie man am Beispiel sieht wird aller ausgehender Verkehr von ''​loc''​ nach ''​net''​ akzeptiert, der eingehende Verkehr von ''​net''​ nach ''​loc''​ wird ohne Hinweis fallen gelassen. 
 +**Achtung:​** Die Reihenfolge der Regeln in der Datei entspricht auch der späteren Verarbeitungsreihenfolge. Die Regeln werden in dieser Reihenfolge abgearbeitet und die erste passende Regel angewandt! Wenn man das nicht weiß, kann es schnell Probleme geben. 
 + 
 +==== Rules - Spezifische Regeln ​für Protokolle und Ports ==== 
 +Diese Datei ist die wichtigste in der Firwall Konfiguration. In ihr werden ​Port- und Protokollspezifische Regelungen für den eingehenden und ausgehenden Datenverkehr festgelegt. 
 +Das Schema ist dabei immer gleich. [Aktion][Quelle][Ziel][Protokoll][Port]..
 +Man kann also sehr detailliert angeben, wie verfahren werden soll. 
 +Die Beispieldatei ​der Shorwall Konfig sieht so aus: 
 +  # 
 +  # Shorewall version 4.0 - Sample Rules File for three-interface configuration. 
 +  # Copyright (C) 2006,2007 by the Shorewall Team 
 +  # 
 +  # This library is free software; you can redistribute it and/or 
 +  # modify it under the terms of the GNU Lesser General Public 
 +  # License as published by the Free Software Foundation; either 
 +  # version 2.1 of the License, or (at your option) any later version. 
 +  # 
 +  # See the file README.txt for further details. 
 +  #​------------------------------------------------------------------------------------------------------------ 
 +  # For information about entries in this file, type "man shorewall-rules"​ 
 +  #############################################################################################################​ 
 +  #​ACTION ​        ​SOURCE ​         DEST            PROTO   ​DEST ​   SOURCE ​         ORIGINAL ​       RATE            USER/   ​MARK 
 +  #                                                       ​PORT ​   PORT(S) ​        ​DEST ​           LIMIT           ​GROUP 
 +  # 
 +  #       ​Accept DNS connections from the firewall to the Internet 
 +  # 
 +  DNS(ACCEPT) ​    ​$FW ​            net 
 +  # 
 +  # 
 +  #       ​Accept SSH connections from the local network to the firewall and DMZ 
 +  # 
 +  SSH(ACCEPT) ​    ​loc ​            $FW 
 +  SSH(ACCEPT) ​    ​loc ​            dmz 
 +  # 
 +  #       DMZ DNS access to the Internet 
 +  # 
 +  DNS(ACCEPT) ​    ​dmz ​            net 
 +  #Drop Ping from the "​bad"​ net zone. 
 +  Ping(DROP) ​     net             $FW 
 +  # 
 +  #       Make ping work bi-directionally between the dmz, net, Firewall and local zone 
 +  #       ​(assumes that the loc-> net policy is ACCEPT). 
 +  # 
 +  Ping(ACCEPT) ​   loc             $FW 
 +  Ping(ACCEPT) ​   dmz             $FW 
 +  Ping(ACCEPT) ​   loc             dmz 
 +  Ping(ACCEPT) ​   dmz             loc 
 +  Ping(ACCEPT) ​   dmz             net 
 +  ACCEPT ​         $FW             ​net ​            ​icmp 
 +  ACCEPT ​         $FW             ​loc ​            ​icmp 
 +  ACCEPT ​         $FW             ​dmz ​            ​icmp 
 +  # Uncomment this if using Proxy ARP and static NAT and you want to allow ping from 
 +  # the net zone to the dmz and loc 
 +  #​Ping(ACCEPT) ​   net             dmz 
 +  #​Ping(ACCEPT) ​   net             loc 
 + 
 +=== Beispiel 1 === 
 +''​DNS(ACCEPT) ​    $FW             net'' ​-> Diese Regel besagt, dass alle Anfragen von DNS-Diensten von der Firewall ($FW) and das Internet (net) zugelassen werden sollen 
 + 
 +=== Beispiel 2 === 
 +''​SSH(ACCEPT) ​    ​net ​            ​$FW''​ -> Der SSH Zugriff aus dem Internet auf die Firewall wird gestattet. 
 + 
 +=== Beispiel 3 === 
 +Will man für ein hinter der Firewall liegendes lokales Netzwerk Beispielsweise den SMTP-Port freigeben dann kann man das folgendermaßen machen: 
 + 
 +''​ACCEPT ​         net             ​loc:​192.168.178.202 ​   tcp     ​25''​ -> Der Zugriff vom Internet auf die IP-Adresse 192.168.178.202 ​in der Zone ''​loc''​ wird auf Port 25 erlaubt. 
 + 
 +Enstprechend diesem Schema können sehr einfach Regeln für die Firewall eingerichtet ​werden. 
 +Die gesamte Konfigurationsmöglichkeiten der Rules findet man [[http://​shorewall.net/​manpages/​shorewall-rules.html|hier]]. 
 + 
 + 
 +==== Make und Start ==== 
 +Damit die Firewallregeln kompiliert werden können muss die Firewall gestarter werden. 
 +Hierzu muss man zwei Dateien ändern: 
 +  - In der Datei **/​etc/​default/​shorewall** muss der Wert von ''​startup''​ auf **1** gesetzt werden 
 +  - In der Datei **/​etc/​shorewall/​shorewall.conf** der Wert von ''​STARTUP_ENABLED''​ auf **Yes** gesetzt werden und mit ''​source shorewall.conf''​ neu eingelesen werden. 
 + 
 +Danach kann man die Firewallregeln kompilieren in dem man im shorwallverzeichnis ''​sudo make''​ aufruft. 
 +Nachdem eventuelle Fehler ausgebessert wurden kann die Firewall mit ''​sudo service shorewall start''​ gestartet werden. 
 + 
 +==== Ändern von Regeln ==== 
 +Ändern man Regeln in der Datei **/​etc/​shorewall/​policy** oder **/​etc/​shorwall/​rules** so kann man diese Regeln einfach mit zwei Befehlen übernehmen 
 +  # sudo make 
 +  # sudo shorewall refresh 
 +   
 +{{tag>​Firewall,​ iptables}} 
 +   
 + 
 + 
 +              
 + 
 + 
 + 
 + 
  
  
  
  

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

bs/linux/firewall.1341846394.txt.gz · Zuletzt geändert: 2012/10/11 10:23 (Externe Bearbeitung)