Projektarbeit Firewall F2E2 Schuljahr...

96
Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version 01.00 Seite 1 Projektarbeit Firewall F2E2 Schuljahr 2009/10 Dokumentation Thema: Installation, Konfiguration und Test einer Collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration Team: Jörg Langmack Slawomir Arendt Zeitraum: 11. Februar – 12. Mai 2010

Transcript of Projektarbeit Firewall F2E2 Schuljahr...

Page 1: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall

Version 01.00 Seite 1

Projektarbeit Firewall F2E2 Schuljahr 2009/10

Dokumentation

Thema:

Installation, Konfiguration und Test einer Collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration

Team: Jörg Langmack

Slawomir Arendt

Zeitraum: 11. Februar – 12. Mai 2010

Page 2: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 2 | S e i t e

Schriftliche Erklärung zur selbstständigen Arbeit

Hiermit erklären wir, Herr Slawomir Arendt und Herr Jörg Langmack, dass wir die Projektarbeit „Installation, Konfiguration und Test eines „LINUX - Servers“

selbstständig erarbeitet haben.

___________________________ Slawomir Arendt

___________________________

Jörg Langmack

Änderungsverzeichnis

Projekt: Collapsed Firewall mit Grenznetz

Version Datum Änderung Bearbeiter

01.00 10. Mai. 2010 Erstellung S.Arendt J.Langmack

Page 3: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 3 | S e i t e

Inhaltsverzeichnis 1. Das Projekt .......................................................................................... 7

2. 2.1 Aufgabenstellung ...........................................................................................................

Projektdokumentation ................................................................ 10

10

2.1.1 Aufgaben des Projektteams ............................................................................................ 10

2.1.2 Hardware ............................................................................................................................... 11

2.1.3 Software ................................................................................................................................. 12

2.1.3.1 Linux: CentOS 5.4 ....................................................................................................... 12

2.1.3.2 Webmin ......................................................................................................................... 12

2.1.3.3 Proxymin ....................................................................................................................... 13

2.1.3.4 Firewall Builder .......................................................................................................... 14

2.1.4 Netzwerk ............................................................................................................................... 15

2.1.5 Dateisystemstruktur (Partitionierung) ..................................................................... 16

2.1.5.1 Was ist ein RAID-System? ...................................................................................... 17

2.1.5.2 RAID 1 (Spiegelung) ................................................................................................. 17

2.1.5.3 RAID 0: Striping (Beschleunigung) ..................................................................... 17

2.1.5.4 RAID 5: Leistung + Parität ...................................................................................... 18

2.2 Projektplanung ............................................................................................................... 19

2.2.1 Projektzeitraum .................................................................................................................. 19

2.2.2 Projektteam .......................................................................................................................... 19

2.2.3 Projektbetreuer ................................................................................................................... 19

2.2.4 Projekthilfsmittel ............................................................................................................... 19

2.2.5 Projektkosten ....................................................................................................................... 19

2.3 Aufgabenverteilung ...................................................................................................... 20

2.4 Was ist ein Proxy-Server ............................................................................................. 21

2.4.1 Funktionen des Proxys in unserem Projekt ............................................................. 22

2.4.1.1 Schutz der Clients ...................................................................................................... 22

2.4.1.2 Schutz der Server ....................................................................................................... 22

2.4.1.3 Zugriffssteuerung ...................................................................................................... 22

2.4.1.4 Protokollierung .......................................................................................................... 23

2.4.1.5 Zwischenspeicher ...................................................................................................... 23

Page 4: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 4 | S e i t e

2.4.2 Weitere Möglichkeiten eines Proxy-Server ............................................................. 24

2.4.2.1 Bandbreitenkontrolle .............................................................................................. 24

2.4.2.2 Verfügbarkeit .............................................................................................................. 24

2.4.2.3 Aufbereitung von Daten .......................................................................................... 24

2.4.2.4 Inhaltliche Kontrolle häufig verwendeter Protokolle ................................. 24

2.4.2.5 Funktionserweiterung eines Netzwerkdienstes ........................................... 24

2.4.2.6 Offener Proxy .............................................................................................................. 24

2.4.2.7 Proxy als Anonymisierungsdienst ...................................................................... 25

2.5 Was ist eine Firewall? .................................................................................................. 26

2.5.1 Wer braucht eine Firewall? ............................................................................................ 26

2.5.2 Was kann eine Firewall? .................................................................................................. 26

2.5.3 Was kann eine Firewall nicht? ...................................................................................... 28

2.5.4 Firewall Umgebungen ...................................................................................................... 30

2.5.5 Die Bastions-Host-Firewall............................................................................................. 30

2.5.6 Die Demilitarisierte Zone (DMZ) .................................................................................. 31

2.6 Grundbegriffe Netzwerk ............................................................................................. 32

2.6.1 TCP ........................................................................................................................................... 32

2.6.2 UDP .......................................................................................................................................... 33

2.6.3 Gängige TCP- UDP-Portnummern ................................................................................ 34

2.6.4 NAT .......................................................................................................................................... 36

2.7 Iptables .............................................................................................................................. 37

2.7.1 Der Grundgedanke ............................................................................................................. 37

2.7.1.1 Policies ........................................................................................................................... 38

2.7.1.2 Regeln ............................................................................................................................. 39

2.7.1.3 Tables ............................................................................................................................. 39

2.7.1.4 Muster ............................................................................................................................ 40

2.7.1.5 Standardmuster ......................................................................................................... 40

2.7.1.6 Aktionen ........................................................................................................................ 41

2.7.1.7 REJECT ........................................................................................................................... 42

2.7.1.8 SNAT ............................................................................................................................... 42

2.7.1.9 DNAT .............................................................................................................................. 43

2.7.1.10 MASQUERADE ............................................................................................................. 43

Page 5: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 5 | S e i t e

2.7.1.11 REDIRECT ..................................................................................................................... 44

2.8 Firewall Builder ............................................................................................................. 45

2.8.1 Was ist der Firewall Builder? ........................................................................................ 45

2.8.2 Installation von Fwbuilder ............................................................................................. 45

2.8.3 Allgemeines (Legende)..................................................................................................... 46

2.8.4 Firewall konfigurieren ..................................................................................................... 47

2.8.5 Firewall-Objekt erstelle ................................................................................................... 49

2.8.6 Andere Objekte .................................................................................................................... 50

2.8.7 Firewall –Policy erstellen ................................................................................................ 53

2.8.8 Interface und NAT-Regeln .............................................................................................. 55

2.8.9 Übersetzung der Policies ( Compilieren) .................................................................. 57

2.8.10 Installation der Regeln ..................................................................................................... 58

3. 3.1 Konfiguration von Squid .............................................................................................

Administratoren-Handbuch ....................................................... 59

59

3.2 Installation von Proxymin .......................................................................................... 69

3.3 Installation von Webmin ............................................................................................. 71

3.3.1 Installation über eine tar.gz Archiv ............................................................................. 71

3.3.2 Installation über eine rpm Archiv ................................................................................ 73

3.4 RAID-System einrichten .............................................................................................. 73

3.4.1 RAID anlegen ........................................................................................................................ 73

3.4.2 RAID verwalten: .................................................................................................................. 74

3.4.3 RAID verwalten unter Webmin: ................................................................................... 74

3.4.3.1 RAID vorbereiten: ...................................................................................................... 75

3.4.3.2 Festplatte zum RAID hinzufügen: ........................................................................ 77

3.4.4 RAID Ausfall .......................................................................................................................... 79

3.4.4.1 RAID Status über Konsole ...................................................................................... 79

3.4.4.2 RAID Status über Webmin: .................................................................................... 80

3.4.5 Wichtig nach Ausfall .......................................................................................................... 81

4. Fazit .................................................................................................... 82

5. 5.1 Projektwoche: 1 (11.02.2010 – 12.02.2010)........................................................

Wochenprotokolle ......................................................................... 83

84

Page 6: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 6 | S e i t e

5.2 Projektwoche: 2 (15.02.2010 – 19.02.2010)........................................................ 85

5.3 Projektwoche: 3 (22.02.2010 – 26.02.2010)........................................................ 86

5.4 Projektwoche: 4 (01.03.2010 – 05.03.2010)........................................................ 87

5.5 Projektwoche: 5 (08.03.2010 – 12.03.2010)........................................................ 88

5.6 Projektwoche: 6 (15.02.2010 – 19.03.2010)........................................................ 89

5.7 Projektwoche: 7 (05.04.2010 – 09.04.2010)........................................................ 90

5.8 Projektwoche: 8 (12.04.2010 – 16.04.2010)........................................................ 91

5.9 Projektwoche: 9 (19.04.2010 – 23.04.2010)........................................................ 92

5.10 Projektwoche: 10 (26.04.2010 – 30.04.2010) ..................................................... 93

5.11 Projektwoche: 11 (03.05.2010 – 07.05.2010) ..................................................... 94

6. 6.1 Abbildungsverzeichnis ................................................................................................

Anhang .............................................................................................. 95

95

6.2 Quellenverzeichnis ....................................................................................................... 96

Page 7: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 7 | S e i t e

1. Das Projekt In praktisch allen Unternehmen, dazu gehören auch Schulen und vergleichbare Institutionen, sind die Arbeitsplatz-PCs sowie Server miteinander vernetzt und mit der Außenwelt für Internetdienste wie WWW, E-Mail und FTP verbunden. Allerdings erfordert die Anbindung an die Außenwelt besondere Schutzmaßnahmen. Früher waren Städte von Stadtmauern umgeben, die ein unbefugtes Eindringen verhindern sollten. Im elektronischen Zeitalter gibt es Software, die alle ein- und ausgehenden Datenpakete kontrolliert. Man spricht hier in Analogie zur Wirklichkeit von Firewall-Software.

In Zeiten, in denen die Bedrohung für Unternehmensnetzwerke durch Viren, Internetwürmer, trojanische Pferde und Hacker beinahe täglich zunimmt, bietet Ihnen eine Firewall umfassenden Schutz für Ihre Internetanbindung.

Zur Entstehung der Projektgruppe: Firewall-Server, kann man nicht allzu viel sagen. Als das besagte Projekt ausgeschrieben wurde, waren wir beide relativ schnell hellhörig geworden. Ein bis zwei Blicke zwischen uns, ein Nicken beiderseits und es war entschieden. Wir hatten während der vergangen Technikerzeit viel miteinander zu tun, während der Schulzeit sowie privat. Auch haben wir beide ein gutes allgemeines Computerwissen und sahen dieses Projekt deswegen als eine Herausforderung, diese Kenntnisse in der Praxis anzuwenden. Nun, heutzutage ist es ja nicht selten, dass von einem Techniker Kenntnisse in mehreren Betriebssystemen verlangt werden. Für uns war dies ein weiterer Grund, uns für das angebotene Schulprojekt zu entscheiden. Wichtig war es uns, die erlernten Linux Kenntnisse aus dem Unterricht und von zu Hause in der Praxis anzuwenden und bestenfalls natürlich auch zu erweitern.

Jeder kennt heutzutage das Wort Firewall und weiß mehr oder weniger was sicher genau dahinter verbirgt. Somit traten auch wir schon im Vorfeld an die Thematik und waren recht zuversichtlich, dass wir uns gut einarbeiten würden. Je tiefer wir uns einlasen, desto bewusster wurde uns, das Firewall ja mehr nur ein Überbegriff für ein recht komplexes Zusammenspiel einzelner Programme und Hardware ist, sofern man das Thema so komplex bearbeitet, wie wir es zu tun hatten.

Page 8: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 8 | S e i t e

Solche und weitere Erkenntnisse stellten uns zunächst vor Herausforderungen, aber ermöglichten uns auch weiter engagiert am Projekt zu arbeiten und es erfolgreich fertigzustellen.

Als am 11.02.2010 der Startschuss viel, bekamen wir unseren Arbeitsplatz und das Herzstück, den Firewall-Server, zugewiesen. Nach dem ersten Einweisungsgespräch mit unserem Projektleiter, Herrn Appenzeller, ließen wir keine Zeit verstreichen, sondern schritten zur Tat. Wir verschafften uns einen Überblick über unsere Hardware und besprachen die ersten Schritte um das Projekt in Gang zu bringen. Wir versorgten danach unseren Server mit Strom und starteten ihn. Kaum liefen die ersten Prozesse an, landeten wir bei der Erstellung des Raid-Verbundes. Die Einteilung der Festplatten wählten wir zuvor schon beim Einweisungsgespräche und konnten bei den nötigen Raid-Einstellung unsere Vorerfahrungen nutzen. Nachdem dies erledigt war, starteten wir die Installation des Betriebssystems und konnten währenddessen mit unseren Notebooks weitere Informationen im Internet für die nächstens Schritte besorgen. Wichtig war es nun die erstellte Ausfallsicherheit (Raid 0) zu testen. Um einen Ausfall zu simulieren, zogen wir also im laufenden Betrieb des Servers eine Festplatte. Es gelang uns auf Anhieb das die Spiegelung der zweiten Platte anlief. Da diese Prozedur einiges an Zeit in Anspruch nahm, sammelten wir weiter Informationen. Nach einem solchen Test bzw. Ausfall, muss man den Raid-Verbund wieder einhängen. Dies geschah diesmal aber nun mit der von uns installierten Software Webmin, was wir auch gleichzeitig dokumentierten um beim ernsthaften Ausfall keine unnötige Zeit zu verlieren.

Als nächstes installierten wir die Software Proxymin für Web-basierte Administration der ACL´s (Access Control List) des Proxy-Servers.

Wir begannen uns in das Programm einzuarbeiten und mussten dafür die Standard Config-Datei für das Programm unseren Gegebenheiten anpassen. Dies bedeutete nun also eine lange Recherche über jegliche Einstellungsmöglichkeiten. Wir mussten nun also jeden Eintrag versuchen zu verstehen, um eine für uns angepasste Konfigurationsdatei zu erstellen, dabei half uns das Squid-Handbuch. Proxymin erstellt aus einer Template-Datei (squid.conf.template) und der eigenen Benutzer-Datenbank die eigentliche Steuerungsdatei (squid.conf) für den Proxyserver. Da wir zuerst die squid.conf angepasst hatten und nicht die squid.conf.template überschrieben wir unsere komplette Konfiguration mit dem Start des Programms und durften somit nochmal von vorne anfangen. Beim

Page 9: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 9 | S e i t e

zweiten Versuch passten wir dementsprechend die Template-File an. Leider funktionierte das Programm immer noch nicht, da eine Datei fehlerhaft war. Dies bedeutete für uns den Programm-Code nach Fehlern zu durchsuchen, was wir auch nach einiger Zeit erfolgreich beenden konnten.

Da uns immer wieder das Sicherheitstool „SE-Linux“ Probleme bereitete, Software vernünftig in Betrieb zunehmen, deaktivierten wir es nach kurzer Recherche im Internet und einem Tipp eines befreundeten Systemadministrators. Danach konnten wir den Proxyserver und Proxymin ohne Behinderungen in Betrieb nehmen und testen.

Als nächstes beschäftigten wir uns mit dem Firewall-Builder und Iptables. Diese beiden Pakete bilden die eigentliche Firewall. Nachdem wir uns in Iptables eingelesen hatten, bauten wir mit dem Fwbuilder eine eigene Firewall-Konfiguration auf. Nach ausgiebigen Tests übernahmen wir dann die original Firewall-Datei vom alten Server und passten diese den neuen Anforderungen an. Dabei ergaben sich keine nennenswerten Problematiken.

Nun war es soweit, dass wir den Server in seiner geforderten Konfiguration testen konnten. Dafür stellten wir noch den Soll-Zustand der Netzwerkkarten ein und installierten auf den Test-Clients das Betriebssystem (Fedora11).

Wir führten verschiedene Tests durch und konnten feststellen, dass bis auf etwas Feintuning alles funktionierte. Der Server lief von Anfang des Projekts im Dauerbetrieb um ihm einen ausgiebigen Laufzeittest zu unterziehen.

