Konfiguration des ARKTUR Internetservers der BBS II...
Transcript of Konfiguration des ARKTUR Internetservers der BBS II...
Benutzerhandbuch
Konfiguration des ARKTUR Internetservers
der BBS II Wilhelmshaven
Projektarbeit der Fachschule Technik
Elektrotechnik
BBS II Wilhelmshaven
Carsten Schaumburg – Addo Christians – Tim Abels
Bestätigung der selbstständigen Erarbeitung
Mit der Unterzeichnung dieses Dokumentes, bestätigen wir, Addo Christians, Tim Abels und
Carsten Schaumburg alle mit dem Projekt „Internet- Server für die BBS2 Wilhelmshaven“
angefallenen Arbeiten, selbstständig und ohne fremde Hilfe, verfasst, erstellt und ausgeführt
zu haben.
Addo Christians
Tim Abels
Carsten Schaumburg
Wilhelmshaven, den 22. April 2012
Inhaltsverzeichnis
Seite 3
1 WEBMIN EINFÜHRUNG ................................................................................................................. 5
1.1 Kontaktaufnahme ..................................................................................................................................... 5
1.2 Einloggen.................................................................................................................................................... 5
1.3 Ausloggen ................................................................................................................................................... 5
1.4 Startseite .................................................................................................................................................... 6
1.5 System ........................................................................................................................................................ 7
1.6 Server ......................................................................................................................................................... 8
1.7 Hardware ................................................................................................................................................... 9
1.8 Cluster ...................................................................................................................................................... 10
1.9 Sonstiges ................................................................................................................................................... 10
2 VORGEHENSWEISEN .................................................................................................................. 11
2.1 Webmin Benutzer .................................................................................................................................... 11 2.1.1 Wozu noch mehr Benutzer ? ............................................................................................................. 11 2.1.2 Erstellung eines Benutzers ................................................................................................................ 11
2.2 Quotas ...................................................................................................................................................... 14 2.2.1 Quota Hauptseite ............................................................................................................................... 14 2.2.2 Einstellen der Limits ......................................................................................................................... 15 2.2.3 Einstellen der Grace Period ............................................................................................................... 16
2.3 RAID ........................................................................................................................................................ 17 2.3.1 Übersicht über die Hardwarearchitektur ........................................................................................... 17 2.3.2 Rebuild im Hintergrund nach einem Ausfall ..................................................................................... 17
2.4 DNS ........................................................................................................................................................... 19 2.4.1 Übersicht ........................................................................................................................................... 19 2.4.2 Einfügen, ändern oder löschen eines neuen Rechners ....................................................................... 19 2.4.3 DNS Weiterleitung ............................................................................................................................ 20
2.5 Apache Web Server ................................................................................................................................. 21 2.5.1 Übersicht ........................................................................................................................................... 21 2.5.2 Virtuellen Server erstellen ................................................................................................................. 21 2.5.3 Einstellungen am virtuellen Server ................................................................................................... 22 2.5.4 Proxy ................................................................................................................................................. 22
2.6 DHCP ....................................................................................................................................................... 23 2.6.1 Übersicht ........................................................................................................................................... 23 2.6.2 Subnet bearbeiten .............................................................................................................................. 24 2.6.3 Subnet erstellen ................................................................................................................................. 25
2.7 Linux Firewall ......................................................................................................................................... 26 2.7.1 Allgemeines zur Firewall und zur Sicherheit im Umgang mit diesem Handbuch ............................ 26
2.7.1.1 Grundlegende Arbeitsweise einer Firewall mit Linux 2.4 ............................................................. 26 2.7.1.2 Hintergrundinformationen zu IP Protokollen ................................................................................ 27
2.7.2 Firewall mit Linux 2.4 ....................................................................................................................... 28 2.7.2.1 Firewall auf Basis „NETFILTER“ des Kernel 2.4 (IPTABLES) .................................................. 28 2.7.2.2 Aufruf-Konventionen von iptables ................................................................................................ 29 2.7.2.3 Typische Kommandos (Auswahl) ................................................................................................. 29
Inhaltsverzeichnis
Seite 4
2.7.3 Grundlegende Konfiguration der Firewall ........................................................................................ 30 2.7.3.1 Verbindungen zwischen Programmen auf einem Rechner ............................................................ 32 2.7.3.2 Betrieb von Servern hinter der Firewall ........................................................................................ 32 2.7.3.3 Regeln für DNS (Domain Name Service) ..................................................................................... 33 2.7.3.4 Firewall und ICMP ........................................................................................................................ 33 2.7.3.5 Abschließende Regeln einer Firewall ............................................................................................ 34 2.7.3.6 Speichern und automatisches ausführen der Regeln ..................................................................... 34
2.7.4 Erstellen einer Firewall mit dem GUI- Tool „Firewall-Builder“ ...................................................... 34 2.7.4.1 Basiskonfiguration ........................................................................................................................ 35 2.7.4.2 Erstellen des Firewall Objektes ..................................................................................................... 37 2.7.4.3 Kompilierung und Installation ....................................................................................................... 40 2.7.4.4 Erstellen der Regeln für die Netzwerkschnittstellen ..................................................................... 44 2.7.4.5 Globale Regeln .............................................................................................................................. 48 2.7.4.6 Firewall starten .............................................................................................................................. 48 2.7.4.7 Abschluss- Betrachtung zum Firewall Builder .............................................................................. 50
2.7.5 Erstelltes Script vom Firewall Builder .............................................................................................. 51
2.8 Sendmail ................................................................................................................................................... 55 2.8.1 User hinzufügen (Email Account einrichten) .................................................................................... 55 2.8.2 Einstellungen für Sendmail ............................................................................................................... 56 2.8.3 Windows-Clients einrichten: ............................................................................................................. 59 2.8.4 Domänenmaskierung ......................................................................................................................... 60 2.8.5 Weiterleitungsdomänen ..................................................................................................................... 61 2.8.6 Port Options ...................................................................................................................................... 62
2.9 USV ........................................................................................................................................................... 63
Webmin Einführung
Seite 5
1 Webmin Einführung
1.1 Kontaktaufnahme
Um Kontakt zum Arktur aufzubauen muss im Lokalen Netz ein beliebiger Browser
gestartet werden und in dessen Adresszeile die Adresse des Arktur Servers mit der
Portangabe 10000 eingetragen werden.
https://arktur:10000
Der Vorsatz https:// muss verwendet werden, da es sich um eine SSL verschlüsselte
HTML Verbindung handelt. Anschließend wird man aufgefordert das Sicherheits-
zertifikat zu akzeptieren.
1.2 Einloggen
Nach der Verbindungsaufnahme meldet sich Webmin mit der Eingabemaske für das
Administrator Passwort.
Abbildung 1.2-1 Anmeldemaske
Dabei ist unbedingt zu beachten das kein Haken bei der Option Kennung speichern
vorhanden ist. Zwar legt Webmin dabei nur einen Cookie auf dem Host ab, hat aber
jemand zu diesem Zugang stehen ihm alle Möglichkeiten offen.
1.3 Ausloggen
Ausloggen kann man sich von jeder der Übersichtsseiten (Webmin Index). Dazu ist in
der jeweils unteren rechten Ecke der Seite ein Link ausloggen vorgesehen.
(Siehe Abbildung 1.5-1 System – Übersicht - Orange 3)
Webmin Einführung
Seite 6
1.4 Startseite
Nach dem Einloggen wird zur Startseite weitergeleitet. Sie umfasst die Punkte zur
Konfiguration des Webmin Paketes selbst.
Abbildung 1.4-1 Startseite
1. Konfiguration eines Zusatzes für Webmin das zum Verwalten von Benutzern
dient.
2. Webmin Benutzer anlegen und verwalten (2.1).
3. Ermöglicht das durchsuchen des von Webmin geführten Verlaufs. (log)
4. Finden anderer Webmin Server im Netzwerk.
5. Konfiguration des Webmin Paketes.
Am oberen Rand sind die Karteireiter für die Unterbereiche zu sehen. Die einzelnen
Kategorien führen zu den Seiten für die System-, Server-, Hardware- und
Clusterkonfiguration sowie einem Bereich Sonstiges. (Siehe Abbildung 1.5-1 System –
Übersicht – Orange 1) In der oberen rechten Ecke stehen zwei weitere Links die zur
Webmin Homepage führen. (Siehe Abbildung 1.5-1 System – Übersicht – Orange 2)
Webmin Einführung
Seite 7
1.5 System
Alle Bereiche zur Konfiguration des Betriebssystems sind unter dem Reiter System
untergebracht.
Abbildung 1.5-1 System – Übersicht
1. Anlegen und Verwalten von Benutzern und Gruppen.
2. Eingabe nicht wiederkehrender Kommandos zu einem bestimmten Zeitpunkt.
3. Service Monitor
4. Bearbeiten einzelner Partitionseinstellung und Mount Points.
5. Einsicht in alle Logfiles des Systems.
6. Einstellungen in der INITTAB zum Start des Systems.
7. Erstellung und Verwaltung geplanter wiederkehrender Vorgänge.
8. Network File System Freigaben
9. RPM Pakete verwalten
10. Quotas bearbeiten
11. Benutzerkennwörter bearbeiten
12. NIS verwalten
13. Services einzeln an-, abschalten
14. Erstellen und Überspielen einer Dateisystem Sicherung
15. Zeigt aktuelle Prozesse an (ps)
16. PAM Authentifizierungsoptionen
17. Handbuchseiten und Hilfe
Webmin Einführung
Seite 8
1.6 Server
Auf dieser Seite sind alle konfigurierbaren Server aufgelistet.
Abbildung 1.6-1 Server Übersicht
1. Webserver Apache
2. Dienste des XINETD
3. MySQL Datenbank Server
4. ProFTP FTP Server
5. Sendmail Mailserver
6. BIND4 DNS Server
7. Fetchmail Konfiguration
8. Wählverbindungen
9. Qmail Server
10. Squid Proxy Server
11. BIND8 DNS Server
12. Jabber IM Server
13. Postfix Mail Server
14. Secure Shell Server
15. WU-FTP FTP Server
16. DHCP Server
17. Majordomo Listenverwaltung
18. PostgreSQL Database Server
19. Secure Socket Layer Verbindungen zulassen
20. SAMBA Server (Windows Dateifreigabe)
Webmin Einführung
Seite 9
1.7 Hardware
Alle die Hardware spezifischen Einstelllungen können unter dem Hardware Reiter
vorgenommen werden.
Abbildung 1.7-1 Hardware Übersicht
1. Ermöglicht das ansteuern eines CD-Brenners
2. Boot Loader LILO Konfiguration
3. Druckerverwaltung
4. Verwalten der RAID Devices
5. Übersicht und Einstellungen der Festplatten und Partitionen
6. Netzwerkschnittstellen konfigurieren
7. GRUB Bootloader konfigurieren
8. Systemzeit stellen
Webmin Einführung
Seite 10
1.8 Cluster
Cluster sind Zusammenschlüsse mehrerer Server zu einem Verband. Dieser Verband
kann Softwarelasten auf die vorhandenen Resourcen aufteilen. Da der Arktur allein für
seine Aufgaben angedacht ist kann dieser Reiter entfallen.
1.9 Sonstiges
Was keiner Kategorie zugeordnet werden kann landet in der Sparte Sonstiges.
Abbildung 1.9-1 Sonstiges
1. Dateimanager, Explorer ähnliche Java Applet.
2. SSH/Telnet Zugang. Java Applet zur Konsolenfernbedienung.
3. Eigene Befehle kreieren.
4. System und Server Überwachung.
5. Einzelne Befehlszeilen eingeben.
6. Perl Module
Webmin
Seite 11
2 Vorgehensweisen
2.1 Webmin Benutzer
2.1.1 Wozu noch mehr Benutzer ?
Durch die Vielzahl der Einstellungsmöglichkeiten entsteht eine leicht
Unübersichtlichkeit. Da man nicht alle Optionen benötigt kann man Benutzer anlegen
die nur ausgewählte Optionen zu Gesicht bekommen. Damit ist es auch möglich
einzelnen Benutzern den Zugang zur Konfiguration eines speziellen Dienstes zu
ermöglichen. So kann ein Datenbankadministrator zwar seine Datenbank bearbeiten,
nicht jedoch Systemkonfigurationen wie Quotas oder Benutzerverwaltung.
2.1.2 Erstellung eines Benutzers
Auf der Startseite auf Webmin Benutzer klicken (Abbildung 1.4-1 Startseite – Rot 2).
Nun erhält man eine Übersicht über vorhandene Benutzer (Abbildung 2.1-1 Webmin
Benutzer) Dabei sind dem Namen des Benutzers die für ihn sichtbaren Module
gegenübergestellt.
Abbildung 2.1-1 Webmin Benutzer
Webmin
Seite 12
Ein weiterer Klick auf Einen neuen Webmin-Benutzer anlegen (rotes Rechteck)
öffnet den Erstellungsdialog.
Abbildung 2.1-2 Webmin Benutzer anlegen / bearbeiten
Hier kann nun jede Unteroption ausgewählt werden zu dem der Nutzer Zugang hat. Ein
Klick auf Speichern schließt den Vorgang ab.
Der Benutzer kann sich nun bei Webmin anmelden und bekommt dann seine eigene
Oberfläche. Dabei kann er auch andere Anzeigearten oder Sprachen auswählen, sofern
nicht gesperrt.
Webmin
Seite 13
Vergleich zwischen Benutzerdefinierter und kompletter Ansicht der Server Seite:
Abbildung 2.1-3 Benutzerdefinierte Auswahl
Abbildung 2.1-4 komplette Ansicht
Quotas
Seite 14
2.2 Quotas
2.2.1 Quota Hauptseite
Die Hauptseite zeigt eine Übersicht über die bereits angelegten Quotas. Bei einem klick
auf den Filesystemlink (rot) erscheint die Seite für die Details (Abbildung 2.2-2
Übersicht einer Partition).
Abbildung 2.2-1 Diskquota Haupseite
Mit dem Link Disable Quotas kann die Überwachung der einzelnen Partitionen
abgeschaltet werden.
Type zeigt das Dateisystem an.
Mounted From zeigt die Art der Partition an.
Status zeigt an ob und welche (hier: User) Quotas aktiviert oder deaktiviert sind.
Quotas
Seite 15
2.2.2 Einstellen der Limits
In der Partitionsübersicht können Werte für neue Benutzer voreingestellt werden.
Dabei ist zu beachten, dass die neuen Benutzer mit Webmin angelegt werden müssen.
Abbildung 2.2-2 Übersicht einer Partition
Abbildung 2.2-3 Quota für einzelnen Benutzer ändern
Durch einen Klick auf den entsprechenden User oder Gruppe kann man deren
Beschränkungen editieren.
Quotas
Seite 16
2.2.3 Einstellen der Grace Period
Die Schaltfläche Edit Grace Time in der Mitte von Abbildung 2.2-2 Übersicht einer
Partition führt zu der folgenden Abbildung. Hier können die Fristen für die Soft Quotas
eingerichtet werden.
Abbildung 2.2-4 Grace Period
RAID
Seite 17
2.3 RAID
2.3.1 Übersicht über die Hardwarearchitektur
Partitionen RAID
Verbund
Größe Mountpoint
SC
SI
/dev/sda4 + /dev/sdb4 /dev/md0 5GB /
/dev/sda2 + /dev/sdb2 /dev/md1 10GB /var/www/bbs2/
/dev/sda3 + /dev/sdb3 /dev/md2 10GB /home/
/dev/sda1 + /dev/sdb1 /dev/md3 12,5GB /opt/
(E)I
DE
/dev/hdc1 Primäre
Partitionen
20GB /ide-platte/bbs-klassen/
/dev/hdc2 2GB /ide-platte/ftp/
/dev/hdc3 4GB /ide-platte/proxy-cache/
/dev/hdc5 /dev/hdc4
(erweiterte)
512MB Swap
/dev/hdc6 13GB /ide-platte/wwwtest/
Diese Übersicht kann auf der Konsole über ‘df’ eingesehen werden oder in Webmin
unter Hardware Festplattenpartitionen (EIDE) und Hardware Linux-RAID (SCSI)
2.3.2 Rebuild im Hintergrund nach einem Ausfall
Defekte Platten werden mit raidhotremove und raidhotadd aus dem RAID-System
entfernt und nach dem Tausch wieder eingebunden. Defekte beziehungsweise ersetzte
Festplatten bleiben zunächst aus dem SoftRAID-Verbund ausgeschlossen, bis sie mit
raidhotadd von Hand neu eingebunden werden. Darauf hin startet die Rekonstruktion
im Hintergrund. Das Betriebssystem und seine Anwendungen bleiben davon
weitgehend unberührt: Die Wiederherstellung der Daten geschieht immer nur dann,
wenn gerade keine anderen I/O-Anfragen anliegen.
[root@arktur /root]# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [translucent]
read_ahead 1024 sectors
md0 : active raid1 hda2[0] 2297216 blocks [2/1] [U_]
unused devices: <none>
[root@arktur /root]# raidhotadd /dev/md0 /dev/hda3
[root@arktur /root]# cat /proc/mdstat # Platten-Rekonstruktion
Personalities : [linear] [raid0] [raid1] [raid5] [translucent]
read_ahead 1024 sectors
md0 : active raid1 hda3[2] hda2[0] 2297216 blocks [2/1] [U_]
recovery=6% finish=23.3min
unused devices: <none>
Der Status des Systems wird in /proc/mdstat angezeigt.
Unter Webmin kann man diese Einstellungen unter Hardware Linux-RAID tätigen.
Nach einem Klick auf den entsprechenden RAID Verbund kann man diesen
deaktivieren (Abb. 16). Nach dem Einbau der Ersatz Festplatte kann man den Verbund
hier wieder starten. VORSICHT: In diesem Fall sind nur zwei Festplatten verbaut, so
dass man alle RAID Verbunde anhalten muss, bevor eine Festplatte herausgezogen
werden kann.
DNS
Seite 19
2.4 DNS
2.4.1 Übersicht
Nach den Klicks auf Server bind8 (Abb. 4 Rot 8) erscheint die Haupseite des DNS
Servers.
Im oberen Drittel können Server spezifische Einstellungen vorgenommen werden, im
mittleren Drittel sind die vorhandenen Zonen aufgeführt und im unteren Drittel
schließlich die Erstellung einer neuen Ansicht und die Übernahme der Änderungen. Es
ist sehr wichtig den DNS Server nach den Änderungen neu zu starten.
2.4.2 Einfügen, ändern oder löschen eines neuen Rechners
Nach einem Klick auf die Zone bbs2.fh-wilhelmshaven.de (Master) erscheint die
Zonenaufstellung. Hier kann nun in der oberen Eingabe Maske der Rechnername in das
Feld Name und die IP in das Feld Adresse eingetragen werden. Reverse Aktualisieren
bezieht sich auf die Rückwärtsauflösung die mit Ja automatisch aktualisiert wird. Nach
einem Klick auf Erstellen ist der Rechner hinzugefügt. Er kann in der Liste nun
nachträglich verändert oder auch gelöscht werden. Dazu muss man auf den
entsprechenden Link klicken und die Aktion durchführen.
DNS
Seite 20
Man kann die Art der Sortierung durch einen Klick auf den Namen- oder Adressen-
Link in der Kopfzeile der Tabelle ändern.
2.4.3 DNS Weiterleitung
Der Eintrag des Fachhochschulservers für DNS ist in der Rubrik DNS Weiterleitung
einzutragen. Er übernimmt Auflösungsanfragen die der eigen DNS nicht beantworten
kann.
Apache
Seite 21
2.5 Apache Web Server
2.5.1 Übersicht
Nach den Klicks auf Server Apache (Abb. 4 Rot 1) erscheint die Haupseite des
Apache Web Servers.
Die auf dieser Seite einstellbaren Option betreffen alle standard- und virtuellen- Server.
Die Einstellungen für die jeweiligen Server können dann nach einem Klick auf den
Link des jeweiligen Servers in der Typ Spalte vorgenommen werden.
2.5.2 Virtuellen Server erstellen
Unten kann hier ein neuer virtueller Server Angelegt werden.
Adresse beschreibt die abzuhörender IP. Intern wäre das 139.13.210.1, extern
139.13.223.18. Unterschieden werden diese später durch ihren Namen.
Anschluss meint den Port auf dem Apache die Anfrage entgegennimmt. Dokument
Root ist das Verzeichnis in dem die HTML Dateien liegen, der Servername ist der
Vorsatz vor der Domäne bbs2.fh-wilhelmshaven.de der die Internetseiten anzeigen soll.
(z.B.: www, www2, wwwtest, e-technik, fachschule etc)
Apache
Seite 22
2.5.3 Einstellungen am virtuellen Server
Durch einen Klick auf den Link Virtueller Server in der zweiten Zeile erscheint die
Übersicht über die Optionen.
Abbildung 2.5-1 Virtueller Server
Der Apache Kenner kann hier auch unter Edit Directives die Konfigurationsdatei mit
der Hand editieren oder Teile einer anderen Konfiguration einflechten.
Die wichtigsten Optionen auf dieser Seite sind die Server-Konfiguration zur
Einstellung des Servernamens und Netzwerk und Adressen zur Einstellung der
abzuhörenden IP Adressen und der dazu gehörenden Ports.
2.5.4 Proxy
In Einbeziehung der Projektbeschreibung sei hier noch einmal erwähnt das die Seite mit
den Proxyeinstellungen nur für informative Zwecke verwendbar ist. So kann man mit
einem Editor zum Beispiel eine Direktive zur Proxydomain direkt in die
Konfigurationsdatei einfügen und den Apache damit betreiben und sich dies auf der
Proxying Seite auch anzeigen lassen, aber diese kann dann nicht mehr mit speichern
und übernehmen verlassen werden (Fehlermeldung: Invalid Domain Name). Daher
sind alle Änderungen am Proxy Modul direkt in der Konfigurationsdatei einzutragen.
Dies kann unter Schaltfläche Edit Directives erfolgen. Es kann davon ausgegangen
werden das dieser Fehler in einer der nächsten Webmin Versionen behoben sein wird.
DHCP
Seite 23
2.6 DHCP
2.6.1 Übersicht
Nach einem Klick auf DHCP (Abb. 4 – Rot 16) erscheint die Serverübersicht.
Abbildung 2.6-1 DHCP Haupseite
Hier sieht man nun das bereits angelegte Subnet mit der Netzwerkadresse der Schule.
Nach einem Klick auf den Link oder das Symbol erscheint die Seite zur Konfiguration
des Subnet. Ebenso kann man mit Ein neues Subnet hinzufügen oder Ein neues
freigegebenes Netzwerk hinzufügen eben dieses tun. Unter Hosts und Host Gruppen
können Pools erstellt werden. Die drei folgenden Schaltflächen sind selbsterklärend.
Die mittlere zeigt in einer Tabelle alle derzeit vergebenen IP’s an. Wiederum kann die
Sortierung mit einem Klick im Spaltenkopf geändert werden. Ein Klick auf eine IP führt
zur Client Bearbeitungsseite.
Abbildung 2.6-2 Vergebene IP’s
DHCP
Seite 24
2.6.2 Subnet bearbeiten
Hat man auf das Netzwerkicon in der vorhergehenden Abbildung geklickt erscheint die
Seite Subnet bearbeiten.
Abbildung 2.6-3 Subnet bearbeiten
Wie hier zu sehen, ist der Bereich der Clients auf die Adressen 139.13.210.222 bis
139.13.210.254 eingestellt. Es können weitere Bereiche oder auch ein einzelner Client
(z.B.: 139.13.210.154 - 139.13.210.154) eingetragen werden um den Bereich zu
erweitern.
Es wird von uns abgeraten zum derzeitigen Zeitpunkt die Optionen für das Dynamische
DNS zu benutzen. Grund dafür ist die zum Zeitpunkt der Drucklegung gerade neu
erschienene Version 3 des DHCP Servers die laut der Handbuchseite noch nicht
vollständig fertig gestellt ist (ddns-update-style interim), und die noch nicht angepasste
Webmin Version 0.97. Die von uns implementierte dynamische DNS Funktionalität
wurde per Editor direkt in der dhcpd.conf vorgenommen. Es empfiehlt sich die
Entwicklung abzuwarten und bei einem geeigneten Update die Konfiguration
abzuändern. Siehe dazu auch Projektdokumentation, Kapitel 6 ab Seite 34.
DHCP
Seite 25
2.6.3 Subnet erstellen
Analog zu den Veränderungen im vorhergehenden Abschnitt kann auch ein völlig neues
Subnet angelegt werden. Dazu folgt man dem Link Neues Subnet erstellen auf der
Serverübersichtsseite. Die notwendigen Daten sind dazu die Netzwerkadresse, die
Netzmaske, der Adressbereich der Vergaben. Soll ein Bootimage übertragen werden
kann dies optional mit angegeben werden, ebenso optional ist die dynamische DNS
Aktualisierung. Beachten Sie dazu bitte vorhergehenden Abschnitt !
Abbildung 2.6-4 Neues Subnet anlegen
Firewall
Seite 26
2.7 Linux Firewall
2.7.1 Allgemeines zur Firewall und zur Sicherheit im Umgang mit diesem Handbuch
Um eine möglichst große Sicherheit zu erreichen, bewahren Sie dieses Handbuch
niemals an einem öffentlich zugänglichem Ort auf, da hier die detaillierten
Firewallregeln dargestellt sind.
Eine Firewall dient zur Kontrolle der Daten die einen Computer passieren wollen, dazu
werden alle Datenpakete in denen die Daten verpackt sind durch die Firewall
überwacht. Der Sinn dieser Überwachung ist es einen Zugriff von fremden Personen auf
das eigene System abzublocken sowie der Schutz vor Fehlern der eigenen Software und
unerwünschten Programmen. Durch eine Firewall wird somit der gesamte Datenfluss
durch die Regeln der Firewall beschränkt. Aufgrund der zahlreichen
Konfigurationsmöglichkeiten einer Firewall mit Linux eigenen Mechanismen ist es
möglich das eigene System so abzudichten wie man es für nötig hält. Aber gerade durch
die Vielzahl dieser Möglichkeiten ist es nicht so einfach, eine wirklich sichere Firewall
zu erstellen. Die folgenden Ausführungen sollen behilflich sein um dieses Ziel dennoch
zu erreichen.
2.7.1.1 Grundlegende Arbeitsweise einer Firewall mit Linux 2.4
Die Kommunikation also der Datenaustausch zwischen verschiedenen Rechnern bzw.
Netzwerken, bedeutet das die Daten entsprechend ihrer Protokolle immer in Pakete
verpackt werden. Diese Pakete werden durch die Firewall überprüft. Anhand der
verschiedenen Regeln, die die Firewall beinhaltet, entscheidet diese was mit den
entsprechenden Paketen geschehen soll. Die Aktionen die dann von der Firewall
ausgeführt werden sind ACCEPT, DROP und REJECT. Bei ACCEPT werden die
entsprechenden Pakete akzeptiert und können die Firewall passieren und
weiterverarbeitet werden. Im Fall von DROP werden die Pakete verworfen und somit
von der Firewall abgeblockt. Mit REJECT werden die Pakete ebenfalls verworfen teilt
dem Absender jedoch durch eine Fehlermeldung die Ablehnung des Paketes mit. Eine
Firewall selbst besteht aus einer Reihe von Regeln die nacheinander abgearbeitet
werden. Jedes Datenpaket wird wie bei einer Checkliste mit den Regeln verglichen. Die
erste Regel auf die der Vergleich zutrifft, entscheidet was mit dem Datenpaket
geschehen soll. Um entscheiden zu können ob ein Paket akzeptiert wird oder nicht
werden in den Firewall Regeln verschiedene Parameter abgefragt. Die wichtigsten
Parameter sind das verwendete IP- Protokoll, die IP- Adressen von Absender und
Empfänger des Paketes, die Portnummern sowie das Netzwerkinterface über das die
Daten verschickt bzw. empfangen werden sollen.
Firewall
Seite 27
2.7.1.2 Hintergrundinformationen zu IP Protokollen
Um die Funktion einer Firewall verstehen zu können ist ein Ausflug zu der
Funktionsweise von IP Protokollen von Nöten.
UDPTCP
ICMP
TIME ...uswDNS...uswFTP SSHHTTP
IP
Abbildung 2.7-1 Verhältnis der IP Protokolle zu den Protokollen der
Anwendungsebene
2.7.1.2.1 TCP (Transmission- Control- Protocol)
Das TCP Protokoll ist im Moment das meist genutzte Protokoll das von fast allen
Internet Diensten verwendet wird. Das TCP Protokoll kennt den Begriff der
Verbindung, die vor der Übertragung aufgebaut und danach wieder abgebaut werden
muss. Während einer bestehenden Verbindung garantiert TCP die Integrität der Daten.
Wenn während einer Verbindung einzelne Pakete verloren gehen, werden diese
automatisch noch mal übertragen. Ebenfalls werden die Daten von TCP auch in die
richtige Reihenfolge einsortiert bevor diese an die Anwendung weiter gegeben werden.
TCP ist für eine Firewall besonders praktisch, da man den Aufbau einer Verbindung
anhand von Flags im Kopf des Paketes erkennen kann. Hierdurch lassen sich
Datenströme beurteilen, gehören sie zu einer Datenübertragung die durch ein Client-
Programm initiiert wurde wie zum Beispiel Netscape oder versucht jemand von außen
den Zugriff auf das System?
2.7.1.2.2 UDP (User- Datagram- Protocol)
Mit UDP werden Datenpakete von einem zum anderen Computer verschickt. Bei dieser
Übertragung identifizieren sich die beteiligten Programme anhand von Portnummern.
Bei UDP entfällt die Aushandlung der Verbindung, wodurch das Protokoll für
Anwendungen besonders geeignet ist bei denen es auf Schnelligkeit ankommt, wie zum
Beispiel bei vernetzten Dateisystemen oder Multimedia- Übertragungen. Der Nachteil
bei UDP ist, das Pakete verloren gehen können und auch die Reihenfolge in der sie
beim Empfänger ist undefiniert wodurch sich das Anwenderprogramm nicht auf
Datenintegrität verlassen darf. Im Bezug auf die Firewall hat UDP auch Nachteile, da
bei ankommenden Paketen nicht festgestellt werden kann ob es eine Reaktion auf eine
Anfrage ist oder ob ein Zugriff auf das System von außen versucht wird.
2.7.1.2.3 ICMP (Internet- Control- Message- Protocol)
Bei ICMP werden genauso wie bei UDP nur einzelne Pakete übertragen, wobei ICMP
aber nicht dem Versand von Nutzerdaten dient, sondern nur Statusinformationen über
das Netzwerk oder Fehlermeldungen versendet. Im Bezug auf die korrekt arbeitende
Firewall ist es wichtig das diese auf ICMP- Pakete eingeht.
Firewall
Seite 28
2.7.2 Firewall mit Linux 2.4
Beim erstellen von Sicherheits- relevanten Mechanismen gibt es grundsätzlich zwei
entgegen gesetzte Ansätze. Zum einen versucht man nicht erwünschte Ereignisse zu
erkennen und auszuschalten, alles andere zu erlauben. Dieser Ansatz ist aus Sicht der zu
erstellenden Firewall sehr gefährlich, da wenn ein Ereignis vergessen wird dieses
automatisch erlaubt ist. Dieses ist besonders dahin gehend gefährlich weil bis jetzt
unbekannte Angriffe auf das System ohne weiteres die Firewall passieren könnten. Bei
der Erstellung von Firewall- Regeln geht man daher den zweiten Weg. Indem man
unbekannte Ereignisse immer verbietet und unbekannte Pakete niemals annimmt.
Daraus folgt das alles was erlaubt sein soll, explizit definiert werden muss. Dieses birgt
aber auch einen Nachteil in sich und zwar, das solange eine Firewall unvollständig oder
fehlerhaft ist, ein vernünftiger Netzwerkzugriff nicht möglich ist. Des Weiteren muss
für jedes Anwendungsprogramm, welches ein neues Netzwerkprotokoll verwendet die
Firewall entsprechend angepasst werden. Im Falle einer Linux Firewall werden die
beiden vorgestellten Prinzipien durch so genannte Policies umgesetzt. In den
nachfolgenden Erläuterungen wir ausschließlich auf den Netfilter des Kernel 2.4
eingegangen. Die Versionen der Kernel 2.0 und 2.2 „IPWADM“ und „IPCHAINS“
werden hier nicht betrachtet.
2.7.2.1 Firewall auf Basis „NETFILTER“ des Kernel 2.4 (IPTABLES)
Die Firewall auf Basis des Netfilter verwendet drei verschiedene Tabellen, wobei die
„filter-Tabelle“ die eigentlichen Firewall- Regeln, die „nat-Tabelle“ die Regeln für
Network-Adress- Translation beinhalten. Als drittes gibt es noch die „mangle-Tabelle“
in der zusätzliche Möglichkeiten der Modifikation ermöglicht werden. Wie schon
erwähnt befinden sich die für die Firewall wichtigen Regeln alle in der „filter-Tabelle“,
worauf nun das Augenmerk gelegt werden soll. Jede dieser Tabellen besteht aus so
genannten Chains (Ketten). Diese Chains werden „INPUT“, „OUTPUT“ und
„FORWARD“ genannt. Alle Daten die für den Linuxrechner bestimmt sind durchlaufen
die INPUT- Chain, alle Daten die der Linuxrechner erzeugt die OUTPUT- Chain. Die
FORWARD- Chain ist für Daten die direkt vom LAN ins Internet und umgekehrt
geschickt werden.
Abbildung 2.7-2 Darstellung der Ketten
Firewall
Seite 29
2.7.2.2 Aufruf-Konventionen von iptables
Grundsätzlich gilt:
Kommandos bestehen aus einem Grossbuchstaben, z.B. -L oder der
entsprechenden Langform z.B. --list
Targets (d.h. Ziele oder Aktionen) bestehen aus einem großgeschriebenen Wort,
z.B. DROP
Chains bestehen aus einem großgeschriebenen Wort, z.B. INPUT
Tabellen sind Worte in Kleinbuchstaben, z.B. filter
Optionen bestehen aus Kleinbuchstaben, z.B. -t oder --source-port
2.7.2.3 Typische Kommandos (Auswahl)
! Ein vorangestelltes "!" bedeutet Negation, d.h. der nachfolgende Parameter darf nicht
mit den Daten eines Paketes übereinstimmen. Ohne "!" wird stets auf Übereinstimmung
getestet.
[...] Alle in eckigen Klammern stehenden Werte sind optional
<...> Das in spitzen Klammern stehende Wort steht stellvertretend für den stattdessen
einzusetzenden Inhalt
Tabelle 2-1 iptables Befehle
Kommando Bedeutung
-A <chain> <regel> Anfügen einer neuen Regel am Ende einer Chain/Tabelle
-D <chain> <regel> Löschen einer Regel aus einer Chain/Tabelle
-C <chain> <regel> Testen eines Paketes mit bestimmten Bedingungen auf eine
Chain/Tabelle
-R <chain> <nr> <regel> Ersetzen einer Regel durch eine neue
-I <chain> <nr> <regel> Einfügen einer Regel in eine Tabelle/Chain
-L [<chain>] Auflisten aller Regeln einer Tabelle/Chain evtl. mit -Z
-F [<chain>] Alle Regeln einer Chain löschen
-Z [<chain>] Löschen der Zähler einer Chain
-N <chain> Neue benutzerdefinierte Chain anlegen
-X <chain> Benutzerdefinierte Chain löschen
-P <chain> <ziel> Standardverhalten einer Chain festlegen
-E <chain> <chain-neu> Umbenennen einer Chain
Firewall
Seite 30
Tabelle 2-2 Generelle, begleitende Optionen
Kommando Bedeutung
-t <tabelle> Auswahl einer Tabelle (filter, nat, mangle); "filter" ist die Standard-
Tabelle, falls diese Option nicht gewählt wurde. Hierbei wird das diese
Tabelle "managende" Modul [iptable_<tabelle>] geladen, sofern der
Kernel mit automatischem Modul-Loading konfiguriert ist.
-v Mehr ausgeben...
-n Numerische Ausgaben bei Auflistungen
-x Exakte Zahlenangeben anstelle von Kilo, Mega, Giga...
-h Hilfe-Meldungen und Optionen ausgeben (in Verbindung mit -m oder -j
werden die mit dem jeweiligen Modul zur Verfügung stehenden
zusätzlichen Optionen angezeigt).
-m <modul> Zusätzliche Optionen bereitstellen, die im angegebenen Modul verankert
sind. Hierbei wird der Modulname ohne vorangestelltes "ipt_" und ohne
Erweiterung angegeben (z.B. "mac" zum Laden des Moduls
"ipt_mac.o"). Besonders hilfreich ist in diesem Zusammenhang die
Hilfe-Funktion (-h), die in Verbindung mit einem Modul dessen
Parameter und Optionen auflistet.
2.7.3 Grundlegende Konfiguration der Firewall
Die folgenden Ausführungen beziehen sich nicht auf das Projekt, eine Firewall für
einen Server zu erstellen sondern soll nur die grundlegenden Prinzipien aufzeigen. Die
Regeln für eben dieses Projekt werden später mit dem GUI- Tool „Firewall Builder“
erstellt und erläutert.
Vor dem erstellen von neuen Firewall- Regeln sollte man, um Schwierigkeiten zu
vermeiden, eventuell vorhandene Regeln die bereits vom System erstellt wurden
ausschalten. Dieses erreicht man in dem man in der Datei die später die Regeln
enthalten soll als erstes den folgenden Eintrag macht.
iptables -F
Den vorgestellten Prinzipien folgend werden anschließend alles gesperrt, um später
durch entsprechende Regeln einzelne Datenpakete die, die Firewall passieren dürfen
wieder freizugeben. Um dieses zu erreichen verwendet man folgende Regeln.
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
Firewall
Seite 31
Nachdem man nun alles gesperrt hat, macht man sich daran die einzelnen Prozesse die
gewünscht sind wieder freizugeben. Als Beispiel hierfür soll die Verbindung zum
WWW betrachtet werden. Bevor man sich daran begibt muss man aber wissen welche
entsprechenden Portnummern zu den jeweiligen Prozessen gehören. Hierzu dient die
folgende Liste die eine Auswahl der Portnummern ist. Die vollständige der von Linux
unterstützten Ports findet man in der Datei /etc/services .
21 FTP (Datenübertragung)
22 SSH (SecureShell)
23 TELNET (unsichere Alternative zu SSH)
25 SMTP (Mail- Versand)
43 WHOIS (Verzeichnis der Inhaber und Betreiber von Internet- Domains)
53 DNS (Zuordnung von Domain- Namen und IP- Adressen)
79 FINGER (Abfrage von Benutzerinformationen)
80 HTTP (Verbindung zum WWW)
110 POP3 (Mail- Empfang)
119 NNTP (Usenet- News- Versand und Empfang)
143 IMAP (Mail- Empfang)
443 HTTPS (sichere Verbindung zum WWW)
Wie aus der Liste zu ersehen ist wird bei einem Client der zum Beispiel mit Netscape
eine Verbindung zu einem Webserver herstellen will der Port 80 verwendet. Um nun
eine Regel zu erstellen benutzt man nun folgenden Befehl.
iptables –A OUTPUT –p tcp --sport 1024: --dport 80 –j ACCEPT
Die Option –A OUTPUT hängt die neue Regel an die Output Chain an, das --sport
1024: steht für den Source Port. Dieser muss mindestens 1024 sein, mit dem
angehängten Doppelpunkt erreicht man das auch alle darüber liegenden Ports erlaubt
sind. Durch diese Regel hat man nun erreicht das der Client ein Paket an den Webserver
schicken kann.
Da jetzt zwar dieser Weg frei ist, kann man aber in diesem Moment noch nichts
empfangen. Hierfür ist nun eine weitere Regel erforderlich.
iptables –A INPUT –p tcp --sport 80 --dport 1024: ! --syn –j ACCEPT
Wie zu erkennen ist sind hier nun die Absender- und Empfänger –ports vertauscht. Die
Option ! --syn überprüft bestimmte Flags im Kopf des TCP- Paketes und erkennt
daran das erste Paket einer neuen Verbindung. Im Klartext bedeutet dies das alle Pakete
die zu einer bestehenden Verbindung gehören erlaubt sind, ein Aufbau einer neuen
Verbindung von außen aber verweigert wird, also Programme auf dem eigenen System
Verbindungen aufbauen darf, fremde Rechner von außerhalb aber nicht. Da es sich
hierbei aber um einen relativ einfachen Mechanismus handelt, verwendet man lieber ein
separates Modul zur Verbindungsüberwachung. Dieses erreicht man durch hinzufügen
folgender Regeln.
iptables –A INPUT –m state --state ESTABLISHED,RELATED –j ACCEPT
iptables –A OUTPUT –m state --state ESTABLISHED,RELATED –j ACCEPT
Durch diese beiden Regeln merkt sich die Firewall alle bestehenden Verbindungen.
Gelangt jetzt ein Paket an die Firewall überprüft diese ob es zu einer bestehenden bzw.
bekannten Verbindung gehört. Wird erkannt das die Verbindung bekannt ist, so wird
Firewall
Seite 32
das Paket ohne weiteres nachfragen zugelassen. Ebenfalls werden hierdurch Pakete
erkannt die als verwandt gelten. Um so genannte verwandte handelt es sich zum
Beispiel um ICMP- Fehlermeldungen oder die Datenkanäle einer FTP- Verbindung. Bei
dieser Art der Überwachung kann man die Überprüfung mit der Option !--syn
unterlassen.
Anhand der vorgestellten Regeln für den Port 80 ist es nun möglich weitere Regeln für
die anderen Ports zu erstellen, die die Firewall passieren dürfen. Eine Ausnahme bildet
aber der Datenverkehr über FTP, weil dort eine Verbindung zu den oberen Ports
aufgebaut wird. Man unterscheidet zwischen dem aktiven und passiven Modus. Beim
aktiven Modus handelt es sich um eine Verbindung vom FTP- Server zu uns und im
passiven Modus baut ein FTP- Client über die oberen Ports eine Verbindung auf.
Normalerweise ist dieses recht unsicher und beinhaltet Sicherheitsrisiken. Durch die
erstellten Regeln zur Überwachung der Verbindungen verhindert man diese Risiken
aber.
2.7.3.1 Verbindungen zwischen Programmen auf einem Rechner
Um die IP- basierte Kommunikation zwischen Programmen auf dem eigenen Rechner
zu ermöglichen, wird ein besonderes Netzwerkinterface benutzt. Hierbei handelt es sich
um das so genannte „Loopback Device“ das auch kurz mit „lo“ bezeichnet wird. Um
nun Programmen die Möglichkeit zu geben, miteinander kommunizieren zu können,
sind weitere Regeln nötig.
iptables –A INPUT –i lo –j ACCEPT
iptables –A OUTPUT –o lo –j ACCEPT
Durch die Optionen –i bzw. –o werden die Pakete die über das angegebene
Netzwerkinterface empfangen (input) oder gesendet (output) werden eingeschränkt.
2.7.3.2 Betrieb von Servern hinter der Firewall
Da es sich bei einem Betriebsystem wie Linux anbietet eigene Server einzurichten und
auf diese über das Internet zugreifen zu können, müssen auch hierfür entsprechende
Firewall- Regeln erstellt werden. Als Beispiel soll hierfür HTTP und SSH dienen. Die
entsprechenden Regeln sehen dann folgendermaßen aus.
iptables –A INPUT –p tcp –s xxx.xxx.xxx.xxx/24 --dport 22 –j ACCEPT
iptables –A INPUT –p tcp --dport 80 –j ACCEPT
iptables –A OUTPUT –p tcp --sport 22 –j ACCEPT
iptables –A OUTPUT –p tcp --sport 80 –j ACCEPT
Aus diesen Regeln ist ersichtlich das man für jeden Server den man aufsetzt zwei
Regeln erforderlich sind. Also jeweils eine für ausgehende und eine für eingehende
Pakete. Mit der Option –s und einer IP Adresse, die hier durch xxx.xxx.xxx.xxx
dargestellt ist, kann man die Quelle (source) einschränken. Im konkreten Beispiel
würden alle IP- Adressen des Bereiches xxx.xxx.xxx.0 bis xxx.xxx.xxx.255 über SSH
eine Verbindung zum System aufbauen können. Durch die Option –d xxx.xxx.xxx.xxx.
könnte man der Verbindung noch ein Ziel (destination) angeben. Für alle weiteren
Server die auf dem Rechner laufen sollen, geht man nach dem selben Prinzip vor.
Firewall
Seite 33
2.7.3.3 Regeln für DNS (Domain Name Service)
Der DNS bedarf einer besonderen Beachtung, da dieser immer notwendig ist, das beruht
darauf das die Namensauflösung eine wesentliche Voraussetzung für die Internet-
Kommunikation ist. Wird eine Anfrage an einen DNS Server gestellt, so wird diese
immer über zuerst über UDP ausgeführt. Wenn die Antwort für diese Anfrage aufgrund
ihrer Größe mit UDP nicht ausgeführt werden kann, wird die Anfrage nochmals über
TCP wiederholt, da hierüber größere Datenmengen übertragen werden können. Für
diese Besonderheiten gelten folgende Regeln.
iptables –A OUTPUT –p udp --sport 1024: --dport 53 –j ACCEPT
iptables –A OUTPUT –p tcp --sport 1024: --dport 53 –j ACCEPT
Aufgrund der schon erwähnten Besonderheiten von UDP in Bezug auf eine Firewall,
das genau diese Firewall nicht feststellen kann ob ein UDP Paket zu einer bestehenden
Verbindung gehört. Aus diesem Grund bedeutet es für die Erstellung der Firewall
besondere Aufmerksamkeit. Wenn nun ein DNS Server Kontakt mit dem eigenen
Rechner aufnimmt geschieht das von Port 53 aus. Das Ziel ist einer der oberen Ports auf
dem eigenem System, dies geschieht aber nur wenn man keinen eigenen DNS Server
betreibt. Wenn man nur auf einen einzigen DNS Server zugreift, wie z.B. den des
Internetproviders, erlaubt man nur UDP Pakete von genau dieser IP Adresse. Die
Regeln sehen dann wie folgt aus.
nameserver=xxx.xxx.xxx.xxx
iptables –A INPUT –p udp –s $nameserver --sport 53 –j ACCEPT
iptables –A INPUT –p tcp –s $nameserver --sport 53 –j ACCEPT
Wird im eigenem System ein DNS Server betrieben wird, kann man den lokal
verwendeten Port konfigurieren. In diesem Fall werden UDP Pakete aus dem ganzen
Internet akzeptiert, jedoch nur an diesem einen UDP Port.
iptables –A INPUT –p udp --sport 53 --dport 7531 –j ACCEPT
Wenn kein eigener DNS Server wird und bei veränderlichem fremden Server wie z.B.
bei einer Modem Einwahlverbindung ist es möglich, ein Script zu erstellen um nach
jeder neuen Interneteinwahl die Firewall zu aktualisieren. Auf diese Möglichkeit wird
hier aber nicht näher eingegangen, da es nicht Bestandteil unseres Projektes ist.
2.7.3.4 Firewall und ICMP
Datenpakete die ICMP verwenden müssen in Bezug auf die Firewall noch besonders
beachtet werden, da diese wie schon erwähnt, Informationen über den Netzwerkstatus
liefern und Fehlermeldungen übertragen. Bei ICMP wird anders wie bei TCP und UDP
nicht mit Ports gearbeitet, sondern mit Nachrichtentypen und einem eventuellen Subtyp.
An diesen Gegebenheiten kann die Firewall erkennen worum es hierbei geht und kann
somit selektiv filtern. Ein Beispiel hierfür ist z.B. echo-request und echo-reply
welche Frage und Antwort von PING sind. PING benutzt man um zu überprüfen ob ein
Rechner korrekt an ein Netzwerk angeschlossen ist oder nicht. Mit den folgenden
Regeln erlaubt man der Firewall genau diese passieren zu lassen.
Firewall
Seite 34
iptables –A OUTPUT –p icmp --icmp-type echo-request –j ACCEPT
iptables –A INPUT –p icmp --icmp-type echo-reply –j ACCEPT
Will man den umgekehrten Weg auch freigeben, gibt man noch folgende Regeln ein.
iptables –A INPUT –p icmp --icmp-type echo-request –j ACCEPT
iptables –A OUTPUT –p icmp --icmp-type echo-reply –j ACCEPT
Ein weiterer Nachrichtentyp ist destination-unreachable mit seinen zahlreichen
Subtypen, dieser teilt einem Rechner mit das eine bestimmte Resource nicht erreichbar
ist. Dieser Nachrichtentyp sollte auf jeden Fall die Firewall passieren dürfen.
Insbesondere der Subtyp fragmentation-needed ist für die Kommunikation von
besonderer Bedeutung, denn unter besonderen Umständen kann eine fehlende Erlaubnis
in diesem Fall zu undurchsichtigen Fehlermeldungen kommen. Um diesem Fall aus
dem Wege zu gehen sollten nachfolgende Regeln in die Firewall implementiert werden.
iptables –A OUTPUT –p icmp --icmp-type destination-unreachable –j
ACCEPT
iptables –A INPUT –p icmp --icmp-type destination-unreachable –j
ACCEPT
2.7.3.5 Abschließende Regeln einer Firewall
Zum Abschluss muss man noch einige abschließende Regeln erstellen um die bisher
noch nicht erkannten Datenpakete zu verbieten. Des weiteren sind noch Regeln zur
Protokollierung des Datenverkehrs notwendig. Die folgenden Regeln sollen nur
Beispiele sein um einen Datenverkehr zu Protokollieren bzw. zu verbieten. Die
Verbietende Regel muss auf jeden Fall am Ende der Regeln stehen.
iptables –A INPUT –j LOG
iptables –A OUTPUT –j LOG
iptables –A INPUT –j DROP
iptables –A OUTPUT –j DROP
Abschließend muss noch erwähnt werden das für NAT (Network Adress Translation)
wenn es denn gewünscht oder gefordert wird einige Regeln erstellt werden müssen. In
unserem besonderen Fall war dies aber nicht Bestandteil des Projektes. Für genauere
Informationen lesen Sie die entsprechenden Dokumentationen der Betriebssysteme.
2.7.3.6 Speichern und automatisches ausführen der Regeln
Da wir wie schon erwähnt, die Firewall Regeln bei unserem Projekt mit dem GUI Tool
„Firewall-Builder“ erstellen gehen wir in diesem Abschnitt der Dokumentation nicht
näher auf diesen Punkt ein. Die entsprechenden Anleitungen entnehmen Sie bitte den
Handbuchseiten bzw. der einschlägigen Lektüre oder HOWTO’s.
2.7.4 Erstellen einer Firewall mit dem GUI- Tool „Firewall-Builder“
Um mit dem Firewall Builder arbeiten zu können laden, haben wir uns zu Anfang erst
einmal das entsprechende RPM Paket von der Internetseite www.fwbuilder.org herunter
geladen. Auf dieser Seite findet man auch entsprechende Dokumentationen zu dieser
Firewall
Seite 35
Software. Nachdem wir dieses getan hatten, installierten wir das RPM Paket mit dem
Paket-Manager von RedHat 7.2.
2.7.4.1 Basiskonfiguration
Bevor wir den Firewall Builder das erste Mal starteten, legten wir in /etc als künftiges
Arbeitsverzeichnis für die Applikation das Directory /etc/fwbuilder an. Dort sollten
später die Konfigurationsdatei des Tools sowie die erstellten Firewall-Regeln lagern.
Jetzt starteten wir den Firewall Builder. Als erstes galt es, einige grundlegende
Einstellungen für die Applikation selbst zu treffen. Dazu riefen wir den Menüpunkt
Edit/Options auf. Unter General/Paths des daraufhin erscheinenden Popup-Fensters
trugen wir den Pfad zu unserem
Arbeitsverzeichnis - also /etc/fwbuilder - ein. Die Einstellungen unter Network
haben wir bei den Defaultwerten belassen: Also je 10 Sekunden Timeout und einen
Wiederholungsversuch.
Abbildung 2.7-3 Angabe des Arbeitsverzeichnisses
Firewall
Seite 36
Abbildung 2.7-4 Default- Einstellungen unter Network
Unter GUI/Behavior stellten wir die automatische Sicherung aller Einstellungen beim
Wechsel zwischen den Objekten ein. Die Optionen für <Object Tooltips> und <Tree
View> haben wir außer Betracht gelassen, da diese für die grundsätzliche Funktion
nicht ausschlaggebend sind. Allerdings erwiesen sich die eingestellten Vorgaben bei der
weiteren Arbeit erfahrungsgemäß als hilfreich.
Firewall
Seite 37
Abbildung 2.7-5 Automatisches Speichern beim Wechsel zwischen einzelnen
Objekten
2.7.4.2 Erstellen des Firewall Objektes
Ein wesentliches Stichwort beim Umgang mit dem Firewall Builder sind Objekte. Bei
der weiteren Konfiguration baut das Tool auf die Definition diverser Objekte auf. Dazu
zählen Netzwerke und Hosts ("Objects"), Protokolle und Ports ("Services"), sowie
Zeitspannen ("Time").
Das wichtigste davon stellt das Firewall-Objekt selbst dar. Dies ist also der Rechner,
den es über eine zugeordnete Policy zu schützen gilt. Daher erstellten wir als erstes über
den Menüpunkt Insert/Firewall ein entsprechendes Objekt.
Dieses muss über insgesamt fünf Reiter mit Einstellungen versorgt werden. Auf dem
Reiter <General> trugen wir eine Bezeichnung für das Objekt, hier „Firewall“ sowie die
entsprechende Netzwerkadresse ein. Als unterstützte Firewall-Software wählten wir
Iptables, die anderen Werte blieben auf den Voreinstellungen.
Firewall
Seite 38
Abbildung 2.7-6 Erstelltes Firewallobjekt
Als nächster Punkt wurden unter dem Reiter <Interfaces> die Netzwerkschnittstellen
(Netzwerkkarten) eingetragen. Dieses wurde erreicht indem wir den <New> Button
betätigten. Woraufhin das folgende Fenster erschien.
Firewall
Seite 39
Abbildung 2.7-7 Einrichtung der Netzwerkkarten
In der nun aufgehenden Dialogbox trugen wir den Namen der Netzwerkkarte, einen
Label (nicht unbedingt erforderlich) sowie die IP Adresse und die Netzmaske ein.
Außerdem machten wir einen Haken in das Feld <External Interface> und schlossen die
Dialogbox über <OK>. Diese Einstellungen wiederholten für die weiteren Schnittstellen
<eth1> und das Loopback Device <lo>. Beim Loopback Device wurde allerdings der
Haken im Feld <External Interface> weggelassen.
Firewall
Seite 40
Abbildung 2.7-8 Fertig eingefügte Netzwerkschnittstellen
2.7.4.3 Kompilierung und Installation
Der Regelcompiler liegt nach einer Standardinstallation von Firewall Builder im
Verzeichnis /usr/bin. Da wir Regeln für die Iptables Firewall erstellten, gaben wir als
Pfad zum Compiler also /usr/bin/fwb_iptables an.
Firewall
Seite 41
Abbildung 2.7-9 Eingabe der Pfade für den Compiler und das Installationsscript
Als Installationsskript haben wir, direkt das von Firewall Builder später erstellte
Konfigurationsskript angegeben. Es liegt im Arbeitsverzeichnis der Applikation - bei
uns also /etc/fwbuilder - und trägt den Namen des Firewall Objekts mit der Endung
.fw.
Nachdem wir diese Grundeinstellungen erledigt hatten, speicherten wir den
momentanen Status über den Menüpunkt <File/Save As> als
/etc/fwbuilder_rules.xml.
Inder folgenden Phase haben wir die Netzwerke eingerichtet an die der Server
angeschlossen werden soll. Dieses erreicht man im Menü <Insert> unter <Network>.
Im darauf folgenden Fenster haben wir dann den Namen des Netzwerkes, die IP-
Adresse und die Netzmaske angegeben.
Firewall
Seite 42
Abbildung 2.7-10 Einrichtung des 1. Netzwerkes
Dieses wiederholten wir ebenfalls für das zweite Netzwerk.
Firewall
Seite 44
2.7.4.4 Erstellen der Regeln für die Netzwerkschnittstellen
Um nun die Regeln zu erstellen klickt man mit der rechten Maustaste auf das graue
Feld. Worauf das folgende Fenster erscheint. Nachdem dieses geschehen ist, zieht man
per Drag and Drop (linke Maustaste gedrückt halten) die entsprechenden Objekte in die
Felder unterhalb von – Source, Destination, Service – hiernach werden dann noch mit
der rechten Maustaste auf die Felder – Action, Direction, Options, Comment –
geklickt, wo die entsprechend Gewünschten Optionen ausgewählt werden.
Folgende Möglichkeiten ergeben sich:
Source: Alle unter Objects und Firewalls eingerichteten Objekte und Firewalls
Destination: Alle unter Objects und Firewalls eingerichteten Objekte und Firewalls
Service: Alle unter Standard oder User eingerichteten Services
Action: Auswahlmöglichkeiten - Deny, Accept, Reject
Direction: Auswahlmöglichkeiten - Inbound, Outbound, Both(Input, Output, Both)
Options: Auswahlmöglichkeiten – logging on/off
Comment: Textfeld zum eintragen eines Kommentars
Abbildung 2.7-12 Einrichtung der Regeln für die Netzwerkschnittstellen
Firewall
Seite 46
Für das Loopback Device wird alles freigegeben, da es sich um die so genannte und
schon erwähnte Pseudoschnittstelle für lokale Anwendungen handelt.
Abbildung 2.7-14 Regel für das Loopback Device
Firewall
Seite 47
Abbildung 2.7-15 Fertig eingerichtete Regel für eth1
Anmerkung : Um erstellte Regeln abzuändern bedient man sich der linken / rechten
Maustaste um entsprechende Teile der Regel zu löschen, zu kopieren bzw. per Drag and
Drop neu hinzuzufügen.
Firewall
Seite 48
2.7.4.5 Globale Regeln
Abschließend werden nun noch die globalen Regeln nach dem selben Muster erstellt.
Diese gelten nicht nur für einzelne Netzwerkschnittstellen sondern für die gesamte
Firewall Als letztes wird noch eine Regel angehängt, die alles verbietet was noch nicht
erkannt wurde.
Abbildung 2.7-16 Globale Regeln für die Firewall
2.7.4.6 Firewall starten
Damit hatten wir die Konfiguration der Firewall abgeschlossen und speicherten sie ein
letztes Mal ab. Anschließend wählten wir im Menü den Punkt <Rules>/<Compile> an.
Firewall Builder generierte jetzt das Firewall-Skript und speichert es im
Arbeitsverzeichnis /etc/fwbuilder ab. Von dort kann es über <Rules>/<Install>
gestartet und anschließend ausgetestet werden.
Firewall
Seite 49
Abbildung 2.7-17 Meldung über die fertig kompilierte Firewall
Diese Meldung erscheint wenn die
Compilierung erfolgreich war !!!!
Firewall
Seite 50
Abbildung 2.7-18 Automation des Firewallstarts
Um automatisch bei jedem Systemstart das aktuelle Firewall-Skript zu laden, trugen wir
es in /etc/init.d/iptables, das Startup-Skript für Iptables, ein. Dazu suchten wir
die Marken start) und restart) und ergänzen sie um den Befehl zur Ausführung der in
/etc/fwbuilder/ gespeicherten Regeln.
Eine Überprüfung unserer Firewall mit einem Portscanner wie z.B. nmap zeigte, dass
unser Rechner durch nicht autorisierte Stationen tatsächlich nicht mehr entdeckt werden
konnte. Potentiellen Angreifern bleibt er also künftig verborgen.
2.7.4.7 Abschluss- Betrachtung zum Firewall Builder
Die beschriebene Konfiguration reizt die Fähigkeiten des Firewall Builder bei weitem
nicht aus. So lässt sich durch die Definition und Einbindung von Zeitspannen die
Geltungsdauer von Regeln zeitlich beschränken. Daneben kann das Tool mehrere
Firewall-Konfigurationen parallel vorhalten und bei Bedarf auf verschiedene Rechner
verteilen. Viele dazu notwendigen Informationen holt sich Firewall Builder bei Bedarf
per Knopfdruck via DNS und SNMP .
In jedem Fall reduziert Firewall Builder den Aufwand beim Erstellen, Austesten und
Verteilen von Firewall-Policies drastisch, da die benötigten Regeln nicht von Hand in
ein entsprechendes Script eingetragen werden müssen.
Firewall
Seite 51
2.7.5 Erstelltes Script vom Firewall Builder
#!/bin/sh
#
# This is automatically generated file. DO NOT MODIFY !
#
# Firewall Builder fwb_iptables v1.0.0
#
# Generated Thu May 2 17:54:11 2002 CET by root
#
#
#
#
if [ -x /usr/bin/logger ]; then
logger -p debug "Activating firewall script fire.fw generated Thu May 2
17:54:11 2002 CET by root"
fi
modprobe ip_conntrack || exit 1
modprobe ip_conntrack_ftp || exit 1
modprobe ip_nat_ftp || exit 1
FWD=`cat /proc/sys/net/ipv4/ip_forward`
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "1800" > /proc/sys/net/ipv4/tcp_keepalive_intvl
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
cat /proc/net/ip_tables_names | while read table; do
iptables -t $table -L -n | while read c chain rest; do
if test "X$c" = "XChain" ; then
iptables -t $table -F $chain
fi
done
iptables -t $table -X
done
ip addr flush dev eth1 scope link
ip addr flush dev lo scope link
ip addr flush dev eth0 scope link
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# Interface Rule #0
#
# Alles freigeben
#
iptables -N IRULE_0_eth1
iptables -A INPUT -i eth1 -m state --state NEW -j IRULE_0_eth1
iptables -A FORWARD -i eth1 -m state --state NEW -j IRULE_0_eth1
iptables -A OUTPUT -o eth1 -m state --state NEW -j IRULE_0_eth1
Firewall
Seite 52
iptables -A FORWARD -o eth1 -m state --state NEW -j IRULE_0_eth1
iptables -A IRULE_0_eth1 -j LOG --log-level debug --log-prefix "RULE 0 --
Accept "
iptables -A IRULE_0_eth1 -j ACCEPT
#
# Interface Rule #0
#
# localhost
#
iptables -N IRULE_0_lo
iptables -A INPUT -i lo -m state --state NEW -j IRULE_0_lo
iptables -A OUTPUT -o lo -m state --state NEW -j IRULE_0_lo
iptables -A IRULE_0_lo -j LOG --log-level debug --log-prefix "RULE 0 --
Accept "
iptables -A IRULE_0_lo -j ACCEPT
#
# Interface Rule #0
#
# HTTP,HTTPS (rein)
#
iptables -N IRULE_0_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m multiport --
destination-port 80,443 -j IRULE_0_eth0
iptables -A IRULE_0_eth0 -j LOG --log-level debug --log-prefix "RULE 0 --
Accept "
iptables -A IRULE_0_eth0 -j ACCEPT
#
# Interface Rule #1
#
# HTTP,HTTPS (raus)
#
iptables -N IRULE_1_eth0
iptables -A OUTPUT -o eth0 -p tcp -m state --state NEW -m multiport --
destination-port 80,443 -j IRULE_1_eth0
iptables -A IRULE_1_eth0 -j LOG --log-level debug --log-prefix "RULE 1 --
Accept "
iptables -A IRULE_1_eth0 -j ACCEPT
#
# Interface Rule #2
#
# FTP,FTP_DATA (rein)
#
iptables -N IRULE_2_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -s
139.13.223.16/255.255.255.252 -m multiport --destination-port 21,20 -j
IRULE_2_eth0
iptables -A IRULE_2_eth0 -j LOG --log-level debug --log-prefix "RULE 2 --
Accept "
iptables -A IRULE_2_eth0 -j ACCEPT
#
# Interface Rule #3
#
# FTP,FTP_Data (raus)
#
iptables -N IRULE_3_eth0
iptables -A OUTPUT -o eth0 -p tcp -m state --state NEW -d
139.13.223.16/255.255.255.252 -m multiport --destination-port 21,20 -j
IRULE_3_eth0
iptables -A IRULE_3_eth0 -j LOG --log-level debug --log-prefix "RULE 3 --
Accept "
iptables -A IRULE_3_eth0 -j ACCEPT
#
# Interface Rule #4
#
# DNS
#
iptables -N IRULE_4_eth0
iptables -A OUTPUT -o eth0 -p tcp -m state --state NEW --destination-port 53
-j IRULE_4_eth0
Firewall
Seite 53
iptables -A OUTPUT -o eth0 -p udp -m state --state NEW --destination-port 53
-j IRULE_4_eth0
iptables -A IRULE_4_eth0 -j LOG --log-level debug --log-prefix "RULE 4 --
Accept "
iptables -A IRULE_4_eth0 -j ACCEPT
#
# Interface Rule #5
#
iptables -N IRULE_5_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --destination-port 53
-j IRULE_5_eth0
iptables -A INPUT -i eth0 -p udp -m state --state NEW --destination-port 53
-j IRULE_5_eth0
iptables -A IRULE_5_eth0 -j LOG --log-level debug --log-prefix "RULE 5 --
Accept "
iptables -A IRULE_5_eth0 -j ACCEPT
#
# Interface Rule #6
#
# POP3
#
iptables -N IRULE_6_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --destination-port 110
-j IRULE_6_eth0
iptables -A IRULE_6_eth0 -j LOG --log-level debug --log-prefix "RULE 6 --
Accept "
iptables -A IRULE_6_eth0 -j ACCEPT
#
# Interface Rule #7
#
# SMTP
#
iptables -N IRULE_7_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --destination-port 25
-j IRULE_7_eth0
iptables -A IRULE_7_eth0 -j LOG --log-level debug --log-prefix "RULE 7 --
Accept "
iptables -A IRULE_7_eth0 -j ACCEPT
#
# Interface Rule #8
#
iptables -N IRULE_8_eth0
iptables -A OUTPUT -o eth0 -p tcp -m state --state NEW --destination-port 25
-j IRULE_8_eth0
iptables -A IRULE_8_eth0 -j LOG --log-level debug --log-prefix "RULE 8 --
Accept "
iptables -A IRULE_8_eth0 -j ACCEPT
#
# Interface Rule #9
#
# TIME
#
iptables -N IRULE_9_eth0
iptables -A OUTPUT -o eth0 -p tcp -m state --state NEW -d 130.133.1.10 --
destination-port 13 -j IRULE_9_eth0
iptables -A OUTPUT -o eth0 -p udp -m state --state NEW -d 130.133.1.10 --
destination-port 13 -j IRULE_9_eth0
iptables -A IRULE_9_eth0 -j LOG --log-level debug --log-prefix "RULE 9 --
Accept "
iptables -A IRULE_9_eth0 -j ACCEPT
#
# Interface Rule #10
#
iptables -N IRULE_10_eth0
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -s 130.133.1.10 --
destination-port 13 -j IRULE_10_eth0
iptables -A INPUT -i eth0 -p udp -m state --state NEW -s 130.133.1.10 --
destination-port 13 -j IRULE_10_eth0
iptables -A IRULE_10_eth0 -j LOG --log-level debug --log-prefix "RULE 10 --
Accept "
Firewall
Seite 54
iptables -A IRULE_10_eth0 -j ACCEPT
#
# Interface Rule #11
#
iptables -N IRULE_11_eth0
iptables -A OUTPUT -o eth0 -p icmp -m state --state NEW -j IRULE_11_eth0
iptables -A IRULE_11_eth0 -j LOG --log-level debug --log-prefix "RULE 11 --
Accept "
iptables -A IRULE_11_eth0 -j ACCEPT
#
# Interface Rule #12
#
iptables -N IRULE_12_eth0
iptables -A INPUT -i eth0 -p icmp -m state --state NEW -j IRULE_12_eth0
iptables -A IRULE_12_eth0 -j LOG --log-level debug --log-prefix "RULE 12 --
Accept "
iptables -A IRULE_12_eth0 -j ACCEPT
#
# Interface Rule #13
#
iptables -N IRULE_13_eth0
iptables -A OUTPUT -o eth0 -p udp -m state --state NEW --destination-port
33434:33464 -j IRULE_13_eth0
iptables -A IRULE_13_eth0 -j LOG --log-level debug --log-prefix "RULE 13 --
Accept "
iptables -A IRULE_13_eth0 -j ACCEPT
#
# Rule #0
#
iptables -N RULE_0
iptables -A OUTPUT -m state --state NEW -j RULE_0
iptables -A INPUT -m state --state NEW -j RULE_0
iptables -A FORWARD -m state --state NEW -j RULE_0
iptables -A RULE_0 -j LOG --log-level debug --log-prefix "RULE 0 -- Deny "
iptables -A RULE_0 -j DROP
#
# Final rules
#
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP
echo "0" > /proc/sys/net/ipv4/ip_forward
Sendmail
Seite 55
2.8 Sendmail
Dies soll eine Hilfe für die Administratoren, die an der BBS2 arbeiten, sein, um einige
Konfigurationen bei dem Mailserver Sendmail machen zu können. Diese Aufgaben
können alle mit dem Administrationswerkzeug Webmin vorgenommen werden.
Die Benutzerverwaltung wird hier beschrieben, da jeder Benutzer, der auf dem Server
eingetragen wird, gleichzeitig einen Email Account bekommt. Diese Einstellung wird
auch mit Webmnin gemacht, gehört aber nicht zu den Sendmail Einstellungen.
2.8.1 User hinzufügen (Email Account einrichten)
Als erstes wird beschrieben, wie man einen neuen Benutzer hinzufügt. Jeder ordentliche
Linux User ist gleichzeitig Inhaber eines Email Accounts. Diese Eintragung wird unter
Webmin System Benutzer und Gruppen neuen Benutzer erstellen hinzugefügt. Hierbei wird der Name, das Verzeichnis, einen Gruppe und das Passwort
festgelegt.
Beispiel am neuen Benutzer „Lehrer“.
Abbildung 2.8-1 Neuer Benutzer
Sendmail
Seite 56
2.8.2 Einstellungen für Sendmail
Alias für User erzeugen
Die Veränderungen werden unter Webmin Server Sendmail Konfiguration
Mail-Aliases (aliases) getätigt.
Wenn man für einen Benutzer einen Alias angeben will, z.B. ist die Email Adresse
[email protected] und der Empfänger Sopp ist, wird dies wie in
dem Screenshot (Abbildung 2.8-2 Alias bearbeiten) eingetragen.
Wenn Sendmail für [email protected] jetzt Mail empfängt, wird
sie an das Benutzerkonto [email protected] auf dem Mailserver
ausgeliefert.
Eine weitere nützliche Möglichkeit ist, lokale Gruppen mit einen Alias auszustatten z.B.
Lehrergruppe: Lehrer1, Lehrer2, Lehrer3...
Man kann aber auch Aliase in Ketten anlegen wie z.B.
Verwaltung Lehrer
Lehrer Sopp
So wird das Alias „Verwaltung“ hier auf das Alias „Lehrer“ aufgelöst, welches
nochmals zu Alias „Sopp“ aufgelöst wird.
Abbildung 2.8-2 Alias bearbeiten
Sendmail
Seite 57
Abbildung 2.8-3 Mail Aliases
Hier kann man die Datei „aliases“ manuell bearbeiten.
Um z.B. Klarnamen von Benutzern einzutragen, kann man die einträge hier auf schnelle
Art bewerkstelligen. Wenn man z.B. einen Benutzer mit dem Namen U.Conrads hat und
einen Email an Uwe Conrads schicken will, so gibt man folgendes in der Datei ein:
U.Conrads : Uwe Conrads. Mit einem Doppelpunkt getrennt erfolgt die Eingabe.
Dies ist eine Art, die Namen schnell und problemlos einzutragen.
Spam- Kontrolle (access)
Um über Webmin nur bestimmte Rechner zuzulassen, die Emails versenden dürfen,
haben wir alle Rechner vom Schulnetz in die Datenbank access eingetragen. Dabei
wurden die Hosts, von denen aus man Email versenden darf, mit Relay gekennzeichnet
und die anderen Rechner wurden mit Deny beschrieben um ihnen den Zugriff zu
Sendmail
Seite 58
verweigern. Wenn jetzt also Änderungen am Netz gemacht werden, sollte man darauf
achten, das eventuell neue Rechner mit ihren IP´s hier zusätzlich eingetragen werden
oder das bestehende Eintragungen bei anderen Zugriffsoptionen geändert werden.
Hier noch eine Beschreibung der Konfigurationsoptionen für die Datenbank
/etc/mail/access
Option Beschreibung
OK Akzeptiere Mail auch dann, wenn andere Konfigurationsregeln die Mail
dieses Hosts oder Users ablehnen würden.
Relay Worten, akzeptiere Mail für User aus der angegebenen Domain und
Erlaube Usern aus der angegebenen Domai, Mail über den Server zu
Versenden. Weise Mail aus der angegebenen Domain selbst dann nicht
Zurück, wenn andere Regeln dies erfordern würden.
Reject Weisen alle ein- oder ausgehende Mail für die angegebene Domain
Zurück.
Discard Verwirft die Nachricht vollständig durch die Verwendung des #discard
Mailers. Verworfene Nachrichten werden akzeptiert, aber bleiben still-
Schweigend unausgeliefert, so dass beim Sender der Eindruck entsteht,
die Mail sei ausgeliefert worden.
501<Nachricht> Akzeptiere die Mail nicht, wenn die adresse des Senders teilweise oder
vollständig mit dem angegebenen user@host übereinstimmt.
553<Nachricht Akzeptiere keine Mail, wenn die Absendeadresse nicht den Hostnamen
enthält
550<Nachricht> Akzeptiere keine Mail für den Hostnamen.
Deny Kein Zugriff.
Das Menü finden Sie unter Webmin Server Sendmail Konfiguration Spam-
Kontrolle (access).
Sendmail
Seite 59
2.8.3 Windows-Clients einrichten:
Hier wird beschrieben wie Windows Clients eingerichtet werden.
Die Screenshots sind selbsterklärend, wichtig ist hier der Eintrag des POP3 und SMTP
Server. Die jeweiligen Benutzer Informationen müssen einzeln gemacht werden.
Abbildung 2.8-4 Email Konto
Abbildung 2.8-5 Email Server
Hier werden die Ports eingetragen auf
denen der Email-Versand läuft, Port 25
für SMTP und Port 110 für POP3.
Sendmail
Seite 60
2.8.4 Domänenmaskierung
Abbildung 2.8-6 Domänenmaskierung
Dieses Feature veranlasst, dass alle ausgehenden Adressen so transformiert werden, als
ob sie von der angegebenen Domain kämen. Da es in unserem Fall aber nur eine
Domain gibt, ist hier auch nur ein Eintrag vorhanden.
Der Absender wird hier umschrieben, wenn ein Mailserver an mehreren Standorten
betrieben wird ist dies sinnvoll, da alle Emails dann einheitlich mit bbs2.fh-
wilhelshaven.de als Absender eingetragen werden.
Sendmail
Seite 61
2.8.5 Weiterleitungsdomänen
Abbildung 2.8-7 Weiterleitungsdomänen
Falls eine Meldung “ We do not Relay” auftritt, müssen hier alle Domains eingetragen
werden, an die E-mail gesendet werden darf. Da dies natürlich ein großer Aufwand
wäre, braucht man hier nur die Top-Level-Domains eintragen.
Es reichen dann die Abkürzungen:
.de
.net
.com
.be
usw.
Hier müssen auch alle Domains, die in Domain Routing, Outgoing Domains, Local
Domains usw. Eingetragen werden.
Sendmail
Seite 62
2.8.6 Port Options
Abbildung 2.8-8 Port Einstellungen
Die port options enthalten folgende Einträge.
Für den lokalen E-mail Versand die IP-Adresse 139.13.210.1
Für den Versand ins Internet die IP-Adresse 139.13.223.18
Und für das loopback device die IP-Adreese 127.0.0.1
USV
Seite 63
2.9 USV
Die USV kann mittels eines Werkzeugs auf der grafischen Oberfläche konfiguriert
werden. Zusätzlich besteht die Möglichkeit die Konfigurationsdatei mit der Hand zu
editieren. Sie liegt im Ordner /usr/lib/powerchute/powerchute.ini.
Um das grafische Tool zu starten sind folgende Schritte notwendig:
1. X-Server starten
2. Konsole öffnen
3. In das Verzeichnis /usr/lib/powerchute wechseln
4. ./xpowerchute eingeben.
Das Programm nimmt nun Verbindung zur USV auf. Dies kann bis zu 10 Sekunden
dauern. Dann erscheint ein Fenster mit Statusanzeigen über den Betriebszustand der
USV.
Abbildung 2.9-1 Xpowerchute Plus
Im Menüpunkt Configuration kann man einstellen bei welchem Ereignis eine Meldung
auf dem Bildschirm oder eine Email an den Administrator gesendet wird.
Abbildungsverzeichnis
Seite 64
ABBILDUNG 1.2-1 ANMELDEMASKE ........................................................................................................................ 5 ABBILDUNG 1.4-1 STARTSEITE ................................................................................................................................ 6 ABBILDUNG 1.5-1 SYSTEM – ÜBERSICHT ................................................................................................................. 7 ABBILDUNG 1.6-1 SERVER ÜBERSICHT .................................................................................................................... 8 ABBILDUNG 1.7-1 HARDWARE ÜBERSICHT ............................................................................................................. 9 ABBILDUNG 1.9-1 SONSTIGES ................................................................................................................................ 10 ABBILDUNG 2.1-1 WEBMIN BENUTZER ................................................................................................................. 11 ABBILDUNG 2.1-2 WEBMIN BENUTZER ANLEGEN / BEARBEITEN ........................................................................... 12 ABBILDUNG 2.1-3 BENUTZERDEFINIERTE AUSWAHL ............................................................................................. 13 ABBILDUNG 2.1-4 KOMPLETTE ANSICHT ............................................................................................................... 13 ABBILDUNG 2.2-1 DISKQUOTA HAUPSEITE............................................................................................................ 14 ABBILDUNG 2.2-2 ÜBERSICHT EINER PARTITION ................................................................................................... 15 ABBILDUNG 2.2-3 QUOTA FÜR EINZELNEN BENUTZER ÄNDERN ............................................................................ 15 ABBILDUNG 2.2-4 GRACE PERIOD ......................................................................................................................... 16 ABBILDUNG 2.3-1 LINUX RAID ............................................................................................................................ 18 ABBILDUNG 2.3-2 RAID GERÄT ............................................................................................................................ 18 ABBILDUNG 2.5-1 VIRTUELLER SERVER ................................................................................................................ 22 ABBILDUNG 2.6-1 DHCP HAUPSEITE .................................................................................................................... 23 ABBILDUNG 2.6-2 VERGEBENE IP’S ...................................................................................................................... 23 ABBILDUNG 2.6-3 SUBNET BEARBEITEN ................................................................................................................ 24 ABBILDUNG 2.6-4 NEUES SUBNET ANLEGEN ......................................................................................................... 25 ABBILDUNG 2.7-1 VERHÄLTNIS DER IP PROTOKOLLE ZU DEN PROTOKOLLEN DER ANWENDUNGSEBENE ............. 27 ABBILDUNG 2.7-2 DARSTELLUNG DER KETTEN ..................................................................................................... 28 ABBILDUNG 2.7-3 ANGABE DES ARBEITSVERZEICHNISSES .................................................................................... 35 ABBILDUNG 2.7-4 DEFAULT- EINSTELLUNGEN UNTER NETWORK ......................................................................... 36 ABBILDUNG 2.7-5 AUTOMATISCHES SPEICHERN BEIM WECHSEL ZWISCHEN EINZELNEN OBJEKTEN ..................... 37 ABBILDUNG 2.7-6 ERSTELLTES FIREWALLOBJEKT................................................................................................. 38 ABBILDUNG 2.7-7 EINRICHTUNG DER NETZWERKKARTEN .................................................................................... 39 ABBILDUNG 2.7-8 FERTIG EINGEFÜGTE NETZWERKSCHNITTSTELLEN ................................................................... 40 ABBILDUNG 2.7-9 EINGABE DER PFADE FÜR DEN COMPILER UND DAS INSTALLATIONSSCRIPT ............................. 41 ABBILDUNG 2.7-10 EINRICHTUNG DES 1. NETZWERKES ........................................................................................ 42 ABBILDUNG 2.7-11 EINRICHTUNG DES ZWEITEN NETZWERKES ............................................................................. 43 ABBILDUNG 2.7-12 EINRICHTUNG DER REGELN FÜR DIE NETZWERKSCHNITTSTELLEN ......................................... 44 ABBILDUNG 2.7-13 FERTIG EINGERICHTETE REGELN FÜR ETH0 ............................................................................ 45 ABBILDUNG 2.7-14 REGEL FÜR DAS LOOPBACK DEVICE ....................................................................................... 46 ABBILDUNG 2.7-15 FERTIG EINGERICHTETE REGEL FÜR ETH1 ............................................................................... 47 ABBILDUNG 2.7-16 GLOBALE REGELN FÜR DIE FIREWALL .................................................................................... 48 ABBILDUNG 2.7-17 MELDUNG ÜBER DIE FERTIG KOMPILIERTE FIREWALL ............................................................ 49 ABBILDUNG 2.7-18 AUTOMATION DES FIREWALLSTARTS ..................................................................................... 50 ABBILDUNG 2.8-1 NEUER BENUTZER .................................................................................................................... 55 ABBILDUNG 2.8-2 ALIAS BEARBEITEN ................................................................................................................... 56 ABBILDUNG 2.8-3 MAIL ALIASES .......................................................................................................................... 57 ABBILDUNG 2.8-4 EMAIL KONTO .......................................................................................................................... 59 ABBILDUNG 2.8-5 EMAIL SERVER ......................................................................................................................... 59 ABBILDUNG 2.8-6 DOMÄNENMASKIERUNG ........................................................................................................... 60 ABBILDUNG 2.8-7 WEITERLEITUNGSDOMÄNEN ..................................................................................................... 61 ABBILDUNG 2.8-8 PORT EINSTELLUNGEN .............................................................................................................. 62 ABBILDUNG 2.9-1 XPOWERCHUTE PLUS ................................................................................................................ 63
TABELLE 2-1 IPTABLES BEFEHLE ........................................................................................................................... 29 TABELLE 2-2 GENERELLE, BEGLEITENDE OPTIONEN ............................................................................................. 30