SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

TELEKOM

System härten

Das Härten eines Systems beginnt schon mit der Betriebssystem-Neuinstallation. Stellen Sie den Rechner in ein isoliertes Netzwerk. Zu keiner Zeit sollte man das ungeschützte System an ein aktives Netz oder gar das Internet anbinden und es so einer möglichen Kompromittierung aussetzen. Der erste Schritt ist die Auswahl der Installationspakete. Es wird nur das Minimum installiert, das man braucht um maximale Effizienz zu behalten. Je weniger Software installiert wird, desto weniger potentielle Sicherheitlücken entstehen. Unabhängig von der Installationsvariante sollte man die man-pages und die HOWTOs mitinstallieren. Während der Installation wird man aufgefordert, sein System zu partitionieren. Man braucht zumindest eine root-Partition und eine separate Partition für /var, wohin die Systemlogs und Mails geschrieben werden. Indem man /var isoliert, verhindert man, das die root-Partition vollgeschrieben wird. Eventuell sprendoert man für dieDatenbereiche des Web- oder FTP-Servers eine weitere Partition.Wenn auf dem System nicht vertrauenswürdige Benutzer existieren, sollte man evtl. eine extra /home-Partition anlegen, damit diese Nutzer nicht die root-Partition vollschreiben können. Dazu kommt dann noch die swap-Partition. Normalerweise nimmt man hier die doppelte RAM-Kapazität.
Nachdem das System nach der Installation neu gestartet hat, sollte man unbedingt die empfohlenen Sicherheitspatches einspielen. Diese Patches sind extrem wichtig, um ein System zu härten und sollten immer auf dem aktuellen Stand gehalten werden. Ohne diese Updates ist das System leicht zu kompromittieren.

Dienste eliminieren

Nach der Installation aller Pakete und Patches und dem Neustart des Systems sind wir jetzt bereit das Betriebssystem zu härten. Härten besteht im wesentlichen darin, Dienste abzuschalten, Logging hinzuzufügen, verschiedene Dateien zu bearbeiten und TCP-Wrapper zu implementieren.

Linux ist ein mächtiges Betriebssystem, das viele nützliche Dienste anbietet. Die meisten davon werden aber nicht gebraucht und stellen ein potentielles Risiko. Der erste Ansatzpunkt ist die Datei /etc/inetd.conf. Diese Datei legt fest, auf welche Dienste der Daemon lauscht. Im Ursprungszustand ist der inetd für eine Vielzahl von Diensten konfiguriert. Es werden alle Zeilen auskommentiert, die nicht benötigte Dienste enthalten ("#" an den Zeilenanfang setzen). Zur Sicherheit können Sie sich alle noch aktiven Dienste mittels grep -v "^#" /etc/inetd.conf anzeigen lassen. Danach muß der inetd ein HUP-Signal bekommen. Da aber nach allen Arbeiten der Rechner sowieso nochmals gebootet wird, kann man sich das an dieser Stelle sparen.

Der nächste Ansatzpunkt sind die Start-Skripte. Diese Skripte bestimmen, welche Dienste durch den init-Prozess gestartet werden. Man findet sie je nach Distribution in /etc/init.d, /sbin/init.d oder /etc/rc.d. Hier werden alle nicht benötigten Start/Stop-Skripte durch Anhängen von ".inaktiv" umbenannt. Kritisch sind hier unter anderem:

                                       telnetd    (Telnet abschalten, Logins nur per ssh erlauben)
                                       portmap    (wird von rpc-Diensten wie NIS oder NFS benötigt)
                                       netfs      (Der NFS-Client)
                                       rstatd     (Man sollte versuchen, auf alle "r"-Dienste zu verzichten)
                                       rusersd
                                       rwhod
                                       rwalld
                                       bootparamd (Für diskless clients, abschalten)
                                       yppasswdd  (Nur bei NIS-Servern, ein extrem verwundbarer Dienst)
                                       ypserv
                                       atd        (Wird vom "at"-Dienst benutzt)
                                       snmpd      (SNMP daemon, kann detaillierte Informationen über 
                                       	    das System geben)
                                       named      (DNS server)
                                       routed     (RIP: abschalten!)
                                       lpd        (Druckdienste)
                                       nfs        (Benötigt für den NFS Server, sonst abschalten)
                                       amd        (AutoMount daemon)
                                       gated      (für andere Routingprotokolle wie OSPF)
                                       sendmail   (man kann dann immer noch E-Mails senden, nur keine empfangen 
                                                   oder weiterleiten)
                                       ypbind     (nötig, wenn man ein NIS-Client ist)
                                       xfs        (X font Server)
                                       innd       (News Server)
                                       linuxconf  (Fernkonfiguration per Browser. Der Traum jedes "bösen Buben")
                                       

Nach der Anpassung der Skripte (und einem Reboot), kann man sich mit dem Kommando ps -aux ansehen, wwelche Prozesse noch laufen. Außerdem sollte man feststellen, welche Dienste noch laufen: netstat -na --ip

Logging und Tuning

Alle Systemlogs liegen in /var/log. Standardmäßig hat Linux eine hervorragende Logfunktion, außer für ftp. Man hat zwei Möglichkeiten, ftp mitzuloggen: entweder man editiert die Datei /etc/ftpaccess oder die Datei /etc/inetd.conf. Letzteres ist einfacher. Ändern Sie die Date wie folgt:
                                       ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -L -i -o 
                                       
