Beruflich Dokumente
Kultur Dokumente
5
Teil 7/2 Seite 2 Linux und Sicherheit
... und unter Linux Linux eignet sich aus vielerlei Gründen für den professio-
im Besonderen nellen Einsatz. Aus sicherheitstechnischen Überlegungen he-
raus sprechen insbesondere die Verfügbarkeit des Quellcodes
und das Engagement der Linux-Gemeinde für das freie Be-
triebssystem. Im Unterschied zu Windows, dessen Interna in
einer Hand liegen, kann sich jeder Interessierte beliebig tief
in die Betriebssystemkomponenten vorwagen – entsprechen-
des Know-how vorausgesetzt. Mögliche Sicherheitsrisiken
werden vergleichsweise schnell publik. Mit der Veröffentli-
chung geeigneter Patches, Updates & Co. ist die Linux-
Gemeinde ebenfalls schnell bei der Sache.
5
Teil 7/2 Seite 4 Linux und Sicherheit
Linux und Sicherheit Teil 7/2.1 Seite 1
Installation
7/2.1 Installation
Von dieser Einstellung sollte man sich als Administrator ei- Weniger ist mehr
nes Linux-Servers verabschieden. Unter Linux sollte man
sich an dem Leitsatz „Weniger ist manchmal mehr“ orientie-
ren. Schon vor der Systeminstallation sollte man sich Gedan-
ken darüber machen, welche Applikationen und Dienste tat-
sächlich gebraucht werden. Statt die Festplatten mit allem
Möglichen zuzumüllen, sollte man eine Minimalinstallation
vor Augen haben, die exakt den gestellten Anforderungen ge-
nügt. Bei einer solchen Grundinstallation ist die Installation
mehrerer Servern wie z. B. Web-, FTP- und Mail-Server
nicht erforderlich. Vielmehr sollte man die Dienste nach Be-
darf installieren und konfigurieren.
Dabei sollte man großzügigen Gebrauch von den vom Be- Installations-
triebssystem angebotenen Installationsvarianten machen. Red varianten
Hat stellt Ihnen z.B. fünf Installationsvarianten zur Auswahl:
Variante Beschreibung
Workstation Die Workstation-Installation ist für Neulinge geeignet.
Server Soll das System als Linux-basierter Server verwendet wer-
den, ist eine Server-Installation für Sie die geeignetste Ins-
tallationsklasse.
Laptop Die Laptop-Installation wurde entwickelt, um das Installieren
auf einem Laptop zu erleichtern.
Upgrade Soll eine bestehende Installation auf den neuesten Stand ge-
bracht werden, empfiehlt sich diese Variante.
5
Teil 7/2.1 Seite 2 Linux und Sicherheit
Installation
Variante Beschreibung
Benutzerdefiniert Die benutzerdefinierte Installation bietet die größtmögliche
Flexibilität während der Installation. Sie können u. a. wählen,
welches Partitionierungsschema Sie verwenden und welche
Pakete Sie installieren möchten. Die benutzerdefinierte In-
stallation ist besonders für Anwender geeignet, die bereits mit
Linux-Installationen vertraut sind.
Die benutzerdefi- Der erfahrene Linux-Anwender sollte auf jeden Fall die be-
nierte Installations- nutzerdefinierte Variante bevorzugen. Insbesondere die Work-
variante verspricht station- und die Server-Variante installieren meist mehr Ap-
mehr Sicherheit plikationen, als für den tatsächlichen Betrieb benötigt wer-
den. Zudem lassen diese Varianten dem Anwender kaum Ent-
scheidungsfreiraum bei der Auswahl der zu installierenden
Pakete. Das Schöne bei all diesen Varianten: der Installati-
onsassistent von Red Hat greift dem Anwender bei der Ein-
richtung unter die Arme. Das gilt auch für andere Linux-
Distributionen.
Installation
5
Teil 7/2.1 Seite 4 Linux und Sicherheit
Installation
Partitionseinteilung Die Liste der Vorzüge lässt sich sicherlich noch um den einen
oder anderen Punkt erweitern. Wichtig ist nur, sich abhängig
vom jeweiligen Verwendungszweck des Linux-Systems Ge-
danken über eine mögliche Partitionsaufteilung zu machen.
Gerade bei Server-Systemen, die womöglich auch noch über
eine dauerhafte Internet-Verbindung verfügen sollen, sollte
man besondere Sorgfalt beim Erzeugen von Partitionen wal-
ten lassen.
Installation
Allen Linux-Distributionen ist seit jeher gemein, dass sie mit Vorsicht bei
Unmengen an Programmen, Tools etc. ausgeliefert werden. der Paketauswahl
Im Server-Betrieb wird vieles nicht benötigt. Manche Pro-
gramme stellen sogar Sicherheitsrisiken dar. Beim Server-
Betrieb empfiehlt es sich z. B., auf eine grafische Schnitt-
stelle wie X-Window zu verzichten.
Bei einer minimalen Grundinstallation kann man getrost auf Das Ziel: minimale
all den grafischen Schnickschnack wie Oberflächen, Spiele, Grundinstallation
Bildbearbeitung und irgendwelche multimedialen Dinge ver-
zichten. Stattdessen sollte man z. B. bei einer Red Hat-In-
stallation folgende Pakete auswählen:
• Networked Workstation
• Network Management Workstation
• Utilities
5
Teil 7/2.1 Seite 6 Linux und Sicherheit
Installation
Authentifikation
7/2.2 Authentifikation
5
Teil 7/2.2 Seite 2 Linux und Sicherheit
Authentifikation
• Autokennzeichen
• Fremdwörter oder Wörter aus anderen Sprachen
• reine Zahlenkombinationen
• Tastaturmuster wie asdf oder yxcvb
• Umkehrungen der oben aufgeführten Varianten
Wie bei anderen System, gilt auch hier: Ein System ist immer
nur so sicher wie sein schwächstes Passwort. Aus diesem
Grund sollte man als Administrator mit größter Aufmerk-
samkeit darauf achten, dass man den Usern möglichst „siche-
re“ Passwörter zuteilt.
Passwort-Checker
Haben auch eine Mit Hilfe von Passwort-Checkern kann man prüfen, ob die
gute Seite: gewählten Passwörter den Mindestanforderungen genügen.
Passwort-Checker Sie können neben unterschiedlichen Passwortlängen auch die
Abwechslung von Groß- und Kleinschreibung sowie die Ver-
wendung von Sonderzeichen berücksichtigen. Auch der Ver-
gleich mit Wortlisten ist in der Regel möglich. Das wohl be-
kannteste Programm dieser Art ist Cracklib. Daneben gibt es
eine Vielzahl weiterer Tools. Eine Auswahl finden Sie in der
nachstehenden Tabelle. Alle hier aufgeführten Tools stehen
über die Support-Seiten (www.interest.de/linux/) zum Down-
load bereit.
Passwort-Checker Kurzinfo
Cracklib Cracklib erlaubt unterschiedlichste Tests, z. B. die Über-
prüfung des Passwortes auf benutzerspezifische Infor-
mationen und auf leicht zu erratende Zahlen- oder Buch-
stabenmuster sowie den Vergleich mit Wortlisten.
passwd+ Dieser Checker bietet umfangreiche Protokollfunktionen,
(z. B. für fehlgeschlagene Passwortänderungen) sowie
das Festlegen der Anzahl signifikanter Zeichen in einem
Passwort und von Fehlermeldungen.
anlpasswd Dieses Tool unterstützt folgende Regeln: Zahlen mit
Leerzeichen, Leerzeichen mit Zahlen, Groß- und Klein-
schreibung mit Leerzeichen, Zahlen, Großbuchstaben
und Zeichen sowie Kombinationen aller dieser Regeln.
Linux und Sicherheit Teil 7/2.2 Seite 3
Authentifikation
5
Teil 7/2.2 Seite 4 Linux und Sicherheit
Authentifikation
Option Beschreibung
MD5-Passwörter aktivieren Mit dieser Einstellung können lange Passwörter (bis
zu 256 Zeichen) statt der standardmäßigen Pass-
wörter mit maximal 8 Zeichen verwendet werden.
Shadow-Passwort Diese Option stellt eine sichere Methode für das
aktivieren Speichern von Passwörtern zur Verfügung. Die
Passwörter werden im Verzeichnis /etc/shadow ge-
speichert, auf die man nur als Root zugreifen kann.
NIS aktivieren Eine Gruppe von Rechnern lässt sich mit einer ge-
meinsamen Passwort- und Gruppendatei in dersel-
ben Network Information Service-Domain betreiben.
NIS-Domäne Hier gibt man an, zu welcher Domäne oder Gruppe
von Computern das System gehören soll.
Broadcast zur Suche nach Erlaubt das Versenden einer Meldung an das LAN,
NIS-Server verwenden um einen verfügbaren Server zu finden.
Linux und Sicherheit Teil 7/2.2 Seite 5
Authentifikation
Option Beschreibung
NIS-Server Erlaubt den Zugriff auf einen NIS-Server, statt eine Broad-
cast-Anforderung an das lokale Netzwerk auszugeben,
um nach verfügbaren Servern für das System zu fragen.
LDAP aktivieren Weist den Rechner an, LDAP für einen Teil oder die ge-
samte Authentifizierung zu verwenden.
LDAP-Server Durch die Angabe einer IP-Adresse kann man auf einen
Server zugreifen, der das LDAP-Protokoll ausführt.
LDAP-Basis-DN Erlaubt die Suche anhand des eindeutigen Namens
(Distinguished Name, ND) nach Benutzerinformationen.
TLS (Transport Layer Mit dieser Option kann LDAP verschlüsselte Benutzerna-
Security) Lookups men und Passwörter an einen LDAP-Server senden, be-
vor die Authentifizierung ausgeführt wird.
Kerberos aktivieren Kerberos ist ein sicheres System, das Authentifizierungs-
dienste für Netzwerke zur Verfügung stellt.
Bereich Erlaubt den Zugriff auf ein Netzwerk, das Kerberos ver-
wendet und aus einem oder einigen Servern (die auch als
KDC bezeichnet werden) sowie einer potenziell sehr gro-
ßen Zahl von Clients besteht.
KDC Erlaubt den Zugriff auf das Key Distribution Center (KDC).
Dies ist das Gerät, das Kerberos-Tickets ausgibt.
Admin-Server Mit dieser Option kann man auf einen Server zugreifen,
der kadmind ausführt.
Einem Linux-User steht in der Regel eine Vielzahl von An- Anwendungen und
wendungen zur Verfügung. Ein Arbeiten mit diesen Pro- Authentifizierungs-
grammen ist allerdings erst möglich, wenn die Programme mechanismen
dem Benutzer Zugriffsrechte einräumen. Benutzer müssen
sich also authentifizieren können. In der Regel erfolgt die
Anmeldung durch Angabe des Namens und eines Passworts.
Der Anmeldeprozess verwendet diese, um die Anmeldung zu
authentifizieren.
5
Teil 7/2.2 Seite 6 Linux und Sicherheit
Authentifikation
Authentifikation
PAM bringt Ihnen als Systemadministrator eine ganze Reihe Vorzüge von PAM
von Vorteilen:
Modul Beschreibung
auth Nimmt die eigentliche Authentifizierung vor.
Ist z. B. für die Abfrage und Überprüfung
des Passworts zuständig.
account Prüft, ob die Authentifizierung erlaubt ist.
password Dient dem Setzen von Passwörtern.
session Stellt sicher, dass ein Benutzer nach seiner
Authentifizierung seinen Account benutzen
kann.
5
Teil 7/2.2 Seite 8 Linux und Sicherheit
Authentifikation
Authentifikation
Wenn Sie mehr über PAM und seinen Praxiseinsatz wissen Linux-PAM System
wollen, besuchen Sie The Linux-PAM System Administrators’ Administrators’
Guide unter www.kernel.org/pub/linux/libs/pam/Linux-PAM- Guide
html/pam.html.
5
Teil 7/2.2 Seite 10 Linux und Sicherheit
Authentifikation
Linux und Sicherheit Teil 7/2.3.1 Seite 1
PAM ist gerade aufgrund seiner vielen Schalter, Optionen etc. Eine der Stärken
äußerst flexibel. Die lokale Konfiguration ist dabei entweder von PAM: die
in der Konfigurationsdatei /etc/pam.cf oder im Konfigura- Flexibilität
tionsverzeichnis /etc/pam.d/ abgelegt. Im Folgenden werden
Syntax und Optionen der Konfigurationsdateien und Ver-
zeichnisse beschrieben.
Bevor wir uns Feinheiten zuwenden, etwas Wichtiges vor- Groß- und
weg: Bei den in der Konfigurationsdatei verwendeten Zei- Kleinschreibung
chen ist es gleichgültig, ob es sich um Groß- oder Klein-
schreibung – oder einen Mix – handelt. PAM macht hier keine
Unterschiede. Aber Vorsicht: Bei der Pfadangabe der Module
unterscheidet PAM sehr wohl zwischen Groß- und Klein-
schreibung, da es sich hierbei um betriebssystemspezifische
Informationen handelt.
6
Teil 7/2.3.1 Seite 2 Linux und Sicherheit
Allgemeine Syntax Die allgemeine Syntax für die Konfiguration von /etc/
pam.conf besitzt folgende Form:
service-name Mit service-name definiert man die Bezeichnung, die mit ei-
nem Eintrag verknüpft ist. Dabei handelt es sich meist um
Namen von Applikationen, die für das Zusammenspiel mit
PAM vorbereitet werden, z. B. ftpd, rlogind, su etc.
module-type Mit module-type bestimmt man einen von bislang vier ver-
fügbaren Modultypen. Die vier Modultypen tragen die Be-
zeichnungen auth, account, session und password. Die Ein-
zelheiten zu den verschiedenen Typen:
Modultyp Beschreibung
auth Dieses Modul deckt zwei Aspekte der User-Authentifikation ab. Zum
einen stellt es über die Abfrage von Kennung und Passwort fest, wer
der User ist, zum anderen kann es Gruppenzugehörigkeiten und an-
dere Privilegien feststellen.
account Dieses Modul ist für die Zugriffe zuständig, die unabhängig vom Ac-
count-Management gewährt werden. Dabei kann es sich z. B. um
zeitlich begrenzte Zugriffe für alle User handeln.
Linux und Sicherheit Teil 7/2.3.1 Seite 3
Modultyp Beschreibung
session Dieses Modul ist für Aktionen zuständig, die nach bzw. vor dem
Zugriff auf bestimmte Dienste erfolgen. Beispiele hierfür sind die Ak-
tivierung von Log-Vorgängen bei bestimmten User-Aktivitäten wie
etwa dem Datenaustausch.
password Dieser Modultyp sorgt für die Aktualisierung von Authentifizierungs-
zeichen der User.
Das control-flag zeigt an, wie die PAM-Bibliothek auf die er- control-flag
folgreiche oder misslungene Ausführung damit verknüpfter
Module reagiert. Da Module stapelbar sind, bestimmt con-
trol-flag die relative Wichtigkeit der Module zueinander. Die
Anwendung, die es zu sichern gilt, bekommt keine Einzel-
heiten mit, sondern wird lediglich mit einer Erfolgs- bzw.
Fehlermeldung informiert.
Schlüsselwort Beschreibung
required Zeigt an, dass die erfolgreiche Ausführung des Moduls für
module-type erforderlich ist.
Requisite Schlägt die Ausführung eines Moduls fehl, wird die Steuerung
direkt an die Applikation übergeben.
Sufficient Die erfolgreiche Ausführung eines Moduls genügt der PAM-
Bibliothek.
Optional Module, die mit diesem Schlüsselwort gekennzeichnet sind,
sind nicht kritisch für die User-Authentifizierung.
6
Teil 7/2.3.1 Seite 4 Linux und Sicherheit
• success • open_err
• symbol_err • service_err
• system_err • buf_err
• perm_denied • auth_err
• cred_insufficient • authinfo_unavail
• user_unknown • maxtries
• new_authtok_reqd • acct_expired
• session_err • cred_unavail
• cred_expired • cred_err
• no_module_data • conv_err
• authtok_err • authtok_recover_err
• authtok_lock_busy • authtok_disable_aging
• try_again • ignore
• abort • authtok_expired
• module_unknown • bad_item
• default
Der letzte Wert (default) wird für die Aktionen definiert, die
nicht expliziert spezifiziert wurden.
Wert Beschreibung
ignore Kommt dieser Wert in Verbindung mit einem Modulstapel zum Einsatz,
wird der Return-Status nicht den an die Applikation zurückgegebenen
Code enthalten.
Bad Zeigt an, dass der ausgegebene Code als Fehlermeldung beurteilt wer-
den sollte.
Die Entspricht dem Wert bad. Einziger Unterschied: Der Modulstapel wird
aufgelöst.
ok Zeigt an, dass der Rückgabecode an den Rückgabecode des gesamten
Stapels gehängt wird.
done Entspricht weitgehend ok, allerdings wird der Stapel aufgelöst und direkt
zur Applikation zurückgekehrt.
reset Löscht den Status des Modulstapels.
6
Teil 7/2.3.1 Seite 6 Linux und Sicherheit
Verzeichnisbasierte Konfiguration
Noch mehr Flexibilität bietet die Konfiguration auf Basis ei- Mehr Komfort durch
nes Konfigurationsverzeichnisses. In diesem Fall wird die verzeichnisbasierte
Konfiguration über das Verzeichnis /etc/pam.d/ bestimmt. Konfiguration
Das Verzeichnis füllt man einfach mit maximal vier Dateina-
men (in Kleinschreibung), die mit dem oben eingeführten
Servicenamen identisch sind. Die Konfiguration wird also an
Stelle einer mächtigen Konfigurationsdatei auf vier einzelne
Dateien verteilt.
6
Teil 7/2.3.2 Seite 2 Linux und Sicherheit
Verzeichnisbasierte Konfiguration
Optionale Argumente
Argument Beschreibung
debug Verwendet den syslog-Aufruf, um Debugging-Informationen
in die System-Logdatei zu schreiben.
no_warn Unterdrückt die Ausgabe von Warnmeldungen.
use_first_pass Das Modul soll keine Abfrage des User-Passworts durch-
führen. Statt dessen soll es das zuletzt getippte Passwort
(des vorangehenden auth-Moduls) verwenden. Gelingt dies
nicht, kann der User nicht authentifiziert werden.
try_first_pass Das Modul soll die Authentifizierung mit dem zuletzt ge-
tippten Passwort versuchen. Gelingt das nicht, erfolgt die
Abfrage des User-Passworts per Prompt.
use_mapped_pass Das Modul verwendet Verschlüsselungstechniken für die
Authentifizierung.
Dieses Argument wird bislang leider nicht von allen PAM-
Distributionen unterstützt. Der Grund sind die restriktiven
US-Exportgesetze für Verschlüsselungstechnologien. Inner-
halb der USA kann es unbeschränkt implementiert werden.
expose_account Dieses Argument ist ein Standardargument, das einen we-
niger strengen Umgang mit Account-Informationen erlaubt.
6
Teil 7/2.3.3 Seite 2 Linux und Sicherheit
Optionale Argumente
Linux und Sicherheit Teil 7/2.3.4 Seite 1
Beispielkonfiguration
7/2.3.4 Beispielkonfiguration
Allerdings ist das Modul pam_deny nicht sehr leistungsfähig, … und Beispiele …
da es z. B. kein Logging seiner Aufrufe unterstützt. Ein User
müsste schon selbst bei der fehlgeschlagenen Ausführung
eine Nachricht an den Systemadministrator schicken. Diese
Einschränkung behebt man mit folgenden Zeilen:
Auf einem System, das die /etc/pam.d/-Konfiguration ver- … und noch mehr
wendet, kann die Standardeinstellung durch folgende Datei Beispiele
erreicht werden:
# Standardkonfiguration: /etc/pam.d/other
#
auth required /usr/lib/security/pam_warn.so
auth required /usr/lib/security/pam_deny.so
account required /usr/lib/security/pam_deny.so
password required /usr/lib/security/pam_warn.so
password required /usr/lib/security/pam_deny.so
session required /usr/lib/security/pam_deny.so
6
Teil 7/2.3.4 Seite 2 Linux und Sicherheit
Beispielkonfiguration
# Standardzugriff
#
OTHER auth required /usr/lib/security/pam_unix_auth.so
OTHER account required /usr/lib/security/pam_unix_acct.so
OTHER password required
/usr/lib/security/pam_unix_passwd.so
OTHER session required
/usr/lib/security/pam_unix_session.so
Sicherheit für ftpd Leider genügt obige Konfiguration nicht allen Applikationen
und ihrer Funktionalität. Soll z. B. ftpd auch anonymen Zu-
griff erlauben, sind einige Ergänzungen erforderlich:
PAM-spezifische Sicherheitsaspekte
Zum Abschluss dieses Kapitels wollen wir uns noch einigen Gefahrenquelle
PAM-spezifischen Sicherheitsfragen widmen. PAM hat zwei- unsaubere
fellos das Potenzial, um die Sicherheit einer Linux-Installa- Konfiguration
tion deutlich zu verbessern. Man kann auch zwischen den
beiden Extremen „keine Sicherheit“ und „fast absolute Sicher-
heit“ wählen – immer vorausgesetzt, der Administrator weiß
mit dem Sicherheitsmechanismus umzugehen. Allerdings ist
durch fehlerhafte oder versehentlich falsch vorgenommene
Einstellungen die vermeintliche Sicherheit schnell dahin.
cd /etc
mv pam.conf pam.conf.orig
mv pam.d pam.d.orig
mkdir pam.d
cd pam.d
6
Teil 7/2.3.5 Seite 2 Linux und Sicherheit
PAM-spezifische Sicherheitsaspekte
Weiterführende Informationsquellen
PAM-spezifische Sicherheitsaspekte
6
Teil 7/2.3.5 Seite 4 Linux und Sicherheit
PAM-spezifische Sicherheitsaspekte