Kurz vor Projektende mussten wir feststellen das der Server Probleme beim Starten der Proxy- und Firewall-Dienste hatte. Dieses lag an einem Fehler in einer Konfigurations-Datei, den wir nicht nachvollziehen konnten und nur durch einspielen der Backup-Dateien beheben konnten. Von da an lief der Server ohne weiter Komplikationen, so dass wir den Projektabgabe Termin halten konnten.

Am 07.05.2010 übergaben wir unser Projekt an unseren Projektbetreuer Herrn Appenzeller und besprachen die Funktionen der Firewall mit ihm durch. Die Dokumentation folgte wie gefordert am 11.05.2010.

Damit war unser Projekt abgeschlossen und wir bereiteten uns auf die Präsentation vor, die in der zweiten Juni Woche folgen sollte.

Page 10: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 10 | S e i t e

2. Projektdokumentation

2.1 Aufgabenstellung 2.1.1 Aufgaben des Projektteams

Linux Installation (mit Software-RAID)

Keine Überflüssigen Dienste und Softwarepakete dürfen installiert sein

Einarbeitung in die Technik eines Proxy-Servers incl. Internet-Zugangskontrolle

Einarbeitung in die Technik einer Firewall (iptables)

Einarbeitung in die Software Firewall Builder

Einarbeitung in die Software Proxymin

Erstellung der Firewall Regeln

Dokumentation und Test aller Schritte

Schulung der Administratoren

Präsentation

Page 11: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 11 | S e i t e

2.1.2 Hardware

Diese Server-Hardware wurde uns für die Projektarbeit von der Berufsbildenden Schule zur Verfügung gestellt:

Servergehäuse 19“ Rack Einheit 1HE Motherboard X7DBP-I (OEM) CPU Quad-Xeon 2000 MHz FSB 1333 8 GB DDR 2 -667 RAM Grafik on Board 2 x 700 W redundantes Netzteil DVD - ROM Diskettenlaufwerk 3,5“ 2 x SATA Festplatte 250 GB 1 x SATA Festplatte 500 GB 2 x GB LAN on Board 2 x GB LAN Controller

Abbildung 1: Firewall-Server Innenleben

Page 12: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 12 | S e i t e

2.1.3 Software

Folgende Software sollte verwendet werden bzw. wurde zur Verfügung gestellt:

2.1.3.1 Linux: CentOS 5.4

CentOS ist eine Linux Distribution, die auf der Distribution Red Hat Enterprise Linux (RHEL) der Firma Red Hat aufbaut. Die beiden Distributionen sind in jeglicher Art kompatibel zueinander. CentOS steht für „Community Enterprise Operating System“ und wird von einer Gruppe von freiwilligen Programmierern betreut, gepflegt und weiterentwickelt.

2.1.3.2 Webmin Die Administration von Linux Servern besteht für viele Anwender aus Kommandozeilen und kryptischen Konfigurationsdateien. Eine einfach und intuitiv zu bedienende einheitliche Oberfläche wie bei Windows oder MacOS fehlt bei den meisten Distributionen oder eignet sich nicht für die Fernadministration.

Genau an dieser Stelle setzt Webmin an. Diese Software bietet eine grafische Oberfläche zum Verwalten und Konfigurieren der gebräuchlichsten Dienste unter Linux/Unix. Über Webmin ist es auch unter Linux möglich Dienste wie SAMBA, Apache, NFS oder FTP über eine grafische Oberfläche zu konfigurieren. Die klassische Systemverwaltung, wie zum Beispiel die Benutzer und Gruppenverwaltung, ist ebenfalls über Webmin möglich.

Da Webmin im Webbrowser läuft, kann er auch zur RemoteAdministration eingesetzt werden. Ein besonderes Feature ist hierbei, dass Webmin auch verschlüsselte Verbindungen per SSL aufbauen kann. Damit ist dann auch die sichere Fernwartung über das Internet realisierbar, oder wie für unsere Projektarbeit gefordert, über das Netzwerk.

Page 13: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 13 | S e i t e

2.1.3.3 Proxymin

Proxymin ist ein Web-basiertes Administrations-Frontend für den Squid Web proxy Cache.

Features:

- einfache, übersichtliche grafische Benutzeroberfläche um Squid ACLs zu konfigurieren

- feingranulare Rechteverwaltung auf Basis von Benutzern/Rechnern/Gruppen

- Benutzer und Rechner anlegen/ändern/löschen/aktivieren/deaktivieren

- unterstützte Protokolle: HHTP/HTTPS/FTP

- Multi-Language Support

- Benutzerauthentifizierung auf Basis von „standard NCSA auth“

- bereits mit mehreren hundert Accounts im Einsatz

- integrierte Datenbank und Policy-Compiler um eine Portierung auf alternative Proxys zu erleichtern

- Proxymin ist unter der GPL lizensiert

Abbildung 2: Webmin

Page 14: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 14 | S e i t e

2.1.3.4 Firewall Builder

Firewall Builder ist eine grafische Benutzeroberfläche um Firewall-Regeln zu erstellen. Es ist für verschiedene Betriebssysteme und Firewall-Konzepte verfügbar und einsetzbar. Die Dokumentation von Firewall Builder ist nur auf Englisch verfügbar. Da die Firewall ein Hauptbestandteil unserer Projektarbeit war finden sie eine ausführliche Beschreibung von Firewall-Builder unter dem Punkt 2.8 in unserer Dokumentation.

Abbildung 3: Firewall-Builder

Page 15: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 15 | S e i t e

2.1.4 Netzwerk

Hier sehen Sie, wie das gesamte Netzwerk nach Fertigstellung der Projektarbeiten aussehen soll. BBS-FIRE als Server stellt unsere Hauptprojektarbeit dar, einen eigenständigen Server, der als Firewall arbeitet.

Abbildung 4: Netzwerkübersicht

Page 16: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 16 | S e i t e

2.1.5 Dateisystemstruktur (Partitionierung)

Für unsere Projektarbeit setzen wir ein Software RAID System (RAID 1:Mirroring - Spiegelung) ein. Dieses garantiert eine hohe Ausfall- Datensicherheit, sofern eine Festplatte ausfallen sollte. Zum Totalverlust der Daten führt erst der Ausfall aller Platten.

Die Festplatten (2x 250 GB und 1x 500 GB) wurden wie folgt partitioniert:

RAID - Geräte

Gerät Mount-Point File-System Größe

/dev/md0 / ext3 99998

/dev/md1 /opt ext3 137423

Festplatten

Gerät Mount-Point Typ Größe Start-Zylinder Ende-Zylinder

/dev/sda (250 GB)

/dev/sda1 /dev/md0 RAID 99998 1 12748

/dev/sda2 /dev/md1 RAID 137423 12749 30267

/dev/sda3 SWAP 2000 30268 30522

/dev/sdb (500 GB)

/dev/sdb1 /dev/md0 RAID 99998 1 12748

/dev/sdb2 /pcache ext3 237515 12749 43027

/dev/sdb3 /dev/md1 RAID 137423 43028 60546

/dev/sdb4 erweitert 2000

/dev/sdb5 SWAP 2000 60547 60801

/dev/sdc (250 GB)

/dev/sdc1 /dev/md0 RAID 99998 1 12748

/dev/sdc2 /dev/md1 RAID 137423 12749 30267

/dev/sdc3 SWAP 2000 30268 30522

Abbildung 5: Partitionstabelle

Page 17: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 17 | S e i t e

2.1.5.1 Was ist ein RAID-System?

Ein RAID-System (Abk. Redundant Array of Inexpensive / Independent Disks) dient zur Organisation von mehreren Festplatten bei einem Computer. (Quelle: Durch die Verwendung von RAID-Systemen kann man die Betriebssicherheit, Leistung und/oder Kapazität von Massenspeichern erhöhen.

Dazu gibt es verschiedene Möglichkeiten, die man als RAID-Levels definiert hat.

RAID-Systeme erfordern bei der Einrichtung mehr Aufwand, während sie sich für Benutzer nicht von herkömmlichen Massenspeichern unterscheiden und können durch Controller mit RAID-Funktionalität (Hardware-RAID) oder auf konventionellen Controllern mit speziellen Treibern (Software-RAID) realisiert werden. In unserem Projekt haben wir Software-RAID im Level 1 verwendet, dieses bedeutet:

Quelle: www.wikipedia.de

2.1.5.2 RAID 1 (Spiegelung)

RAID 1 bietet Redundanz der gespeicherten Daten, da diese immer auf mindestens zwei Festplatten in identischer Form vorliegen (Spiegelung). Fällt eine Platte aus, kann eine andere für sie einspringen.

2.1.5.3 RAID 0: Striping (Beschleunigung)

Streng genommen handelt es sich bei RAID 0 nicht um ein wirkliches RAID, da es keine Redundanz gibt.

RAID 0 bietet gesteigerte Transferraten, indem die beteiligten Festplatten in zusammenhängende Blöcke gleicher Größe aufgeteilt werden, wobei diese Blöcke quasi im Reißverschluss Verfahren zu einer großen Festplatte angeordnet werden. Somit können Zugriffe auf allen Platten parallel durchgeführt werden (engl. striping, was „in Streifen zerlegen“ bedeutet, abgeleitet von stripe, der „Streifen“).

Abbildung 7: RAID 0 (Beschleunigung)

Abbildung 6: RAID 1 (Spiegel)

Page 18: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 18 | S e i t e

2.1.5.4 RAID 5: Leistung + Parität

RAID 5 bietet sowohl gesteigerten Datendurchsatz beim Lesen von Daten als auch Redundanz bei relativ geringen Kosten und ist dadurch die beliebteste RAID-Variante. In schreibintensiven Umgebungen mit kleinen, nicht zusammenhängenden Änderungen ist RAID 5 nicht zu empfehlen, da bei zufälligen Schreibzugriffen der Durchsatz aufgrund des zweiphasigen Schreibverfahrens deutlich abnimmt (an dieser Stelle wäre eine RAID-0+1-Konfiguration vorzuziehen). RAID 5 ist eine der kostengünstigsten Möglichkeiten, Daten auf mehreren Festplatten redundant zu speichern und dabei das Speichervolumen effizient zu nutzen. Dieser Vorteil kommt allerdings aufgrund hoher Controlleranforderungen und -preise oft erst bei mehr als vier Platten zum Tragen. Für den Preis eines RAID-5-Controllers mit (mindestens) drei Platten ist meistens bereits eine vierte Festplatte für ein RAID 10 zu bekommen. Neuere Chipsätze unterstützen jedoch zunehmend auch RAID 5, so dass der preisliche Vorteil des RAID-10-Systems im Schwinden begriffen ist.

Die nutzbare Gesamtkapazität errechnet sich aus der Formel: (Anzahl der Festplatten - 1) × (Kapazität der kleinsten Festplatte). Rechenbeispiel mit vier Festplatten à 500 GB: (4 - 1) × (500 GB) = 1500 GB Nutzdaten und 500 GB Parität.

Abbildung 8: RAID 5 (Leistung und Parität)

Page 19: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 19 | S e i t e

2.2 Projektplanung

2.2.1 Projektzeitraum

Projekt-Beginn: 11. Februar 2010

Projekt-Ende: 12. Mai 2010

2.2.2 Projektteam

Slawomir Arendt

Jörg Langmack

2.2.3 Projektbetreuer

Herr Appenzeller (Berufsbildenden Schulen Friedenstraße Wilhelmshaven)

2.2.4 Projekthilfsmittel

Jeder Mitarbeiter des Projektteams benutzte sein eigenes Notebook. Die Berufsbildenden Schulen Friedenstraße stellten uns einen neuen Server, 2 Client-PC’s und Räumlichkeiten zur Nutzung zur Verfügung. Somit hatten wir die Möglichkeit, vor Ort auftretende Fragen und Probleme direkt mit dem Projektbetreuer Herrn Appenzeller zu erläutern, zu überarbeiten und zu lösen.

2.2.5 Projektkosten

Bei unserer Projektarbeit, „Aufbau einer Collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration“, entstanden uns keine Kosten.

Page 20: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 20 | S e i t e

2.3 Aufgabenverteilung

Am ersten Projekttag haben wir uns eine grobe Aufgabenverteilung zurechtgelegt. Wir merkten jedoch schnell, dass sich jeder mit den gleichen Thematiken beschäftigen musste, um einen reibungslosen Projektablauf garantieren zu können. Ab der zweiten Projektwoche entschlossen wir uns deshalb unten angeführte Punkte zusammen abzuarbeiten.

Installation Linux (CentOS 5.4)

Einarbeitung in die Technik eines Proxy-Servers

Einarbeitung in die Software Proxymin

Einarbeitung in die Technik einer Firewall (iptables)

Einarbeitung in die Software Fwbuilder

Überarbeitung der Firewall Regeln

Test des Proxy-Servers

Test der Firewall

Dokumentation

Präsentation

Homepage

Page 21: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 21 | S e i t e

2.4 Was ist ein Proxy-Server

Ein Proxy (von engl. „proxy representative“ = Stellvertreter) ist eine Kommunikationsschnittstelle in einem Netzwerk. Er arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite herzustellen.

Wird der Proxy als Netzwerkkomponente eingesetzt, bleibt einerseits die wahre Adresse des einen Kommunikationspartners dem anderen Kommunikationspartner gegenüber komplett verborgen, was eine gewisse Anonymität schafft. Als (mögliches) Verbindungsglied zwischen unterschiedlichen Netzwerken realisiert er andererseits eine Verbindung zwischen den Kommunikationspartnern selbst dann, wenn deren Adressen zueinander inkompatibel sind und eine direkte Verbindung nicht möglich wäre.

Abbildung 9: Proxy-Server Schematisch

Page 22: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 22 | S e i t e

2.4.1 Funktionen des Proxys in unserem Projekt

2.4.1.1 Schutz der Clients Der Proxy kann eine Schnittstelle zwischen dem privaten Netz und dem öffentlichen Netz bilden. Der Zugriff von Clients auf Webserver ist dann nur über den Proxy möglich, der die Verbindung aktiv kontrollieren kann.

2.4.1.2 Schutz der Server Ein Proxyserver kann allgemein dazu verwendet werden, den eigentlichen Server in ein geschütztes Netz zu stellen, wodurch er vom externen Netz aus nur durch den Proxy erreichbar wird. Auf diese Weise versucht man den Server vor Angriffen zu schützen. Die Proxy-Software ist weniger komplex und bietet daher weniger Angriffspunkte. Diese Lösung wird zum Beispiel bei Online-Shops angewendet: Der Webserver befindet sich samt Proxy im Internet und greift auf die Datenbank mit Kundendaten hinter einer Firewall zu.

2.4.1.3 Zugriffssteuerung

Ein Proxy ist auch geeignet, um Zugriffe zu steuern und zu regeln. Nicht jeder darf überall hin? Für bestimmte Zugriffe soll eine Authentifizierung vorgenommen werden? Dies kann ein Proxyserver erledigen.

Für unsere Projekt nutzen wir das Programm Proxymin. Proxymin ist eine grafische Benutzeroberfläche, mit der man komfortable Rechner-, Benutzer- und Gruppenrechte administrieren kann. Eine ausführliche Installationsanleitung finden Sie unter dem Punkt „Administrations-Handbuch“ in dieser Dokumentation.

Page 23: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 23 | S e i t e

Abbildung 10: Proxymin Oberfläche im Browser

2.4.1.4 Protokollierung

Jeder Zugriff über einen Proxyserver kann protokolliert werden. Proxy - Protokolle können zur Statistik, Abrechnung oder Kontrolle der Zugriffe ausgewertet werden. Hierzu gibt es unterschiedliche Auswertungsprogramme wie z.B. das Programm SARG.

2.4.1.5 Zwischenspeicher

Da ein Proxy im Auftrag seiner Clients die verschiedenen Webserver befragt, kann er diese Seiten zwischenspeichern. Dies bietet den Vorteil die bereits aufgerufenen Seiten direkt aus dem Speicher (Cache) an die Clients weitergeben zu können. In diesem Fall kann das bewegte Daten – Volumen spürbar verringert werden.

Page 24: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 24 | S e i t e

2.4.2 Weitere Möglichkeiten eines Proxy-Server

2.4.2.1 Bandbreitenkontrolle

Der Proxy teilt verschiedenen Benutzern und Gruppen je nach Auslastung unterschiedliche Ressourcen zu. Der Proxy-Server Squid beherrscht dieses Verfahren, wobei er ebenso zum Schutz des Servers beitragen kann und Methoden unterstützt, die zu besserer Verfügbarkeit beitragen.

2.4.2.2 Verfügbarkeit

Über einen Proxyverbund lassen sich mit relativ geringem Aufwand Lastverteilung und Verfügbarkeit erreichen.

2.4.2.3 Aufbereitung von Daten

Proxy-Server können auch gewisse Applikationsfunktionen übernehmen, beispielsweise Daten in ein standardisiertes Format bringen.

2.4.2.4 Inhaltliche Kontrolle häufig verwendeter Protokolle

Ein Proxy kann Softwaremodule enthalten, die auf ein bestimmtes Kommunikationsprotokoll spezialisiert sind. Diese sind dann in der Lage, die Pakete des jeweiligen Protokolls zu analysieren und dabei als Verbindungs- und Befehlsfilter zu fungieren.

2.4.2.5 Funktionserweiterung eines Netzwerkdienstes

Ein Reverse-Proxy kann den üblichen Funktionsumfang eines Dienstes erweitern, indem er dank der Analyse des Protokolls z. B. spezielle Statistiken erstellt, die der Dienst normalerweise nicht anbietet. Da er in der Lage ist, Anfragen selbst zu beantworten, sind beliebige weitere funktionelle Erweiterungen denkbar.

2.4.2.6 Offener Proxy

Als offenen Proxy oder Open Proxy bezeichnet man einen Proxy, der von jedem ohne Anmeldung (offen) benutzt werden kann. Einerseits entstehen sie unwissentlich durch falsche Konfiguration oder durch trojanisierte PCs (siehe auch: Botnet). Gleichzeitig werden aber auch viele offene Proxy-Server bewusst aufgesetzt, um eine weitgehende Anonymität zu

Page 25: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 25 | S e i t e

ermöglichen; solche Proxys sind häufig mit zusätzlichen Funktionen zur Anonymisierung versehen.

2.4.2.7 Proxy als Anonymisierungsdienst

Der Anonymisierungs-Proxy (z. B. Anonymizer, Tor) leitet die Daten des Clients zum Server weiter, wodurch der Server die IP-Adresse des Clients nicht mehr direkt auslesen kann (siehe auch: Anonymität im Internet). Sie werden verwendet, um die Herkunft eines Clients zu verschleiern. So können Internetnutzer versuchen, sich vor staatlicher oder anderer Verfolgung bzw. Kontrolle zu schützen. In einem anderen Szenarium werden Proxys angeboten – teils frei verfügbar – bei denen man unter der URL des Proxys beliebige Webseiten anfordern kann. Diese Proxys können dazu verwendet werden, um beispielsweise Einschränkungen von Firmen- oder Schulnetzen zu umgehen. Sie sind anonym insofern, als der Zielserver nur die URL des Anbieters sieht.

Quelle: www.wikipedia.de

Page 26: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 26 | S e i t e

2.5 Was ist eine Firewall?

Eine Firewall ist ein Konzept zur Sicherung eines Netzwerkes mittels Hard- und Softwaretechnologie. Firewalls bestehen daher in der Regel aus mehreren Komponenten. Durch Einsatz einer Firewall werden die Sicherheitsinstrumente auf einen zentralen Punkt konzentriert. Meistens werden Firewalls eingesetzt um private von öffentlichen Systemen zu trennen. Sie können aber auch eingesetzt werden, um Übergriffe aus anderen Teilnetzen eines Intranets zu verweigern bzw. zuzulassen.

2.5.1 Wer braucht eine Firewall?

Alle Unternehmen, ob Schule oder Betrieb, Regierung oder Privathaushalt, brauchen eine Firewall sofern sie ein vernetztes System gebrauchen. Dabei muss es noch nicht einmal Verbindung ins Internet haben, Wieso? Das lesen sie im nächsten Punkt. Heut zu tage kann man sagen, das eigentlich jeder eine Firewall braucht, selbst die jenigen, die meinen sie haben keine wichtigen oder geheimen Daten.

2.5.2 Was kann eine Firewall?

Wie ein Stadttor alle Angriffe auf einen stark gesicherten Punkt bündelt, an dem man den Großteil seiner Kräfte konzentriert, so stellt auch die Firewall eine Möglichkeit dar, Angriffe an einer definierten Stelle abzufangen.

Besitzt man nur einen Rechner, mit dem man Dienste im Internet nutzt, so kommt man nicht umhin, ihn so zu konfigurieren, dass er keine Schwachstellen aufweist, die ein Angreifer ausnutzen kann, um unberechtigt Zugang zu ihm zu erlangen. Besitzt man aber hundert Rechner, so wird es schwierig, alle immer auf dem neuesten Stand zu halten, Patches gegen Sicherheitslücken einzuspielen und immer darauf zu achten, dass keine unsicheren Dienste auf ihnen installiert sind. Ehe man sich versieht, hat schon ein Benutzer eine Freigabe auf Laufwerk C erstellt, deren Passwort nicht vorhanden oder leicht zu erraten ist. Oder es richtet sich eine .rhosts Datei ein, die den Zugang ohne Passwort von einem Rechner im Internet erlaubt. Werden die Rechner gar von verschiedenen Personen administriert, so kann man darauf wetten, dass die einzelnen Rechner unterschiedlich sicher konfiguriert sind.

In so einem Fall kann man die Sicherheit des Systems verbessern, indem man an zentraler Stelle dafür sorgt, dass Angriffe abgefangen werden, bevor sie ein möglicherweise gefährdetes System erreichen. So reduziert man die

Page 27: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 27 | S e i t e

Angriffspunkte von 100 auf einen und kann für dieses System eine hieb und stichfeste Konfiguration entwickeln.

Eine Firewall untersucht den Datenverkehr und lässt nur die Datenzugriffe zu, die vorher definierten Regeln genügen. So ist es z.B. üblich, Anfragen von Rechnern im lokalen Netz an Rechner im Internet zu erlauben, nicht aber umgekehrt. D.h., wenn ein Rechner im lokalen Netz z.B. eine Webseite von einem Server im Internet anfordert, so wird die Antwort (die Webseite) von der Firewall entgegengenommen und in das lokale Netz weitergeleitet. Pakete von Rechnern im Internet werden aber nicht durchgelassen, wenn sie nicht zuvor explizit von einem Rechner im lokalen Netz angefordert wurden. Schon diese Regel verhindert, dass ein Angreifer auf möglicherweise schlecht gesicherte Dienste von Rechnern im lokalen Netz zugreift.

Auch kann man definieren, dass ein Benutzer auf bestimmte Dienste zugreifen darf, auf andere aber nicht. So kann man z.B. verhindern, dass er aus Unkenntnis Protokolle benutzt, bei denen das Passwort im Klartext übertragen wird.

Wird auf Webserver zugegriffen, bieten einige Firewalls auch die Möglichkeit, unerwünschte Inhalte zu filtern. So kann man z.B. das Laden von Werbebannern unterdrücken, aktive Inhalte aus Webseiten beim Herunterladen entfernen und das Senden von Cookies verhindern.

Kommt es zu verdächtigen Zugriffen auf die eigenen Rechner, so bietet eine Firewall die Möglichkeit, diese zu protokollieren und für eine spätere Auswertung zu speichern. Ohne eine Firewall könnte dies nur auf den Zielsystemen geschehen und würde bedeuten, entweder auf jedem Rechner eigene Auswertungen durchzuführen oder eine Zusätzliche Software zu installieren, die die Systemprotokolle aller Rechner an einer zentralen Stelle zusammenführt. Hinzu kommt, dass nicht alle Betriebssysteme die gleichen Protokollierungs-möglichkeiten besitzen. Auch sind die einzelnen Protokollierungsmechanismen untereinander nicht immer kompatibel.

Auch zur Verringerung der Netz last kann eine Firewall eingesetzt werden. Laufen alle Zugriffe über einen zentralen Rechner, so bietet es sich an, an dieser Stelle einen Mechanismus zu installieren, der es erlaubt, häufig heruntergeladene Inhalte zwischenzuspeichern (Cachen der Proxy). Fordern dann mehrere Benutzer z.B. dieselbe Webseite an, so braucht diese nur für den ersten von ihnen tatsächlich aus dem Internet heruntergeladen zu werden.

Page 28: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 28 | S e i t e

Alle weiteren Nachfragen werden aus dem Zwischenspeicher bedient. Dies macht den Zugriff zwar nicht zwangsläufig sicherer, kann aber die Netz last um 4060 Prozent verringern.

Schließlich kann man auch noch kompliziertere Strukturen aufsetzen. Wie mittelalterliche Burgen mehrere Burghöfe besaßen, die ein Angreifer überwinden musste, bevor er vor dem eigentlichen Wohnhaus des Hausherrn anlangte, so kann auch eine Firewall-Architektur aus mehreren Netzen mit unterschiedlichem Schutzbedarf bestehen. So sind Server, die aus dem Internet zugreifbar sein sollen, einem deutlich höheren Risiko durch Angriffe ausgesetzt und könnten bei einer Kompromittierung als

Ausgangsbasis für weitere Angriffe gegen das lokale Netz genutzt werden. Bringt man diese aber in einem eigenen Netz unter, einer so genannten „Demilitarized Zone“ oder kurz DMZ, so verhindert man, dass ein erfolgreicher Angriff auf einen öffentlichen Server dem Angreifer den Zugriff auf die Arbeitsplatzrechner erleichtert. Quelle: Projektarbeit Firewall 2005

2.5.3 Was kann eine Firewall nicht?

Obwohl eine Firewall ein wichtiges Werkzeug ist, um die Sicherheit eines Rechners zu erhöhen, so ist sie doch nicht das eine Werkzeug, das ganz allein alle Probleme beseitigt. Eine Firewall ist nur ein Baustein in einer ganzen Reihe von technischen und organisatorischen Maßnahmen, die nötig sind, wenn man einen brauchbaren Schutz von Systemen erreichen will.

Eine Firewall wird z.B. nicht vor Angriffen schützen, die aus dem eigenen Netz heraus ausgeführt werden. Eine gängige Faustregel besagt, dass 80% aller computergestützten Delikte von Insidern begangen werden. Wenn sich eigene Anwender dazu entschließen, Angriffe auf die eigenen Server durchzuführen, Daten zu löschen oder fremde Dateien auszuspionieren, so ist selbst die beste Firewall absolut wirkungslos.

Dazu ist nicht einmal böser Wille nötig. Es reicht, dass ein Anwender Software herunterlädt oder von zu Hause mitbringt und auf einem der Rechner installiert. War diese mit Viren verseucht oder handelt es sich um einen Trojaner, so kann man unwissentlich großen Schaden anrichten. Auch ein Laptop ohne installierten Virenschutz, der von zu Hause mitgebracht wird, kann zu einer Verseuchung des ganzen Netzes führen.

Page 29: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 29 | S e i t e

Auch kann eine Firewall keinen Netzverkehr kontrollieren, der nicht über sie geleitet wird. In größeren Netzen kann es durchaus schon einmal vorkommen, dass Angestellte, die mit dem gebotenen InternetZugang unzufrieden sind, ein eigenes Modem an ihren Computer anschließen. Damit umgehen sie natürlich alle Schutzmaßnahmen, die in der Firewall realisiert werden.

Um solchen Risiken zu begegnen, sind technische Maßnahmen weitgehend wirkungslos. Hier hilft einzig, organisatorische Regeln, POLICIES genannt, aufzustellen, die den Umgang des Benutzers mit den von einem selbst betreuten System regeln. Darüber hinaus ist es auch nötig, Aufklärungskampagnen durchzuführen, die diese Regeln allgemein bekannt machen, und im schlimmsten Fall auch durch disziplinarische Maßnahmen Geltung zu verschaffen.

Bietet man Dienste wie Web und Mailserver an, auf die aus dem Internet zugegriffen werden kann, so besteht darüber hinaus das Risiko, dass die Programme, die diese Dienste realisieren, fehlerhaft programmiert sind. Der Hauptteil der Schutzwirkung einer Firewall basiert ja darauf, den Zugriff auf Dienste zu verhindern. Hier aber ist genau dies erwünscht. Wenn also ein Zugriff auf einen Webserver dazu führt, dass der

gesamte Rechner, auf dem der Dienst läuft, danach unter der Kontrolle eines Angreifers steht, so ist dieser Vorgang für eine Firewall in der Regel nicht von einem normalen lesen von Webseiten zu unterscheiden.

Die Firewall kann hier nur dagegen schützen, dass auf Dienste zugegriffen wird, die nicht öffentlich zugänglich sein sollen. Haben wir z.B. einen Webserver, der zusätzlich noch ein File-Server ist, so kann eine Firewall verhindern, dass aus dem Internet auf die freigegebenen Dateien zugegriffen wird, sie kann aber nicht vor allen Angriffen auf den Webserver schützen. Dies ist der Grund, warum die öffentlichen Server oft in einem eigenen Netz (DMZ) zwar durch eine Firewall geschützt werden, dass lokale Netz aber noch einmal durch eine weitere Firewall abgetrennt ist. Man geht davon aus, dass eine Kompromittierung der Server grundsätzlich eine realistische Möglichkeit darstellt, weswegen man die Rechner im lokalen Netz nicht nur vor dem Internet, sondern auch von den eigenen öffentlichen Servern schützen muss.

Quelle: Projektarbeit Firewall 2005

Page 30: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 30 | S e i t e

2.5.4 Firewall Umgebungen

Eine Firewall, die nicht nur sich selbst schützt, sondern auch gleichzeitig als Router fungiert, wird als dual homed host bezeichnet, also ein Host, der in zwei Netzen zuhause ist. Mit dieser Technik ist es möglich, verschiedene Sicherheitsstufen zu realisieren, je nach Anforderung des zu schützenden Netzes. Im Folgenden haben wir die beiden wichtigsten Modelle dargestellt, die Bastion-Host-Firewall und die Demilitarisierte Zone (DMZ).

2.5.5 Die Bastions-Host-Firewall

Die einfachste aber auch unsicherste Form einer routenden Firewall ist die Bastion-Host-Firewall. Sie besteht grundsätzlich aus einem Rechner, der als dual homed host zwischen dem zu schützenden Netz auf der einen Seite und dem unsicheren Netz (Internet) auf der anderen Seite platziert ist. Dieser Rechner routet Pakete von einem Netz ins andere. Jedes Paket, das durch diesen Rechner geroutet werden soll, muss die drei Regelketten der Firewall durchlaufen. Der Begriff Bastion stammt aus dem Militärischen, er kann aber auch wirklich so verstanden werden. Eine Bastion ist eine Verteidigungseinrichtung, wenn sie fällt, dann gibt es keinen Schutz mehr. Diese Analogie können wir so ins Computernetz übernehmen. Wenn die Bastion-Host-Firewall geknackt werden würde, dann läge das gesamte Netz schutzlos da, der Angreifer, der die Firewall überwunden hätte, kann im LAN tun und lassen, was er will. Trotzdem ist dieses Modell für die meisten kleinen Netze völlig ausreichend, wenn das zu schützende Netz nicht in großem Maß selbst Dienste im Internet anbieten soll.

Abbildung 11: Bastion-Host-Firewall

Page 31: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 31 | S e i t e

2.5.6 Die Demilitarisierte Zone (DMZ)

Erheblich sicherer für große Netze ist das Modell der demilitarisierten Zone. Dieses Modell trennt das zu schützende Netz und das öffentlich zugängige Netz nochmal auf und arbeitet folgerichtig mit zwei Firewall-Rechnern. Das lokale Netz, das die eigentlichen Arbeitsplätze verbindet, ist weiterhin das zu schützende Netz. Zwischen diesem lokalen Netz und der bösen großen weiten Welt des Internet liegt jetzt aber noch ein Netz, die demilitarisierte Zone. Wir haben zwei Firewall-Rechner, einmal der Bastion-Host, der das Internet mit der DMZ verbindet, und zum zweiten noch eine Firewall. Sie verbindet das zu schützende Netz mit der DMZ. Innerhalb der DMZ stehen jetzt die Rechner, die von außerhalb zugänglich sein sollen. Also etwa ein Webserver wie in unserem Projekt. Diese Form der Firewall ist natürlich deutlich schwieriger zu verwirklichen, dafür aber auch wesentlich sicherer. Es existiert kein einziger Knackpunkt mehr, an dem alleine alle Sicherheit hängt. Der Ausfall bzw. die Eroberung eines Elements alleine führt noch nicht zur Unsicherheit des zu schützenden Netzes.

Abbildung 12: Demilitarisierte Zone (DMZ)

Page 32: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 32 | S e i t e

2.6 Grundbegriffe Netzwerk 2.6.1 TCP

TCP, das Transmission Control Protocol, wird in RFC 793 (Requests for Comments) beschrieben und benutzt IP, um Pakete zwischen Anwendungen zu transportieren und sicherzustellen, dass definierte Paketfolgen in der richtigen Reihenfolge beim Empfänger eintreffen, ohne dass Pakete doppelt gesendet oder ausgelassen werden. Der Sinn einer Adressierung von Anwendungen wird klar, wenn man sich vergegenwärtigt, dass auf einem Rechner verschiedene Serverdienste gleichzeitig aktiv sein können. Ohne ein Konzept, wie man diese adressieren kann, müsste jeder Dienst jedes Paket entgegennehmen und dann entscheiden, ob es für ihn bestimmt ist. TCP führt hierzu das Konzept der Portnummern ein. Sowohl Senderprozeß als auch Empfängerprozeß reservieren sich beim Betriebssystem eine Portnummer. Auf diese Weise können sowohl die Anfragen zugestellt als auch die Antworten an den Absender zurück befördert werden, da die Angabe von Serveradresse, Serverportnummer, Clientenadresse und Clientenportnummer eine Verbindung eindeutig beschreibt. Auch wenn ein Server auf demselben Port Anfragen von diversen Clientenprogrammen entgegennimmt, von denen einige vielleicht sogar denselben Rechner benutzen (wenn z.B. gleichzeitig Klienten verschiedener Hersteller eingesetzt werden), kann die Antwort immer eindeutig zugestellt werden (weil z.B. ein Klient Port 1024 zugewiesen bekam, während der andere Port 1025 benutzt). TCP-Portbereiche von bis Beschreibung

0 1023 Diese >>allgemein bekannten<< (>>wellknown<<) Ports liegen in dem Bereich, den die meisten Systeme für privilegierte Prozesse vorgesehen haben. Die Internet Assigned Numbers Authority (IANA) kontrolliert die Abbildung von Servicenamen auf Portnummern in diesem Bereich.

1024 49151 Diese >>registrierten<< Portnummern liegen in einem Be-reich, der bei den meisten Systemen von normalen Benutzerprozessen verwendet werden darf. Die IANA pflegt die Abbildung registrierter Servicenamen auf Portnummern in diesem Bereich, übt aber keine Kontrolle über die Zuweisung aus.

49152 65535 Die >>dynamischen<< oder >>privaten<< Portnummern, die nicht der Kontrolle oder Registrierung durch die IANA unterliegen.

Page 33: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 33 | S e i t e

2.6.2 UDP

UDP, das User Datagramm Protocol, wird in RFC 768 beschrieben. Beim ihm handelt es sich um den >>kleinen Bruder<< von TCP. Auch hier werden Anwendungen über Ports adressiert. Die weitergehende Verbindungslogik von TCP mit seinen Folgenummern und Bestätigungen fehlt dagegen. Bei UDP werden einzelne Pakete, sogenannte Datagramme, abgeschickt in der Hoffnung, der Empfänger möge sie irgendwann irgendwie erhalten. Diese Art von Protokollen wird in der Fachwelt oft auch als >>Send and Pray<< bezeichnet. Nun sollte man aber nicht den Fehler begehen, UDP für antiquiert und obsolet zu erachten. Tatsächlich gibt es eine Reihe von Anwendungen, bei denen UDP deutliche Vorteile gegenüber dem verbindungsorientierten TCP aufweist. Dies ist insbesondere im MultimediaBereich der Fall. Wenn Töne oder Filme in Echtzeit über das Netz übertragen werden sollen, stellt sich der Verwaltungsaufwand von TCP als spürbarer Nachteil heraus. Gehen z.B. bei einer Musikübertragung über das Internet einige wenige Pakete verloren, so können heutige Fehlerkorrekturverfahren die fehlenden Informationen genau genug aus den vorangegangenen Daten >>schätzen<<, dass es dem Hörer nicht auffällt. Ein Warten auf das erneute Senden von Daten würde zu Pausen führen und den Hörgenuss empfindlich beeinträchtigen. Andere Anwendungen von UDP betreffen Fälle, in denen eine Anfrage und die dazugehörige Antwort in ein Paket passen, womit die drei Pakete für den Verbindungsaufbau zu einem spürbaren Overhead werden. Dies war z.B. der Grund, warum DNS für kleinere Anfragen, die den Großteil der Fälle im normalen Betrieb ausmachen, UDP statt TCP benutzt. Schließlich existieren noch Fälle, in denen zwar Informationen verschickt werden, jedoch keine Antwort erwartet wird. Hier wird z.T. nicht gewünscht, dass zusätzliche Systemlast erzeugt wird, indem auf eine Empfangsbestätigung gewartet wird, die die sendende Anwendung nicht interessiert. Ein Beispiel hierfür ist das Schreiben von Systemprotokollen über das Netzwerk. Hier werden Fehler und Statusmeldungen statt sie in die lokale Protokolldatei zu schreiben, über das Netz an einen dedizierten Protokollierungsrechner geschickt. Das dabei verwendete Syslog-Protokoll sendet UDP-Pakete an Port 514 des Protokollierungsrechners, ohne dass jemals eine Antwort erfolgt.

Page 34: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 34 | S e i t e

2.6.3 Gängige TCP- UDP-Portnummern

Port Name UDP TCP Beschreibung 7 echo Echo Protocol (RFC 862) 9 discard Discard Protocol (RFC 863) 13 daytime Daytime Protocol (RFC 867) 19 chargen Character Generator Protocol (RFC

864) 20 ftpdata File Transfer Protocol (Data Stream) 21 ftp File Transfer Protocol (Control

Stream) 22 ssh Secure Shell 23 telnet Telnet Protocol (RFC854) 25 smtp Simple Mail Transfer Protocol (SMTP) 37 time,

timeserver Time Protocol (RFC 868)

53 domain Domain Name Service (DNS) 67 bootps BOOTPServer 68 bootpc BOOTPClient 69 tftp Trivial File Transfer Protocol (TFTP) 80 http Hypertext Transfer Protocol (HTTP) 109 pop2 Post Office Protocol (POP), Version 2 110 pop3 Post Office Protocol (POP), Version 3 111 sunrpc,

portmapper RPC Port Mapper (RFC 1050)

119 nntp Network News Transfer Protocol (NNTP)

123 ntp Network Time Protocol (NTP) 135 epmap Microsoft: DHCPManager,

WINSReplikation, ExchangeAdministrator, RPC für Exchange

137 netbios-ns Microsoft: Browsing, WINSReplikation 138 netbios-ns Microsoft: Browsing,

DirectoryReplikation 139 NetBIOS-dgm Microsoft: Filesharing (CIFS/SMB) und

PrintService, DirectoryReplikation, Event Viewer, Logon Sequence, Performance Monitor

Page 35: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 35 | S e i t e

Port Name UDP TCP Beschreibung 143 imap Internet Mail Access Protocol (IMAP) 161 snmp Simple Network Management Protocol

(SNMP) 179 bgp Border Gateway Protocol (BGP) 194 irc Internet Relay Chat (IRC) 389 ldap Lightweight Directory Access Protocol

(LDAP) 443 https HTTP über SSL 515 printer Unix PrintSpooler 563 nntps NNTP über SSL 631 ipp Internet Printing Protocol (IPP) 636 ldaps LDAP über SSL 873 rsync Rsync (siehe http://rsync.samba.org) 993 imaps IMAP über SSL 995 pop3s POP Version 3 über SSL 1494 Microsoft: ICA (CITRIX) 2094 nfs, nfsd Network File System (NFS) 3389 Microsoft: RDP (Remote Desktop Protocol)

Page 36: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 36 | S e i t e

2.6.4 NAT

Die Abkürzung NAT bedeutet Network Adress Translation. Wie der Name schon sagt, werden hier offenbar Adressen übersetzt. das bedeutet im Klartext folgendes: Gewöhnlich werden die Netzwerkpakete ja von ihrer Quelle über verschiedene Links zu ihrem Ziel geleitet, dabei wird das Paket im eigentlichen Sinne nicht verändert. Würde nun einer dieser Links NAT verwenden, dann würde er die Quelle oder das Ziel (Senderoder Empfänger IP) dieses Paketes verändern, wenn es an diesem Link eintrifft. Wie man sich nun leicht denken kann wurde das System nicht dafür entworfen so zu arbeiten. Sondern es ist folgendermaßen gedacht. Gewöhnlich wird sich der Link, der NAT verwendet, daran erinnern wie er das Paket verändert hat und wenn ein Antwortpaket aus der anderen Richtung kommt, wird er genau das Umgekehrte darauf anwenden. Im Normalfall ist es ja so, die meisten Internetanbieter vergeben an jeden der sich ins Internet einwählen möchte eine einzelne IP-Adresse. Nun ist es ja möglich, Pakete mit welcher Quelladresse auch immer zu verschicken, aber nur Pakete mit dieser Antwortadresse werden zu einem zurückgesendet. Stellen wir uns nun vor wir haben ein Heimnetzwerk, aber nur ein Rechner verfügt über einen Internetanschluss (wir haben nur eine IP-Adresse), aber wir wollen über alle Rechner auf das Internet zugreifen können. Um dies zu realisieren benötigt man NAT, denn damit ist es möglich das Ziel von eintreffenden Paketen im Netzwerk zu verändern. Damit wird also die Möglichkeit eröffnet von außen die Rechner die hinter dieser einen IP-Adresse stehen zu erreichen. So kann man also ein LAN mit lokal eindeutigen IP-Adressen durch NAT mit einer einzigen globalen IP-Adresse im Internet repräsentieren. Es bildet also eine .Schnittstelle. zwischen dem lokalen und dem globalen Netz. Das Protokoll wird also zum routen (weiterleiten) von Paketen zwischen lokalen und globalen Netzen genutzt. Damit sollten die Grundlagen von NAT, sowie die vielfältigen und unterschiedlichen Kommunikationsarten zwischen Rechnern ausreichend erläutert worden sein. Quelle: www-rnks.informatik.tu-cottbus.de

Page 37: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 37 | S e i t e

2.7 Iptables

2.7.1 Der Grundgedanke

Der Grundgedanke für die heutige Version von Iptables, die ab der Kernel-Version 2.4 standardmäßig mitgeliefert wird, basiert auf dem Projekt „Netfilters/Iptabels“ was 1998 von Rusty Russell in Leben gerufen wurde. Iptables stellt ein tabellen-basiertes System zur Definition von Firewall-Regeln auf, die die Filterung oder Manipulation ermöglichen. Die Filterung und/oder Manipulation erfolgt über so Chains(Ketten) und Rules (Regeln). Pakete werden durch sequenzielles Abarbeiten von Regeln innerhalb einer Kette weitergereicht. Eine Regel kann einen Sprung (goto) oder einen Aufruf (jump) in eine andere Kette erwirken, und dies kann mehrfach verschachtelt werden. (Bei einem Aufruf wird der Ursprung des Sprungs für eine spätere Rückkehr vermerkt.) Jedes Netzwerkpaket, das den Computer erreicht oder diesen verlässt, durchläuft mindestens eine Kette. Der Ursprung des Pakets bestimmt, in welcher Kette die Abarbeitung beginnt. Es gibt fünf vordefinierte Ketten, auch wenn eine Tabelle nicht unbedingt alle Ketten haben muss. Vordefinierte Ketten haben eine Policy, z. B. DROP (Paket verwerfen), die greift, wenn ein Paket das Ende der Kette erreicht hat (also ohne auf eine Regel gepasst zu haben). Es können weitere benutzerdefinierte Ketten angelegt werden, jedoch haben diese keine Policy, trifft ein Paket auf deren Ende, geht die Abarbeitung in der Kette weiter, die ursprünglich den Sprung ausgelöst hat. Leere Ketten sind zulässig.

"PREROUTING": Pakete landen in dieser Kette bevor eine Routing-Entscheidung getroffen wird.

"INPUT": Paket wird lokal zugestellt. (N. B.: Dies hat wenig mit Prozessen zu tun. Lokale Zustellung wird durch die local-Routingtabelle kontrolliert: `ip route show table local`.)

"FORWARD": Alle Pakete, die geroutet und nicht lokal zugestellt wurden, passieren durch diese Kette.

"OUTPUT": Pakete, die vom eigenen Computer erzeugt wurden, tauchen hier auf.

Page 38: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 38 | S e i t e

"POSTROUTING": Routing-Entscheidung wurde getroffen. Pakete laufen hier nochmals durch, kurz bevor sie an die Hardware abgegeben werden.

Jede Regel in einer Kette enthält Spezifikationen (matches), auf welche Pakete sie zutrifft. Regeln können außerdem ein Ziel (target, für Erweiterungen) bzw. Urteil (verdict) enthalten. Mit dem Durchlaufen eines Paketes durch eine Kette werden Regeln nacheinander geprüft. Falls eine Regel auf das Paket nicht zutrifft, wird zur nächsten Regel übergegangen. Trifft sie hingegen zu, wird die mit Ziel/Urteil gelistet Aktion durchgeführt, welche darin resultieren kann, dass das Paket weiter durch die Kette läuft oder nicht. Spezifikationen stellen den größten Teil von Regelwerken dar, da sie die Bedingungen enthalten, auf die ein Paket getestet wird.

Ein Paket wird in einer Kette befördert bis entweder eine Regel auf das Paket zutrifft und ein endgültiges Urteil für das Paket gefällt wird (z. B. mittels ACCEPT oder DROP), oder bis eine Regel als Urteil RETURN enthält (wodurch es in der übergeordneten Kette wieder weitergeht) oder bis das Ende der Kette erreicht wird.

2.7.1.1 Policies Jeder StandardChain im Table filter kann eine Grundregel mitgegeben werden, die Anwendung findet, wenn keine andere Regel greift. Dies nennt man eine Policy. Für iptables existieren die Policies: ACCEPT Das Paket darf passieren. DROP Das Paket wird verworfen. Selbstdefinierte Chains besitzen keine Policies. Ist keine der Regeln der Chain anwendbar, so wird die nächste Regel derjenigen Chain untersucht, aus der in die selbstdefinierte Chain verzweigt wurde. Für das Einrichten einer Firewall erscheint die Policy ACCEPT nur in Sonderfällen sinnvoll. Üblicherweise wählt man beim Einrichten von Firewalls DROP nach dem Grundsatz:>>Was nicht erlaubt ist, ist verboten.<< Die Syntax für das Erstellen einer Policy lautet: iptables –P <Chain> <Policy>

Page 39: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 39 | S e i t e

2.7.1.2 Regeln Eine Regel besteht aus Mustern und Aktionen. Die Muster legen fest, auf welche Pakete die Regel anzuwenden ist, und die Aktion definiert, was mit Paketen geschieht, wenn das Muster passt. Verwaltet werden die Regeln mit den folgenden Befehlen:

iptables [-t Table] - A chain Muster Aktion iptables [-t Table] - I chain pos Muster Aktion iptables [-t Table] - R chain pos Muster Aktion iptables [-t Table] - D chain Muster Aktion iptables [-t Table] - D chain pos Dabei gilt: - A Hängt eine Regel hinten an eine Chain an (append). - I fügt eine Regel an einer Position pos ein (insert). Ist pos ausgelassen, so

wird die Regel als erste eingefügt. Die Nummerierung der Regel beginnt mit 1.

- R ersetzt die Regel an Position pos (replace). - D löscht eine Regel, die entweder über ihre Position pos oder ihre genaue

Definition spezifiziert wurde (delete).

2.7.1.3 Tables

Bisher sind drei Tables definiert worden. Das Konzept ist aber auf Erweiterbarkeit ausgelegt, so dass weitere hinzukommen können. Auch hängt das Vorhandensein der Tables davon ab, wie der Kernel kompiliert wurde und welche Module geladen sind. filter Dieser Table ist auch die Standardvorgabe, wenn kein Table

angegeben wurde. Hier werden in den Chains INPUT, FORWARD und OUTPUT Regeln vorgegeben, die die Filterung von Paketen betreffen.

nat Dieser Table enthält in den Chains PREROUTING, OUTPUT und

POSTROUTING die Regeln zur Manipulation von Quell und Zieladressen sowie Ports.

Mangle Spezielle Manipulationen an Paketen.

Page 40: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 40 | S e i t e

2.7.1.4 Muster

iptables ist auf Erweiterbarkeit ausgelegt. Nur wenige seiner Muster sind immer verfügbar. Weitere Muster können bei Bedarf hinzu geladen werden. Dies ist allerdings nur möglich, wenn Unterstützung für diese Erweiterungen als Modul oder Bestandteil des Kernels kompiliert wurde. Wir wollen hier nur einen Blick auf die wichtigsten Muster werfen.

2.7.1.5 Standardmuster

Die folgenden Muster gehören zum Standardumfang. Jedes Muster kennt die Möglichkeit, mit >>!<< die Bedeutung des Musters in sein Gegenteil zu verkehren: - p [!] Protokoll bezeichnet das verwendete Protokoll (tcp, udp, icmp oder eine nummerische Angabe). - s [!] Adresse[/Maske] bezeichnet die Quelladresse (source). Als Maske kann

entweder die Anzahl der zu betrachtenden Bits oder eine Maske angegeben werden. w.x.y.z/24 entspricht damit w.x.y.z/255.255.255.0

- d [!] Adresse[/Maske] bezeichnet die Zieladresse. - i [!] interface[+] bezeichnet ein Interface,über das ein Paket empfangen wurde.

Dabei ist es möglich, mit >>+<< alle Interfaces zu adressieren, die mit dem richtigen Namen anfangen. So würde - i eth+ sowohl auf eth0 als auch eth1 passen. Dieses Muster kann nur in INPUT-, FORWARD- und PREROUTING-Chains verwendet werden.

- o [!] interface[+] bezeichnet das Interface, über das das Paket gesendet werden

wird. Dieses Muster kann nur in OUTPUT-, FORWARD- und POSTROUTING-Chains verwendet werden.

[!] - f spezifiziert Folgefragmente. Diese enthalten weder einen Quell- oder

Zielport noch einen ICMP- Typ. Die normalen Regeln werden daher normalerweise nicht auf Folgefragmente passen. Wenn Sie allerdings Network Address Translation oder Connection Tracking benutzen, brauchen Sie sich keine Gedanken um Fragmente zu machen. In diesen Fällen werden Pakete sowieso zusammengefügt, bevor die Paketfilterregeln angewendet werden.

Page 41: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 41 | S e i t e

2.7.1.6 Aktionen Ist ein Muster spezifiziert, gilt es, eine Aktion festzulegen, die von ihm ausgelöst werden soll. Dies geschieht mit: - j Target [Optionen] Target kann hierbei u. a. eine der oben benannten Policies (ACCEPT, DROP) oder eine benutzerdefinierte Chain sein. Darüber hinaus existieren noch spezielle Targets, von denen hier nur die wichtigsten beschrieben werden sollen. RETURN Das Paket >> fällt aus der Chain <<. D.h., es wird an die

vorhergehende Chain zurückgereicht. Ist dies nicht möglich, weil es sich um die Regel einer Standard-Chain handelt, so tritt die Policy der Chain in Kraft.

LOG Das Paket wird im Systemprotokoll vermerkt. Dieses Target kennt

mehrere Optionen, die die Protokollierung beeinflussen: - - log-level Level gibt die Priorität der Meldung an. - - log-prefix Prefix bezeichnet ein Präfix von bis zu 14 Zeichen, das der

Protokollmeldung vorangestellt wird. - - log-tcp-sequence bewirkt die Protokollierung der TCPFolgenummer.

Dies kann ein Sicherheitsrisiko sein, wenn normale Benutzer das Systemprotokoll lesen können.

- - log-tcp-options protokolliert die Optionen im TCP-Header. - - log-ip options protokolliert die Optionen im TCP-Header.

Page 42: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 42 | S e i t e

2.7.1.7 REJECT

Das Paket wird verworfen, und es wird eine ICMP- Fehlermeldung an den Sender geschickt. Dieses Target kann nur im Table filter verwendet werden. - -reject-with Typ gibt die Fehlermeldung an, die gesendet wird. Möglich sind:

icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unreachable,icmp-net-prohibited oder icmp-host-prohibited. Ohne diese Option wird icmp-port-unreachable verwendet. Als Reaktion auf ein Ping-Paket kann auch echo-reply verwendet werden. Für TCP-Pakete kann in der Chain INPUT oder einer eigenen Chain, in die aus INPUT verzweigt wurde, auch tcp-reset verwendet werden, wodurch ein TCP-Paket mit gesetztem RST-Flag gesendet wird.

2.7.1.8 SNAT

Dieses Target legt fest, dass das Paket weitergeleitet, die Quelladresse aber verändert wird. Dies geschieht nicht nur für das Paket selbst, sondern auch für alle nachfolgenden Pakete derselben Verbindung. Das Target kann nur in der POSTROUTING- Chain des Tables nat und Chains, in die aus dieser verzweigt wurde, verwendet werden. - -to-source Addr[Addr][:PortPort] legt fest, welche Quelladresse im Paket

eingetragen werden soll. Hier kann auch ein Adressbereich angegeben werden.

Unter Umständen ist es auch nötig, den Quellport des Pakets zu ändern. Wenn die Regel der Protokollangabe - p tcp oder - p udp enthält, kann hierzu ein Portbereich angegeben werden, andernfalls wird darauf geachtet, dass für Pakete, deren Quellport in einem der Bereiche 1511, 512-1023, 1023-65535 liegt, dieser jeweils durch einen Quellport aus demselben Bereich ersetzt wird. Wo immer möglich, wird die Portangabe nicht geändert.

Page 43: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 43 | S e i t e

2.7.1.9 DNAT

ist das Gegenstück zu SNAT, hier wird die Zieladresse verändert. Gültig ist das Target nur in den PREROUTING- und OUTPUT-Chains des Tables nat sowie in daraus angesprungenen Chains. - -to-destination Addr[Addr][:PortPort] Hier kann sowohl ein Bereich

Von Adressen wie auch Ports angegeben werden, aus denen eine neue Zielangabe generiert wird. Eine Portangabe ist dabei allerdings nur zulässig, wenn die Regel - p tcp oder - p udp enthält. Fehlt die Portangabe, so wird der Zielport nicht geändert.

2.7.1.10 MASQUERADE

Dieses Target legt fest, dass die Quelladresse des Pakets sowie nachfolgender Pakete derselben Verbindung in die Adresse des Interfaces geändert wird, über den es den Rechner verlässt. Wird der Zustand des Interfaces auf >>down<< geändert, so werden alle bestehenden Verbindungen >>vergessen<<. Dies ist insbesondere bei der Verwendung von dynamischen IP-Adressen sinnvoll. Beim nächsten aktivieren des Interfaces wird ihm hier vielleicht schon eine ganz andere Adresse zugewiesen. Das Target kann nur in Chains im Table nat verwendet werden. Hier auch nur in POSTROUTING sowie in Chains, in die aus POSTROUTING verzweigt wurde. Wenn in der Regel - p tcp oder - p udp spezifiziert wurde, kann die folgende Option verwendet werden: - -to-ports Port[Port] legt einen Portbereich fest, aus dem nötigenfalls ein Quellport gewählt wird.

>>Es gelten dieselben Regeln wie bei SNAT. <<

Page 44: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 44 | S e i t e

2.7.1.11 REDIRECT

Dieses Target entspricht DNAT. Allerdings wird die Zieladresse auf den Rechner selbst gesetzt. Auf diese Weise können z.B. Anfragen an Server im Internet auf einen Proxy auf der Firewall umgeleitet werden. Wenn in der Regel - p tcp oder - p udp spezifiziert wurde, kann die folgende Option verwendet werden: - -to-ports Port[Port] legt einen Bereich von Ports fest, aus denen ein Zielport für das Paket gewählt wird.

Page 45: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 45 | S e i t e

2.8 Firewall Builder 2.8.1 Was ist der Firewall Builder?

Firewall Builder (Fwbuilder) ist ein graphisches Konfigurationstool zum Erstellen und Verwalten von Firewall Konfigurationen. Administratoren verwalten Netzwerk Objekte wie beispielsweise Firewall-Rechner, Netzwerke, Hosts und Services. Per Drag & Drop können daraus Firewall-Policies erstellt und verändert werden. Die aktuellste Version für unser Projekt ist die Version 3.0.7. Damit werden über die verfügbaren so genannten Policy Compiler iptables, ipfilter, OpenBSD PF unterstützt. Die Policy Compiler übersetzen die Policies in ein für die Zielplattform verständliches Format. Mit einer zentralen Konfiguration können somit verschiedene Firewall-Typen verwaltet werden. Die Datenerhaltung erfolgt in einer XML-Datei.

2.8.2 Installation von Fwbuilder

Die Installation von Firewall Builder erfolgt unter CentOS per Repository.

Man erstellt unter dem Programmpfad /etc/yum.repos.d/ die Datei fwbuilder.repo mit folgendem Inhalt:

[fwbuilder] name=Firewall Builder failovermethod=priority baseurl=http://www.fwbuilder.org/rpm/stable/fedora-$releasever-$basearch enabled=1

[fwbuilder-testing] name=Firewall Builder Test Builds failovermethod=priority baseurl=http://www.fwbuilder.org/rpm/testing/fedora-$releasever-$basearch enabled=0

Alle Pakete in dem Repo sind mit einem GPG Key mit der ID EAEE08FE “Firewall Builder Projekt (Package Signing Key <[email protected]> signiert. Um die Integrität der Pakete in Repositories zu überprüfen, sollte man sich den öffentlichen Schlüssel herunterladen. Um dieses zu bewerkstelligen kann man folgenden Befehl unter Fedora/ CentOS benutzen:

wget http://www.fwbuilder.org/PACKAGE-GPG-KEY-fwbuilder.asc

Page 46: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 46 | S e i t e

rpm --import PACKAGE-GPG-KEY-fwbuilder.asc

Um die aktuellste stabilste Version zu installieren gibt man jetzt in die Konsole folgenden Befehl ein und folgt den Anweisungen:

yum install fwbuilder

2.8.3 Allgemeines (Legende)

Bevor wir aber mit der Erstellung einer Firewall beginnen, eine kurze Legende für hier verwendete Begriffe. Siehe dazu Abbildung 13:

Die graphische Oberfläche von Fwbuilder teilt sich in zwei Bereiche (vergl. Abbildung 12). Auf der linken Seite (C) finden wir die Objekte, die in Bibliotheken organisiert sind. Unterhalb der ObjektStruktur (D) finden wir abhängig von unseren Einstellungen Informationen zu dem ausgewählten Objekt. Auf der rechten Seite (B) stehen die Policies, die für die aktive Firewall definiert wurden. Über die Menüleiste (A) lassen sich z.B. Regeln einfügen, kompilieren, Objekte erstellen usw.

Abbildung 13: Fwbuilder Erklärung

C

A

B

D

Page 47: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 47 | S e i t e

Die Organisation von NetzwerkObjekten erfolgt in Bibliotheken. Wir können auf bereits vorhandene Objekte der StandardBibliothek zugreifen. Eigene Objekte definieren wir in der Bibliothek USER. Dieser Name kann noch verändert werden und darüber hinaus können noch weitere angelegt werden. Vor dem Erstellen von Regeln ist jedoch etwas Vorarbeit notwendig. Die mit gelieferten Bibliotheken definieren bereits eine Reihe von Objekten, die der Benutzer nutzen kann. Dabei sind vor allem die Objekte des Typs SERVICES sehr

hilfreich, denn sie definieren bereits die gängigsten Dienste, die ansonsten manuell erstellt werden müssten. Alle fehlenden Objekte (z.B. HostObjekte) müssen vor dem erstellen von Regeln definiert werden. Wie viel wir erfassen müssen hängt davon ab, wie fein die Regeln erstellt werden sollen und was wir aus den StandardBibliotheken bereits verwenden können.

2.8.4 Firewall konfigurieren

Bevor wir den Firewall-Builder das erste Mal starten, legen wir in /etc als künftiges Arbeitsverzeichnis für die Applikation das Directory /etc/firewall an. Dort sollen später die Konfigurationsdatei des Tools sowie die erstellten Firewall-Regeln lagern.

Abbildung 14: Firewall Builder 3.0.7

Page 48: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 48 | S e i t e

Wir starten den Firewall-Builder über 'Taskleiste‘ >>‘ Administration‘ >>‘ Firewall- Builder‘. Es öffnet sich die Firewall-Builder Oberfläche auf dem Desktop, mit einem vorgefertigten Template (Abbildung 10). Über die Systemleiste wählen wir „File >> New Object File“. Es öffnet sich ein neues Fenster (Abbildung 15). Dort wird der Name für die Konfiguration Datei Ihrer Firewall eingegeben mit der Endung .fwb und im XML Format dann gespeichert. Danach schließt sich dieses Fenster automatisch. Nun können Sie mit der eigentlichen Arbeit beginnen.

Abbildung 15: Auswahlfenster

Page 49: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 49 | S e i t e

2.8.5 Firewall-Objekt erstelle

Nachdem wir ermittelt haben, welche Objekte fehlen, können wir uns daran machen, diese zu erfassen. Da ein Firewall-Rechner auf jeden Fall noch angelegt werden muss, machen wir dieses zuerst. Wir markieren im Objekt-Baum den Ordner FIREWALLS und wählen über das Kontextmenü der rechten Maustaste den Punkt NEW FIREWALL aus. Beim Anlegen einer neuen Firewall geben wir dem Objekt zunächst einen Namen. Dabei sollte es sich um den Rechnernamen handeln. Dann legen wir fest, um welchen Firewall-Typen und welches Betriebssystem es sich handelt. Nun können wir noch auswählen, ob wir vorkonfigurierte Firewall-Objekte verwenden möchten. In diesem Fall bekommen wir eine Auswahl vordefinierter Firewall-Konfigurationen angezeigt (Abbildung 16).

Abbildung 16: Vordefinierte Firewall Konfigurationen

Page 50: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 50 | S e i t e

Ein Beispiel einer solchen Konfiguration ist ein Rechner mit zwei NetzwerkKarten, wobei das erste Interface mit dynamischer Adresse zum externen und die andere mit fester Adresse (192.168.1.1) zum internen Netzwerk gehören. Der ausgehende Netzwerkverkehr ist nicht beschränkt. Es werden aber nur Pakete rein gelassen, die zu einer existierenden Verbindung gehören. Nachdem wir ein Template ausgewählt haben, wird das neue Objekt in der Struktur angelegt und die für dieses Template hinterlegten Regeln in unsere Policies übernommen. Verwenden wir kein Template, müssen wir die NetzwerkKarten samt Adressen manuell anlegen. Anschließend haben wir die Möglichkeit, weitere Einstellungen zur Firewall und dem Betriebssystem vorzunehmen. Wenngleich die meisten Einstellung hier optional sind. Wenn wir ein Template verwendet haben, sind nun schon ein paar Regeln für unser Firewall-Objekt zu sehen. Diese bilden eine gute Ausgangsbasis. Falls wir jedoch ein internes Netzwerk nicht im Adressraum 192.168.1.x betreiben, müssen einerseits einige Regeln und auch die Konfiguration der NetzwerkKarte zum internen Netz verändert werden, denn die Templates basieren auf diesem AdressRaum. Es ist leider beim Auswählen der Templates nicht möglich, deren Voreinstellungen zu verändern.

2.8.6 Andere Objekte

Neben den bereits beschriebenen Firewall-Objekten gibt es noch zahlreiche andere ObjektTypen. So dienen Adressen-Objekte dazu, Adressen den Hostnamen zuzuordnen. Daneben dienen AdressBereiche dazu, das Netzwerk zu gruppieren, z.B. in ein Server und ein Workstation-Segment. GROUPS-Objekte dienen der logischen Zusammenfassung von Objekten. Falls wir verschiedene interne Netze betreiben, können wir die betreffenden NetzwerkObjekte zu einer logischen Gruppe zusammenfassen, um damit allgemein gültige Regeln für sie zu definieren. Die Lesbarkeit der Policies verbessert sich dadurch erheblich. Im Gegensatz zu AdressenObjekten beschreiben HostObjekte die betreffenden Computer etwas näher. Wie bei den Firewall-Objekten können wir aus Templates auswählen (Abbildung 17). Dabei handelt es sich um PCs mit einer oder zwei NetzwerkKarten oder Router. Die Adressen liegen wie bei dem Firewall-Objekt im 192.168.1.0er- bzw. im 192.168.2.0er- Netz und müssen manuell angepasst werden. Neben den Templates ist auch hier eine manuelle Erfassung möglich. Der Vorteil des HostObjektes liegt darin, dass man virtuelle Adressen an eine NetzwerkKarte hängen kann.

Page 51: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 51 | S e i t e

NetzwerkObjekte sind den AdressenObjekten sehr ähnlich. Hierbei werden allerdings die NetzwerkAdressen mit entsprechender Netzmaske definiert, beispielsweise 192.168.1.0/255.255.255.0. ServiceObjekte dienen zum Festlegen, wie NetzwerkPakete in den Regeln behandelt werden sollen. Hier können Objekte der Typen CUSTOM, GROUPS, ICMP, IP, TCP und UDP erfasst werden. Mit Hilfe der StandardObjekte lässt sich recht einfach feststellen, wie diese einzusetzen sind. Durch das Gruppieren lassen sich ServiceObjekte ebenfalls logisch zusammenfassen. Ein Beispiel aus der StandardBibliothek ist die Gruppe NETBIOS (Abbildung 18), die verschiedene UDP-Ports für Netbios zusammenfasst.

Abbildung 17: Firewall Templates

Page 52: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 52 | S e i t e

Abbildung 18: Gruppe NETBIOS

Als Letztes gibt es noch den ObjektTyp TIME (Abbildung 19). Mit diesen Objekten können wir Gültigkeitszeiträume in unseren Regeln bestimmen, beispielsweise, um bestimmte Dienste nur zu Bürozeiten zuzulassen.

Abbildung 19: Objekt TIME

Page 53: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 53 | S e i t e

2.8.7 Firewall –Policy erstellen

Nachdem wir uns in vorangegangenen Abschnitten mit dem Anlegen von Objekten beschäftigt haben, wollen wir uns jetzt mit dem Erstellen von Regeln befassen. Zunächst müssen wir die richtige Firewall aktivieren, falls mehrere vorhanden sein sollten. Rechts über den Regeln finden wir dazu eine Drop-Down-Box (Abbildung 20), die alle verfügbaren Firewall-Objekte enthält. Angezeigt wird zunächst das Formular namens POLICY (Abbildung 20), das die allgemeinen Regeln enthält.

Abbildung 20: Firewall-Policy erstellen

Daneben gibt es ein Formular für NAT-Regeln und eines für jedes Interface des Firewall Objektes. Im Normalfall werden die meisten Regeln im allgemeinen Teil erfasst, denn es sind meist nur wenige Interface bezogene Regeln notwendig. Der Grund dafür ist, dass die globalen Regeln für jedes Paket geprüft werden. Eine neue Regel erstellen wir, indem wir am linken Rand des Regel-Fensters bei der laufenden Nummer die rechte Maustaste drücken. Aus dem sich öffnenden Kontextmenü, wählen wir einfach INSERT RULE (Abbildung 21), um eine neue Regel vor der ausgewählten einzufügen.

Page 54: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 54 | S e i t e

Mit ADD RULE BELOW erzeugen wir eine neue Zeile unterhalb der ausgewählten. Mit Hilfe von REMOVE RULE löschen wir Regeln, die wir nicht mehr benötigen. Falls wir die Reihenfolge von Regeln beeinflussen wollen, wählen wir MOVE RULE aus dem Kontextmenü. COPY RULE kopiert die ausgewählte Zeile und CUT RULE schneidet sie aus. Mit PASTE RULE ABOVE und PASTE RULE BELOW könne wir vorher ausgeschnittene oder kopierte Regeln vor bzw. nach der gewählten Regel einfügen. Wählen wir den Punkt DISABLE RULE, wird die betreffende Regel beim Kompilieren nicht berücksichtigt. Der RegelNummer wird ein rotes X vorangestellt. Rufen wir das Kontextmenü auf einer deaktivierten Regel auf, lautet dieser Menüpunkt ENABLE RULE, womit die Regel wieder für das Kompilieren aktiviert wird. Die gleichen Optionen sind auch über die Menüzeile über den Punkt RULES erreichbar.

Das Kontextmenü, das über die rechte Maustaste auf einem Objekt erscheint, sieht etwas anders aus. Über EDIT bearbeiten wir die Einstellung zu diesem Objekt. Mit COPY kopieren wir das Objekt und mit CUT schneiden wir es aus und legen es in die Zwischenablage. PASTE fügt das Objekt aus der Zwischenablage an

Abbildung 21: Insert Rules

Page 55: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 55 | S e i t e

die aktuelle Stelle ein. Das Auswählen von NEGATE negiert das aktuelle Objekt. Das Icon des Objektes erhält ein rotes Kreuz. Mit INSERT RULE wurde nun eine leere Regel erzeugt, die alles verbietet. Als letzte Regel ist dies okay, aber wie bekommen wir nun vernünftige Regeln? Hier kommen nun die vorher angelegten und die StandardObjekte zum Einsatz. Sie werden per Drag & Drop aus den Bibliotheken in die Regeln gezogen. Als SOURCE und DESTINATION können alle Adress, Adressbereichs, Gruppen, Host und Netzwerk sowie Firewall-Objekte verwendet werden. Für SERVICE dementsprechend alle Objekte des Typs Service. Unter ACTION geben wir an, was geschehen soll, wenn die Regel zutrifft. Hier stehen Akzeptieren (ACCEPT), Verbieten (DENY) und Zurückweisen (REJECT) der getroffenen Pakete zur Auswahl. Verbotene Pakete werden stillschweigend verworfen, wohingegen für zurückgewiesene Pakete eine ICMP-Meldung zurückgegeben wird. Unter TIME können Objekte des gleichnamigen Typs verwendet werden. Über die OPTIONS-Spalte können wir beeinflussen, ob getroffene Pakete protokolliert werden sollen oder nicht. Die letzte Spalte dient der Erfassung eines Kommentares. In ihr sollte eine kurze Beschreibung der Regel erfasst werden, um später einen schnelleren Überblick zu bekommen. Der betreffende Inhalt wird auch in den generierten Code ausgegeben. Wollen wir ein Objekt von einer Regel entfernen, drücken wir einfach die ENTF-Taste oder wählen den entsprechenden Punkt aus dem Kontextmenü der rechten Maustaste.

2.8.8 Interface und NAT-Regeln

Der Aufbau der Tabellen für die Interfaces ähnelt der des Policy-Formulars. Der einzige Unterschied liegt darin, dass es eine zusätzliche Spalte DIRECTION gibt (Abbildung 22). Hier wird festgelegt, auf welche Richtung, eingehend (inbound), ausgehend (outbound) oder in beide Richtungen, sich die Regel bezieht. Somit können beispielsweise Regeln erstellt werden, die alle Pakete beim externen Interface abweisen, die eine Ursprungsadresse aus dem internen Netzwerk haben (Anti Spoofing Regeln). Über die Reiterkarte NAT (Abbildung 23)werden die Regeln für die Adress- Umsetzung getroffen, um beispielsweise eingehende Anfragen für Port 80 auf einen Webserver in der DMZ umzuleiten. Der Aufbau der Tabellen unterscheidet sich deutlich von denen der anderen. Hier wird festgelegt, wie die ursprünglichen Quell und ZielAdressen sowie Services umgeschrieben werden sollen. Beispielsweise, um alle Adressen aus dem internen Netzwerk mit der Adresse des externen Interfaces zu versehen. Bei allen Regeln können wir statt der bereits oben erwähnten HauptObjekte auch die InterfaceObjekte von Host und Firewall-Rechnern verwenden.

Page 56: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 56 | S e i t e

Abbildung 22: zusätzliche Spalte DIRECTION

Abbildung 23: Reiterkarte NAT

Page 57: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 57 | S e i t e

2.8.9 Übersetzung der Policies ( Compilieren)

Jede Firewall verfügt, wie bereits oben erläutert, über eine globale Policy, eine für jedes Interface und eine NAT-Policy. Dabei gelten globale Regeln wie beschrieben für jedes Paket, das über die Firewall übertragen wird. Das ist unabhängig davon, über welches Interface sie ein oder ausgehen. Beim Übersetzen der Regeln für die Zielplattform verarbeitet der Compiler zunächst die NAT-Regeln, dann die für die Interfaces und als Letztes die globalen Regeln. In dieser Reihenfolge werden die Zeilen des Ziel-Codes generiert. Den Code generieren wir über die Menüzeile unter RULES>>COMPILE oder über das Zahnrad in der Iconleiste darunter. Das generierte Skript heißt dabei immer wie der Name des Firewall-Objekts mit der Endung .fw. Einen kurzen Ausschnitt für den generierten Code zeigt das Beispiel aus Abbildung 24:

Abbildung 24: Ausschnitt aus generiertem Code

Page 58: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 58 | S e i t e

2.8.10 Installation der Regeln

Die Installations-Routine starten wir über die Menüzeile unter RULES > INSTALL bzw. über das Bild mit der Workstation und den beiden Pfeilen in der Iconleiste direkt neben dem Zahnrad. Falls es schon ein generiertes Firewall Skript gibt, haben wir die Möglichkeit, dieses ohne Änderung zu verwenden oder auch neu zu kompilieren. Gibt es noch kein Skript, wird es vor der Installation erstellt. Während der Installation können wir den von uns voreingestellten Benutzer für den Transfer ändern. Das Kennwort für die Installation lässt sich aus Sicherheitsgründen nicht abspeichern und muss bei jeder Installation von neuem eingegeben werden. Handelt es sich nicht um root, sondern um einen User muss dieser über die entsprechenden Rechte verfügen, um die Regeln zu aktivieren.

Page 59: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 59 | S e i t e

3. Administratoren-Handbuch

3.1 Konfiguration von Squid Für die Konfiguration des Proxy-Servers nutzen wir folgendes Handbuch: http://www.squid-handbuch.de/hb/

Wir passten die Datei /var/www/proxy-template/squid.conf.template den Anforderungen der Schule an. Aus der Proxymin Datenbank und der squid.conf.template wird die squid.conf im Ordner /etc/squid/ erzeugt. Die squid.conf stellt die eigentliche Steuerungsdatei dar. Änderungen an den ACL’s (Access Control List) und der Squid Konfiguration dürfen nur über Proxymin und der Template-File vorgenommen werden.

Hier einige wichtige Befehle für die Squid Konfiguration:

Syntax: http_port [hostname:|ip:] port

Beispiel: http_port 8080 http_port proxy.domain.org:3128 http_port 192.168.10.4:8088

http_port

Die Socket-Adresse, auf der Squid auf HTTP-Anfragen von Clients lauscht.

no_cache Hiermit werden ACLs angegeben, die - wenn sie zutreffen - Squid veranlassen, die Antwort auf diese Anfragen nicht aus dem Cache zu liefern und empfangene Antworten nicht im Cache abzulegen. D.h. für alle Anfragen, auf die diese ACLs zutreffen, wird der Cache umgangen. Die ACLs müssen mit der Regel deny eingeleitet werden, damit die entsprechenden Objekte vom Cache ausgenommen werden. Empfohlene Einstellung: acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY

Page 60: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 60 | S e i t e

cache_mem 4096 kb Hiermit wird die Größe des von Squid reservierten Hauptspeichers für In-Transit Objects, Hot Objects und Negative-Cached Objects bestimmt. Die Daten dieser Objekte werden in Blöcken zu 4 KB gespeichert. Daher sollte auch der Wert für cache_mem ein Vielfaches von 4 KB betragen. In-Transit Objects (Durchgangsobjekte) haben die höchste Priorität. D.h. Hot Objects (ständig angefragte Objekte) und Negative-Cached Objects (nicht cachebare Objekte) füllen den Bereich, der nicht von In-Transit Objects benötigt wird (siehe auch maximum_object_size_in_memory). Dies ist keine absolute Speichergrenze. Unter hoher Last kann Squid diesen Wert auch überschreiten. ACHTUNG: Diese Option bestimmt nicht den maximalen Speicherbedarf von Squid! Es bestimmt allein den Speicher, den Squid zusätzlich für einen Cache im Hauptspeicher benutzt. Der tatsächliche Gesamtspeicherbedarf von Squid hängt von vielen weiteren Faktoren ab und kann erheblich höher liegen als der hier angegebene Wert. cache_swap_low 90

Diese Optionen bestimmen die untere und obere Wassermarke in Prozent, für die Füllung des Cache. Wird die untere Marke (cache_swap_low) überschritten, beginnt Squid entsprechend der cache_replacement_policy Objekte aus dem Cache zu entfernen. Wird die obere Marke (cache_swap_high) erreicht, erfolgt die Räumung aggressiver. Wenn die untere Marke unterschritten ist, wird der Prozess beendet. Standard sind 90% und 95%. Die Differenz von 5% kann bei sehr großem Cache mehrere hundert MB ausmachen. In diesem Fall sollten Sie die Werte enger zusammenlegen.

cache_swap_high 95

maximum_object_size Bestimmt die maximale Objektgröße im Cache. D.h. Objekte, die größer sind als hier angegeben, werden nicht im Cache abgelegt. Ein Wert ohne Maßangabe wird in KB angenommen. Ein relativ kleiner Wert führt zu höheren Objekt-Hitraten und damit i.d.R. zu etwas besserer Geschwindigkeit. Ein höherer Wert führt zu einer höheren Byte-Hitrate und reduziert die nötige Bandbreite. Hinweis: Wenn als Ersetzungsverfahren (cache_replacement_policy) LFUDA angegeben wird, sollte dieser Wert höher gesetzt werden.

Page 61: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 61 | S e i t e

cache_dir

ufs /pcache 200000 92 256

Hiermit wird der eigentliche (Platten-)Cache des Proxys festgelegt.

Syntax: cache_dir type directory fs-specific-data [options]

Es können mehrere cache_dir-Zeilen angegeben werden, um den Cache auf mehrere (auch unterschiedliche) Partitionen und Dateisysteme zu verteilen.

type bestimmt die Art des Speichersystems. Standardmäßig ist nur ufs installiert. Andere Typen können beim Installieren von Squid mit der Option -enable-storeio eingebunden werden.

directory ist das Stammverzeichnis, in dem ein Cache angelegt werden soll. Das Verzeichnis muss existieren und es muss für Squid (cache_effective_user) beschreibbar sein. Wenn eine ganze Platte als Cache genutzt werden soll, ist dies der Mountpoint der Platte.

Die weiteren typabhängigen Optionen werden im Folgenden erläutert:

ufs

ufs ist der Standardtyp für Squid, der in jedem Fall zur Verfügung steht.

Syntax: cache_dir ufs directory MB L1 L2 [options]

MB bestimmt die maximale Größe des unter diesem Verzeichnis anzulegenden Cache in Megabyte. Standardwert ist 100 MB.

L1 ist die Anzahl der first-level-Unterverzeichnisse. Diese Anzahl von Verzeichnissen wird direkt unter directory angelegt. Standard: 16.

L2 ist die Anzahl von second-level-Unterverzeichnissen. Diese Anzahl von Verzeichnissen wird in jedem first-level-Verzeichnis angelegt. Standard: 256.

Page 62: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 62 | S e i t e

Cache

Größe des Cache-Verzeichnisses in KB. Objekt

Durchschnittliche Größe eines Objekts im Cache. Diese hängt stark von der Angabe der maximum_object_size ab und schwankt i.d.R. zwischen 10 und 20 KB. Als sichere Größe können Sie hier von 15 KB ausgehen.

L1 Anzahl der Level1-Verzeichnisse.

L2 Anzahl der Level2-Verzeichnisse (als Standardwert empfohlen: 256).

Cache Größe berechnen

Um Fragmentierung und Überläufe der Festplatten zu vermeiden, sollten max. 80% der Nettokapazität der Festplatte für den Cache verwendet werden.

Die Verzeichnisstruktur muss an die Cache-Kapazität angepasst werden. Die Anzahl der Level1-Verzeichnisse kann nach folgender Faustformel berechnet werden:

Aufbau von ACL‘s

Basis für alle Regelwerke sind Access-Listen (ACLs). ACLs definieren noch keine Erlaubnis oder kein Verbot, sie definieren grundsätzlich erst einmal eine Liste von einem bestimmten Datentyp, wie z.B. eine Liste von Clients, Webservern, Protokolltypen, Ports oder URLs.

Eine Access-Liste hat folgende Syntax:

acl aclname acltypestring1 [string2] ... oder acl aclname acltype "filename" acl gibt an, dass es sich um eine Access-Liste handelt. Danach folgt der Name der ACL. Der Name kann beliebig gewählt werden. acltyp gibt den Datentypen an. Danach folgt eine Liste der Einträge mit Leerzeichen getrennt (string1 [string2] ...).

filename definiert eine Liste von Einträgen in einer externen Datei. In dieser Datei steht jeder Eintrag in einer eigenen Zeile. Um Squid mitzuteilen, dass es sich um einen Dateinamen und nicht um direkte Daten handelt, muss filename in Anführungszeichen gesetzt werden.

Page 63: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 63 | S e i t e

Beispiel:

acl TEST1 src 192.168.10.1/32 192.168.10.2/32 acl TEST2 src "/usr/local/squid/etc/liste.txt" Jede ACL muss einen eindeutigen und einmaligen Namen besitzen. Eine ACL kann jedoch auch auf mehrere Zeilen aufgeteilt werden, die dann aber auf jeden Fall von gleichen Typ sein müssen.

Beispiel:

acl Safe_ports port 80 acl Safe_ports port 443 563 acl Safe_ports port 1025-65535 ist gleichbedeutend mit: acl Safe_ports port 80 443 563 1025-65535

mac-adresse beinhaltet Ethernet-(MAC-)Adressen von Clients. Diese ACL kann nur genutzt werden, wenn Squid mit der Option -enable-arp-acl übersetzt wurde. Diese Funktion wird auch nicht von allen Betriebssystemen unterstützt. Es funktioniert u.a. mit Linux, Solaris und einigen BSD-Varianten. Beispiel: acl TEST arp 00:0c:04:1a:b2:cf

src

ACL-Typen

Es gibt eine große Zahl möglicher ACL-Typen für unterschiedlichste Anwendungen. Die für Squid 2.5 gültigen ACL-Typen lauten:

arp

ip-adresse/netzmaske beinhaltet Client-IP-Adressen (Quelle der Anfrage) als Host-Adresse, Netzadresse oder Adressbereich mit der jeweiligen Netzmaske in Kurzform (z.B. /24) oder ausgeschrieben (z.B. /255.255.255.0). Beispiel: acl TEST1 src 192.168.10.25/255.255.255.255 acl TEST2 src 192.168.1.0/24 acl TEST3 src 192.168.5.10-192.168.5.20/255.255.255.0

Page 64: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 64 | S e i t e

dst

ip-adresse/netzmaske beinhaltet Server-IP-Adressen (Webserver, bzw. Ziel der Anfrage). Das Eingabeformat entspricht dem von src.

myip

ip-adresse/netzmaske beinhaltet eine lokale Socket-IP. Die lokale IP-Adresse, auf die sich Clients verbinden.

srcdomain

domainname beinhaltet Client-Domainnamen (Domain, aus der die Anfrage kommt). Alle Clients innerhalb dieser Domain. Voraussetzung ist eine Rückwärtsauflösung der Client-IP-Adresse durch einen Domainnameserver (DNS). Beispiel: acl TEST srcdomain .mydomain.net

dstdomain

domainname beinhaltet alle Ziel-(Web-)Server der angegebenen Domain. Die Angabe der Domain ist wie bei srcdomain.

srcdom_regex

[-i] expression beinhaltet reguläre Ausdrücke für Client-Domainnamen. Reguläre Ausdrücke (regular expressions) werden hier nicht weiter behandelt. Etwas weiter hinten [7.3] finden Sie einige Beispiele zum Thema Reguläre Ausdrücke. In regulären Ausdrücken wird Groß-/Kleinschreibung berücksichtigt. Mit der Option -i wird Groß-/Kleinschreibung nicht mehr unterschieden. Voraussetzung ist eine Rückwärtsauflösung der Client-IP-Adresse durch einen Domainnameserver (DNS).

dstdom_regex

[-i] expression beinhaltet reguläre Ausdrücke für Domainnamen von Ziel-(Web-)Servern. Die Regeln sind identisch mit srcdom_regex.

Page 65: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 65 | S e i t e

time

[day] h1:m1-h2:m2 beinhaltet ein Zeitfenster mit Wochentag und Uhrzeit, wobei day der englisch abgekürzte Wochentag ist (M = Montag, T = Dienstag, W = Mittwoch, H = Donnerstag, F = Freitag, A = Samstag, S = Sonntag). h1:m1 und h2:m2 sind Angaben in Stunden:Minuten, wobei h1:m1 < h2:m2 sein muss. Beispiel: acl TEST1 time 08:00-16:00 # jeden Tag 8-16 Uhr acl TEST2 time S 00:00-23:59 # jeden Sonntag 0-24 Uhr

url_regex

[-i] expression beinhaltet reguläre Ausdrücke für URLs. Auch hier wird mit der Option -i die Groß-/Kleinschreibung ignoriert. Beispiel: acl TEST url_regex http://www

urlpath_regex

[-i] expression beinhaltet reguläre Ausdrücke für den Pfadteil einer URL (ohne den Teil für Protokoll und Host-Name). Beispiel: acl TEST urlpath_regex -i \.png$

port

port beinhaltet TCP/IP-Portnummern für Ziel-(Web-)Server. Die Portnummern können als Liste von Einzelports oder als Portbereich angegeben werden. Beispiel: acl TEST1 port 80 81 21 acl TEST2 port 0-1024

myport

port beinhaltet die lokale Socket Portnummer. Der Port, auf den der Client seine Anfrage geschickt hat. Beispiel: acl TEST myport 3128

proto

protocol beinhaltet Protokolltypen für eine aufzubauende Verbindung. Hiermit kann nach den von Squid unterstützten Protokollen gefiltert werden. Beispiel: acl TEST proto FTP

Page 66: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 66 | S e i t e

method

method beinhaltet HTTP-Anfragemethoden. Eine Liste der gültigen Methoden finden Sie im Anhang [C]. Beispiel: acl TEST method GET POST

browser

[-i] expression beinhaltet einen regulären Ausdruck zur Beschreibung von Browsern. Hiermit kann nach bestimmten Browsertypen oder Browserversionen unterschieden werden. Ausgewertet wird die Angabe von User-Agent im Header der Client-Anfrage. Beispiel acl TEST browser -i Mozilla.*

ident

username beinhaltet den User-Namen des auf dem Client angemeldeten Benutzers, wie er in einer Ident-Anfrage an den Client zurückgegeben wird. Geben Sie als username REQUIRED an, um jeden existierenden und über ident aufzulösenden Nutzer zuzulassen. Beispiel: acl TEST ident moritz

ident_regex

[-i] expression beinhaltet reguläre Ausdrücke für Benutzernamen nach Ident-Abfragen. Beispiel: acl TEST -i ...

src_as

number beinhaltet Quellnetze, die über AS-Nummer (Autonomous System number) identifiziert werden. Diese ACL kann nur in Verbindung mit der Access-Regel cache_peer_access verwendet werden. Beispiel: acl TEST -i ...

dst_as

number beinhaltet Zielnetze, die über AS-Nummer (Autonomous System number)

Page 67: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 67 | S e i t e

identifiziert werden. Diese ACL kann nur in Verbindung mit der Access-Regel cache_peer_access verwendet werden. Beispiel: acl TEST -i ...

proxy_auth

username beinhaltet Benutzer, die über eine externen Prozess authentifiziert werden. Geben Sie als username REQUIRED an, um jeden existierenden Benutzer zuzulassen. Beispiel: acl TEST proxy_auth max moritz

proxy_auth_regex

[-i] expression beinhaltet reguläre Ausdrücke für Benutzer, die über einen externen Prozess authentifiziert werden. Beispiel: acl TEST proxy_auth_regex -i ......

snmp_community

string beinhaltet einen SNMP Community String. Diese ACL kann nur verwendet werden, wenn Squid mit der Option -enable-snmp übersetzt wurde. Beispiel: acl TEST snmp_community public

maxconn

number beinhaltet die maximale Anzahl gleichzeitiger Verbindungen von einer einzelnen Client-IP-Adresse. Beispiel: acl TEST maxconn 16

req_mime_type

[-i] expression1 ... beinhaltet reguläre Ausdrücke für Request Content-Type Header (Inhaltstypen). Beispiele: acl TEST req_mime_type -i multipart/form-data$

ACLs sind ein wesentlicher Bestandteil von Squid. Sie haben daher auch durchaus Einfluss auf seine Performance. So erfordern z.B. die ACL-Type src_domain und srcdom_regex eine Rückwärtsauflösung der Client-IP-Adresse per DNS. Dies führt unweigerlich zu einer - wenn auch meist geringen - Verzögerung jeder betroffenen Anfrage.

Page 68: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 68 | S e i t e

ACLs können auch mehrere Datenelemente beinhalten. Diese Elemente sind dann ODER-verknüpft. D.h. die ACL trifft zu, wenn mindestens ein Datenelement der ACL zutreffend ist.

Die im folgendem Beispiel aufgelisteten ACLs bilden einen Grundsatz an ACLs, die in jeder Konfigurationsdatei enthalten sein sollten. Hier werden einige grundsätzliche (Standard-)Listen definiert, auf die im Folgenden häufiger Bezug genommen wird:

# Standard ACLs: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT

Page 69: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 69 | S e i t e

3.2 Installation von Proxymin

Bei der Grundinstallation von CentOS 5.4 sind die benötigten Pakete zum Betreiben von Proxymin schon enthalten. Sollte das nicht der Fall sein, müssen folgende Pakete nachinstalliert werden.

Python Version 2.3.3 oder neuer

python-2.4.3.27.el5

Eine aktuelle Version von Squid Web Proxy Cache

squid-2.6.STABLE21-3.el5

Eine aktuelle Version von sudo

sudo-1.6.9p17-5.el5

1. /etc/squid/squid.conf sichern!!!

Die Installation:

2. Proxymin.tgz nach /root/proxymin entpacken 3. Die Datei /etc/sudoers um folgende Zeile ergänzen

apache ALL = NOPASSWD: /usr/sbin/squid

4. Im /var/www/ einen Ordner mit dem Namen "proxy-template" erstellen dort dann die Dateien "passwd" und "squid.conf.template" erstellen

5. Die Proxymin-Dateien von /root/proxymin/ nach /var/www/cgi-bin kopieren 6. Die Datei "lang_de-UTF8 von der Dokumentations CD in den Ordner

/var/www/cgi/lang/ kopieren 7. Folgende Änderungen müssen an den Proxymin-Dateien gemacht werden

a. Alle Proxymin-Dateien und Ordner bekommen die Rechte "755" b. In den Dateien "proxymin.py" und "images.py" muss die erste Zeile auf

#!/usr/bin/python geändert werden c. Der Ordner "db" bekommt den Benutzer "apache" zugewiesen d. Die Datei /var/www/cgi-bin/proxymin.conf folgendermaßen abändern:

[files] db_dir = db/ lang_dir = lang/ squid_cfg = /etc/squid/squid.conf static_cfg = /var/www/proxy-template/squid.conf.template htpasswd_file = /var/www/proxy-template/passwd [parameters]

Page 70: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 70 | S e i t e

case_sensitive = FALSE maximum_popup_hight = 600 language = de-UTF8 [commands] squid_reconfigure_command = /usr/bin/sudo /usr/sbin/squid -k reconfigure [data] company_name = BBS Friedenstraße Wilhelmshaven

8. Die Datei "gencfg.py" im Ordner /var/www/cgi-bin folgendermaßen abändern: a. Zeile 175 auskommentieren darunter folgendes in einer neuen Zeile

einfügen: acl_access = ' ' 9. In die Datei "squid.conf.template" eine eigene Proxy-Konfiguration schreiben.

Proxymin dient nur zur Verwaltung und Erstellung von Benutzerlisten. Der Großteil wie Cache-Optionen, Netzwerkoptionen, etc. hat nichts mit Proxymin zu tun. Die Templatefile überschreibt die eigentliche Konfiguration /etc/squid/squid.conf.

!!! Sicherung und Backup !!!

Um nach einem Crash Proxymin wieder herstellen zu können, sollte man folgende

Ordner und Dateien sichern:

Den Ordner "db" im Verzeichnis /var/www/cgi-bin

/var/www/cgi-bin/proxymin.conf

/var/www/proxy-template/passwd

/var/www/proxy-template/squid.conf.template

/etc/squid/squid.conf

Page 71: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 71 | S e i t e

3.3 Installation von Webmin Die Installationspakete für alle gängigen Unix Betriebssysteme findet man auf der Homepage von Webmin (www.webmin.com).

3.3.1 Installation über eine tar.gz Archiv

Entpacken des Archivs mit 'tar zxvf webmin<version>.tar.gz‘ z.B. nach /opt In das Verzeichnis wechseln in welches man Webmin entpackt hat und die Datei

‚setup.sh‘ mit ./setup.sh ausführen Die Installation könnte dann so aussehen:

[root@localhost webmin-0.87]# ./setup.sh ******************************************************************** * Welcome to the Webmin setup script, version 0.87 * ******************************************************************** Webmin is a web-based interface that allows Unix-like operating systems and common Unix services to be easily administered. Installing Webmin in /usr/local/webmin-0.87 ... ******************************************************************** Webmin uses separate directories for configuration files and log files. Unless you want to run multiple versions of Webmin at the same time you can just accept the defaults. Config file directory [/etc/webmin]: /usr/local/webmin-0.87/etc Log file directory [/var/webmin]: /usr/local/webmin-0.87/log ******************************************************************** Webmin is written entirely in Perl. Please enter the full path to the Perl 5 interpreter on your system. Full path to perl (default /usr/bin/perl): Testing Perl ... Perl seems to be installed ok ******************************************************************** For Webmin to work properly, it needs to know which operating system type and version you are running. Please select your system type by entering the number next to it from the list below -------------------------------------------------------------------- 1) Sun Solaris 2) Caldera OpenLinux eServer 3) Caldera OpenLinux 4) Redhat Linux 5) Slackware Linux 6) Debian Linux 7) SuSE Linux 8) Corel Linux 9) TurboLinux 10) Cobalt Linux 11) Mandrake Linux 12) Delix DLD Linux 13) Conectiva Linux 14) MkLinux 15) LinuxPPC 16) XLinux 17) LinuxPL 18) Linux From Scratch 19) Trustix 20) Cendio LBS Linux 21) Ute Linux 22) FreeBSD 23) OpenBSD 24) BSDI 25) HP/UX 26) SGI Irix 27) DEC/Compaq OSF/1 28) IBM AIX 29) SCO UnixWare 30) SCO OpenServer 31) MacOS Server X -------------------------------------------------------------------- Operating system: 4 Please choose which version of Redhat Linux you are running, by entering the number next to it from the list below -------------------------------------------------------------------- 1) Redhat Linux 4.0 2) Redhat Linux 4.1 3) Redhat Linux 4.2 4) Redhat Linux 5.0 5) Redhat Linux 5.1 6) Redhat Linux 5.2 7) Redhat Linux 6.0 8) Redhat Linux 6.1

Page 72: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 72 | S e i t e

9) Redhat Linux 6.2 10) Redhat Linux 7.0 11) Redhat Linux 7.1 -------------------------------------------------------------------- Version: 9 Operating system name: Redhat Linux Operating system version: 6.2 ******************************************************************** Webmin uses its own password protected web server to provide access to the administration programs. The setup script needs to know : - What port to run the web server on. There must not be another web server already using this port. - The login name required to access the web server. - The password required to access the web server. - The hostname of this system that the web server should use. - If the webserver should use SSL (if your system supports it). - Whether to start webmin at boot time. Web server port (default 10000): 10000 Login name (default admin): root Login password: Password again: Web server hostname (default delilah.swell.): Use SSL (y/n): y Start Webmin at boot time (y/n): y ******************************************************************** Creating web server config files.. ..done Creating access control file.. ..done Inserting path to perl into scripts.. ..done Creating start and stop scripts.. ..done Copying config files.. ..done Creating uninstall script /usr/local/webmin-0.87/etc/uninstall.sh .. ..done Changing ownership and permissions .. ..done Attempting to start Webmin mini web server.. Starting Webmin server in /usr/local/webmin-0.87 ..done ******************************************************************** Webmin has been installed and started successfully. Use your web browser to go to https://delilah.swell.:10000/ and login with the name and password you entered previously. Because Webmin uses SSL for encryption only, the certificate it uses is not signed by one of the recognized CAs such as Verisign. When you first connect to the Webmin server, your browser will ask you if you want to accept the certificate presented, as it does not recognize the CA. Say yes. [root@localhost webmin-0.87]#

Die Installation läuft nach Eingabe des Programmpfads automatisch durch Nach der Installation ist Webmin im Browser über die Adresse

http://localhost:10000

Page 73: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 73 | S e i t e

3.3.2 Installation über eine rpm Archiv

Webmin über ein rpm Archiv zu installieren ist die einfachere Variante. Über den Befehl rpm -Uvh webmin.<version>.rpm die Installation auf der Konsole starten. Alle Pakete und Dateien werden die richtige Stelle kopiert. Man könnte das rpm-Archiv auch über eine Paketmanager installieren z.B.Yumex.

3.4 RAID-System einrichten

3.4.1 RAID anlegen

1. Button RAID anklicken

a. Software RAID Partition anlegen • Größe festlegen

b. Button RAID anklicken

Festplatte klonen

1.te Quelle

2.te Ziel

(2x Klonen, für die Spare Festplatte auch!!)

c. Button RAID anklicken

RAID Gerät anlegen Einhängepunkt wählen Dateisystem wählen RAID-Gerät ( md0 , .... ) RAID Bestandteile: Festplatten auswählen Anzahl der Spare-Geräte eintragen: 1

zum Schluss /Swap einrichten (ohne RAID)

Page 74: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 74 | S e i t e

3.4.2 RAID verwalten:

