Firewall - Teil 4

6 Weitere Sicherheitsvorkehrungen

Mit dem Aufsetzen einer Firewall alleine ist es nicht getan. Eine sichere Netzwerkumgebung besteht aus vielen Komponenten, in der die Firewall nur ein Glied der Kette darstellt. Sicherheit beginnt auf den Arbeitsplatzrechnern durch trivial anmutende Dingen wie Paßwortvergabe, usw. Zusätzlich gilt es sich vor Attacken aus dem Internet zu schützen, in dem man verdächtige Ereignisse frühzeitig erkennt und abblockt. Besser noch wäre eine automatische Abwehr derselben.
 

6.1 Netzwerkdienste1

Die Firewall selber sollte nach Möglichkeit keine weiteren Netzwerkdienste anbieten oder in Anspruch nehmen. Sie sollte nur Ihrer Tätigkeit, nämlich IP-Datenverkehr zu filtern, nachgehen. Jeder weitere Netzwerkdienst stellt einem potentiellen Eindringling mehr Angriffsfläche, z.B. durch in den Diensten enthaltene Sicherheitslücken oder Programmierfehler, zur Verfügung. Gefährliche Dienste, wie Telnet, haben unter gar keinen Umständen einen Berechtigungsgrund auf der Firewall zu laufen. Da bei Telnet Daten unverschlüsselt übertragen werden, ist es für Angreifer ein leichtes, wichtige Daten wie z.B. Paßwörter mitzuprotokollieren.

Je mehr unsichere Dienste auf der Firewall laufen, um so mehr kann die eigentliche Aufgabe der Firewall, gefährlichen Netzwerkverkehr zu blocken, untergraben und damit nutzlos gemacht werden.

Gängige Linuxdistributionen stellen die passenden Tools (Runlevel Editor) bereit, um Netzwerkdienste bequem zu starten oder stoppen.
 


Abbildung 1, Runlevel-Editor unter Red Hat Linux 6.1
 

6.2 Ports

Auf einem Linuxsysytem werde die meisten Netzwerkdienste über den Internetdaemon inetd gestartet. Ein Daemon ist ein Hintergrundprozeß, der erst aktiv wird, wenn er durch ein Kommando aufgerufen wird.
Wird z.B. versucht, den Computer per Telnet zu erreichen, wird der inetd aktiv.
Er bemerkt den Versuch, eine Verbindung auf Port 23 (Telnet) aufzubauen. Nun prüft der inetd die Datei /etc/services und findet unter Port 23 den Dienst Telnet. In seiner Konfigurationsdatei /etc/inetd.conf ist vermerkt, welches Programm für Telnetverbindungen zu starten ist. Schließlich wird das passende Programm aufgerufen.
Es sollten deshalb alle Dienste, die nicht benötigt werden, deaktiviert werden. In den meisten Linux-Ditributionen sind zahlreiche dieser Ports aktiviert, obwohl die Dienste nicht benötigt werden. Das deaktivieren der Dienste geschieht durch einfaches auskommentieren der Einträge in der Konfigurationsdatei des indet Daemon /etc/inetd.conf. Die Datei /etc/services kann, muß aber nicht editiert werden, da es reicht, wenn einem Dienst kein Programm zugeordnet ist.2

Ein Auszug der Datei /etc/services:

# /etc/services:



daytime          13/tcp

daytime          13/udp

netstat          15/tcp

qotd             17/tcp         quote

ftp-data         20/tcp

ftp              21/tcp

fsp              21/udp         fspd

ssh              22/tcp                         # SSH Remote Login Protocol

ssh              22/udp                         # SSH Remote Login Protocol

telnet           23/tcp

domain           53/tcp         nameserver      # name-domain server

domain           53/udp         nameserver

tftp             69/udp

gopher           70/tcp                         # Internet Gopher

gopher           70/udp

# finger         79/tcp

www              80/tcp         http            # WorldWideWeb HTTP

www              80/udp                         # HyperText Transfer Protocol

# pop-2          109/tcp        postoffice      # POP version 2

# pop-2          109/udp

# pop-3          110/tcp                        # POP version 3

