Bastille-Linux
ArticleCategory:
System Administration
AuthorImage:
TranslationInfo:
Original in fr
Frédéric Raynal
fr to en
Georges Tarbouriech
en to de
Hermann J. Beckers
AboutTheAuthor:
Fr�d�ric Raynal arbeitet an seiner Doktorarbeit �ber Image Tattooing am
INRIA (Institut National de Recherche en Informatique et Automatique).
Au�erdem ist er an der Entwicklung von Bastille-Linux beteiligt.
Abstract:
Bastille-Linux 1.1, freigegeben Anfang Juni, ist keine neue Linux-Version, sondern eine Sammlung von Skripten, um Ihr System besser gegen m�gliche Verwundbarkeiten zu sch�tzen. Die Autoren benutzen einen erzieherischen Ansatz und man kann durch die Installation dieser Skripte eine Menge lernen.
ArticleIllustration:
ArticleBody:
Einf�hrung
Hinsichtlich Sicherheit ist Linux um einiges besser als andere Betriebssysteme. Nichtsdestoweniger unterscheiden sich die Distritubtionen in dieser Hinsicht. Bastille-Linux bietet Ihnen Mittel, Ihr System zu sch�tzen. Es war urspr�nglich f�r Red-Hat geschrieben, aber die aktuelle Version arbeitet auch mit anderen Distributionen zusammen.
Das Projekt wird von Jon Lasser (Haupt-Koordinator) und Jay Beale (Haupt-Entwickler) geleitet. Weitere Entwickler, Software-Designer und Betatester sind ebenfalls beteiligt.
Um es nochmals klarzustellen: Bastille-Linux ist KEINE neue Linux-Distribution! Es ist eine Sammlung von in perl geschriebenen Skripten, um die Sicherheit von Linux zu erh�hen.
Sicherheit meint hier Computer-Sicherheit:
wie kann man verhindern, da� unerw�nschte Personen auf Ihren Rechner zugreifen?
Bastille-Linux gibt einen Teil der Antwort, indem es die Anfangsinstallation
Ihrer Linux-Distribution ver�ndert.
Eine grundlegende Aufgabe eines SysAdmins ist es, die Bed�rfnisse seiner
Benutzer zu kennen, nicht nur, um ihnen gerecht zu werden, sondern auch um zu
vermeiden, dass unn�tige Programme im Netzwerk laufen ... man muss
Sicherheitsl�cher eind�mmen k�nnen. Einer meiner Mentoren pflegte zu sagen:
Je weniger Du tust, um so besser;-] Nat�rlich sprach er �ber die Komplexit�t
von Algorithmen, aber man kann es auch auf die Netzwerkadministration anwenden:
Ein �berma� an Programmen kann Schaden anrichten, weil es mehr Angriffspunkte
bietet. Um Verwundbarkeiten zu reduzieren, installieren Sie nur, was Sie
wirklich ben�tigen.
Bastille-Linux versucht, die M�glichkeiten f�r eine Attacke einzugrenzen.
Um dieses Ziel zu erreichen, benutzen die Software-Designer einen sehr
erzieherischen Anspruch: Sie erkl�ren Schritt f�r Schritt, was zu tun ist.
Pr�sentation
Z .Zt. gibt es Bastille-Linux in Version 1.1.0, freigegeben in der ersten
Junih�lfte.
Neben der offensichtlichen N�tzlichkeit hat Bastille-Linux eine
erzieherische Funktion. Die Skripte stellen detaillierte und genaue Fragen.
Die Entwickler versuchen, dem Benutzer Neues beizubringen. Sie erkl�ren den
Hintergrund der Fragen und die Auswirkungen der m�glichen Antworten. Dies
macht Bastille-Linux zu einem sehr leicht zu benutzenden Werkzeug.
F�r fortgeschrittene Benutzer ist der in
perl
geschriebne Quellcode ein Muster an Klarheit (ja, dass ist m�glich :-); jeder
Kommentar beschreibt wie die Aktion sich auswirkt.
Hier sind einige M�glichkeiten der Version 1.1.0 :
-
Bastille-Linux arbeitet nun auch auf l�nger installierten System
-
Eine undo Funktion ist dabei:
von jeder von Bastille-Linux ver�nderten Datei wird ein Backup angelegt
-
Urspr�nglich lief Bastille-Linux nur auf RedHat und Mandrake; dies ist nicht
mehr wahr. Nun enth�lt ein Modul die richtigen Pfad-Anweisungen f�r die
benutzte Distribution.
Bastille-Linux hat verschiedene Module, 4 allgemeine Module und einige f�r
spezielle Anwendungen (Software
such as
sendmail,
FTP,
... order Boot oder unn�tze Daemondienste)
Die allgemeinen Dienste sind f�r:
-
Firewall installation
-
System-Software Update
-
�berpr�fung auf SUID-root Programme
-
Deaktivierung und Beschr�nkung unn�tzer Dienste
Die anderen Module betreffen mehr spezielle Aspekte. Einige k�mmern sich um
Sicherheitsprobleme, die durch schlecht konfigurierte Software entstehen
(sendmail oder FTP
z B.), andere modifizieren die Konfiguration einiger Dienste etwas strikter
(PAM,
syslog,
...)
Einige Sicherheitsfunktionen kasdadieren und bieten unterschiedliche
Schutzebenen
(dies ist gegen die Prinzipien meines Mentors ... aber einmal muss man sich ja
emanzipieren ;-)
Man mu� jeden Dienst oder jedes m�gliche Sicherheitsloch mit allen
M�glichkeiten sch�tzen.
Wenn eine Sicherung versagt, halten die anderen die Sicherheit des Systems
aufrecht.
Installation oder "Schauen wir uns die Skripte an, solange der Wolf noch nicht
da ist."
Bisherige Bastille-Linux-Versionen funktionierten nur auf neuen Systemen, dies
ist seit der letzten Version nicht mehr so. Jedoch muss festgehalten werden,
da� die �nderungen durch Bastille-Linux auf einem bereits benutztem System
(fast) nutzlos sind. Deshalb wird empfohlen (aus Sicherheitsgr�nden und nicht
wegen der Software), Bastille-Linux nur auf einem neu installierten System zu
installieren.
Sie sind nun gewarnt, es wird ernst: die Installation!
Bastille-Linux ist verf�gbar als tarball .tgz
bei bastille-linux.sourceforge.net.
Dieses Archiv umfa�t nur 134 KB. Nach dem Abruf entpacken Sie es mit
(tar
xzf Bastille-1.1.0.tgz).
Vier Skripte steuern Bastille-Linux :
-
InteractiveBastille.pl:
Dieses Skript stellt der Benutzerin verschiedene Fragen, um herauszufinden,
was auf dem System eingerichtet werden soll. Als n�chstes erstellt es aus den
Antworten eine Konfigurations-Datei.
-
AutomatedBastille.pl : i
installiert eine Default-Konfiguration und bietet die M�glichkeit, eine
Firewall aus einem mitgeliefertem Konfigurationsskript zu benutzen. Dieses
Skript wird nicht mehr gepflegt.
-
BackEnd.pl
: Dieses Skript nimmt die �nderungen am System vor. Es bekommt seine Parameter
von den Antworten, die Sie vorher gegeben haben.
-
Undo.pl : Wenn Sie
BackEnd.plstarten, werden einige
Systemdateien
(/etc/syslog.conf,/etc/inetd.conf,
/etc/hosts.*,
...) modifiziert. Um diese bei Problemen zur�ckzusetzen, werden Kopien im Verzeichnis
/root/Bastille/undo angelegt.
Zur Installation von Bastille-Linux m�ssen Sie als root angemeldet sein, weil die Skripte Konfigurations-Dateien �ndern.. Zur Installation f�hren Sie zuerst
InteractiveBastille.pl aus.
Dann beantworten Sie die Fragen (unten weiter erl�utert) Zum Schluss starten Sie
BackEnd.pl
und das wars! Ein Protokoll der �nderungen findet sich im
/root/Bastille/undo Verzeichnis..
Noch einige Hinweise:.
-
Sie m�ssen das Skript aus dem
/root/Bastille Verzeichnis starten.
... das wird sich k�nftig �ndern und dann k�nnen Sie es aus einem beliebigen Verzeichnis starten (vielleicht ist es ja schon m�glich, wenn Sie dies lesen)
-
Zwei Module erlauben das Anlegen von Accounts ... sofern Sie
"shadow passwords" auf Ihrem System installiert haben. Dies ist zwar der Default, aber �berpr�fen Sie bitte, dass
/etc/passwd keine Passw�rter enth�lt,
dass Sie nur als root auf /etc/shadow
zugreifen k�nnen und dass diese letzte Datei wirklich die Passw�rter enth�lt!
-
Bastille-Linux unterh�lt noch keine Verweise zwischen den Modulen wie es bei
der Kernelkonfiguration ist (dies wird ebenfalls in einer zuk�nftigen Version
erm�glicht). Deshalb achten Sie auf die Antworten und ihre Auswirkungen. So
k�nnten Sie dem IPchains-Module sagen, das es Port 2049 schliessen soll und
trotzdem NFS
in der Liste der aktiven Hintergrundprozesse im MiscellaneousDaemons-Modul belassen.
(NFS benutzt diesen Port).
Schrittweise
Nun schauen wir uns die Fragen von Bastille-Linux an, um die einzelnen Schritte zu verstehen: Der Buchstabe zwischen [] zeigt die Fehlwert-Antwort
(N -> Noe, Y -> Ja).
IPChains
Dieses Modul wird zur Konfiguration einer Firewall benutzt. Obwohl es f�r die Systemsicherheit nicht zwangsweise erforderlich ist, erlaubt es die Kontrolle des Netzverkehrs von und zu dieser Maschine. Die Verkehrskontrolle ist nicht ausreichend, Sie m�ssen auch die D�monen rekonfigurieren (denken Sie daran, unterschiedliche Sicherheitsebenen sind nicht nutzlos).
Dieses Skript arbeitet in einer sehr guten Weise. Es ber�cksichtigt 2 Netzwerkschnittstellen:
eines, das mit der Au�enwelt kommuniziert und eines, was den Verkehr mit dem lokalen Netzwerk (LAN) regelt. Ziel ist es, die Dienste zu ermitteln, die auf dieser Maschine verf�gbar sein sollen und die anderen zu stoppen. Fehlwert ist es, alles abzulehnen, was von aussen kommt. Als n�chstes definiert das Skript die Regeln, um bestimmte Dienste verf�gbar zu machen.
Das Skript verwaltet TCP-, UDP-, und ICMP-Protokolle. Es stellt Listen von Diensten f�r jedes Protokoll bereit, auf die man achten oder die man vermeiden sollte. Es w�rde zu lange dauern, hier den Ansatz von Bastille-Linux f�r die Firewall-Installation im Detail zu erl�utern, aber das Lesen des Skripts und der Kommentare ist sehr hilfreich. Ein bestimmtes Grundwissen ist jedoch Voraussetzung, um dieses Modul zu nutzen..
PatchDownload
Aktualisierungen sind f�r die Systemintegrit�t wichtig. W�hrend der letzten Monate hatten z. B. bind
und piranha, gro�e Sicherheitsprobleme.
Sie wurden schnell korrigiert, da aufgrund des verf�gbaren Quellcodes schnell Patches geschrieben wurden.
Ungl�cklicherweise arbeitet dieses Skript nicht besonders gut. Es ist ziemlich komplex, da Sie die installierten Pakete bestimmen m�ssen und unter diesen diejenigen, die aktualisiert werden m�ssen. Dann muss der Patch abgerufen werden und vor der Installation mu� sichergestellt sein, das der Patch nicht durch den Transfer oder Cracker ver�ndert wurde. Dies ist wirklich von Ihrer Distribution abh�ngig..
Z. Zt. empfiehlt Jay Beale, diesen Schritt manuell auszuf�hren, ihn aber
nicht auszulassen. Eine verbesserte Version dieses Moduls ist in Arbeit und sollte bald verf�gbar sein.
Dateiberechtigungen
Dieses Modul basiert auf einem Dokument des SANS-Teams. Das Ziel ist es, die Programme zu bestimmen,
die nur f�r root (oder root Gruppen-Mitglied) zur Verf�gung stehen, bei denen das SUID-Bit gesetzt bleiben muss.
-
Would you like to set more restrictive permissions on the administration
utilities [N] ?
Einige Programme d�rfen nicht jedem zur Verf�gung stehen. BAST hat eine beeindruckende Liste von Programmen, deren Rechte auf 0750 gesetzt werden k�nnen.
-
Danach geht es um das SUID-Bit. Dieses Bit erlaubt es einem Benutzer mit root-Berechtigung, das Programm auszuf�hren.
('s' in Position 4, 7 and 10)
>>ls -l /bin/ping
-rwsr-xr-x 1 root root 17968 Mar 6
15:57 /bin/ping
Dieses Bit erleichtert die Benutzung, reduziert aber die Sicherheit. D. h., wenn jemand eine Schwachstelle findet (z. B.einen Puffer�berlauf), ist es ihm m�glich, root -Berechtigung zu erhalten.
BAST schl�gt vor, dieses Bit u. a. von den folgenden Programmen zu
entfernen:
mount/umount,
ping,
dump/restore,
cardctl,
... Neben anderen enth�lt diese Liste ping
und traceroute, zwei Programme, die es
erlauben, den Status eines Server zu �berpr�fen. Hier das SUID-Bit zu entfernen,
ist schon ein bi�chen paranoid, aber beeintr�chtigt die Benutzung der Maschine nicht.
In dieser Liste findet man auch die r-Befehle.
Dies betrifft Programme wie rcp, rlogin
oder rsh.
Diese Programme verschl�sseln die Daten nicht, die sie �ber das Netzwerk senden. Au�erdem benutzen sie nur die IP-Adresse zur Authentifizierung, was evtl. IP-Spoofing erm�glicht
.
Zugangs-Sicherheit
Ein Einbruch beginnt oft mit der Kompromittierung eines Benutzer- oder Systemkontos.
Einige einfache Schritte erschweren dies und erlauben es, Einbr�che zu entdecken.
-
Would you like to set up a second UID 0 account [N] ?
Wenn Sie hier mit Ja antworten, wird ein zweiter root-Zugang angelegt. In diesem Fall sollten Sie nie mehr den Originalroot-Zugang benutzen, sondern nur noch den gerade erstellten. Dies verdoppelt zwar die M�glichkeiten, ein Root-Passwort zu knacken... aber dies erlaubt es Ihnen, die Benutzung dieser
root -Identit�t in den Dateien in /var/log zu verfolgen.
-
May we take strong steps to disallow the dangerous r-protocols? [Y]
Wie oben erw�hnt, sind die r-Befehle
eine gute M�glichkeit, sich einen Zugang zu einer Maschine zu erschleichen. Die Passw�rter werden im Klartext �bertragen! In einem solchen Netzwerk er�ffnet ein Snifffer interessante Aspekte...
Bastille-Linux verbietet die Nutzung der r-Befehle
durch PAM (Pluggable Authentication
Modules), entfernt die Ausf�hrungsberechtigung und stoppt die Server in der
tcp_wrapper-Konfiguration
(rlogind, rexecd und rshd). Sie werden durch /etc/inetd.conf
konfiguriert, wo sie als Kommentar enthalten sein sollten..
-
Would you like to enforce password aging? [Y]
Passw�rter m�ssen dann alle 180 Tage gewechselt werden. Zugriffskennungen, deren Passw�rter sich nicht �ndern, werden deaktiviert.
-
Would you like to create a non-root user account? [N]
Benutzen Sie Ihren root-Zugang so wenig wie m�glich. Ein einzelnes Kommando wie
rm -rf
/ kann als root ein Desaster anrichten ... aber etwas weniger als ein Standard-Benutzer. Nur administrative Aufgaben sollten als root durchgef�hrt werden..
-
Would you like to restrict the use of cron to administrative accounts? [Y]
cron erlaubt die automatisierte Durchf�hrung von Aufgaben.
Z. B. kann ein Administrator das Programm nutzen, um die Datei-Integrit�t in regelm��igen Abst�nden zu pr�fen oder die Dateien in /var/log zu �berpr�fen.
Andererseits ist es ein zu gro�es Privileg, jeder Benutzerin den Zugriff zu gestatten. Als Kompromi� erstellt BAST eine Datei /etc/cron.allow, in der die f�r cron zugelassen Benutzer eingetragen sind.
Boot-Sicherheit
Die Optionen dieses Moduls betreffen die physische Sicherheit der Maschine. Dies korrigiert Sicherheitsl�cken vorheriger Module. Jeder, der direkten Zugang zur Konsole hatte, konnte privelegierten Zugriff (i.e. root) erhalten. Das Starten von LILO im single-Modus f�hrt zu einer Shell mit root-Berechtigung ;-P
Offensichtlich ist das nicht ausreichend. Um den Computer zu sch�tzen, mu�
das BIOS passwort-gesch�tzt sein, es darf nur von der Festplatte gebootet
werden k�nnen und der Rechner mu� verschlossen sein, damit niemand seine
Festplatte einbauen kann ... Das ist nat�rlich schon fast wieder paranoides
Verhalten und Sie m�ssen es nicht ohne besonderen Grund tun.
.
Von der Software-Seite gesehen, bieten einige Restriktionen einen guten Kompromi� im Vergleich zur obigen Methode:
-
Would you like to password-protect the LILO prompt? [N]
"Yes" verhindert den unbefugten Zugand zum System nach einen Reboot.
-
Would you like to reduce the LILO delay time to zero? [N]
Auf diese Weise kann niemand Parameter w�hrend der Bootphase eingeben. Wenn auf Ihrem Computer allerdings mehrere Betriebssysteme installliert sind, sollten Sie verneinen, weil sonst nur das Standard-Betriebssystem gestartet werden kann!
-
Do you ever boot Linux from the hard drive? [Y]
Wenn Sie eine der vorhergehenden Fragen bejaht haben und LILO auf Ihrer Festplatte instaliert ist, m�ssen Sie hier auch ja sagen, damit LILO die �nderungen auf die Platte schreibt.
-
Would you like to write the LILO changes to a boot floppy? [N]
Wenn Sie mit einer Bootfloppy arbeiten, entweder f�r Notf�lle oder weil es Ihre Art ist, Linux zu booten, m�ssen Sie diese ebenfalls aktualisieren.
-
Would you like to disable CTRL-ALT-DELETE rebooting? [N]
Damit soll verhindert werden, dass jemand die Maschine rebootet. Dies ist allerdings sinnlos, solange das Netzkabel ungesch�tzt ist. ;-)
-
Would you like to password protect single-user mode? [Y]
Wie wir bereits gesehen haben, ist es eine gute Idee zu verhindern, das jedermann root-Berechtigung erlangen kann.
Inetd sichern
Ziel dieses Moduls ist, �berfl�ssige Dienste zu beschr�nken oder zu deaktivieren.
Cracker finden leicht Sicherheitsl�cher in privilegierten Diensten, deshalb sollten sowohl Dienste als auch Privilegien beschr�nkt werden.
So erlaubt es ein Fehler im DNS von RedHat 6.0, �ber das Netz Root-Rechte zu erhalten. Deaktivierung dieses Dienstes oder Reduzierung der Privilegien sch�tzt vor diesem Fehler.
Einige Protokolle, wie die bereits erw�hnten r-Befehle
und ftp
oderr telnet , sind leicht auszunutzen.
Andere erlauben es, Informationen zu erhalten (finger
oder identd zum Beispiel).
Viele dieser Dienste werden durch
tcp_wrapper
verwaltet, was die Zugriffskontrolle auf einen bestimmten Dienst (durch
/etc/hosts.{allow,
deny}) erm�glicht. Wenn das Wrapper-Programm entscheidet, dass der
Client auf diesen Dienst zugreifen darf, wird die Anforderung an den eigentlichen Server weitergereicht..
Dieser Teil ist noch etwas starr und wird sich in k�nftigen Versionen �ndern.
-
Would you like to modify inetd.conf and /etc/hosts.allow to optimize
use of Wrappers? [Y]
Bastille-Linux installiert diese beiden Dateien. Sie sollten sich diese Dateien anschauen; vielleicht k�nnen Sie die Parameter genauer an Ihre Bed�rfnisse anpassen.
-
Would you like to set sshd to accept connections only from a small list
of IP addresses? [N]
sshd ist ein Daemon, der Verbindungen auf eine sichere Art und Weise erlaubt (Schl�sselaustausch, Passwort- und Daten-Verschl�sselung). Es ist ein vollst�ndiger Ersatz f�r telnet,
rlogin,
rsh,
rcp
und ftp.
Es gibt eine �quivalente Version zu ssh
unter BSD-Lizenz: OpenSSH.
Wir kommen noch darauf zur�ck.
-
Would you like to make "Authorized Use" banners? [Y]
Jeder, der sich mit Ihrer Maschine verbindet, wird eine Warnungsmeldung sehen, die fragt, ob dieser Dienst und Rechner berechtigterweise in Anspruch genommen wird. Die Nachricht findet sich in
/etc/motd .
Bevor wir fortfahren, sollten wir daran erinnern, dass das Netzwerk auf einem Client-Server-Modell beruht. Daher m�ssen Sie wissen, ob Sie auf der Client- oder Server-Seite eines jeden Dienstes stehen. Wenn der Webserver gestoppt wird, k�nnen Sie trotzdem im WWW arbeiten: Ihr Browser ist ein Client.
DisableUserTools
Dieses kurze Modul ist auf einem Server unerl��lich. Normalerweise erlangt ein Hacker Zugang durch eine normale Benutzerkennung. Dann kompiliert sie einige Programme, um Schwachstellen der Maschine auszunutzen. Dieses Modul deaktiviert den C-Compiler f�r jeden Benutzer ausser
root.
Wenn diese Maschine nur als Server dient, auf der niemand etwas zu kompilieren hat, sollten Sie den Compiler vollst�ndig entfernen.
ConfigureMiscPAM
Ziel dieses Moduls ist es, die Risiken durch Denial-of-Service-Attacken zu begrenzen.
- Diese Attacken bringen ein System durch �berlastung zum Stillstand (z. B. eine Partition durch
core Dateien zum�llen ...).
PAM steht f�r "Pluggable Authentification Module". Diese Systembibliothek erlaubt es dem System-Administrator, f�r jede Anwendung die Art der Benutzer-Authentifizierung, die Rechte und die Ressourcen auszuw�hlen.
-
Would you like to put limits on system resource usage? [Y]
Die /etc/security/limits.conf
-Datei enth�lt Systembegrenzungen. Bastille-Linux setzt folgende Werte:
-
core-Dateien werden auf 0 begrenzt ;
-
jede Benutzerin darf maximal 150 Prozesse aktiv haben ;
-
die maximale Dateigr��e ist auf 40Mb begrenzt.
Jeder Wert kann sp�ter direkt in der Konfigurationsdatei ge�ndert werden.
-
Should we restrict console access to a small group of user accounts? [N]
Unter RedHat 6.0/6.1 haben Benutzer der Konsole einige Privilegien wie das Mounten einer CD-ROM.
Man kann den Konsol-Zugang auf eine Gruppe berechtigter Benutzer begrenzen. Mit dieser Frage k�nnen Sie diese Benutzer definieren, wenn Sie es m�chten.
Logging
syslog ist einer der wichtigsten Dienste, um herauszufinden, ob eine Maschine komprimittiert wurde. Dieser Daemon zeichnet Systemereignisse auf. Sie k�nnen den Level der aufgezeichneten Informationen �ndern.
Es ist bemerkenswert: Wenn Sie nur ein Minimum an Diensten aktiviert haben, wird jedes Problem schnell aus den /var/log Dateien ersichtllich. Andererseits, wenn Sie eine Unmenge an �berfl�ssigen Diensten aktiv haben, werden diese Dateien sehr umfangreich und dementsprechend schwieriger zu handhaben
.
Dieses Modul f�gt neue �berpr�fungen in die /etc/syslog.conf-Datei ein.
-
Would you like to add additional logging? [Y]
Bastille-Linux legt eine /var/log/kernel-Datei an, f�r Meldungen aus dem Kernel-Bereich und die schwere Probleme anzeigen (Firewall-Nachrichten geh�ren dazu). Einige Informationen werden an 2 Terminals gesendet (TTY 7 und 8). Eine neue Datei mit dem Namen /var/log/loginlog verzeichnet Benutzer, die sich mit dem System verbinden.
-
Do you have a remote logging host? [N]
Solange Sie keine zweite Maschine haben, zu der Sie Ihre Nachrichten senden k�nnen, lautet die Antwort nein.
-
Would you like to set up process accounting? [N]
Unter Linux ist es m�glich, die ausgef�hrten Befehle aufzuzeichnen, wer was wann tat.
Diese Log-Dateien werden sehr umfangreich. Nat�rlich ben�tigt es eine Menge an Ressourcen und es ist besser, das Accounting abzuschalten bis Sie es wirklich brauchen.
Sonstige Daemonen
Immer um Minimierung bem�ht, aktiviert dieses Modul nur die Server, die Sie bem Booten wirklich ben�tigen.
Standardm��ig gilt jeder Dienst als unn�tz und ist daher deaktiviert. Reaktivieren k�nnen Sie Dienste mit dem
chkconfig -Befehl.
Dienste |
Beschreibung |
apmd |
Batteriezustandskontrolle. |
NFS und samba |
Zum Verwalten verteilter Dateisysteme ... in heterogenen Netzwerken sehr n�tzlich, sind sie doch gro�e Sicherheitsrisiken. |
atd |
Alles was atd kann, kann auch mit
cron. erledigt werden. |
PCMCIA Dienste |
Wenn Sie PCMCIA-Hardware benutzen (eher auf Laptops/Notebooks als auf Arbeitsplatzrechnern). |
dhcpd |
Server f�r die Verteilung tempor�rer IP-Adressen. Dieser Dienst wird entweder von Internet Service Providern (ISP) angeboten oder in einem LAN benutzt.
|
gpm |
Im Konsolen-(Text-) Modus zur Benutzung der Maus erforderlich. Wenn Sie nicht oft im Textmodus arbeiten, ist dieser Dienst nutzlos.. |
news server |
Nur wenige Leute m�ssen einen News-Server auf Ihrer Maschine haben. Dies ist normalerweise Sache des ISP. |
routed |
Wie ein News-Server ist auch dies Sache des ISP. Es betrifft das DNS. |
NIS |
Im LAN sehr n�tzlich .. Aber Ursprung gro�er Sicherheitsprobleme!!!
|
snmpd |
Der Dienst befasst sich mit Netzwerkadministration (Statistik, Management, Benutzer,...)
|
sendmail |
Es gibt keinen Grund, f�r das Senden/Empfangen von Mail sendmail als Daemon zu starten.
Au�erdem, wenn Sie Ihre eMail per POP/IMAP von Ihrem ISP beziehen, ist
sendmail
wirklich nutzlos und da es gro�e Sicherheitsl�cher hat .... |
Sendmail
Wie bereits erw�hnt, ist
sendmail
ein Dienst zur Verwaltung von eMail. Seine Geschichte ist voller Sicherheitsl�cken aufgrund der vielen Aufgaben, die ein Mail-Server durchzuf�hren hat und der erforderlichen Privilegien (Namensaufl�sung, Syslog-Information ...). Abgesehen von seinen Schw�chen erlaubt es
sendmail, Informationen �ber eine bestimmte Benutzerin auf einem Server zu erhalten..
Z. B. kann durch sendmail
EXPN und VRFY herausgefunden werden, ob ein bestimmtes Benutzerkonto existiert.
sendmail muss nicht als Service laufen, um eMail senden und verschicken zu k�nnen. F�r Privatanwender ist sendmail
wahrscheinlich ganz nutzlos, weil Sie jeden Mail-Client wie
(netscape, rmail,
pine,
mutt,
etc...) zum Senden Ihrer eMail nutzen k�nnen.
Zum Empfang Ihrer eMail k�nnen Sie
sendmail periodisch aktivieren, um Ihre Mailbox zu �berpr�fen.
-
Do you want to leave sendmail running in daemon mode? [Y]
Wir haben gerade gesehen, das es in den meisten F�llen nutzlos und gef�hrlich ist - dann ist es besser, ihn zu deaktivieren.
-
Would you like to run sendmail via cron to process the queue? [N]
Hierdurch �berpr�ft sendmail
die Warteschlange alle 15 Minuten Sie k�nnen diesen Parameter in der /etc/sysconfig/sendmail-Datei �ndern..
-
Would you like to disable the VRFY and EXPN sendmail commands? [Y]
Diese Kommandos bieten n�tzliche Informationen f�r Hacker oder Spammer.
Fern-Zugriff
Es ist oft n�tzlich, sich mit einer entfernten Maschine verbinden zu k�nnen.
Wir haben gesehen, dass die
r-Befehle dies in einer sehr
unsicheren Weise tun. BAST empfiehlt hierf�r ssh einzusetzen. Diese Software verschl�sselt die Daten (und auch die Passw�rter) bei einer Verbindung.
Sie k�nnen eine Software benutzen, bei der die L�nge des Sitzungsschl�ssesl 128 Bit nicht �berschreitet. Was ist ein Sitzungsschl�ssel. Es ist der Schl�ssel, der zur Verschl�sselung der Daten dient.
Dieser Sitzungsschl�ssel wird schrittweise zwischen Client und Server aufgebaut.
Er kommt von einem Schl�ssel-Austausch-Protokoll (zumeist Diffie-Hellman)
. Es wird zusammengesetzt aus einem Teil eines jeden beteiligten Schl�ssels. Als n�chstes wird der Sitzungsschl�ssel benutzt, um die Daten mit einem symmetrischen Algorithmus zu verschl�sseln (d. h. der gleiche Schl�ssel dient zum Ver- und Entschl�sseln der Daten). DES, was zur Verschl�sselung der Unix-Passw�rter benutzt wird, ist ein symmetrischer Algorithmus mit einem 56-Bit-Schl�ssel.
Nun, ist ein 128-Bit-Schl�ssel gro� genug, um Transaktions-Vertraulichkeit und Sicherheit zu garantieren: JA!
Selbst heute, wo DES als "nicht sehr sicher" gilt, sind die Attacken au�erhalb der CPU-Leistung, die den meisten Leuten zur Verf�gung steht. Andererseits ist es ein Fehler zu glauben, ein Schl�ssel von 2k L�nge sei zweimal so schwer zu finden als ein Schl�ssel mit L�nge
k .Wenn die Schwierigkeit exponential ist, w�chst sie viel schneller als die Schl�sselgr��e. F�r einen Schl�ssel mit einer L�nge von
k , existieren 2^k m�gliche Schl�ssel (und 2^2k f�r einen Schl�ssel von 2k L�nge). Multiplizieren wird die Schl�sselgr��e mit 2, f�gen wir
m�gliche Schl�ssel hinzu! Wenn Sie die Schwierigkeit betrachten, DES (56 Bit) zu brechen, kann man davon ausgehen, das 128-Bit-Schl�ssel unknackbar sind (solange der Ver-/Entschl�sselungsalgorithmus keine Sicherheitsl�cke enth�lt.. Aus einer Angriffssicht bringt die Erh�hung dieser Grenze die Schwierigkeit von "unm�glich" nur auf "noch unm�glicher".
4 Andere Software-Pakete bieten �hnliche Dienste :
ssh 1.2.x: ein Client-Server-System zum Aufbau verschl�sselter Verbindungen;;
ssh 2.x: das gleiche wie vorher, nur mit weniger Schw�chen und mehr M�glichkeiten;
OpenSSH: eine den vorgenannten vergleichbare Version aber unter einer BSD-Lizenz;
ssf : wie ssh,
aber vom franz�sischen Recht akzeptiert . (Das musste gesagt werden!)
Die folgenden Modue betreffen immer noch Dienste. Die Regeln m�gen �berraschend aussehen:
Man definiert Restriktionen und dann werden sie gestoppt. Diese beiden Ma�nahmen stehen nicht im Widerspruch. Diese Dienste k�nnen reaktiviert werden, entweder versehentlich oder durch b�swillige Personen ... dann scheint es besser, sie zu beschr�nken.
DNS
EIN DNS (Domain Name Server) stellt Beziehungen zwischen IP-Adressen und Maschinennamen und umgekehrt her.
Zum Beispiel verweist 198.186.203.36 auf www.bastille-linux.org. Das Hauptprogramm dieses Dienstes ist BIND. K�rzlich wurde eine DoS-Attacke gegen BIND gefunden. Dies kann nur vermieden werden, wenn DNS nur Zugriff auf eine kleine Gruppe von Verzeichnissen hat. Sie k�nnen das Root-Verzeichnis (Fehlwert /) mit dem
chroot-Befehl vor der Ausf�hrung eines Befehls �ndern.
Zun�chst einige technische Details bevor wir das BAST-Verhalten erkl�ren. Der Daemon f�r diesen Dienst hei�t named.
Seine Konfiguration steht in /etc/named.conf.
-
Would you like to chroot named and
set it to run as a non-root user? [N]
Um dies zu erreichen, legt BAST einen neuen Benutzer mit Namen dns an, der keine Shell hat, aber sein eigenes Verzeichnis /home/dns.
In diesem Verzeichnis wird eine klassische System-Architektur nachgebildet mit
(/usr,
/etc,
/var,
etc ...). Als n�chstes werden die Konfigurationsdateien und Bibliotheken f�r den Daemon kopiert. Es m�ssen noch weitere �nderungen gemacht werden
(f�r syslog
zum Beispiel - �berpr�fen Sie das Skriptt DNS.pm).
Nun hat DNS seine eigene Umgebung).
-
Would you like to deactivate named, at least for now? [Y]
Die meisten Leute brauchen keinen Name-Server auf ihrer Maschne, weil ihr ISP diesen Service bietet. Das DNS-HOWTO beschreibt eine Cache-Installation f�r Namensaufl�sung, aber selbst das kann Probleme bereiten.
Apache
Apache ist der am h�ufigsten genutzte Web-Server im Internet. Solch ein Server ist nur in 2 F�llen sinnvoll:
-
um eine Webpr�senz zur Verf�gung zu stellen. Hierf�r ben�tigt man eine feste
IP-Adresse. ISP's haben eine solche Adresse, ihre Kunden normalerweise nicht.
-
um Ihre eigenen Webseiten zu testen; in diesem Fall mu� der Server
(/etc/rc.d/init.d/httpd start) nur gestartet werden, wenn er ben�tigt wird.
.
Die Konfigurationsdateien finden sich in /etc/httpd/conf.
-
Would you like to deactivate the Apache web server? [Y]
Weil wir ihn nicht immer ben�tigen, deaktivieren wir ihn.
-
Would you like to bind the web server to listen only to the localhost? [N]
Es ist m�glich, den Daemon httpd an eine bestimmte IP-Adresse zu binden. BAST schl�gt eine Verbindung zur
localhost-Adresse, 127.0.0.1, vor. Dies erlaubt das Testen von Webseiten auf der eigenen Maschine.
Erreichbar sind sie �ber
http://localhost/
Apache benutzt damit das
loopback -Interface
(lo) f�r seine Arbeit..
-
Would you like to bind the web server to a particular interface? [N]
Yes l�scht die vorherige Antwort.. Wir sagten, da� wir den Web-Server mit dem
loopback-Interface benutzen wollen ... und diese Frage erlaubt es, ein anderes Interface (z. B. Ethernet) mit dem Web-Server zu verbinden.
-
Would you like to deactivate the following of symbolic links? [Y]
Das mu� gesetzt werden. Wie der DNS in einem eingegrenzten Bereich l�uft, darf es dem
Apache nicht erlaubt werden, seinen Bereich
(z. B. /home/httpd) zu verlassen.. Wenn ein Benutzer einen Link auf root
/ in seinem Web-Server-Verzeichnis hat, kann jedermann auf alle Dateien zugreifen, vor allem auf die Konfigurationsdateien wie
passwd und andere.
-
Would you like to deactivate server-side includes? [Y]
Wie Jay Beale sagt, wenn Sie nicht wissen, worum es geht, brauchen Sie es auch nicht:
Es reicht zu sagen, das dies so konfiguriert werden kann, das Benutzer beliebige Programme auf dem Server ausf�hren k�nnen.-
Would you like to disable CGI scripts, at least for now? [Y]
Ein CGi-Skript (Common Gateway Interface) zu schreiben ist nicht schwierig ... aber es verlangt sorgf�ltiges Arbeiten. Viele Methoden zur Systemkomprimittierung beruhen auf Fehlern in diesen Skripts.
-
Would you like to disable indexes? [N]
Ohne eine index.html-Datei in enem Verzeichnis zeigt Apache alle Dateien in diesem Verzeichnis an.
Dies ist ein geringeres Problem als das Beachten symbolischer Links ... aber,
stellen Sie sich vor, das ein Verzeichnis wichtige sch�tzenswerte Daten enth�lt.
Ein Web-Server kann wie jeder andere Server eine Einladung zum Besuch und zur Besch�digung Ihres Rechners werden, wenn er schlecht konfiguriert ist. Dies kann manchmal recht �rgerlich werden.
Besuchen Sie einfach mal
www.kitetoa.com,
Sie werden es nicht bedauern ;-) ( Hinweis des �bersetzers: Leider nur in franz�sisch!)
Drucken
Nur eine Frage: Werden Sie von dieser Maschine aus drucken? Wenn Sie nein sagen, deaktiviert BAST
den lpd-Daemon und entfernt das
SUID-Bit von lpr und lprm.
=============
FTP
Aus Sicherheitssicht kann FTP die Ursache f�r viele Probleme sein. Beim Verbindungsaufbau wird das Passwort im Klartext �bertragen, ebenso die Daten.
Au�erdem wurden einige Sicherheitsl�cken im
wu-ftpd gefunden. Wenn Sie diesen Dienst aktivieren m�ssen, k�nnen Sie durch BAST einige M�glichkeiten beschr�nken.
Die Datei, die den Zugriff auf den FTP-Server regelt, ist
/etc/ftpacces.
-
Would you like to disable user privileges on the FTP daemon ? [N]
Ein FTP-Problem ist das der Verbindung als "Anonymus"-Benutzer.
Ein weiteres das des Datei-Uploads. Viele Attacken nutzen diese Schw�chen.
- Would you like to disable anonymous download? [N]
Damit werden Verbindungen mittels
anonymous-Login verhindert.
Noch einige Tips und Tricks
Wie ich bereits sagte, hat BAST gro�en erzieherischen Wert.
Fragen und Kommentare sind bedeutsam.
Wenn Dinge nicht ganz klar sind, gibt es viele Ressourcen, um die richtige
Antwort zu finden. Der beste Weg, um zu einem bestimmten Thema etwas zu
erfahren, ist die Benutzung des entsprechenden Moduls.
Erstellen Sie eine Sicherungskopie der Datei mit den Fragen. Editieren Sie die Questions.txt-Datei.
Jedes Modul beginnt mit dem FILE-Schl�sselwort ... behalten Sie nur, was Sie ben�tigen.
/root/Bastille >> cp Questions.txt
Questions.txt-orig
/root/Bastille >> emacs Questions.txt
BackEnd.pl &
/root/Bastille >> ./InteractiveBastille
Nat�rlich sind die Ma�nahmen von BAST nicht genug, um Ihr System zu sichern:
- Kein System ist zu 100 % sicher;
- zus�tzliche Ma�nahmen sind erforderlich, um die "Arbeit" von BAST zu komplettieren.
Dazu geh�ren Logdatei-Analysatoren, Port-Scan-Entdeckung (portsentry, snort, snplog, etc ...), die Benutzung des www.openwall.com Kernel-Patches.
Es ist ein langer und schwieriger Weg ein System zu sichern. Sie m�ssen sich st�ndig �ber Sicherheitsl�cken informieren (z. B. durch Mailing-Listen wie "bugtraq" von der securityfocus-Webseite).
Zusammenfassung
BAST hilft beim Sichern einer sehr bekannten Distribution. Sie k�nnten fragen: "Warum soll ich diese benutzen?"
Sicherlich ... aber RedHat (Mandrake - sie sind sehr �hnlich) hat einige sch�ne M�glichkeiten. Ziel dieses Artikels ist es nicht, eine Distribution zu f�rdern (oder zu verdammen). Die Freihiet der Wahl ist eine der st�rken freier Software. Dieser Artikel hat verschiedene Ziele. Zuerst soll er Ihnen die st�ndigen Sorgen eines Systemadministrators zeigen, der in der Furcht lebt, das sein Netzwerk von b�swilligen Leuten zerst�rt wird.
Andererseits k�nnen Sie mit diesem Werkzeug tief in die Konfiguration eines Linux-Systems blicken.
In dieser Hinsicht ist es ein guter Weg, nicht nur f�r Anf�nger, sondern auch
f�r erfahrene Benutzer, die
"Mysterien" einer Linux-Konfiguration zu entdecken.
Die zwei grundlegenden und allgemeinen Konzepte sind Minimalismus und Tiefe.
Weniger aktive Dienste bedeuten weniger Sicherheitsl�cken. F�r jeden Dienst
sind mehrere Schutzebenen besser als eine ... aber dies ist ein zweischneidiges
Schwert, weil ein schlecht konfigurierter Schutz (oder die Kombination mehrerer)
sich gegen Sie wenden kann.
Zum Schlu�: die n�chste Version soll BUS (Bastille Unix
Security) hei�en. Es wird eine Kombination aus BAST und Msec (Mandrake
Security Project). Letzteres wird umbenannt in Usec (Unix Security Project).
Referenzen
-
http://bastille-linux.sourceforge.net
: offizielle Seite f�r Bastille-Linux e
-
Bastille-Linux: A Walkthrough : on www.SecurityFocus.com site,
von Jay Beale, Hauptentwickler von Bastille-Linux,
pr�sentiert die Software und die Installation. Dieser Artikel half mir sehr beim Schreiben des Artikels, den Sie jetzt lesen ;-)
-
http://www.sans.org : die Webadresse der
SANS-Gruppe, (Jay Beale arbeitet mit ihnen zusammen).
Eine wahre Informationsquelle �ber Computer-Sicherheit.
-
http://www.securityfocus.com/frames/?content=/vdb/stats.html:
noch bei SecurityFocus, eine interessante Studie �ber Betriebssysteme und ihre Fehler..
Erste Pl�tze f�r eine wohlbekannte "OS"-Familie, dann kommt Linux.
.
-
www.kitetoa.com : ein System, das Webserver testet ... und interessante Sachen findet.
. Zugleich spa�ig und pathetisch - nur in franz�sisch
-
http://www.ssh.com : secured
shell. ssh offizielle Seite; frei benutzbar zur Evaluierung oder nicht kommerzielle Nutzung oder f�r Universit�ten
-
http://www.openssh.org : das gleiche wie ssh ...
aber unter BSD-Lizenz :)
Last modified: Mon Jun 12 16:40:50 CEST 2000