Huhu, (V)Server werden ja immer günstiger und ziehe Personen mit keinen oder sehr wenig Linux Kenntnissen magisch an. Da sehr viele die Meinung „Ich kann unter Windows etwas rumklicken, also kann ich auch einen Server einrichten“ vertreten habe ich mal eine kleine Anleitung geschrieben, welche hilft eine gewisse Grundsicherheit herzustellen.
Bevor jedoch ein (V)Server gemietet wird sollte sich jeder sehr genau überlegen ob er wirklich einen braucht, in den meisten fällen reicht ein normaler Webspace aus. Hier noch ein Link zum Thema: http://www.root-und-kein-plan.ath.cx/
Und denke immer Daran ein (V)Server ist keine Spielerei, sondern DU haftest für alles was auf dem Server passiert und musst dich ggf. vor einem Gericht verantworten.
So, nun zur Anleitung
Ich arbeite selbst nur mit Debian Systemen und aus diesem Grund bezieht sich diese Anleitung auch auf ein Debian System.
Schritt 1: System aktualisieren
Das wichtigste ist ein immer aktuelles System am laufen zu haben. Veraltete bzw. nicht mehr gewartete Programme stellen immer ein hohes Sicherheitsrisiko da. Die aktualisierung des Sytems geht wie folgt.
apt-get update
apt-get upgrade
Nun sollte das System auf einem aktuellen Stand sein.
Schritt 2: SSH Grundabsicherung
Der root Zugang über SSH sollte immer deaktiviert sein, da es eine große Sicherheitslücke darstellt. Dies wollen wir nun machen.
1. Benutzer anlegen
useradd NAME
2. Benutzerkennwort ändern
passwd NAME
NAME wird natürlich durch einen beliebigen Benutzernamen ersetzt. Dieser Name sollte natürlich nicht unbedingt in einem Wörterbuch stehen, Namen wie admin, login oder ssh sind absolut ungeeignet! Am besten sind Namen die nicht leicht zu erraten sind. Beispiel: Martin14051974Musterhausen. Dieser Login Name ist von einem Martin, welcher am 14.05.1974 in Musterhausen geboren wurde. Ein solcher Loginname ist zwar etwas unschön anzuschauen, steht aber in keinem Wörterbuch.
1.1 Benutzer testen
Nun solltest du prüfen ob du dich mit deinem neuen Benutzer an dem Server anmelden kannst.
2. root Login verbieten
Öffne mit einem beliebigen Editor die Datei sshd_config (/etc/ssh) und ersetze dort die Zeile
PermitRootLogin yes
durch
PermitRootLogin no
Da wir nun einmal in der richtigen Datei sind ändern wir noch folgende Zeile (sofern dein Provider dies vergessen haben sollte).
Protocol 1
ändern in
Protocol 2
Änderungen speichern und versuchen ob der Login als root über ssh noch möglich ist. Sollte der Login noch möglich sein starte den ssh Server neu, solltest du nicht wissen wie es geht starte am besten den ganzen Server neu.
Eine noch sichere Methode ist die SSH Public Key Authentifizierung.
3. Angreifer Bannen
Es ist sinnvoll Angreifer nach z.B 3 falschen Login Versuchen zu bannen, die geschieht am besten mit Programmen wie fail2ban (http://www.fail2ban.org/)
Eine Anleitung wie dieses Programm zu bedienen ist werde ich hier nicht machen, da dies den Rahmen bei weitem sprengen würde. Informiere dich bitte auf der Webseite des Programms.
Schritt 3: Ports schließen
Die Firewall sollte so konfiguriert sein, dass nur die Ports offen sind, die Du brauchst, d.h. alles sperren außer SSH, FTP (Wenn es unbedingt gebraucht wird), Web, POP/SMTP Ports.
Das Zauberwort heißt iptables.
Schritt 4: Sicherheitssoftware nutzen
Es kann nie schaden entsprechende Programme zu nutzen die einem bei dem Auffinden von schädlichen Programmen helfen können, dazu zählen: chkrootkit, rkhunter und clamAV
Mit chkrootkit und rkhunter könnt Ihr prüfen, ob jemand in Eurem System Software installiert hat, mit denen man den Server steuern kann. Das funktioniert ähnlich wie ein Trojaner. Mehr dazu in der Wikipedia: http://de.wikipedia.org/wiki/Rootkit
So wird es installiert:
apt-get install chkrootkit
apt-get install rkhunter
ClamAV ist ein kostenloser Virenscanner, ihn einzurichten ist etwas "kniffliger" für Unwissende und würde den Rahmen dieser Anleitung bei weitem sprengen. ClamAV gibts bei www.clamav.org
Schlusswort:
Dies war jetzt nur ein erster Schritt die Sicherheit zu verbessern. Der Server ist nun auf keinen Fall zu 100% sicher, dafür sind noch mehr Schritte nötig, aber nun ist der Server zumindest erst einmal besser geschützt. Es ist noch sehr viel Zeit nötig um den Schutz zu verbessern, aber mit der nötigen Interesse ist es durchaus möglich.
Und denke immer daran: Google ist dein Freund bei Fragen
Sollte noch wer Ergänzungen haben oder einen Fehler gefunden haben bitte einfach melden
In diesem Sinne