Konfiguration des ARKTUR Internetservers der BBS II...

64
Benutzerhandbuch Konfiguration des ARKTUR Internetservers der BBS II Wilhelmshaven Projektarbeit der Fachschule Technik Elektrotechnik BBS II Wilhelmshaven Carsten Schaumburg Addo Christians Tim Abels

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.

RAID

Seite 18

Abbildung 2.3-1 Linux RAID

Abbildung 2.3-2 RAID Gerät

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 43

Abbildung 2.7-11 Einrichtung des zweiten Netzwerkes

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 45

Abbildung 2.7-13 Fertig eingerichtete Regeln für eth0

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