LIDS besteht aus einem Kernel-Patch und Userspace-Werkzeugen (lidsadm und lidsconf). Mit dem Befehl lidsconf definiert der Administrator die Zugriffsrechte. Am einfachsten erklärt sich die Verwendung an einem einfachen Beispiel:
/sbin/lidsconf -A -R -o /sbin -j READONLY /sbin/lidsconf -A -R -o /boot -j READONLY /sbin/lidsconf -A -R -o /bin -j READONLY /sbin/lidsconf -A -R -o /lib -j READONLY /sbin/lidsconf -A -R -o /usr -j READONLY /sbin/lidsconf -A -R -o /etc -j READONLY /sbin/lidsconf -A -R -o /etc/lids -j DENY /sbin/lidsconf -A -R -o /etc/shadow -j DENY /sbin/lidsconf -A -o /var/log/wtmp -j WRITE /sbin/lidsconf -A -s /bin/login -o /etc/shadow -j READONLY /sbin/lidsconf -A -s /bin/su -o /etc/shadow -j READONLY /sbin/lidsconf -A -s /bin/login -o CAP_SETUID -j GRANTHiermit wird allen Benutzern (auch root) nur lesender Zugriff auf die Dateien in den Verzeichnissen /sbin, /boot, /bin, /lib, /usr und /etc gegeben. Die Datei /etc/shadow und sämtliche Dateien in /etc/lids dürfen von keinem Benutzer (auch nicht von root) gelesen werden. Lediglich die Befehle su und login erhalten Leserechte an der Datei /etc/shadow.
LIDS kennt kein Default-Deny bei dem Zugriff auf die Dateien. Sie müssen den Zugriff auf jede einzelne Datei mit dem Befehl lidsconf definieren. Da Sie hier aber auch ganze Verzeichnisbäume angeben können, hält sich die Anzahl der Regeln in Grenzen. Häufig werden nicht mehr als 100 Regeln für ein kleines Linux-System benötigt.
Mit dem Befehl lidsadm erfolgt die Administration. Zunächst können Sie hiermit LIDS aktivieren. Dies erfolgt normalerweise nach dem Start sämtlicher Dienste als letzter Schritt. Dadurch müssen die Regeln nicht alle Vorgänge berücksichtigen, die bei dem Boot erfolgen. Hier ist LIDS noch nicht aktiv. Dies reduziert die Anzahl der Regeln erheblich. Natürlich können Sie LIDS auch wieder deaktivieren. Hier bietet LIDS aber einige ganz interessante Funktionen. Sie können LIDS zum Beispiel nur für die Konsole deaktivieren, an der Sie gerade angemeldet sind. Das restliche System und alle Prozesse werden dann noch überwacht. Dies können Sie zusätzlich einschränken und die Deaktivierung über das Netzwerk verbieten.
Um die Erzeugung der Regeln zu vereinfachen, können Sie mit dem Befehl lidsadm auch einen Lernmodus (ACL Discovery Mode) aktivieren. LIDS protokolliert dann jeden Zugriff. Für die Analyse der Protokolle und die Erzeugung der benötigten Regeln steht ein Perl-Skript (lids_acl_discovery.pl) zur Verfügung.
Mit einem zusätzlichen Patch kann LIDS mit iptables auch die Netzwerkpakete analysieren und überwachen.
Ralf Spenneberg 2007-11-13