# pop-3          110/udp

imap2            143/tcp        imap            # Interim Mail Access Proto v2

imap2            143/udp        imap

https            443/tcp                        # MCom

https            443/udp                        # Mcom


Auszug aus der Konfigurationsdatei /etc/inetd.conf:

# inetd.conf This file describes the services that will be available
# through the INETD TCP/IP super server. To re-configure
# the running INETD process, edit this file, then send the
# INETD process a SIGHUP signal.
#
# Version: @(#)/etc/inetd.conf 3.10 05/27/93
#
# Authors: Original taken from BSD UNIX 4.3/TAHOE.
# Fred N. van Kempen,<waltje@uwalt.nl.mugnet.org>
# To re-read this file after changes, just do a 'killall -HUP inetd'
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>

#

#echo     stream  tcp  nowait  root       internal

#echo     dgram   udp  wait    root       internal

#discard  stream  tcp  nowait  root       internal

#discard  dgram   udp  wait    root       internal

#daytime  stream  tcp  nowait  root       internal

#daytime  dgram   udp  wait    root       internal

#chargen  stream  tcp  nowait  root       internal

#chargen  dgram   udp  wait    root       internal

#time     stream  tcp  nowait  root       internal

#time     dgram   udp  wait    root       internal

ftp       stream  tcp  nowait  root       /usr/sbin/tcpd      in.ftpd -l -a

# telnet  stream  tcp  nowait  root       /usr/sbin/tcpd      in.telnetd

shell     stream  tcp  nowait  root       /usr/sbin/tcpd      in.rshd

login     stream  tcp  nowait  root       /usr/sbin/tcpd      in.rlogind

#exec     stream  tcp  nowait  root       /usr/sbin/tcpd      in.rexecd

#talk     dgram   udp  wait    nobody.tty /usr/sbin/tcpd      in.talkd

#ntalk    dgram   udp  wait    nobody.tty /usr/sbin/tcpd      in.ntalkd

#pop-2    stream  tcp  nowait  root       /usr/sbin/tcpd      ipop2d

#pop-3    stream  tcp  nowait  root       /usr/sbin/tcpd      ipop3d

#imap     stream  tcp  nowait  root       /usr/sbin/tcpd      imapd

#uucp     stream  tcp  nowait  uucp       /usr/sbin/tcpd      /usr/lib/uucp/uucico -l

# auth    stream  tcp  wait    root       /usr/sbin/in.identd in.identd -e -o

#bootps   dgram   udp  wait    root       /usr/sbin/tcpd             bootpd

#
# Finger, systat and netstat give out userinformation which may be
# valuable to potential "system crackers." Many sites choose to disable
# some or all of these services to improve security.
#
#finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
#cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd
#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet
#
# End of inetd.conf
 

6.3 Paßwörter

Paßwörter spielen eine zentrale Rolle in der Sicherheit eines Computernetzwerks. Sie beschränken den Zugriff auf wichtige Ressourcen und schützen Informationen vor den neugierigen Augen Dritter.
Ohne ein gutes Paßwortsystem haben Angreifer leichtes Spiel. Viele Benutzer haben Ihren Namen, Ihr Geburtsdatum oder die Marke Ihres Autos als Paßwort vergeben. Solche Paßwörter sind für einen geübten Angreifer leichte Beute. Ist der Angreifer erst einmal im System, ist es nur noch eine Frage der Zeit bis er Superuserstatus erlangt, und weiteren massiven Schaden anrichten kann.

Einem sicheren Paßwortsystem kommt deshalb eine große Bedeutung zu.
Linux Systeme sollten mit dem shadow System betrieben werden. Dies ist heute bei allen gängigen Linuxdistributionen der Fall.3

Früher wurden Benutzerdaten und Paßwörter in den Datei /etc/passwd gespeichert. Es war systembedingt jedoch nötig, daß alle Benutzer diese Datei lesen konnten. Die Paßwörter liegen hier zwar verschlüsselt vor, leider gibt es aber Programme, die diese Verschlüsselung in kurzer Zeit knacken können.