Die -l Option sorgt dafür, daß jede ftp-Sitzung im syslog protokolliert wird. Wird das -L flag gesetzt, werden bei Aufruf des ftp-Servers alle USER-Befehle mitprotokolliert. Die -i Option bewirkt, daß alle Dateien, die der FTP-Server empfängt, in der Datei xferlog mitprotokolliert werden und durch die Option -o werden alle Dateien, die der Server gesendet hat, in der Datei xferlog mitprotokolliert.

Der nächste Schritt besteht darin, die meisten Systemaccounts aus der Datei /etc/passwd zu entfernen. Linux stellt diese Accounts für verschiedene Systemdienste zur Verfügung, die eventuell nicht gebraucht werden. Je mehr Benutzer es gibt, um so einfacher ist es, Zugriff auf ein System zu bekommen. Ein Beispiel ist der User "news". Wenn kein Newsserver läuft, ist dieser Benutzer überflüssig

Jetzt wird die Datei /etc/ftpusers angepaßt. Jeder Benutzer, der in dieser Datei aufgeführt wird, darf sich nicht per FTP anmelden. Diese Anpassung verbietet es gängigen Systemaccounts wie root oder bin FTP-Sitzungen aufzubauen. Bei Linux existiert diese Datei standardmäßig. Stellen sie sicher, das root auf jeden Fall enthalten ist.

Die Datei /etc/securetty listet auf, mit welchen ttys sich root verbinden darf. Lassen sie nur die Konsol-ttys (tty1, tty2 usw.) in dieser Datei um Root-Logins auf lokale Terminals zu beschränken.

Kontollieren Sie alle cron-Aufträge (/etc/crontab, /etc/cron.d, die Crontab von root usw.), ob da nur das enthalten ist, was Sie wirklich wollen.

Verbindungen zum Server

Es ist wichtig, zur Administration oder den Upload von Dateien eine sichere Verbindung zum Server zu haben. Dafür bieten sich zwei Möglichkeiten, ssh und der TCP-Wrapper. ssh verschlüsselt jede Kommunikation zwischen Administrator und Server. Ein TCP-Wrapper wehrt zwar unerwünschte Verbindungen ab, schützt den Netzverkehr nicht gegen das Abhören. Hacker können immer noch jeden Tastendruck im Netz mitlesen. Ersetzen Sie telnet und ftp durch ssh und scp. ssh ähnelt TCP-Wrappern insofern, als es seine eigenen Protokollorierung besitzt und einschränken kann, welche Systeme sich mit dem Server verbinden können. Mehr Informationen über ssh sowie das Programm selber findet man unter (http://www.openssh.com).

Wenn man sich ohne Vorbereitung versucht anzumelden wird man wie gewohnt nach einem Passwort gefragt. Vorher wird noch sichergestellt, ob man sich mit dem Rechner überhaupt verbinden will:

                                       $ ssh tralala
                                       The authenticity of host 'tralala (192.168.1.32)' can't be established.
                                       RSA key fingerprint is 69:fd:32:d8:cf:d6:f3:8c:37:41:97:3f:54:25:90:0b.
                                       Are you sure you want to continue connecting (yes/no)? yes
                                       Warning: Permanently added 'tralala,192.168.1.32' (RSA) to the list of known hosts.
                                       plate@tralala's password: geheim
                                       ... 
                                       

Ein TCP-Wrapper kann zwar nicht verschlüsseln, ist aber in der Lage zu protokollieren und zu kontrollieren wer Zugriff auf den Server hat. Es handelt sich hier um ein Programm, das sich zwischen den inetd und die Dienste wie telnet und ftp schaltet. Anhand der Dateien /etc/hosts.allow und /etc/hosts.deny wird die Zugriffsberechtigung überprüft. Wenn der Zugriff berechtigt erfolgt, übergibt der Wrapper die Verbindung an das entsprechende Programm. Ansonsten wird die Verbindung gekappt. Die Konfiguration wurde bereits in Kapitel 11 besprochen. Deshalb hier nur noch zwei Empfehlungen für den Einsatz von TCP-Wrappern:

  1. IP-Adressen statt System- oder Domänennamen verwenden
  2. In der Datei /etc/hosts.deny jeden Zugriff verbieten und dann selektiv in der Datei /etc/hosts.allow wieder freigeben.

Weitere Maßnahmen

Die oben beschriebenen Maßnahmen sind absolut notwendig. Die folgenden Aktionen verbessern die Sicherheit weiter.
  • Erstellen Sie eine administrative Gruppe (wheel oder staff). Diese Gruppe besteht aus ausgewählten Personen, die administrative Kommandos wie z.B. /usr/bin/su ausführen können. Durch Beschränkung der Personengruppe steigert man die Systemsicherheit. Bei allen kritischen Systemprogrammen ändern Sie die Gruppe auf wheel und beschränken Sie die Execute-Berechtigungen auf Eigentümer und Gruppe (Achtung: das SUID- oder GUID-Bit muß unverändert bleiben), z. B. mit chmod o-x programmname.
  • Dann werden die Dateien .rhosts, .netrc und /etc/hosts.equiv gesperrt, indem alle Rechte entfernt werden (chmod 0 Dateiname). Die r-Befehle nutzen diese Dateien um auf Systeme zuzugreifen. Sind die Dateinen nicht vorhanden, legt man sie per touch-Befehl an.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere