[Anleitung] Wie sichere ich einen vServer richtig ab.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe hier mal nen kleines TuT gefunden wie man einen vServer absichern kann.
    es wird bestimmt einigen helfen.


    Da Sicherheit bei einem Server kein uninteressantes Thema sein sollte, ist es für Admins sehr wichitg ein gewisses Grundwissen zu haben, bzw sich anzueigenen da man ja bekantlicherweil in einem gewissen Bereich für seinen Server haftbar gemacht weredn kann.


    Ich möchte hier einmal eine Anleitung erarbeiten wie man seinen Server grundsätzlich absichern sollte um ungewünschte Hackerangriffe abzuwehren.


    Diese ist keinenfalls als vollständig anzusehen, aber mit Sicherheit ein guter Anfang.
    Dies ist nicht alles auf meinem Mist gewachsen, sondern ist eine Sammlung von Informationen


    Einleitung:


    Zunächst solltet man sein System immer aktuell halten:


    Bei Debiandistributionen:



    Zitat

    apt-get update dann apt-get (dist-)upgrade


    Die Firewall (im V-Server Controll Panel) sollte so konfiguriert sein, dass nur die Ports erreichbar (offen) sind, die man wirklich braucht. D.h. man Sperrt alle Ports außer SSH*, FTP*, Web, POP/SMTP Ports.



    * Der SSH-Port sowie der FTP Port kann auch gesperrt werden, da man ihn bei Bedarf innerhalb vion 30 Sekunden entsperren kann
    Sichere Passwörter verwenden:


    ein sicheres Passwort ist nicht:


    Zitat

    test123


    ein sicheres passwort wäre:


    Zitat

    !<t31!carolin77>&<t83!werner75>!


    Natürlich ist das schwer zu merken, dafür aber auch schwer zu knacken.


    Weitere Informationen über Linux und Serveradministration die man sich auf jeden Fall durchlesen sollte findet ihr hier:


    http://www.tim-bormann.de/</a>
    http://www.i-eye.net/linux/index.php


    So nun aber zum eigentlichen Tutorial



    1. Regelmäßige Prüfung eurer Log Files.


    Eure Logs findet ihr meist unter /var ,weitere unter /var/log
    Diese müssen regelmäßig, am besten täglich auf irgendwelche Auffälligkeiten hin geprüft werden.


    Man kann sich auch die Logfile per Mail zusenden lassen (=> Google)



    2. Rootlogin verbieten und SSH-Port ändern


    2.1 SSH Port ändern


    Obwohl das ändern des SSH Ports nur eine Scheinsicherheit ist, lassen sich damit jedoch sehr gut automatisierte angriffe abwehren, den den Hackbots ist es zu viel Aufwand jeden Port zu scannen.
    Ich persönlich empfehle Ports ab 40000.


    2.2 Rootlogin


    Dieser sollte nicht für Root erlaubt sein, sondern für einen unpreviligierten User, mit einem vernünftigen Passwort, eventuell einem Key, der auf dem lokalen Rechner liegt


    Man verbietet den Root Login indem man in der /etc/ssh/sshd_config die option


    Zitat

    PermitRootLogin yes


    auf no setzt.


    Schaut dabei auch gleich ob ihr in der sshd_conf euer SSH auf
    Protokoll 2 gestellt habt.


    Ein weiterer Punkt wäre den SSH-Port per Firewall zu sperren, wenn man ihn nicht benötigt.



    3. Der Mailserver


    Dieser sollte kein offenes Relay darstellen. Bei einem offenen Relay kann jeder über deinen Server irgendwas verschicken, eben auch Spam.


    Ausserdem sollten die bestehenden Zugänge vernünftig abgesichert werden, und die Passwörter sauber gesetzt werden.


    Zum Schluss kann man sich überlegen, ob man den Zugang nur noch über SSL erlauben will, denn sonst könnte jemand den gesammten Netzwerkverkehr mitlesen.


    Wie das funktioniert, ist bei den einzelnen Mail-Servern unterschiedlich.
    Hier mal ein Beispiel für den meist verbreiteten MailServer Postfix



    Zitat


    Hier findet ihr alles was dazu notwenig ist.


    Überprüfen sollte man abschließend ob ein offenes Relay existiert. Das kann an auf folgender Website machen:


    Zitat


    Sollte das der Fall sein, ist eurer Server auf dem besten Weg dazu eine Spamschleuder zu werden. Also alle offenen Relays sofort schließen




    3. Der Webserver


    Hier sollten die Zugriffsrechte für Verzeichnisse sauber gesetzt sein, so dass man nicht einfach irgendwohin auf dem Server gelangen kann.


    Des Weiteren sollten wichtige Bereiche, wie Adminbereiche, SysCP oder phpmyAdmin, mit einem Passwort geschützt werden; Stichwort HtAccess.
    http://de.selfhtml.org/servercgi/server/htaccess.htm
    Eine Weitere Möglichkeit besteht in der Änderung eurer Konfigurationsdatei des Webservers. Indem man einen Alias in der Config setzt und einen ungewöhnlichen Namen benutzt, wird PHPmyAdmin deutlich schwerer zu erreichen.


    Ausserdem sollte man darauf achten, dass einzelne Skriptsprache wie bespielsweise PHP richtig abgesichert sind.
    Hier gibt es Konfigurationen die das System nicht wirklich sicher machen.


    Bei PHP beispielsweile sollten folgende Punkte in der PHP.ini folgendermaßen konfigueriert sein:



    Zitat

    disable_functions = show_source, exec, shell_exec, system, popen, proc_open, proc_nice, ini_restore, passthru, dl
    register_globals = Off
    allow_url_fopen = Off
    display_errors = Off
    open_basedir = [path to the directory of the web server / virtual host]
    safe_mode = On


    3.1 MySQL Server


    Ich persönlich habe den MySQL Port von außen per Firewall gesperrt. Ich denke das ist die einfachste Lösung. Wichtig ist hier wieder die korrekte Konfiuration von Webserver und PHP, denn durch Fehleinstellungen, gelangt der Angreifer sehr schnell an eure MySQL Zugangsdaten und kann beispielsweise eine Datenbank mit Kinderpornolinks anlegen.
    Das würde euch mit Sicherheit nicht gefallen.




    4. FTP-Server


    Ich persönlich empfehle hier vsftp. Ein einfacher uns sicherer FTP-Server
    Was wichtig ist, Wenn ihr den FTP nicht braucht sperrt eueren FTP Port (21) per Firewall.


    Richtige Konfiguration: sftpd ist von Haus aus so konfiguriert, dass anonyme Benutzer sich einloggen dürfen. Sie dürfen in der Standardkonfiguration jedoch nur in /home/ftp lesen. Sie dürfen dieses Verzeichnis nicht verlassen und auch nirgends schreiben. Möchte man anonyme Logins komplett deaktivieren, so müsste man hier


    Zitat

    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=YES


    das YES in NO ändern.


    Als nächstes sollte man Lokalen Benutzern den Login erlauben:


    Zitat

    local_enable=YES


    Damit geschrieben werden kann ist diese Zeile hier wichtig:


    Zitat

    write_enable=YES


    Die letzte wichtige Option wäre es die lokalen Benutzer auf ihr Homeverzeichnis - also /home/benutzername - zu beschränken.
    Dies macht man folgendermaßen:


    Zitat

    chroot_local_user=YES


    Bitte auch hier noch weiterlesen:


    http://wiki.ubuntuusers.de/vsftpd


    5. Nützliche Tools
    Das System sollte regelmäsig geupdatet werden, und immer auf dem neuesten Stand sein.



    6. Die Programme am besten per Cronjob ausführen


    Es ist wichitg, dass Ihr so früh wie möglich von einer Infektion erfahrt und darauf reagieren könnt.
    Dieses Skript (Ursprung) führt ClamAV aus (der dann die Verzeichnisse /root, /home und /tmp scannt), chkrootkit und rkhunter -- und mailt Euch dann die Logfiles.


    --> E-Mail Adresse ersetzen, und ggf. die Logfile Pfade ändern. Der Ordner muss exisitieren, die Dateien selbst werden dann erstellt, wenn das Script ausgeführt wird (nach Datum sortiert).



    7. Keine schlecht programmierte unsichere Scripte verwenden


    quelle: forum.netcup.de vom user Scaleo

  • Hey


    Ich wollte damit ja nur einigen leuten helfen damit die ihren server wenigstens ein bisschen absichern.
    Ich habe die Anleitung nicht geschrieben sondern unter zustimmung vom Ersteller hier veröffentlicht.
    siehe quelle.


    Mfg MV6