Das shadow Paßwortsystem geht einen anderen Weg. Hier sind sämtliche Benutzerdaten weiterhin in der Datei /etc/passwd gespeichert, das Paßwort wurde jedoch in eine separate Datei, /etc/shadow, ausgegliedert. Diese Datei ist nur vom Superuser root lesbar. Es ist erheblich schwerer für diese Datei Lesezugriff zu erlangen.

Paßwörter eines Systems mit vielen Benutzern sollten regelmäßig mit dem Programm Crack überprüft werden, um schwache Paßwörter ausfindig zu machen, und die Benutzer erneut zur Paßwortvergabe aufzufordern.4

Bei Crack handelt es sich um ein Programm, das mit unterschiedlichen Ratetechniken versucht, Paßwörter herauszufinden. Findet Crack ein Paßwort innerhalb kurzer Zeit heraus, so kann davon ausgegangen werden, daß Angreifer dies auch tun werden 5

Ein wirklich gutes Paßwort läßt sich mit der folgenden Eselsbrücke kreieren:

Man nehme einen beliebigen Satz, in dem auch Zahlen enthalten sind, also z.B.
"Eine Fußballmannschaft besteht aus 10 Spielern und einem Torwart". Von diesem Satz nimmt man nun immer nur den Anfangsbuchstaben eines jeden Worts. Die Zahlen werden einfach übernommen. Das sich daraus ergebende Paßwort lautet dann
Efba10Su1T
 

6.4 Intrusion Detection Systems6

Einen weitreichenderen Schutz gegen Angriffe aus dem Internet bieten Intrusion Detection Systeme (IDS). Ein Intrusion Detection System nutzt automatisierte und intelligente Werkzeuge um Einbruchsversuche in Echtzeit zu entdecken und zu verhindern.

Es existieren zwei unterschiedliche Typen von IDS:
 

Sie verlassen sich auf Bibliotheken und Datenbanken die Informationen über bekannte Angriffe und Angriffssignaturen enthalten. Erfüllt ein eingehendes Paket ein bestimmtes Kriterium, erkennt das IDS darin einen Angriff und schlägt Alarm. Diese Art von IDS hat einen entscheidenden Nachteil: Es erkennt nur Angriffe, die in Ihren Libraries und Datenbanken gespeichert sind. Diese müssen ständig auf den neuesten Stand gebracht werden, um wirkungsvoll zu sein. Außerdem ist entscheidend, wie eng die einzelnen Angriffssignaturen gesetzt werden. Sind diese zu spezifisch, wird ein Angriff als solcher erkannt, ein anderer, der mit dem vorherigen Ähnlichkeiten hat, jedoch nicht.
  Diese Art von IDS benutzt fortgeschrittenere Techniken, wie z.B. Künstliche Intelligenz, um nicht nur bekannte Angriffe zu erkennen, sondern auch Neue. Ihr Nachteil besteht in Ihrem hohen Preis, verursacht durch die hohe Komplexität (Sie verwenden höhere Mathematik und Statistik) des Systems

Bei den regelbasierten Systemen gibt es zwei unterschiedliche Ansätze:

Beim präventiven Ansatz überwacht das IDS den Netzwerkverkehr. Wenn verdächtige Aktivitäten bemerkt werden, beispielsweise eine große Anzahl von
ping-Paketen innerhalb kürzester Zeit, schlägt das System Alarm und ergreift entsprechende Maßnahmen. Ein reaktionäres System überwacht die Logdateien des Systems und ergreift bei ungewöhnlichen Aktivitäten Maßnahmen.
Die Unterschiede zwischen den beiden Ansätzen scheinen minimal zu sein. Trotzdem gibt es einen großen Unterschied: Der reaktionäre Ansatz ist im Grunde genommen Nahe am normalen Loging anzusiedeln. Das System schlägt Alarm, wenn der Angriff in den Logdateien vermerkt wurde, auch wenn dies schon längere Zeit zurückliegt. Dagegen antwortet das präventive System sofort, wenn ein Angreifer versucht in das System einzudringen.

Im Folgenden sollen einige Intrusion Detection Tools kurz vorgestellt, sowie auf deren Funktion und Konfiguration eingegangen werden.
 

