#Framework, welches ein komplettes Linux System aus den Sourcen erstellt #dieses Framework wird im CVS Repository #:pserver:cvs.rainmaker-mm.de/RMM/cvs zur Verfügung gestellt # #Lage dieser Datei im Archiv: $Source: /Data/cvs/Viitor_iptables/etc/sysconfig/firewall.template,v $ # #(c) Rainmaker MultiMedia OHG #This program is free software; you can redistribute it and/or #modify ist under the terms of the GNU General Public License #as published by the Free Software Foundation; either version #2 of the License, or (at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. #See the GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with this program; if not write to the Free Software Foundation, #Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # #Beschreibung: #Konfigurations Datei für das firewall Init Script # #Aufrufparameter: #wird vom Init Script verwendet - und hat keine eigenen #funktionen oder parameter # #Letzte Änderung von: $Author: kueller $ #Datum der letzten Änderung: $Date: 2006/06/30 09:33:02 $ #Version der Datei: $Revision: 1.11 $ # #$Log: firewall.template,v $ #Revision 1.11 2006/06/30 09:33:02 kueller #Sonderbehandlung fuer localen zugriff auf syslog eingebaut # #Revision 1.10 2004/11/23 19:46:07 kueller #Debuging und neue Funktionalität der Firewall. Mit der Zeit weiter gewachsen #im CompuExtreme Netzwerk. # # # Zu Allererst erfolgen einige Grundsätzliche Definitionen zum localen # Netzwerk. # OUTDEVICE enthält den Namen des Outgoing Devices - für ADSL typischerweise # "ppp0", für isdn "ippp0" OUTDEVICE=ppp0 # Konfiguration von Accounting Möglichkeiten. Wird diese Variable auf "yes" # gesetzt, wird jeder erlaubte Zugriff in des Externe Netz mirprotokolliert # Dies ermöglicht eine spätere Auswertung, und damit die sammlung von # Traffic informationen wie sie zu Abrechnungszwecken notwendig sind. ACCOUNITNG="no" # Konfiguration von LOG Aktivitäten zu Unerlaubten/wünschen Zugriffen. # wird diese Variable auf "yes" gesetzt, wird jeder von der Firewall # abgewiesene Zugriff mitprotokolliert LOG_REJECTED="no" #ICMP Freischaltung. Wird die folgende Variable auf YES gesetzt, so #wird die Durchleitung von ICMP Meldungen eingeschränkt. Dies verhindert #Verschiedene DoS Attacken. Ohne Setzen dieser Variable schaltet die Firewall #sämtliche icmp Zugriffe durch. ICMP=yes #Werden in der folgenden Variablen Devices angegeben, so fungiert dieser #Rechner für alle an diese Devices angeschlossenen Systeme als Router. #Der Traffic zwischen diesesn Systemen wird ohne einschränkungen erlaubt. INTERNROUTING="eth1 lo" #Die Folgenden Variablen aktivieren das Masquerading. Hier werden die #Packete eines Netzes mit der Internet Adresse des Routers Maskiert. #Leider kann hier nur EIN Locales Netz angegeben werden. Jedoch kann #durch gute Definition des Localen Netzes ein sehr grosser Bereich #Maskiert werden. Das Locale Netz muss mit "NetzIP/ShortMask" angegeben werden. #MASQNET=192.168.66.0/24 #Mit den folgenden Variablen lässt sich ein Komplettes Netz freischalten, das #z.B. hinter einem weiteren Router im Netzwerk angeschlossen ist. #compuextreme.lan ROUTEDBGNETWORK[0]=192.168.66.0/27 BGNETUDP[0]="13,20,21,70,109 110,143 220,765,1024:65535" BGNETTCP[0]="13,15,20,21,25,43,70,80 109:115,143,143 220,443,554,765,1024:65535" ROUTEDBGNETSW[0]="yes" ROUTEDBGNETNTP[0]="yes" ROUTEDBGNETWORK[1]=192.168.66.32/28 BGNETUDP[1]="13,20,21,70,109 110,143 220,765,1024:65535" BGNETTCP[1]="13,15,20,21,25,43,70,80 109:115,143,143 220,443,554,765,1024:65535" ROUTEDBGNETSW[1]="yes" ROUTEDBGNETNTP[1]="yes" #Bei DMZ Systemen solle u.U. bestimmte Services im geschuetzen Netzbereich #aus der DMZ heraus ansprechbar sein. #Die Server werden mit Portnummer und Protokoll jeweils in $LOCALSERVER[#] #eingetragen #LOCALSERVER[0]="hugin.compuextreme.de:pgsql.compuextreme.lan:5432:tcp" #Mit den folgenden Zeilen wird die Internet Berechtigung für einzelne IP #Adressen festgelegt. LOCALWS Enthält die IP jeweils einer localen Workstation #Alternativ kann in LOCALWS auch ein komplettes SubNet angegeben werden. Dies wird #durch die kurze Schreibform eines Netzwerkes (IP/MASK, z.B. 192.168.0.0/16) erreicht. #ROUTEPORTS die für den Durchgriff der Maschienen freizuschaltenden Portnummern #und Protokolle. Einige Protokolle Bauen mehrere Verbindungen auf #unterschiedlichen Ports auf - d.H. sie Switchen den Port nach dem #Verbindungsaufbau (speziell FTP). Hierzu ist eine besondere Einstellung in #der Firewall notwendig. Diese Einstellung kann mit ALLOWSWPORTS="yes" erreicht #werden. NTP (Network Time Protokoll) wiederum verhält sich ebenfalls nicht #ganz wie üblich. Hier wird die Verbindung nicht über einen port >1024 #Aufgebaut, sondern Server und Client verwenden den gleichen Port 123. #Daher kann eine spezielle Regel für NTP eingefügt werden. Hierzu muss der #Wert von ALLOWNTP auf "yes" gesetzt werden. #Gleiches gild fuer netbios von Microsoft. Hier kann die Variable ALLOWNETBIOS #auf "yes" gesetzt werden, um die entsprechende Sonderbehandlung zu aktivieren. #In den Eckigen Klammern wird fuer jede freizuschaltende Workstation #eine andere Nummer eingesetzt. Es muessen alle vier Variablen jeweils einmal #pro Workstation gesetzt werden. #Protokoll getrennt durch ";" zusammengefasst #Special Ports: #2401;tcp cvs Access #5190;tcp 5190;udp AOL Instand Messanger #6346;tcp gnutella #6699;tcp 7950/1/2;tcp WinMX #1214;tcp 2832;tcp KaZaA #Freischaltung fuer odin.dmz.lan LOCALWS[0]="192.168.66.49" ROUTEUDP[0]="13,20,21,43,53,70,109,110,143,162,177,220,765,1024:65535" ROUTETCP[0]="13,15,20:25,43,53,70,80,109:115,143 161,177,220,443,554,765,1024:65535" #ROUTEUDP[0]="0:65535" #ROUTETCP[0]="0:65535" ALLOWSWPORTS[0]="yes" ALLOWNTP[0]="yes" #Freischaltung fuer hades.dmz.lan LOCALWS[1]="192.168.66.50" ROUTEUDP[1]="13,20,21,70,109,110,143,162,177,220,765,1024:65535" ROUTETCP[1]="13,15,20:25,43,70,80,109:115 143,161,177,220,443,554,765,1024:65535" ALLOWSWPORTS[1]="yes" ALLOWNTP[1]="no" #Wenn der Router Server aus dem internen Netz Benutzt, so muss der Zugriff #auf diese Server freigeschaltet werden. Dies kann entweder Global für #Alle Dienste geschehen, oder auch dediziert für bestimmte Dienste. #Die Globale Freischaltung empfiehlt sich vor allem wenn RPC Basierte #Dienste des Servers verwendet werden. Die dedizierte Variante ist die #Sicherere, bedeutet jedoch mehr Aufwand für den Firewallrechner. #Diese Firewall verwendet derzeit nur die Globale Freischaltung von #Bestimmten servern. #Über die Variable GLOBALSERVER koennen ein oder mehrere interne Netze #angegeben werden. Bei der Angabe mehrerer Netze müssen diese durch ein #space zeichen voneinander getrennt werden. GLOBALSERVER="192.168.66.49 192.168.66.53" #Liegen die genutzen Dienste hinter einem grouteten Netz, so muss die #Freischaltung anders erfolgen. Hierzu die Variable unten #definieren. Angegeben wird hier die Server IP, der Dienst Port, sowie das #Protokoll. Hier wird NUR dem Firewall Rechner der Zugriff auf diese #Dienste erlaubt. INSERVER[0]="192.168.75.67:53:tcp" INSERVER[1]="192.168.75.67:53:udp" #Serverdienste Auf Router. Hiermit können Bestimmte Zugriffe auf den Router #aus dem gesammten Localen Netz (definiert über die angegebenen Devices) #erlaubt werden. Die Angabe der Freigeschalteten Dienste erfolgt auf #die gleiche Weise, wie in "$ROUTERPORTS" LOCALUDP="22" LOCALTCP="22,25,80" LOCALDEVICES="eth1" #Alternativ zu LOCALSERVICES koennen die Dienste auch pro Netzwerk freigeschaltet werden. #Hierzu muss pro freizuschaltendes Netzwerk die Variablen ALLOWEDNETWORK[#] und #NETSERVICES[#] definiert werden. ALLOWEDNETWORK enthält die Netzwerkdefinition, #NETSERVICES die erlaubten Port/Protokoll Kombinationen. #ALLOWEDNETWORK[0]="192.168.26.0/27" #NETUDPSERVICES[0]="13,53,67,68,88,110,111,137:139,143,161,177,220,464" #NETTCPSERVICES[0]="13,15,20:23,25,42,53,67,80,88,110,111,143,161" #ALLOWENETWORK[1]="192.168.26.128/27" #NETUDPSERVICES[1]="517,518,520,765,856,863,873,1024:65535" #NETTCPSERVICES[1]="177,220,443,513,514,543,544,749,765,856,863,1024:65535" #Die folgende Variable Entspricht der Funktionalität von LOCALSERVICES, #bezieht sich jedoch auf Services, die aus dem Internet herraus ansprechbar #sein sollen. Hier ist nur der Zugriff vom Internet auf den Router gemeint #Freigeschaltene Dienste werden nicht durch den Router durchgereicht! EXTUDPOPEN="22" EXTTCPOPEN="22,25" #Sollen aus dem Geschuetzten Netz Server in der DMZ ansprechbar sein (Ohne #Restriktionen!) dann hier eintragen. #DMZSERVER[0]="192.168.66.49" #UDPDMZPORTS[0]="20,49,53,80,110,111,1024:65535" #TCPDMZPORTS[0]="20,21,22,25,49,53,69,80,110,111,443,1024:65535" #Einzelne Dienste können durch die Firewall auf ein system im Privaten Internen #Netz weitergeleitet werden. So kann zum Beispiel Aller Traffic von port 80 #auf eine andere Maschine weitergeleitet werden, welche diesen Request #beantwortet #Diese Funktion der Viitor Firewall befindet sich noch in der Entwicklung! FORWARDSRV[0]="192.168.66.49" FORWDUDP[0]="20,21,443,3690,5000,8767,8888,8889" FORWDTCP[0]="20,21,22,80,443,873,2401,3690,5000" FORWDSWITCH[0]=yes FORWARDSRV[1]="192.168.66.27" FORWDUDP[1]="902" FORWDTCP[1]="902" #u.U sollen beim forwarden auf einen anderen server auch die Port Nummern #geaendert werden. Dann ist pro Server/Port paar ein Eintrag notwendig. DSTSERVER[0]="192.168.66.54" FWDSERVICE[0]="8080;tcp;22 8080;udp;22" #Wird auf dem localen System ein FTP-Server betrieben, so muss ein Switchen #der Verbindung möglich sein. Dieses Switchen wird auf Device Basis #freigeschalten - jedes in ALLOWEXTSWIN enthaltene Interface erlaubt #den für den ftp betrieb notwendigen Switch der Portnummern. #ALLOWDEVICESWPORT="eth1 ppp0" #Mit der Variable LOCALUSESERVICE wird eingestellt welche Dienste der #router selber aus dem Internet benutzen darf. LOCALUSEUDP="22,110" LOCALUSETCP="22,25,80,110" #Die Verwendung des NTP Dienstes braucht eine besondere Behandlung, da hier #Client und Server den NTP Port (123) verwenden. (Normal Client >1024) #Soll eine Zeitsynchronisation mit einem NTP Server vom Firewallrechner #aus stattfinden, so muss NTPSYNC auf "yes" gesetzt werden. #NTPSYNC="192.168.66.48" #Gleiches wie fuer NTP gild auch fuer die syslog dienste. soll der Firewall #rechner auch loghost sein, muss LOCSYSLOG auf "yes" gesetzt werden. #LOCSYSLOG="192.168.66.49" #Und wenn der Router einen Syslog server verwenden soll, muss das natuerlich #genauso spezial behandelt werden USESYSLOG="192.168.66.49" #dhcp sendet auch von untypischen ports. wenn der router auch #dhcprelay spielt ist daher eine sonderbehandlung fuer die kommunikation #mit dem dhcpserver noetig. #DHCPSERVER="192.168.66.49" #Das Advanced Routing des Linux Kernels (>2.2.x) kann mehrere Routingtabellen #verwalten. Normalerweise wird die Default Tabel für das Routing Verwendet. #Basierend auf Verschiedenen Regeln können jedoch auch anderen Routingtabellen #verwendet werden. Eine dieser Regeln wertet Firewall Markierungen aus, #und kann entsprechend dem Markierungswert routingtabellen verwenden. #die MonsumFirewall erlaubt es EIN Netz derartig für das advanced routing #zu markieren. Dieses Feature aktiviert, wenn MARK auf "yes" gesetzt wird. #MARKNET muss dann die Netzwerk informationen (Netzadresse/Shortmask) #beinhalten. MARKVALUE den Wert, mit dem Markiert werden soll (Integer Zahl) #MARK="no" #MARKNET="62.112.132.240/28" #MARKVALUE="3" #Wird die Mark Option Verwendet (z.B. für Statische Adressen in Verbindung mit #einem Tunnel - wobei für den Tunnel traffic gebühren entstehen) so sollen #die Statischen Adressen in der Regel per Defaultroute "TUNNELENDE" weiter #geleitet werden. Hier ist u.U. eine Firewall unerwünscht (es muss sich der #Rechner am anderen Ende um die Sicherheit kümmern!) #ALLOWNET bestimmt das Netzwerk, welches ohne weitere Kontrolle über $TUNDEV #geleitet wird. #ALLOWNET="62.112.132.240/28" #TUNDEV="tun1"