Absicherung eines Debian Servers

Aus Wiki Freifunk-3Ländereck
Version vom 7. April 2015, 22:22 Uhr von BenLue (Diskussion | Beiträge) (Minimale Installation)
Wechseln zu: Navigation, Suche

Dieser Artikel beschreibt die Absicherung eines Debian Root Server

Minimale Installation

Installiere auf deinem Server stehts nur die notwendigen Paketen. Jeder Overhead an Software bedeutet auch mehr potentielle Angriffsfläche.

SSH Login absichern

Es empfiehlt sich dem Root Benutzer keinen direkten SSH Login zu erlauben. Sie können ausserdem eine Gruppe von Benutzern festlegen, die SSH nutzen dürfen. Die genauer Anleitung finden Sie unter SSH Root Login unter Debian verbieten Sicherer und komfortabler ist es ausserdem, den Login mit Passwort zu verbieten und dafür einen SSH Key zu verwenden. Die genaue Anleitung finden Sie unter SSH Key Login

SSH Port ändern

Die Mehrzahl der (automatisierten) Loginattacken auf SSH erfolgt auf den Standardport 22. Eine einfache und effektive Methode ist es, den SSH Port auf einen anderen zu ändern. Öffne dazu die Konfigurationsdatei von SSH

nano /etc/ssh/sshd_config

und ändere den SSH Port von

Port 22

auf einen anderen Port nach Deiner Wahl ab. Der SSH Dienst muss danach mit

/etc/init.d/ssh restart

neu gestartet werden.

Beachte bitte, dass du keinen festen Port eines anderen Dienstes benutzt. Eine Liste mit Ports und Diensten findest du unter

more /etc/services

Aktive SSH Verbindungen bleiben offen. Öffnen nun ein neues Terminalfenster und teste ob du SSH mit deinem angegebenen Port erreichst, bevor du das aktive Fenster schließt.

SSH Anmeldung mit Passwort verbieten

Öffne dazu die Konfigurationsdatei von SSH /etc/ssh/sshd_config und ändere es einfach in

PasswordAuthentication no

ab. Der SSH Diendst muss mittel

service ssh restart

neu gestartet werden damit er die Konfiguration übernimmt.

Benachrichtigung bei SSH Login

Mit folgendem Skript erhälst du eine E-Mail, sobald sich ein Benutzer per SSH einloggt.

Erstelle dazu ein ausführbares Shell Skript /opt/shell-login.sh mit folgendem Inhalt:

#!/bin/bash
echo "Login auf $(hostname) am $(date +%Y-%m-%d) um $(date +%H:%M)"
echo "Benutzer: $USER"
echo
finger


Damit die Mails beim Login versendet werden, muss folgende Zeile

/opt/shell-login.sh | mailx -s "SSH Login auf DEIN-HOSTNAME" deine-emailadresse@example.com

in der Datei

/etc/profile

eingetragen werden.

Die Datei /opt/shell-login.sh muss die Rechte 755 besitzen:

chmod 755 /opt/shell-login.sh

Die Mail wird nun automatisch versendet, sobald sich ein Benutzer per SSH einloggt. Der User bekommt davon nichts mit.

Regelmäßige Systemupdates

Das Debian Security Team veröffentlicht regelmäßig Sicherheitsupdates und neue Kernelversionen. Die Updates solltest du (sofern du keine eigenen, angepassten Kernel verwendest) regelmäßig durchführen. Um nicht jeden Tag Updates manuell prüfen zu müssen, gibt es das Paket apticron, welches dich per Mail über neue Updates informiert. Installiere zunächst das Paket mit

aptitude install apticron

und lege es unter /etc/apticron/apticron.conf

deine Mailadresse und den Hostnamen des Systems (optional) fest. Die Updates könnten natürlich auch per Cronjob jeden Tag automatisch installiert werden, was ich jedoch nicht empfehle. Du hast so nie die Kontrolle darüber was installiert wird und können evtl. Fehler nur schwer nachvollziehen.