6.4.1 Portsentry

Portsentry7 ist Teil des Abacus Projektes, einer Sammlung von Security Tools. Alle Programme des Abacus Projektes zeichnen sich durch einfache Konfiguration aus und sind wartungsfrei zu betreiben.8

Portsentry überwacht die TCP/UDP Ports eines Systems. Es erkennt Portscans, die gegen das System gerichtet sind. Dabei spürt es mit verschiedenen Betriebsarten (Classic Mode, Enhanced Stealth Mode, Advanced Stealth Mode) unterschiedliche Arten von Stealth-Scans, wie z.B. SYN/half-open, FIN, NULL und X-MAS auf. Portsentry arbeitet sehr ressourcensparend. Es muß nur einmal gestartet werden und überwacht beliebig viele Ports. Alle Angriffsversuche werden in den Systemlogdateien mitprotokolliert.

Portsentry antwortet auf versuchte Portscans, in dem es den angreifenden Computer blockt:

Die meisten Angriffe werden so im Keim erstickt.

Portsentry sollte in eine der Startdateien (z.B. /etc/rc.d/rc.local) eingetragen werden, um nach dem Booten automatisch seinen Dienst zu verrichten.

Portsentry Konfiguration:

Portsentry wird über die Datei /usr/local/psionic/portsentry/portsentry.conf konfiguriert.

Einige wichtige Abschnitte der Konfigurationsdatei:

Hier werden die Ports angegeben, die überwacht werden sollen. Standardmäßig stehen 3 Portbereiche zur Auswahl bereit. Hier werden die Ports für den erweiterten Modus angegeben. Standardmäßig werden alle privilegierten Ports überwacht. Lage der Dateien, die die geblockten Rechner enthalten In diesem Abschnitt wird bestimmt, was bei einem entdeckten Portscan geschehen soll. Eine der folgenden Optionen kann genutzt werden: Den Portscan nicht blocken (Do not block UDP/TCP scans)
Den Portscan blocken (Block UDP/TCP scans)
Ein externes Kommando starten (Run external command only) Hier lassen sich die Pakete des Angreifers durch eine Firewallregel blocken
KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l" Hier läßt sich die Anzahl an Verbindungen bestimmen, bevor ein Alarm ausgelöst wird. Als Standard ist 0 angegeben, dies bewirkt einen Alarm beim ersten Verbindungsversuch. Eine größere Zahl sollte die Anzahl der falschen Alarme vermindern.
 

6.4.2 Logcheck

Auch Logcheck ist ein Programm aus dem Abacus Sicherheitsprojekt.9

Logcheck überprüft die Systemlogs auf ungewöhnliche Aktivitäten. Es durchsucht die verschiedenen Logdateien unter dem Verzeichnis /var/log/ und informiert den Systemadministrator per Mail, wenn verdächtige Einträge gefunden wurden.

Logcheck bedient sich dazu mehrerer Konfigurationsdateien, die Schlüsselwörter enthalten. Dadurch unterscheidet Logcheck was als harmloser Eintrag gilt, und ignoriert werden kann, und welche Einträge auf einen Angriff oder einen verdächtigen Vorgang hinweisen, und gemeldet werden müssen.

Logcheck besteht aus den folgenden Dateien:10

Dies ist das eigentliche Programm. Es kontrolliert die Logdateien mit einfachen grep Kommandos auf die in den Konfigurationsdateien enthaltenen Schlüsselbegriffe.11 Das Programm wird in regelmäßigen Abständen von cron ausgeführt.12 Logtail merkt sich die zuletzt erreichten Positionen innerhalb der Logdateien. Dadurch wird vermieden, das bereits überprüfte, ältere Einträge der Logs erneut untersucht werden.
Sollte Logtail gelöscht werden, wird Logcheck sämtliche überwachte Dateien nochmals von Beginn an überprüfen. Diese Datei enthält Schlüsselbegriffe, die mit ziemlicher Sicherheit auf Angriffe auf das System hindeuten. Standardmäßig ist z.B. folgende Zeile enthalten:

