M 4.105 Erste Maßnahmen nach einer Unix-Standardinstallation
Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT
Verantwortlich für Umsetzung: Administrator
Die meisten Unix-Systeme entsprechen nach einer Standardinstallation nicht den Anforderungen an einen sicheren Systembetrieb. Hier werden von den Herstellern häufig zu viele sicherheitskritische Dienste und Konfigurationen aktiviert bzw. mit zu weitreichenden Rechten versehen.
Die folgende Übersicht soll exemplarisch das erste Absichern einer Standardinstallation aufzeigen:
- Vor der Installation ist der Administrator entsprechend zu schulen, insbesondere hinsichtlich der Sicherheitsaspekte. In diesem Rahmen sollte er sich über alle potentiellen Sicherheitslücken des IT-Systems kundig machen (siehe auch M 2.35 Informationsbeschaffung über Sicherheitslücken des Systems). Dazu gehört auch die Subskription entsprechender Mailinglisten.
- Nach der Installation sollte das Account des Systemadministrators ein gutes Passwort erhalten (siehe M 2.11 Regelung des Passwortgebrauchs).
- Es sollte überprüft werden, welche Dienste auf dem IT-System laufen. Dies kann z. B. mit dem Befehl netstat -a | grep LISTEN überprüft werden. Nicht benötigte Dienste sollten deaktiviert oder entfernt werden (siehe M 5.72 Deaktivieren nicht benötigter Netzdienste).
- Wenn das System nicht als Mailserver fungiert, sollte der Maildaemon als Netzdienst deaktiviert werden. Wenn Mail lokal auf dem System zugestellt werden soll, kann sendmail mit der Option -q15 oder als Cron-Prozess gestartet werden:
1 * * * * /usr/sbin/sendmail -q 2>&1 >/dev/null
Die Mail-Queue wird in regelmäßigen Abständen geleert und die Mail lokal zugestellt. - Die aktuellste sendmail-Version des Herstellers sollte installiert werden (siehe auch M 4.107 Nutzung von Hersteller-Ressourcen und M 5.19 Einsatz der Sicherheitsmechanismen von sendmail). Alternativ kann auch auf Public-Domain-Mailprogramme wie z. B. qmail zurückgegriffen werden. Die laufende sendmail-Version kann mit dem Befehl telnet localhost 25 herausgefunden werden.
- Nach der Standardinstallation sollten die verfügbaren Security-Patches des Herstellers installiert werden (siehe auch M 4.107 Nutzung von Hersteller-Ressourcen). Danach ist unbedingt zu überprüfen, dass durch die Patch-Installation keine nichtbenötigten Dienste aktiviert wurden.
- Die Filesysteme sollten restriktiv im- bzw. exportiert werden. Es ist darauf zu achten, dass Filesysteme nicht für alle schreibbar exportiert werden.
- Wenn zum Einsatz von NIS keine Alternativen existieren, sollte NIS+ eingesetzt werden, das über erweiterte Sicherheitsmechanismen verfügt.
- Wenn tftp verfügbar sein muss, dann sollte es mit der Option -s gestartet werden, damit nicht jede Datei vom System kopiert werden kann (siehe auch M 5.21 Sicherer Einsatz von telnet, ftp, tftp und rexec und M 5.72 Deaktivieren nicht benötigter Netzdienste).
- Die Protokollierungsfunktion des inetd sollte mit -t aktiviert werden, damit jeder Verbindungsaufbauversuch protokolliert wird (siehe M 5.72 Deaktivieren nicht benötigter Netzdienste). Hilfreich ist die Installation der Public-Domain-Tools xinetd oder TCP-Wrapper. Mit diesen Tools können u. a. alle Verbindungsversuche frühzeitig protokolliert werden, noch bevor der angesprochene Daemon via inetd gestartet wird.
- Protokolldateien sollten täglich bzw. wöchentlich untersucht werden. Zur halb-automatischen Auswertung sollten Analyseprogramme wie swatch, logdaemon oder logsurfer installiert werden (siehe M 2.64 Kontrolle der Protokolldateien).
- Regelmäßig sollten Sicherheitschecks mit COPS, Tripwire oder Tiger durchgeführt werden.
- Neben allen anderen nicht benötigten Diensten sollten rshd, rlogind, rexecd unbedingt deaktiviert werden (siehe M 5.72 Deaktivieren nicht benötigter Netzdienste). Zur Konvertierung von RPC-Programmnummern in Portadressen wird von den meisten Herstellern das Programm rpcbind mit ausgeliefert. Als Ergänzung bzw. als Ersatz sollte der Daemon portmapper eingesetzt werden, wenn er für die vorliegende Plattform verfügbar ist.
Alle Clients, die diese Dienste benutzen, sollten für normale Anwender nicht ausführbar gemacht werden. Weitere Authentisierungsverfahren, die auf Hostnamen beruhen, sollten vollkommen abgelöst werden. - Telnet sollte durch ssh ersetzt werden. ssh ermöglicht eine stark verschlüsselte und authentisierte interaktive Verbindung zwischen zwei Systemen. ssh ist als Ersatz für telnet, rsh, rlogin und rcp zu verstehen. X-Window kann dadurch auch abgesichert übertragen werden (siehe auch M 5.64 Secure Shell).
- Xauth ist xhost vorzuziehen - es sollte niemals "xhost +" verwendet werden (siehe auch M 4.9 Einsatz der Sicherheitsmechanismen von X-Window).
- Aus der Konfigurationsdatei /etc/inetd.conf sollten alle nicht benötigten Einträge entfernt werden (siehe M 5.72 Deaktivieren nicht benötigter Netzdienste, ).
- Die Konfigurationsdatei /etc/syslog.conf ist für die Aktivierung der Protokollfunktionen zu modifizieren (siehe M 4.106 Aktivieren der Systemprotokollierung).
- Eine Liste aller world-writable Dateien und Verzeichnisse kann mit folgenden Befehlen erstellt werden:
find / -type f -perm -22 -exec ls -l {} \;
find / -type d -perm -22 -exec ls -ld {} \;
Die Ergebnisse sollten regelmäßig mit dem Installationszustand verglichen werden. - Das Programm Tripwire sollte vor der Inbetriebnahme installiert werden, um eine Checksummenübersicht des installierten Systems bei der Aufnahme in den Wirkbetrieb zu bekommen. Die erstellte Übersicht sollte auf einem nichtbeschreibbaren Datenträger gespeichert werden.
- /var sollte eine große Partition sein, damit ein vorsätzliches Produzieren von Protokolldaten das Unix-System nicht zum Stillstand bringt.
Alle durchgeführten Veränderungen sollten sorgfältig dokumentiert werden und unter allen Systemadministratoren abgestimmt werden. Diese Dokumentation kann in Papierform erfolgen oder in einer Datei auf dem jeweiligen System geführt werden. Sie sollte aber jederzeit eingesehen und aktualisiert werden können (siehe auch M 2.34 Dokumentation der Veränderungen an einem bestehenden System).
Ergänzende Kontrollfragen:
- Welche Dienste laufen auf dem IT-System?
- Sind alle verfügbaren Security-Patches ordnungsgemäß installiert?
- Werden alle Änderungen zeitnah dokumentiert und unter allen Systemadministratoren abgestimmt?
- Sind alle vorgenommenen Änderungen an der Betriebssystemkonfiguration dokumentiert und nach einer Neuinstallation nachvollziehbar?