Online Suche im Handbuch | LITTLE-IDIOT NETWORKING |
Nicht nur unter UNIX ist es völlig unmöglich, absolute Sicherheit zu fordern. Das trifft um so mehr zu, je mehr Dienste oder Dämonen auf dem Server aktiviert wurden.
Beim Einsatz eines UNIX Servers in der DMZ sollte dieser als BASTION HOST , siehe hierzu Kapitel Architektur von Firewalls besonders abgesichert werden. Hierzu kann man natürlich die LINUX Kernelfirewall mit IPFWADM, IPCHAINS oder auch SF Firewall einsetzen. Auf der Firewall laufen dann jedoch viele Anwendungen. Diese Konstruktion nennt sich BASTION HOST.
Selbstverständlich muß unbedingt ein BASTION HOST durch zwei Firewalls abgesichert werden, eine auf der Seite des Internets, die andere auf der Seite des Intranets. Diese Firewalls dürfen natürlich keine weiteren Dienste aktiviert haben. Sie dienen auf der Seite des Internets der Überwachung und auf der Seite des Intranets der Sicherheit.
Zuerst möchte ich jedoch auf ein paar Quellen im Internet verweisen, die sich als recht nützlich erwiesen haben:
http://viper.dmrt.com/tools/=Linux/Misc/unix-sec-checklist.htm
Die Datei unix-sec-checklist.htm findet man auch auf unzähligen anderen Servern, oft jedoch in einer älteren Version. Wer in Suchmaschinen nach "UNIX" und "checklist" sucht, der wird bald fündig. In dieser Checkliste ist alles Wichtige und Grundlegende für die Absicherung von UNIX allgemein enthalten. Für unsere LINUX Firewall treffen diese Info´s leider nicht zu. Es gilt hier eine besondere Regel.
Die eiserne Regel bei Firewalls: Eine Firewall hat nur eine Aufgabe, nämlich Firewalling. Jede weitere Funktion, muß unbedingt ausgeschaltet werden. Das bedeutet im einzelnen:
Wie Sie sehen, gibt es gute Gründe, eine Firewall nicht mit einer fertigen LINUX Distribution, wie z.B. RedHat oder S.u.S.E. Linux aufzubauen. Es gibt viel zu viel Software und aktive Dämonen, die man alle unbedingt ausschalten muß. Eine Firewall ist und bleibt ein äußerst sensibles Stück Software, wo ein einziger Fehler schon zuviel ist. Als Systemadministrator der Firewall sollte man alle noch vorhandenen User auf der Firewall gnadenlos eliminieren. Es sollte nur noch ein Useraccount und root auf der Firewall existieren. Übrigens sollte man sich einmal Gedanken darüber machen, welche Accounts bei einer Standard-Distribution, wie z.B. S.u.S.E. LINUX standardmäßig existieren:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
games:x:12:100::/tmp:/bin/bash
man:x:13:2::/var/catman:/bin/bash
at:x:25:25::/var/spool/atjobs:/bin/bash
postgres:x:26:2:Postgres Database Admin:/var/lib/pgsql:/bin/bash
lnx:x:27:27:LNX Database Admin:/usr/lib/lnx:/bin/bash
mdom:x:28:28:Mailing list agent:/usr/lib/majordomo:/bin/bash
yard:x:29:29:YARD Database Admin:/usr/lib/YARD:/bin/bash
wwwrun:x:30:65534:Daemon user for apache:/tmp:/bin/bash
squid:x:31:65534:WWW proxy squid:/var/squid:/bin/bash
fax:x:33:14:Facsimile Agent:/var/spool/fax:/bin/bash
gnats:x:34:65534:Gnats Gnu Backtracking System:/usr/lib/gnats:/bin/bash
empress:x:35:100:Empress Database Admin:/usr/empress:/bin/bash
adabas:x:36:100:Adabas-D Database Admin:/usr/lib/adabas:/bin/bash
amanda:x:37:6:Amanda Admin:/var/lib/amanda:/bin/bash
ixess:x:38:29:IXware Admin:/usr/lib/ixware:/bin/bash
irc:x:39:65534:IRC Daemon:/usr/lib/ircd:/bin/bash
ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash
firewall:x:41:31:firewall account:/tmp:/bin/false
informix:x:43:34:Informix Database Admin:/usr/lib/informix:/bin/bash
named:x:44:44:Nameserver Daemon:/var/named:/bin/bash
virtuoso:x:45:100:Virtuoso Admin:/opt/virtuoso-lite:/bin/bash
nobody:x:65534:65534:nobody:/tmp:/bin/bash
user01:x:500:100::/platte2/home/user01:/bin/bash
user02:x:501:100::/home/user02:/bin/bash
user03:x:502:100::/home/user03:/bin/bash
Die Paßworte stehen in der Datei /etc/shadow. Welche Paßworte sind bei welchen Accounts vergeben ? Warum ist in der Datei /etc/shadow bei vielen Accounts kein Paßwort eingetragen ? Wofür ist dann überhaupt der Account gut ? Die Antwort ist einfach - SUID Programme und chroot() Programm nutzen diese Accounts. Diese besitzen ein SUID Bit (Siehe chmod). So verlangen z.B. einige Dämonen, wie sendmail ein solches Bit. In diesem Falle sollte man auf Dämonen ausweichen, die eine sichere Architektur besitzen. Einige Hinweise finden sich in späteren Kapiteln. Eventuell vorhandene suid Programme sollte man entweder löschen, oder aber das Bit entfernen. Empfehlenswert ist es stets, allen Usern, die keine Shell benötigen, in der Datei /etc/passwd anstelle der Shell /bin/bash den Dummy /bin/false einzutragen. Login Versuche scheitern somit alle.
Online Suche im Handbuch | LITTLE-IDIOT NETWORKING |