Mit dem Befehl 'mdadm' kann man das RAID verwalten. Hier eine kleine Übersicht über ein RAID:

3.4.3 RAID verwalten unter Webmin:

Eine Übersicht über das RAID erhält man in Webmin unter dem Punkt:

'Hardware‘ >>‘Linux-RAID‘

Page 75: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 75 | S e i t e

3.4.3.1 RAID vorbereiten:

Bevor wir ein RAID anlegen können, müssen die Festplatten in Partitionen eingeteilt werden. Dies können wir auch unter Webmin erledigen:

unter dem Punkt 'Hardware' die 'Festplatten-Partitionen' auswählen dort unsere Festplatte auswählen, indem man auf den 'Disk-Name' klickt

hier sieht man nun die Übersicht der Festplatte wir wollen eine neue 'Primäre Partition hinzufügen'

Page 76: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 76 | S e i t e

jetzt müssen wir entscheiden wie Groß und welcher Typ soll es sein, in unserem Fall wählen wir als Typ 'Linux' und als 'Ausmaß' (Größe ) von '1 – 12748'

nun sollte die Festplatte, wie oben dargestellt, partitioniert sein

Page 77: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 77 | S e i t e

3.4.3.2 Festplatte zum RAID hinzufügen:

Unter dem Punkt Hardware, Linux RAID, können wir auch eine Festplatte dem RAID Verbund hinzufügen.