tftpd.*: refused connect from .*

Hier wurde versucht, mit TFTP, Trivial File Transfer Protocol auf den Computer zuzugreifen. Der Name von TFTP ist Programm: Es handelt sich um einen sehr unsicheren Netzwerkdienst. Ein blinder Versuch, mit diesem auf die Firewall r zu verbinden, kann als eindeutiger Angriff gerechnet werden.13
Wird in den zu überprüfenden Logs eines dieser Schlüsselworte gefunden, erhält der Administrator eine Mail mit dem Header "ACTIVE SYSTEM ATTACK".
Die Mail enthält die von Logcheck beanstandeten Logeinträge.

Logcheck.hacking sollten nur dann eigene Schlüsselbegriffe hinzugefügt werden, wenn bekannt ist, wie sich ein Angriff in den Logfiles niederschlägt. So führt z.B. ein Jolt Angriff14 zu folgendem Logeintrag:

kernel: Oversized packet received from <IP Adresse>

Ein kleiner Auszug aus logcheck.hacking:

LOGIN root REFUSED
rlogind.*: Connection from .* on illegal port
rshd.*: Connection from .* on illegal port
sendmail.*: user .* attempted to run daemon
uucico.*: refused connect from .*
tftpd.*: refused connect from .*
login.*: .*LOGIN FAILURE.* FROM .*root
login.*: .*LOGIN FAILURE.* FROM .*guest
login.*: .*LOGIN FAILURE.* FROM .*bin
login.*: .*LOGIN FAILURE.* FROM .*uucp
login.*: .*LOGIN FAILURE.* FROM .*adm
login.*: .*LOGIN FAILURE.* FROM .*bbs
login.*: .*LOGIN FAILURE.* FROM .*games
login.*: .*LOGIN FAILURE.* FROM .*sync
login.*: .*LOGIN FAILURE.* FROM .*oracle
login.*: .*LOGIN FAILURE.* FROM .*sybase
kernel: Oversized packet received from
attackalert

In dieser Datei stehen Schlüsselbegriffe, die auf ungewöhnliche, nicht gern gesehene Vorgänge hinweisen, z.B. eine Mißlungene Anmeldung eines Benutzers am System.

Ein Auszug aus logcheck.violations

LOGIN FAILURE
LOGIN REFUSED
PERMITTED
REFUSED
RETR group
RETR passwd
RETR pwd.db
ROOT LOGIN
SITE EXEC
VRFY
"WIZ"
admin
alias database
debug
denied
deny
deny host
expn
failed

Logeinträge, die mit Schlüsselbegriffen dieser Datei übereinstimmen, werden mit dem Header "Security Violation" an den Administrator gesandt.

Die hier enthaltenen Wörter heben eine Alarmmeldung durch die Begriffe in logcheck.violations wieder auf.

Es ist beispielsweise möglich, daß in einem Logeintrag der Suchbegriff "refused" gefunden wurde. Logcheck meldet dem Administrator den Vorfall als Security Violation. Beim nährern Betrachten der Mail und der Logs stellt sich nun heraus, daß der Eintrag vollkommen harmlos ist, obwohl er das Wort "refused" enthält. Durch Eintrag dieses Logabschnitts in die Datei logcheck.violations.ignore wird das System angewiesen, entsprechende Logeinträge zukünftig nicht mehr als bedrohliche Vorfälle zu melden. Auf andere Einträge mit dem Inhalt "refused" hat es keine Auswirkungen.

Dies ist das Sammelbecken für alle unbedenklichen Logeinträge, die nicht gemeldet werden sollen.

Auszug aus der Datei:

authsrv.*AUTHENTICATE
cron.*CMD
cron.*RELOAD
cron.*STARTUP
ftp-gw.*: exit host
ftp-gw.*: permit host
ftpd.*ANONYMOUS FTP LOGIN
ftpd.*FTP LOGIN FROM
ftpd.*retrieved
ftpd.*stored
http-gw.*: exit host
http-gw.*: permit host
mail.local
named.*Lame delegation
named.*Response from
named.*answer queries
named.*points to a CNAME
named.*reloading

