In dieser neuen Serie (nach Mutt) werde ich über die Grundlagen der Server Absicherung schreiben. Ich möchte darauf hinweisen, dass diese Serie jediglich als Grundorientierung dient. Zusätzlich ist darauf zu achten, sich immer im "Saft" zu befinden, da sich fast täglich neue Gefahren entwicklen, auf die der Admin achten sollte.
Als letztes möchte ich darauf hinweisen, dass alle hier aufgelisteten Empfehlungen auf persönlicher Erfahrung beruhen.
Betriebssystem
Im folgenden gehe ich davon aus, dass wir von einem Linux Server sprechen. Ich persönlich arbeite nicht mit Windows Servern und kann daher kein Wissen über diese Infrastruktur teilen.
## Debian / Ubuntu
Debian empfiehlt sich sehr als Betriebsystem für einen Server. Debian ist weit verbreitet und wird von vielen Menschen als Serverunterbau verwendet. Aufgrund der einzelen Release Channels (stable, testing, unstable) ist schon ein bisschen "Sicherheit" gewährleistet. Natürlich ist klar, dass nur der Channel **stable** verwendet werden sollte.
Dazu kann ich folgende /etc/apt/sources.list
empfehlen:
deb http://deb.debian.org/debian/ stable main contrib non-free
deb-src http://deb.debian.org/debian/ stable main contrib non-free
deb http://deb.debian.org/debian/ stable-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free
deb http://deb.debian.org/debian-security stable/updates main
deb-src http://deb.debian.org/debian-security stable/updates main
deb http://ftp.debian.org/debian stretch-backports main
deb-src http://ftp.debian.org/debian stretch-backports main
Wichtig ist das System immer auf den aktuellen Stand zu halten um bekannte Sicherheitslücken und Fehler in Software schnellst möglich zu schließen. Ich bin kein Freund von automatischen Updates, da ich selber gerne weiß was mein System macht.
Für die unter euch die gerne einen solchen Dienst nutzen wollen, empfehle euch euch das Debian Wiki.
Eine weitere Möglichkeit, die benutze ich persönlich auch, ist es sich über neue Paket per Mail informieren zu lassen. Dazu benötigt man das Paket apticron. Im Thomas Krenn Wiki ist sehr gut beschrieben, wie diese konfiguriert wird, daher gehe ich nicht weiter darauf ein.
Mail Benachrichtigung
Für die Mail Benachrichtigungen nutze ich statt mail das Programm ssmtp. Einfach zu installieren mit dem Befehl
apt install ssmtp
Die Konfiguration der Datei /etc/ssmtp/ssmtp.conf
sollte dann so aussehen
#Alias für root
root=root@example.de
#Server Setup
mailhub=mail.example.de:587
AuthUser=test@example.de #mailadresse
AuthPass=Password
UseSTARTTLS=YES
TLS_CA_File=/etc/ssl/certs/ca-certificates.crt
hostname=example.de #hostname
Mit dem Befehl ssmtp -vt < mail.eml
ist es möglich die Konfiguration zu testem. Die Datei mail.eml
hat folgenden Inhalt
From: MyPBX < root@example.de >
To: harry < root@example.de >
Subject: test
MIME-Version: 1.0
Lynis
Lynis ist ein Secuirty Tool, was den Server mit einem "Health Scan" überprüft und dann auf Fehlerhafte oder gar nicht vorhanden Konfiguration hinweist. Das Tool ist leider bei Debian veraltet darum bietet sich an die eigne Repository hinzuzufügen. Dafür muss als erstes aber ein Paket installiert werden:
apt install apt-transport-https
Dann wird der PGP Schlüssel installiert
wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | apt-key add -
Jetzt die Liste hinzufügen
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | tee /etc/apt/sources.list.d/cisofy-lynis.list
Jetzt updaten und installieren
apt update && apt install lynis
Mit dem Befehl lynis update info
kann man den aktuellen Stand der Software prüfen
root@vps73846:~# lynis update info
== Lynis ==
Version : 2.6.4
Status : Up-to-date
Release date : 2018-05-02
Update location : https://cisofy.com/lynis/
2007-2018, CISOfy - https://cisofy.com/lynis/
Als nächstes überprüfen wir das System lynis audit system
auch Dockerfiles können geprüft werden mit lynis audit dockerfile
Die Ausgabe sieht dann wie folgt aus
....
================================================================================
Lynis security scan details:
Hardening index : 77 [############### ]
Tests performed : 218
Plugins enabled : 0
Components:
- Firewall [V]
- Malware scanner [V]
Lynis Modules:
- Compliance Status [?]
- Security Audit [V]
- Vulnerability Scan [V]
Files:
- Test and debug information : /var/log/lynis.log
- Report data : /var/log/lynis-report.dat
================================================================================
....
An dem Hardening Index ist zu erkennen, dass noch einiges zutun ist. In den folgenden Artikel werde ich auf die Konfigurationen eingehen, so dass dieser Score noch deutlich steigen wird.