Auswahl des RAID, welches wir verändern wollen dazu den 'Device Name' auswählen z.B. '/dev/md0'

hier können wir nun unsere Partition auswählen, neben dem Punkt 'Partition hinzufügen'

anschließend wählen wir 'Partition hinzufügen'

Page 78: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 78 | S e i t e

wenn die Festplatte mit der Partition richtig hinzugefügt wurde, sollte es so aussehen

Page 79: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 79 | S e i t e

3.4.4 RAID Ausfall

Es gibt zwei Möglichkeiten den Status eines RAID Systems zu überprüfen:

1. über die Konsole 2. über Webmin

3.4.4.1 RAID Status über Konsole

Auf der Konsole kann man den Status des RAID überprüfen, indem man die Datei '/proc/mdstat' aufruft.

Dazu einfach den folgenden Befehl eingeben: 'less /proc/mdstat'

hier sieht man jetzt wie ein Festplatte ( sdb1[3](F), sdb3[3](F) ) des RAID Systems (md0,md1) ausgefallen ist und die Daten auf die Spare Festplatte ( sdc1[2], sdc3[2] ) übertragen werden

Page 80: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 80 | S e i t e

3.4.4.2 RAID Status über Webmin:

Unter dem Punkt Hardware, Linux RAID, kann man Informationen über den Status erhalten.