Logcheck Installation:

Die Installation von Logcheck gestaltet sich einfach. Die wichtigen Daten sollten in ein eigenes Verzeichnis kopiert werden, z.B. /usr/local/logcheck/

Ein neuer Eintrag in /etc/crontab startet das Programm zu den eingestellten Zeiten.

00,15,30,45 * * * * /usr/local/logcheck/logcheck.sh

Logcheck wird alle 15 Minuten durch den cron-Daemon ausgeführt.
 

6.4.3 LIDS15

Heutige Linuxsysteme haben mehrere Charakteristiken , die sich massiv auf die Sicherheit des Computersystems auswirken können. Einige davon sollen hier kurz angesprochen werden:

Hier setzt LIDS17, das Linux Intrusion Detection System, an. Die Sicherheit des Kernels wird durch LIDS erweitert. Einmal in Betrieb kann LIDS Dateizugriff, Administration und Zugriff auf Ein- und Ausgabegeräte verbieten. Auch root unterliegt diesen Einschränkungen.

LIDS Installation:

Für den Installation von LIDS muß ein neuer Kernel kompiliert werden, dem man LIDS per Kernelpatch hinzufügen muß:

cd <Pfadangabe zum Linux Quellcode>
patch -p0 lids-0.9.6a-2.2.16.patch

Nun stehen beim kompilieren des Kernels neue Optionen bereit. Für die einzelnen Optionen ist eine Hilfe vorhanden, so daß man mühelos feststellen kann, welche für das System aktiviert werden sollten und welchen weniger Bedeutung zukommt.

Anmerkung: Für den neuen Kernel muß ein spezielles Paßwort erstellt werden, mit dem man später die Funktion von LIDS ausschalten kann:

Lidsadm -P <Paßwort>

Das Paßwort wird verschlüsselt ausgegeben, und muß bei den LIDS Kerneloptionen unter "RipeMD-160 encrypted password" eingetragen werden.
 


Abbildung 2, LIDS Kerneloptionen

Ist der neue Kernel kompiliert und im System eingebunden, kann mit der Konfiguration von LIDS begonnen werden.18 Unter /etc/lids.conf findet man die Konfigurationsdatei. Sie sollte nie von Hand editiert werden ,sondern nur mit Hilfe des Programms lidsadm.

Eine mögliche Konfiguration könnte so aussehen:

lidsadm -Z
lidsadm -A -r /usr/bin
lidsadm -A -r /bin
lidsadm -A -r /usr/bin
lidsadm -A -r /sbin
lidsadm -A -r /usr/X11R6/bin
lidsadm -A -r /etc/rc.d
lidsadm -A -r /etc/sysconfig
lidsadm -A a /var/log

Die erste Zeile löscht alle alten Einträge. In den weiteren Zeilen wird der Schreibschutz für einzelne Verzeichnisse aktiviert. Dieser Schreibschutz läßt sich nur durch das Stoppen von LIDS wieder aufheben. Die letzte Zeile aktiviert den Appendmode für das Verzeichnis /var/log, d.h. an diese Dateien können Daten nur noch angefügt werden. Dies ist für die Pflege der Logs notwendig.

In eine der Startdateien muß lidsadm aufgerufen werden, um die Schutzfunktionen zu aktivieren:

lidsadm -I

LIDS ist nun aktiv und kann nur noch mit dem im vorherigen Abschnitt vergebenen Paßwort wieder gestoppt werden:

lidsadm -S
 

7 Schlußwort

Einen perfekten Schutz vor Angriffen kann es nicht geben. Täglich werden neue Sicherheitslöcher in Programmen entdeckt. Auch wenn diese schon innerhalb weniger Stunden behoben werden, bleibt trotzdem ein kleines Zeitfenster, in dem man Angriffen schutzlos ausgesetzt ist. Auch die immer schneller werdende Entwicklung von neuen Technologien trägt zu dieser Situation bei.

Ziel muß es deshalb sein, einem Angreifer möglichst viele Steine in den Weg zu legen. Wird ein Angriff für den Hacker zu aufwendig, verliert er das Interesse und sucht sich ein schwächeres Opfer.
 

