Sicherheit VServer

clue

clue

There is no better place.
Hallo zusammen,

ich hab mir einen VServer mit Plesk/SuSe zugelegt und habe eine umfassende Frage an euch: Wie mache ich meinen VServer "richtig" sicher? Ich habe zwar die Firewall unter Plesk eingeschaltet, trotzdem wäre ich für weiterführende Tipps sehr dankbar. :)
 
Plesk deinstallieren, SSH-Server auf einen anderen Port legen, root-Zugang über SSH deaktivieren, SSH-Verbindungen via Passwort untersagen und nur noch mit Keyfiles connecten, eigenes Firewall-Skript schreiben, IDS einrichten, Datei-Rechte korrekt setzen, tiger, chkrootkit und rkhunter als Cronjob einrichten, regelmässige Backups und Updates machen, nicht benötigte Services ausschalten, nicht benötigte Software deinstallieren.

Ich denke, das dürfte erstmal das wichtigeste sein.
 
Wenn du nichtmal das weisst, solltest du dir überlegen, ob du mit der Verwaltung eines Servers nicht etwas überfordert bist. Ansonsten, siehe www.google.de
 
Naja, ich bin noch ein relativer Neuling. ;)

Ne andere Frage... Wie bekomm ich die freien Ports? Und was ist IDS?
 
clue schrieb:
Naja, ich bin noch ein relativer Neuling.
genau, wenn du mit 200 km/h durch die Innenstadt fährst und dabei von der Polizei erwischt wirst, sagst du einfach, dass du gerade erst deine Fahrerlaubnis gemacht hast.

M.f.G. slasher.
 
Sorry, aber ich habe es mir abgewöhnt Newbies zu helfen, wenn sie sich anmaßen, dass sie die Arbeit eines Systemadministrators auf einem 100MBitler machen können. Als Neuling sollte man auf einem PC üben, aber nicht auf einem Server, der mit 100MBit und fester IP am Netz hängt. Daher kann ich nur nochmal auf www.google.de verweisen. Dort wirst du alles an notwendigem Wissen finden, das ein Server-Administrator haben sollte. Werden allerdings ein paar Jahre vergehen, bis du dir dieses Wissen angeeignet hast.

Aber vielleicht will dir ja jemand anderes helfen. Ich werde es nicht tun, da du dir offenbar nicht der Gefahren deines Halbwissens bewusst bist. Viel Spass mit dem Staatsanwalt, wenn dein Server mal aufgrund deines mangelnden Wissens gehackt und missbraucht wird. Siehe dazu auch http://www.unixboard.de/vb3/showpost.php?p=169262&postcount=9

PS: IDS = Intrusion Detection System

Nachtrag: Natürlich bin ich gern bereit zu helfen, wenn es spezifische Probleme gibt. Nur ein "Howto become an Admin" werde ich gewiss nicht schreiben. ;)
 
Zuletzt bearbeitet:
Hab ich die Frage nicht auch schon öfters hier gelesen? Dann müsste doch die Boardsuche was hergeben?
*EDIT*
Das wiki berichtet über SSH Server Einstellungen im allgemeinen, SSH ohne Passwörter und Iptablesfirewalls.
Für den ersten Schritt sollte das schon reichen.
 
Zuletzt bearbeitet:
Jo, SSH auf nen anderen Port legen ist echt wichtig.

Bei suse gibts Yast, da leg dir nen anderne User an und verbiete den root Login.
Jetzt kannste nur noch mit su zum admin werden.
Installier dir Smart oder ein ähnliches tool und lass es automatisch die kritischen Pakete updaten.
Als IDS kann ich snort empfehlen, schreib dir da am besten eigene rules hab ich auch gemacht.
Für Apache hauste dir mod_security drauf. Am besten lass erstmal die Finger von Plesk, deinstallier das.

Als Admin system kannste webmin oder vhcs2 nehmen, zweiteres gibts auf vhcs.net für erstes gibts glaube ich sogar *.rpm pakete.

Dann alle überflüssigen services abschalten. Sieh dir mal an was alles in /etc/init.d liegt, das sind zwar nur einige aber schon ein guter anfang.
Block generell alle Ports. Egal was Plesk sagt, Block alles bis auf http/ftp... .
Benutzt nur noch sftp, ftp wird unverschlüsselt übertragen. Ist zwar oft nicht das riesigste Sicherheitsproblem aber schon ein sehr großes.

Dann Frag deinen Hoster ob er dir Aktuelle Pakete zu verfügung gestellt hat. Meist haben hoster Update Pools auf die du zugreifen kannst.

ach und gotroot.com sollte helfen ;)
 
Danke für die tollen Tipps! :)

Ich habe jetzt die Firewall so eingestellt, dass ich mich nur von meinem Notebook aus an der SSH anmelden kann - ist das euer Meinung nach sicher?
 
Jo, SSH auf nen anderen Port legen ist echt wichtig.

Nein eine Glaubensfrage und verhindert nur Script-Kiddies.
nmap mit -A und der ssh banner ist sichtbar.

Security through obscurity meiner Meinung nach aber jeder hat seine Religion ;).
 
Als Admin system kannste webmin oder vhcs2 nehmen, zweiteres gibts auf vhcs.net für erstes gibts glaube ich sogar *.rpm pakete.

Webmin und VHCS2 sind genauso unsicher wie Plesk. Keines dieser Webadmin-Tools hat z.B. eine Sicherung gegen Bruteforce-Angriffe und Sicherheitslücken werden immer wieder neue bekannt.

Ich denke, dass man einen Server problemlos per SSH verwalten kann, vor allem, da es sich nur um einen einzelnen Server handelt. Bei einem grösseren Server-Pool machen diese Webadmin-Sachen durchaus Sinn, aber dann laufen sie im Normalfall auch auf einem Interface, das nur über das LAN des RZ erreichbar ist.

@codc: Zumindest die automatisierten Bruteforces via Bot werden damit schonmal abgehalten und wie du schon richtig sagtest: Es hält wenigstens Skript-Kiddies fern, von deren Klicke-Bunti-Lad-ich-mir-bei-Astalavista-Tools nicht gerade wenige im Netz unterwegs sind.

Nachtrag: @clue: Folgende Proc-Einstellungen würde ich noch empfehlen:
Code:
        # auf Broadcast-Pings nicht antworten
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        # halt die Klappe bei komischen ICMP Nachrichten
        echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        # Kicke den ganzen IP Spoofing Shit
        # (Source-Validierung anschalten)
        echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
        # Setze Default-TTL auf 61 (Default fuer Linux ist 64)
        echo 61 > /proc/sys/net/ipv4/ip_default_ttl
        # sende RST-Pakete wenn der Buffer voll ist
        echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
        # warte max. 30 secs auf ein FIN/ACK
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
        # unterbreche Verbindungsaufbau nach 3 SYN-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
        # unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
Ausserdem solltest du in der /etc/security/limits.conf noch Prozess-Begrenzungen für deine Benutzer einstellen, damit eine Überlastung des Servers ausgeschlossen wird, sonst kann ein simples ':(){ :|:& }; :' in der Shell zum Crash des Servers führen.
 
Zuletzt bearbeitet:
Nachtrag: @clue: Folgende Proc-Einstellungen würde ich noch empfehlen:

Thx für die Info, wurde erledigt! :)

An und für sich dürften Hacker bei der SSH ja keine Chance mehr haben, sofern ich alle IP-Adressen außer meiner durchlasse, oder?
 
@codc: Zumindest die automatisierten Bruteforces via Bot werden damit schonmal abgehalten und wie du schon richtig sagtest: Es hält wenigstens Skript-Kiddies fern, von deren Klicke-Bunti-Lad-ich-mir-bei-Astalavista-Tools nicht gerade wenige im Netz unterwegs sind.

Ich weiss das weil ich die auch täglich in meinen Logs sehe. Aber Key-file und passwort-auth aus und root login verbieten reicht aus um das Geseuch - einer hat mal geschrieben 'das Rauschen im Internet' - ins Leere laufen zu lassen.

Hab das mal eine Weile mit portknocking/iptables geblockt weils mir auf den Nerv ging was aber dank einer veränderten Netztopologie heute unpraktisch ist bzw. mir die Zeit gefehlt hat das wieder neu aufzusetzen.

An und für sich dürften Hacker bei der SSH ja keine Chance mehr haben, sofern ich alle IP-Adressen außer meiner durchlasse, oder?

Umgekehrt meinst du wohl. Wenn du eine feste IP hast ja. Würde ich aber nicht machen. Key-files sind IMHO genau so gut.
 
Zuletzt bearbeitet:
@codc: Wohl wahr, aber wenn sie den gewohnten Port nicht offen vorfinden, versuchen sie es garnicht erst, was ein wenig Traffic spart.
 
OT: Zumindest bei mir kommt so viel Müll aka Traffic rein dass das bischen nicht weh tut. Schlimmer sind bei mir der ganze Mist von Spammern der mir den Postfix mit Mails zumüllt oder aber Relay-Versuche.
 
Komisch, geht nicht

Code:
        # auf Broadcast-Pings nicht antworten
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        # halt die Klappe bei komischen ICMP Nachrichten
        echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        # Kicke den ganzen IP Spoofing Shit
        # (Source-Validierung anschalten)
        echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
        # Setze Default-TTL auf 61 (Default fuer Linux ist 64)
        echo 61 > /proc/sys/net/ipv4/ip_default_ttl
        # sende RST-Pakete wenn der Buffer voll ist
        echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
        # warte max. 30 secs auf ein FIN/ACK
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
        # unterbreche Verbindungsaufbau nach 3 SYN-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
        # unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_synack_retries

?( Wie jetzt, bei mir gets nicht ( als root )
echo "0" >> /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
-su: /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses: Permission denied

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
-su: /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts: Permission denied

Die Dateien gibt es auch, habs auch mit nano/pico versucht, ging aber auch nicht...
Was muss ich machen?
 
Entweder ist das "immutable bit" bei diesen Dateien gesetzt oder du versuchst mit einem vServer, diese Operationen auszuführen. Da geht nämlich sowas nicht, da die auf Virtuozzo basierenden vServer über keinen eigenen Kernel verfügen.
 
Ich dachte es ginge um das Thema Sicherheit VServer, Sorry.
Werde mich wohl geirrt haben.
 

Ähnliche Themen

Mit ldapsearch das Active Directory durchsuchen

SSD sicher löschen

Keine grafische Oberfläche (Debian Installation)

"non blocking console input" wieder rückgängig machen?

Freie Software auf dem Smartphone

Zurück
Oben