Absicherung eines Debian Servers: Unterschied zwischen den Versionen

Aus Wiki Freifunk-3Ländereck
Wechseln zu: Navigation, Suche
(SSH Login absichern)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
=Minimale Installation=
 
=Minimale Installation=
Installiere auf deinem Server stehts nur mit den notwendigen Paketen. Jeder Overhead an Software bedeutet auch mehr potentielle Angriffsfläche.
+
Installiere auf deinem Server stehts nur die notwendigen Paketen. Jeder Overhead an Software bedeutet auch mehr potentielle Angriffsfläche.
  
 
=SSH Login absichern=
 
=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.
+
https://stribika.github.io/2015/01/04/secure-secure-shell.html
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=
 
=SSH Port ändern=
Zeile 35: Zeile 32:
 
und ändere es einfach in
 
und ändere es einfach in
 
  PasswordAuthentication no
 
  PasswordAuthentication no
ab
+
ab. Der SSH Diendst muss mittel
 +
 
 +
service ssh restart
 +
 
 +
neu gestartet werden damit er die Konfiguration übernimmt.
  
 
=Benachrichtigung bei SSH Login=
 
=Benachrichtigung bei SSH Login=

Aktuelle Version vom 8. April 2015, 23:39 Uhr

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

https://stribika.github.io/2015/01/04/secure-secure-shell.html

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.