In diesem Tutorial geht es darum , wie man einen Linux - Server nach dem ersten Start grundlegend richtig konfiguiert um sicherzustellen, dass Angriffschancen minimiert werden.
Nach dem das System das erste Mal gestartet wurde, ist meist noch kein Passwort vorhanden, deswegen setzen wir dies nun mit folgendem Befehl:
passwd
Nun werden wir aufgefordert jenes einzugeben. Nachdem dies geschehen ist nehmen wir den ersten und wahrscheinlich effektifsten Schritt zu einem sichereren System vor: Wir ändern den SSH- Port.
Dazu gehen wir mit folgendem Command in die Konfiguration von SSH:
nano /etc/ssh/sshd_config
nano steht hierbei für den Editor(In meinem Fall eben nano). Auf RedHat basierten Systemen(CentOS etc.) ist meist der editor vi vorinstalliert, daher einfach den oben genannten command mit vi, statt nano ausführen. (Falls nano auf CentOS verwendet werden möchte, kann dies nachinstalliert werden (yum install nano).
In dieser Datei suchen wir die Zeile:
Port 22
Diese ändern wir in einen beliebigen Wert um (UNBEDINGT MERKEN!). Danach wird ssh erstmal restartet:
service ssh restart
Auf redHat basierten Systemen meist:
service sshd restart
Als nächstes installieren wir ersteinmal unseren login user, mit dem wir das System verwalten möchten. Dies tun wir, da der Benutzer Root immer ein gewisses Sicherheitsrisiko darstellt und Bot-Netzwerke meist nur auf diesen zielen. Das heißt, dass wir zuerst einen neuen user erstellen:
useradd (Dein Username)
im folgenden werden wir aufgefordert daten und ein Passwort für diesen einzugeben. Geschieht dies nicht holen wir zumindest das Passwort mit:
passwd (Dein zuvor gewählter Username)
nach.
Nun geben wir dem Benutzer Rechte um Befehle als Administrator auszuführen:
visudo
Wir kommentieren alle Linien, die etwas mit Benutzern oder Gruppen zu tun haben aus und fügen am Ende der Datei folgendes ein:
root ALL=(ALL) ALL
(Dein zuvor gewählter username) ALL=(ALL) ALL
Nachdem dies geschiehen ist, loggen wir uns wieder mit unserem neu erstellten Benutzer ein und testen den Befehl sudo in Verbindung mit einem AdministratorCommand, z.B. apt-get install. Falls wir nach der Eingabe unseres Passworts keine Fehlermeldung erhalten ist alles ordnungsgemäß konfiguiert.
Nun sichern wir unseren Login ab. Dazu generieren wir uns - Falls putty benutzt wird - mit putty-keygen einen neuen Key und loggen uns wieder mit unserem neu erstellten User ein. Eingeloggt führen wir folgende Befehle aus:
(Bitte sicherstellen dass man im Home-Verzeichnis des Benutzers ist)
mkdir .ssh
cd .ssh
nano authorized_keys
In der sich nun öffnenden Datei fügen wir den key aus dem Publickey- Abschnitt aus putty-keygen ein. Ab jetzt wieder mit Root:
Nun öffnen wieder unsere SSH-Config :
nano /etc/ssh/sshd_config
dort fügen wir die folgenden Zeilen ein:
PermitRootLogin no
PasswordAuthentication no
Falls man sich sicher ist eine statische IP zu haben, die sich auf KEINEN Fall verändert kann zusätzlich noch folgende Zeile hinzugefügt werden:
AllowUsers dein Username@(Deine-ip)
nun restarten wir ssh:
service ssh restart
oder mit
service sshd restart
Bitte beachten , dass man die Konsole mit eingeloggtem Root-User offen lassen sollte, falls etwas schiefgelaufen ist. Falls nicht wählt man die Verbinudng in Putty aus, klickt auf load und geht dann auf auth und dann auf key. dort kann man seinen privatekey auswählen, den man zuvor mit putty-keygen exportieren müsste. Danach wird die Verbindung gespeichert(save) und sich mit dem Server verbunden. Nach der eingabe des Benutzernamens (Vom neu erstellten User) sollte nun eine Aufforderung zur Eingabe des Passworts für den Publickey erscheinen. Falls nicht bitte die obigen Schritte widerholen.
Nützliche Pakete
Im folgenden installieren wir für unseren Server nützliche Pakete:
Da wir ab jetzt nur noch mit unserem nicht-root user arbeiten nun alles mit sudo:
sudo apt-get install fail2ban
oder auf RedHat Systemen:
yum install fail2ban
Nun führen wir noch folgende Befehle zum aktualisieren der gesamten Paketverwaltung aus:
sudo apt-get update
sudo apt-get upgrade
oder auf RedHat basierten Systemen:
sudo yum upgrade
sudo yum update
Damit wären wir zuerst einmal fertig und haben eine kleine Sicherheitsgrundlage geschaffen.
Add new comment