8. Literaturverzeichnis

Anonymous. Maximum Linux Security: A Hacker´s Guide To Protecting Your Linux
Server And Workstation. Indianapolis, Indiana: SAMS Publishing, 1999

Bernard, Frank. Brandschutz 2.2: Firewalls einrichten mit dem neuen Linux Kernel.
Linux-Magazin Nr.06 (2000): S.86-95

Diedrich, Oliver/ Lubitz, Holger. Sichere Reise: Ein Firewall mit Linux. c't Nr.3
(1999): S.154-159

Emmrich, Henning. Netzwerk in Ketten: Linux 2.2 als Internet-Gateway, Router und
Firewall. c't Nr.17 (1999): S.194-203

Grennan, Mark. Firewall and Proxy Server HOWTO. v0.80. Februar 2000.
http://www.linuxdoc.org

Huagang, Xie. Build A Security System With LIDS. 2000. http://www.lids.org

Kofler, Michael. Linux: Installation Konfiguration Anwendung. 4.Auflage. Bonn: Addison Wesley Longman Verlag GmbH, 1999

Schmidt, Jürgen. Dasein oder Nicht-Sein: Analyse der Ausfallzeiten von
Web-Servern. c't Nr.8 (2000): S.174-179

Stähle, Samuel. Firewalling unter Linux. v1.4. 2000.http://www.pro-linux.de

Ziegler, Robert. Linux Firewalls. Indianapolis, Indiana: New Riders Publishing, 1999
 
 

Verweise im Text

1 Eine Liste gängiger Netzwerkdienste nebst Einschätzung, ob zum Betrieb auf einer Firewall
   geeignet, findet sich in:Ziegler, Robert. Linux Firewalls. S.43-54. Siehe Literaturverzeichnis.
2 Vgl. Ziegler, Robert. Linux Firewalls, S.54ff.
3 Das shadow-Paket steht unter ftp://piast.t19.ds.pwr.wroc.pl/pub/linux/shadow/
   zum Download zur Verfügung
4 Crack steht auf folgender Webseite zum Download bereit: http://www.users.dircon.co.uk/~crypto/
5 Mehr Informationen zu Crack finden sich unter http://alloy.net/writings/funny/crack_readme.txt
6 Vgl. Anonymous, Maximum Linux Security, s.538ff.
7 Portsentry steht unter http://www.psionic.com/abacus/portsentry zum Download bereit.
8 Mehr Informationen zum Abacus Projekt finden sich unter http://www.psionic.com/abacus
9 Die Logcheck Homepage ist unter http://www.psionic.com/abacus/logcheck/ zu finden.
10 Es gibt noch ein paar andere Dateien, die für den Programmablauf jedoch keine Bedeutung haben.
11 grep ist ein Linux Kommando, mit dem in Dateien nach Zeichenstrings gesucht werden kann.
12 cron ist ein Daemon, der Programme zu vorgegebenen Zeiten (u.a. stündlich, täglich, monatlich)
   automatisch ausführt.
13 Natürlich läuft dieser Dienst nicht auf unserem System, da wir in Kapitel 5.1 und 5.2 sämtliche
   unsicheren und nicht genutzten Dienste von unserer Firewall verbannt haben, dies ändert aber
   nichts an der Brisanz des Logeintrags, nämlich das versucht wurde diesen Dienst aufzurufen.
14 Siehe Kapitel 3.4 - Hacks und Exploits
15 Vgl. Build A Security System With LIDS. Huagang, Xie
16 Vgl. Anonymous, Maximum Linux Security, S.194ff.
17 LIDS steht unter http://www.lids.org zum Download zur Verfügung.
   Auf der Webseite finden sich auch weitere Informationen zum System.
18 Eine ausführliche Anleitung zur Konfiguration von LIDS findet sich im LIDS HOWTO von
   Philippe Biond, welches unter http://www.lids.org zur Verfügung steht.
 
 
 
Feedback ist wichtig für die Verbesserung des Service
Autor: Felix Mack
Datum: 22. Januar 2001 - Pro-Linux.de