Eine Prozedur ist immer nützlich, da Sie Ihnen erlaubt, den gesamten Prozess des Abhärtens eines Systems zu betrachten und Ihnen erlaubt Entscheidungen zu treffen. Ein möglicher Versuch für eine solche Prozedur für Debian 2.2 GNU/Linux ist unten aufgeführt. Es ist eine Nach-Installations Prozedur. Eine Checkliste von Maßnahmen, die Sie schritt für Schritt während der Konfiguration durchführen finden Sie unter Konfigurations Checkliste, Anhang B. Außerdem ist diese Prozedur (im Augenblick) eher am Absichern von Netzwerk-Diensten orientiert.
dselect
und entfernen Sie alle nicht benötigten
aber ausgewählten Pakete bevor Sie [I]nstallation wählen. Lassen Sie nur
absolut notwendige Software auf dem Server.
$ ps -aux $ netstat -pn -l -A inet # /usr/sbin/lsof -i | grep LISTEN
Damit das dritte Kommando funktioniert werden Sie lsof-2.2
installieren müssen (uns es als root laufen lassen). Beachten Sie, dass lsof
das Wort LISTEN passend zu Ihrer Lokalisation übersetzen kann.
dpkg
dazu benutzt:
#!/bin/sh # FIXME: Dies ist nur auf die Schnelle und einfach zusammen gehackt, und # sollte durch einen robusteren Skript-Schnippel ersetzt werden for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq` echo "Dienst $i ist durch $pack installiert"; init=`dpkg -L $pack |grep init.d/ ` if [ ! -z "$init" ]; then echo "und wird durch $init gestartet" fi done
dpkg
--purge
) oder, wenn er nützlich ist aber nicht beim Starten aktiviert
werden soll, benutzen Sie update-rc.d
(siehe Daemons abschalten, Abschnitt 3.6.1), um
ihn aus dem Start-Prozess zu entfernen.
$ grep -v "^#" /etc/inetd.conf | sort -u
und deaktivieren Sie diejenigen, die Sie nicht benötigen, indem Sie die Zeile
auskommentieren, das Paket entfernen, oder indem Sie update-inetd
benutzen.
/usr/sbin/tcpd
benutzen)
prüfen Sie, ob /etc/hosts.allow
und /etc/hosts.deny
passend zu Ihrer Dienste-Regelung konfiguriert sind.
$ init 1 (....) $ init 2
$ for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`; do user=`ps -ef |grep $i |grep -v grep |cut -f 1 -d " "` ; echo "Dienst $i laeuft als Benutzer $user"; done
und überlegen Sie, ob Sie diese Dienst zu einem bestimmten User / einer
bestimmten Gruppe ändern wollen und Sie vielleicht auch in eine chroot-Umgebung
packer wollen, um die Sicherheit zu erhöhen. Sie können dies tun, indem Sie
die /etc/init.d
Skripte ändern, die den Dienst starten. Die
meisten Dienste benutzen unter Debian start-stop-daemon
, so dass
Sie einfach die --change-uid und --chroot Optionen benutzen können, um diese
Dienst aufzusetzen. Das einpacken eines Dienstes in eine Chroot-Umgebung würde
den Rahmen dieses Dokumentes sprengen, aber ein paar warnende Worte sind nötig:
Sie werden wahrscheinlich alle Dateien, die durch das Paket des Dienstes
installiert wurden, unter Benutzung von dpkg -L und der Pakete, von denen es
abhängt, in die Chroot-Umgebung legen müssen.
nessus
) benutzen, um Angriffmöglichkeiten
(Fehlkonfigurationen, alte oder nicht benötigte Dienste) zu finden.
snort
und
logsentry
).
Dir richtig Paranoiden überlegen sich auch das folgende:
FIXME: this procedure considers service hardening but not system hardening at the user level, include information regarding checking user permissions, setuid files and freezing changes in the system using the ext2 filesystem.
Anleitung zum Absichern von Debian
2.5 (beta) 31 mayo 2004Sat, 17 Aug 2002 12:23:36 +0200jfs@computer.org