hier wählen wir wieder ein RAID aus: '/dev/md0'

hier sieht man einen RAID Ausfall

und hier sehen wir, dass die Spare Festplatte gerade beschrieben wird, um das RAID wieder aufrecht zu halten

Page 81: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 81 | S e i t e

3.4.5 Wichtig nach Ausfall

Nach der Installation muss GRUB noch auf der 2ten Systemplatte installiert werden!! Außerdem muss nach jedem Ausfall einer Festplatte GRUB auch wieder neu auf die andere Festplatte installiert werden!

Zur Installation von Grub gibt es 2 Möglichkeiten:

1.

Beim Grub-Menü die Option „C“ wählen. Nun auf der Konsole folgende Befehle eintippen:

Möglichkeit – Grub beim booten

Anschließend mit ESC Konsole verlassen und normal starten. Danach die Schritte 1 und 5-8 aus Möglichkeit 2 ausführen.

2.

Möglichkeit – beim laufenden System

1. Als 'root' anmelden. 2. Den Befehl „/sbin/grub“ ausführen. 3. Anschließend folgende Befehle unter der Grub-shell ausführen:

2. Jetzt die Finger kreuzen und „reboot“ eingeben. 3. Nach dem Neustart sollte ein System-Update gemacht werden. 4. Das System neu starten, wenn kernel oder glibc aktualisiert wurden. 5. Überprüfe, ob der aktualisierte kernel gestartet wurde, mit „uname -a“ 6. Fertig!

grub> root (hd1,0) grub> setup (hd1) grub> root (hd0,0) grub> setup (hd0)

grub> device (hd0) /dev/sda grub> device (hd1) /dev/sdb grub> root (hd0,0) grub> setup (hd0) grub> root (hd1,0) grub> setup (hd1) grub> quit

Page 82: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 82 | S e i t e

4. Fazit

Abschließend bleibt zu sagen, dass wir uns das Thema „Firewall“ nicht so umfangreich vorgestellt haben. In unserem Projekt haben wir uns nur mit einem kleinen Teil der Netzwerksicherheit auseinander gesetzt.

Da wir uns noch nie so richtig mit dem Thema „Netzwerksicherheit und Firewall“ auseinandergesetzt hatten, war die Projektarbeit und der Projektzeitraum genau der richtige Einstieg zu diesem Thema. Die Zusammenarbeit in der Gruppe machte sehr viel Spaß auch wenn man mal unterschiedlicher Meinung war.

Wir mussten uns Anfangs viel einlesen und ausprobieren, da wir das fließende arbeiten mit dem Linux-Betriebssystem und den Software-Paketen noch nicht verinnerlicht hatten. Auch die Zusammenarbeit mit unserem Projektbetreuer Herr Appenzeller und unserem Schuladministrator Herr Linnemann hat viel Spaß gemacht. Beide standen uns immer mit Rat und Hilfe zur Seite.

Das Projekt hat uns auch privat sehr viel gebracht, da das Thema Netzwerksicherheit nicht nur den gewerblichen und kommerziellen Rahmen betrifft, sondern auch das Privatleben. Man geht im Privaten viel zu sorglos mit Daten und Informationen im Netzwerk/Internet um.

Unser neu angeeignetes Wissen werden wir in unserem bald folgenden Berufsleben gut einsetzen können.

Zum Schluss noch ein großes Dankeschön an alle Beteiligten und das die Berufsschule uns dieses Projekt ermöglicht hat.

Page 83: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 83 | S e i t e

5. Wochenprotokolle Wochenprotokolle vom 11. Februar 2010 bis 09. Mai 2010

Page 84: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 84 | S e i t e

5.1 Projektwoche: 1 (11.02.2010 – 12.02.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 12. Februar 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Allgemeiner Informationsaustausch

Inbetriebnahme und Installation des Servers

Aufgaben:

Einrichtung der Räumlichkeiten Kennenlernen der Hardware Besprechung über unsere Projektarbeit und ihre Arbeitsbereiche

mit unserem Projektleiter Herrn Appenzeller Informationssuche Partitionierung der Platten Erstellen eines RAID Verbundes (Software Raid 1) Installation von CentOS

Page 85: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 85 | S e i t e

5.2 Projektwoche: 2 (15.02.2010 – 19.02.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 19. Februar 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Allgemeine Einstellung

Aufgaben:

RAID auf Ausfallsicherheit geprüft Konfiguration des Betriebssystems (Software, Dienste) Netzwerk eingerichtet Betriebssystem upgedated Webmin installiert und konfiguriert Dokumentation

Page 86: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 86 | S e i t e

5.3 Projektwoche: 3 (22.02.2010 – 26.02.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 26. Februar 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Programmrecherche und Installation

Aufgaben:

Vertraut mache und Installation folgender Programme: Squid Proxymin Apache Dokumentation

Page 87: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 87 | S e i t e

5.4 Projektwoche: 4 (01.03.2010 – 05.03.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 05. Februar 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Programmrecherche und Installation

Aufgaben:

Vertraut mache und Installation folgender Programme: Squid Proxymin Apache (httpd.conf umgeschrieben) SE-Linux Einrichtung von SE-Linux

Page 88: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 88 | S e i t e

5.5 Projektwoche: 5 (08.03.2010 – 12.03.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 12. März 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Konfiguration und Installation

Aufgaben:

2 Client PC´s installiert, konfiguriert, upgedated Squid_default erstellt Proxymin-Probleme behoben

Page 89: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 89 | S e i t e

5.6 Projektwoche: 6 (15.02.2010 – 19.03.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 19. März 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Sichern und Zwischendokumentieren

Aufgaben:

Dokumentation (-proxy, -allg.) Ist Zustand der aktuell genutzten Firewall festgestellt und orig.

Server-Dateien gesichert Gespräch mit Herrn Linemann

Page 90: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 90 | S e i t e

5.7 Projektwoche: 7 (05.04.2010 – 09.04.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 09. April 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Fwbuilder, Fuktionstests

Aufgaben:

Einarbeitung in den Fwbuilder Netzwerkkarten eingerichtet Erste Tests der Funktionalität Beschriftungen für Platten und Schnittstellen Dokumentation

Page 91: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 91 | S e i t e

5.8 Projektwoche: 8 (12.04.2010 – 16.04.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 16. April 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Dokumentation, Einarbeitung

Aufgaben:

Dokumentieren der Zwischenergebnisse Fwbuilder

Page 92: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 92 | S e i t e

5.9 Projektwoche: 9 (19.04.2010 – 23.04.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 23. April 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Dokumentation

Aufgaben:

Dokumentation

Page 93: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 93 | S e i t e

5.10 Projektwoche: 10 (26.04.2010 – 30.04.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 30. April 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Dokumentation

Aufgaben:

Dokumentation

Page 94: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 94 | S e i t e

5.11 Projektwoche: 11 (03.05.2010 – 07.05.2010)

Projekt: »Installation, Konfiguration und Test einer collapsed Firewall mit Grenznetz und der Möglichkeit zur Remoteadministration.«

Protokoll vom: 07. Mai 2010

Protokollant: Slawomir Arendt, Jörg Langmack

Ort: Berufsbildende Schulen Friedenstraße Wilhelmshaven

(Raum 206)

Thema: Dokumentation, Projektabgabe

Aufgaben:

Dokumentation Projektabgabe Abschlussgespräch mit Herrn Appenzeller

Page 95: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 95 | S e i t e

6. Anhang

6.1 Abbildungsverzeichnis

Abbildung 1: Firewall-Server Innenleben ........................................................................................... 11 Abbildung 2: Webmin ................................................................................................................................. 13 Abbildung 3: Firewall-Builder ................................................................................................................. 14 Abbildung 4: Netzwerkübersicht ........................................................................................................... 15 Abbildung 5: Partitionstabelle ................................................................................................................ 16 Abbildung 6: RAID 1 (Spiegel) ................................................................................................................. 17 Abbildung 7: RAID 0 (Beschleunigung) ............................................................................................... 17 Abbildung 8: RAID 5 (Leistung und Parität) ...................................................................................... 18 Abbildung 9: Proxy-Server Schematisch ............................................................................................. 21 Abbildung 10: Proxymin Oberfläche im Browser ............................................................................ 23 Abbildung 11: Bastion-Host-Firewall ................................................................................................... 30 Abbildung 12: Demilitarisierte Zone (DMZ) ...................................................................................... 31 Abbildung 13: Fwbuilder Erklärung ..................................................................................................... 46 Abbildung 14: Firewall Builder 3.0.7 .................................................................................................... 47 Abbildung 15: Auswahlfenster ................................................................................................................ 48 Abbildung 16: Vordefinierte Firewall Konfigurationen ................................................................ 49 Abbildung 17: Firewall Templates ......................................................................................................... 51 Abbildung 18: Gruppe NETBIOS ............................................................................................................. 52 Abbildung 19: Objekt TIME ...................................................................................................................... 52 Abbildung 20: Firewall-Policy erstellen .............................................................................................. 53 Abbildung 21: Insert Rules ....................................................................................................................... 54 Abbildung 22: zusätzliche Spalte DIRECTION ................................................................................... 56 Abbildung 23: Reiterkarte NAT .............................................................................................................. 56 Abbildung 24: Ausschnitt aus generiertem Code ............................................................................. 57

Page 96: Projektarbeit Firewall F2E2 Schuljahr 2009/10bbsf.bbs-wilhelmshaven.de/.../Projekt_Firewall2010.pdf · Wilhelmshaven BerufsBildendeSchulen Projektarbeit Friedenstraße Firewall Version

Wilhelmshaven Projekt: BerufsBildendeSchulen Friedenstraße Firewall

Version 01.00 96 | S e i t e

6.2 Quellenverzeichnis

Literatur

Autor Titel Verlag

Michael Kofler Linux Addison-Wesley

Michael Bruckmann Firewall Projekt 2005 Dokumentation Olaf Plaggenborg

Thomas Busse Terminal-Server Projekt 2005 Dokumentation Christian Ruwe Marco Dippmann Michael Zimmermann

Internet

Titel Internet-Adresse

Webmin http://www.webmin.de

Webmin http://www.linuxjunkies.org/howtos.php

Firewall Builder http://www.fwbuilder.org

Wikipedia Freie Enzyklopädie http://de.wikipedia.org/wiki/Hauptseite

Apache, SE-Linux http://www.beginlinux.com

CentOS http://wiki.centos.org/

Squid proxy http://www.squid-cache.org/

Squid proxy http://www.squid-handbuch.de/hb/

Proxymin http://freshmeat.net/projects/proxymin/

Proxymin http://www.mikuhl.de/cms/content/view/2/14/

Elektronik Kompendium http://www.elektronik-kompendium.de/