Sichern von Scientific Linux 6.0 (HomeServer Teil 2)

Die ist Teil 2 der HomeServer Reihe. Natürlich kann das auch alles bei einem normalen Scientific Linux 6, CentOS 6 oder RedHat Enterprise Linux 6 Installation angewendet werden um es zu sichern.

Unnötige Dienste abschalten

Die ist Teil 2 der HomeServer Reihe. Natürlich kann das auch alles bei einem normalen Scientific Linux 6, CentOS 6 oder RedHat Enterprise Linux 6 Installation angewendet werden um es zu sichern.

Unnötige Dienste abschalten

Folgende Dienste brauchen wir nicht und können Abgeschaltet werden:

chkconfig bluetooth off

Durch die Minimalinstallation ist die Liste der aktivierten Dienste angenehm überschaubar.

Anpassen der IPv4 Settings

Um die IPv4 Einstellungen anzupassen fügen wir in die Datei /etc/sysctl.conf folgende Zeilen ein:

net.ipv4.icmp_ignore_bogus_error_messages=1
kernel.exec-shield=1
kernel.randomize_va_space=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.all.accept_source_route=0
net.ipv4.icmp_echo_ignore_broadcasts=1

Abschalten des Reboot bei  STRG + ALT + ENTF

Wer kennt es nicht von Windows, “Drücken Sie STRG + ALT + ENTF zum Anmelden”, das löst unter Linux normalerweise einen Neustart aus, und ist sehr unerwünscht. Damit der Server auch Sicher in der Nähe von Windows Administratoren ist, wird in der Datei /etc/init/control-alt-delete.conf vor der Zeile “exec /sbin/shutdown -r now “Control-Alt-Delete pressed”” ein # einfügen.

Anpassen der FSTAB

Nun werden die Parameter in der Datei /etc/fstab noch angepasst, das sie so aussieht (WICHTIG: nur die Parameter “defaults” modifizieren, auf keinen Fall etwas mit “/” ändern oder die Zahlen. Zeilen in denen nichts geändert werden muss, lasse ich hier weg!!!)

UUID=94363183-fcdc-4297-838c-ff7545cecb5c /boot                   ext4    defaults,nosuid,noexec,nodev        1 2
/dev/mapper/vg_hort-lv_home /home                   ext4    defaults,nosuid,nodev        1 2
/dev/mapper/vg_hort-lv_shares /shares                 ext4    defaults,nosuid,nodev        1 2
/dev/mapper/vg_hort-lv_var /var                    ext4    defaults,nosuid,nodev        1 2
/dev/mapper/vg_hort-lv_log /var/log                ext4    defaults,nosuid,nodev,noexec        1 2

Password Authentification Managment (PAM)

Damit nicht jeder der auf das System Zugriff hat, wird der Zugriff auf den  SuperUser root begrenzt auf Mitglieder der Guppe “wheel”. Dazu wird in der Datei /etc/pam.d/su das “#” aus der Zeile

#auth           required        pam_wheel.so use_uid

entfernt. Wer nicht möchte das die Administratoren das root Kennwort benötigen kann auch das “#” aus der Zeile

#auth           sufficient      pam_wheel.so trust use_uid

entfernen.

Automatisches Abmelden nach 15 Minuten Inaktivität (Auto-Logout)

Hierzu wird eine neue Datei ”/etc/profile.d/autologout.sh” angelegt. In diese Datei wird die Zeile: “readonly TMOUT=900″  eingefügt. Anschließend wird die Datei noch mit dem Befehl: “chmod +x /etc/profile.d/autologout.sh” ausführbar gemacht. Wer den Linuxnutzern die Möglichkeit geben möchte das aufzuheben, der kann das “readonly” weglassen. Dann kann mit “unset TMOUT” das Autologout abgeschaltet werden.

Anlegen des persönlichen Adminusers

Bevor wir den SSH Dienst richtig absichern können, wird erst einmal ein persönlicher Benutzer für die Administratoren benötigt. Der wird angelegt mit dem Befehl useradd, die Syntax ist einfach:

useradd -c “KOMMENTAR” -G wheel -m USERNAME

Bei Kommentar können auch Leerzeichen, Klein- und Großbuchstaben und auch Zahlen verwendet werden. Der Username darf nur aus Kleinbuchstaben und Zahlen bestehen.

Für diesen Benutzer muss noch ein Kennwort mit “passwd USERNAME” erstellt werden.

Anschließen legen wir für den User einen SSH Key an:

ssh-keygen -b 4096 -f FILENAME

Wer Windows benutzen möchte, der kann sich meine älteren Artikel  SSH ohne Kennwörter mit Zertifikaten, eine SSH SingleSignOn Lösung anschauen.

>>>!!! Dieser Schritt sollte nicht übersprungen werden, sonst kann sich nach der nächsten Änderung nicht mehr über SSH anmeldet werden !!!<<<

Anpassungen des SSHD

In der Datei /etc/ssh/sshd_config müssen ein paar Zeilen angepasst werden:

Alter Zeileninhalt Neuer Zeileninhalt
#PermitRootLogin yes PermitRootLogin no
PasswordAuthentication yes PasswordAuthentication no
#MaxAuthTries 6 MaxAuthTries 3

Abschalten von USB-Sticks

Wer gerne verhindern möchte das USB-Sticks genutzt werden können, der kann eine neue Datei /etc/modprobe.d/blacklist-usbstorage mit dem Inhalt: “blacklist usb-storage” erstellen.

RKHunter – Der Rootkit Jäger

Das Prgram rkhunter untersucht das System nach bekannten Rootkits und wird im EPEL Repository angeboten. Zum installieren einfach “yum install rkhunter” eingeben. Danach einfach mal mit “rkhunter –update  –propupd  –check” einmal durchlaufen lassen. Finden solle er nichts , aber man kann sehen wir er arbeitet und wie viele Rootkits es für Linux mittlerweile gibt. Allerdings wird er ein paar Warnungen ausgeben, z.B.

  • Checking for passwd file changes
  • Checking for group file changes

Dies ist beim ersten Scan normal.

  • Checking if SSH protocol v1 is allowed
  • Checking if SSH root access is allowed

Nach der SSH Konfig ist das nicht richtig. Auch ist ein Root Login nicht möglich, die Meldung kommt, weil RKHunter hier noch alte Parameter im Test verwendet (Siehe /var/log/rkhunter/rkhunter.log).

In der Konfiguration /etc/rkhunter.conf sollten nun noch ein paar Anpassungen gemacht werden:

ALLOW_SSH_ROOT_USER=no
ALLOW_SSH_PROT_V1=0

RKHunter trägt sich automatisch unter /etc/cron.daily/rkhunter ein, und wird so täglich schauen, ob was alles in Ordnung ist.

Logwatch

Logwatch verschickt einmal am Tag eine Zusammenfassung der Logfiles. So hat mal alles wichtige auf einem Blick. Die istallation ist sehr einfach:

yum install logwatch

Grafische Oberfläche oder nicht

Wer sich nicht an dem Bildschirm am Server einloggt, sondern SSH benutzt oder keinen Grafischen Desktop benötigt, der sollte ihn abschalten. Dazu muss in der Datei /etc/initab die Zeile: “id:5:initdefault:” in “id:3:initdefault:” geändert werden.

Die Sicherheit der Physik

Neben den üblichen Hinweisen zu sicheren Serverräumen (Die hier wohl etwas übertrieben wären) gibt es noch etwas anderes, was oft Vergessen wird. Nach der Installation im BIOS des Computers einstellen das nur von Festplatte gebootet wird, und das BIOS mit einem Kennwort sichern. Bitte auch keine Post-IT mit Kennwörtern auf die Server kleben!

Abschließende Worte

Natürlich sollte man noch viele weitere Dinge beachten, aber ich denke die würden hier den Rahmen sprengen. Ich empfehle auf jeden Fall die Lektüre der weiteren Quellen. Auch sollte man schauen wie man die Anwendungen auf dem System möglichst sicher bekommt. Auch denkbar wäre bei einem Webserver zum Beispiel  /var/www im nur lesenden Zugriff zu mounten. Ihr seht, es gibt noch viele Möglichkeiten.

 

Im Nächsten Teil kümmern wir uns dann um die Überwachung der Festplatten, des RAID und der Weiterleitung aller wichtigen Meldungen an den Administrator per E-Mail.

Updates

  • Logwatch eingefügt.
Please wait...

Autor: Fabian Niesen

Fabian Niesen ist seit Jahren beruflich als IT-Consultant unterwegs und arbeitet bei der steep GmbH in Bonn. Unter anderem ist er Zertifiziert als MCSA Windows Server 2008 / 2012, MCSA Office 365, MCSE Messaging, MCT und Novell Certified Linux Administrator. Seine Hobby’s sind Social Media, Bloggen, Mittelaltermärkte und Historische Lieder.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.