Mit einfachen Maßnahmen den Linux Server schützen

hacked-kl Es muss nicht immer, gerade am Anfang nicht, eine hochgezüchtete Schutz-Software sein. Mit ein paar einfachen Maßnahmen kann der Linux Server schon sehr gut geschützt werden. 

Wer einen Linux Server betreibt, egal zu welchem Zweck, der muss auch unbedingt Sorge dafür tragen das dieser auch nicht gehackt oder gar gekapert werden kann. Dazu gehören in erster Linie regelmäßige Sicherungen des gesamten Systems genauso wie Software-Updates, so oft wie möglich. Aber man kann noch mehr tun. 

WARNUNG! Das sind Maßnahmen die üblicherweise funktionieren, jedoch übernehme ich dafür keinerlei Garantie. Wenn nicht gründlich und sorgfältig gearbeitet könnt ihr euch aus dem eigenen Server aussperren! Wer unsicher ist, sollte das vorher mit einer Spielmaschine, beispielsweise einer virtuellen Maschine, testen.

Ich empfehle übrigens separate Sicherheitskopien der Konfigurationsdateien unmittelbar vor der Änderung anzufertigen. Was sie Änderungen im Detail angeht da wäre als allererstes der SSL Port zu nennen. Der Standardport ist 22 und das ist mit das erste was Hacker prüfen und wenn sie da eine SSH Verbindung bekommen steht einem Brute-Force Angriff nichts mehr im Wege. Also sollte man einen anderen Port nehmen. Wir öffnen die Konfigurationsdatei. Ich nehme für solche Arbeiten gerne den Editor nano (pico), denn mit vi konnte ich mich noch nie anfreunden.

HINWEIS! Fehlt die ssdh_config ist der SSH Server nicht vollständig/richtig installiert. Eine Webrecherche hilft bei der Fehlersuche! Meistens stimmt mit den Paketquellen dann was nicht und einige Abhänigkeiten fehlen.

Also: 

nano /etc/ssh/sshd_config

Da drin steht der Port, üblicherweise ist das 22. Den ändert man auf einen Wert zwischen 49152 und 65535, das könnt ihr frei wählen. Dennoch sollte man mit 

cat /etc/services

vorher nachsehen ob der Port den man sich ausgesucht hat wirklich noch frei ist. Meistens ist er das aber. Dann mit 

/etc/init.d/ssh restart

den Dienst neu starten und den neuen Login probieren. Danach sollte man dafür sorgen das der Benutzer root sich nicht mehr einloggen darf. Dazu legt man sich mit (rote markiertes muss angepasst werden)

useradd neuer-User

einen neuen Benutzer für das System an und gibt diesem mit 

passwd neuer-User

ein Passwort, aber bitte unbedingt ein sicheres Passwort. Danach braucht er Root-Rechte, also wieder in die SSH Konfiguration: 

nano /etc/ssh/sshd_config

und fügt den neuen Benutzer am Ende hinzu: 

AllowUsers neuer-User

Nun speichern und testen ob der Login des neuen Benutzers auch wirklich funktioniert. Wenn alles funktioniert kann man den Root-Login sperren. Also wieder in die SSH Konifurationsdatei und dort 

PermitRootLogin yes

ändern in 

PermitRootLogin no

An diesem Punkt hat man es einem Angreifer schon erheblich schwerer gemacht. Der SSH Port ist unbekannt, root kann nicht mehr angemeldet werden und der Benutzer mit den Root-Rechten ist unbekannt, zudem hat er ein sehr sicheres Passwort. Zeit sich um die Verschlüsselung zu kümmern. Wir wählen eine asymmetrisch kryptografisches Verschlüsselung, ich nehme immer RSA. Zuerst muss der Schlüssel erzeugt werden, ich empfehle 4096 Bit.

ssh-keygen -b 4096 -t rsa

Der neue Schlüssel findet sich in /root/.ssh/id_rsa und diese neu erzeugte Datei wird ebenfalls separat gesichert. 

Jetzt den Service neu starten, üblicherweise mit 

/etc/init.d/ssh restart

Wird für die Verbindung zum Server eine Software wie Putty benutzt muss man natürlich mittels "Add Key" den neuen Schlüssel eintragen. Bevor jetzt ein Angriff überhaupt beginnen kann muss ein potentieller Hacker viel herumprobieren. Es macht Sinn auch das zu unterbinden bzw. einzuschränken. Das geschieht mittels Fail-2-Ban, ein einfaches Intrusion-Detection-System. Meistens ist es auf den Servern die man mietet vorinstalliert bzw. es sollte so sein. Wenn nicht dann mit 

apt-get install fail2ban

installieren. So funktioniert das bei Debian und seinen Ablegern. Andere Linux Systeme nutzen ein anderes Programm zur Installation, aber jeder weiß ja was er/sie dafür zu nehmen hat. Auch hier können, muss man aber nicht, einen Eintrag in die Konfigurationsdatei machen. Die wird mittels

nano /etc/fail2ban/jail.local

Dort trägt man unter bantime den Wert in Sekunden ein für wie lange eine IP Adresse bei zu vielen Fehlversuchen gesperrt werden soll. 3600 wären also eine Stunde. Mit 

maxretry = Anzahl

legt man die Anzahl Versuche fest die erlaubt sind bevor die Adresse automatisch gesperrt wird. Denkt aber hier daran das ihr euch selbst auch mal vertippen könnt, also eine 1 wäre eine schlechte Idee. 

WICHTIG! Wir haben vorher den SSH Port verändert, das muss man hier ebenfalls ändern!

Also öffnen wir die jail.local bzw. jail.conf und macht dort aus 

Port = ssh 

ein 

Port = eure Portnummer

Denn sonst überwacht Fail-2-Ban den falschen Port. Welche IPs gesperrt wurden kann man sich mit 

iptablesL

jederzeit anzeigen lassen. Oder man wirft einen Blick in die 

var/log/fail2ban

Damit ist die Grundabsicherung bereits erledigt wenn man denn eine betreiben möchte. Wie ihr seht ist es nicht allzu schwer, nur muss man eben aufpassen was man tut und immer erst den nächsten Schritt vornehmen wenn man den vorhergehenden getestet hat. 

(Visited 81 times, 1 visits today)
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Schreibe einen Kommentar

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden. Damit diese Seite funktioniert ist es notwendig kleine Dateien (genannt Cookies) auf deinem Computer zu speichern. Zudem erhöhen die Cookies den Bedienungskomfort für dich. Google selbst verwendet Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unserer Website zu analysieren. Außerdem gibt Google Informationen zur Nutzung unserer Website an dessen Partner für soziale Medien, Werbung und Analysen weiter. Die geschieht über die eingeblendeten Werbebanner. Wenn du diese Seite benutzt stimmst du der Nutzung von Cookies zu. Über Ihre Browsereinstellungen kannst du entscheiden ob Cookies angenommen werden oder nicht. Auch kannst du Cookies jederzeit und auch gezielt über den Browser löschen. Due kannst den Browser auch so konfigurieren das beim Schliessen alle Cookies automatisch gelöscht werden. Weit über 90% aller Webseiten setzen Cookies. Jedoch werden wir seit dem 26. Mai 2012 per EU Datenschutz Regelung dazu aufgefordert zuerst deine Zustimmung einzuholen.

Schließen