Frage zur Sicherheit und Distribution

  • Tach,


    ich betreibe schon seit Jahren einen Server bei mir lokal, auf welchen ich und andere immer per dynDNS zugreifen konnten, wenn es erforderlich war. Vor ein paar Tagen habe ich mich dazu entschieden einen vServer zu bestellen, damit ich a) eine feste IP habe, b) mehr Leistung/Geschwindigkeit bekomme und c) nachts ohne störende Geräusche schlafen kann. Auf dem Server sollen diverse Dinge wie SVN, CVS (ja auch) oder Cronjobs laufen.


    Da mir das Thema Sicherheit bei mir lokal auf dem Server nicht sehr wichtig war, habe ich mich natürlich informiert.


    Mir stellt sich jetzt die Frage inwiefern ein neu aufgesetztes Debian durch VCP sicher ist. Kann ich erstmal davon ausgehen, dass bei einer Neuinstallation alles sicher ist und ich mir keine Sorgen machen brauche oder muss ich da schon die Configs (z.B. im Apache) durchgehen?


    Ausserdem würde es mich freuen, wenn jemand mir kurz den Unterschied zwischen der 32-Bit und 64-Bit Versionen der Distributionen für einen vServer erklären könnte. Mir ist natürlich bewusst was für Vorteile ich durch ein 64-Bit System bekomme aber inwiefern ist es z.B. für meinen Server relevant, der sowieso nur begrenzten Speicher und Leistung hat.


    Ich bin ein wenig paranoid und sicher mich gerne vorher ab bevor nur Chaos dabei rauskommt.

  • Moin,
    nach einer neuinstallation/frischen bestellung ist es erst mal am wichtigsten den SSH Server absichert. Das enthält folgendes:

    • Root Login verhindern
    • Password Login verhindern
    • Login nur mit Public/Private Keys
    • SSH Port in den 6000er Bereich verlegen (optional, hält aber das Log vor irgendwelchen Bot Versuchen sauber)
    • XForwarding und anderen überflüssigen quatsch deaktivieren
    • Um Login Spoofing zu verhindern einen Maximalzeit einstellen, wie lange der Login dauern darf. Da reichen meist 30 Sekunden


    Beim Apache usw muss man natürlich auch Hand anlegen. Was Du da nun genau machst, sei Dir überlassen. Allerdings wäre mir die Standardkonfiguration mit SysCP und phpmyadmin zu unsicher. Habe in meinen Logs Tonnenweise Einträge, wo ein Bit versucht mein PhpMyAdmin zu knacken.


    Aber wie gesagt. SSH absichern ist erst mal das wichtigste.

  • Hi und danke für die erste schnelle Antwort.


    Zitat von sim4000;6368

    Root Login verhindern


    Ich habe mir schon privat angewöhnt nie mit dem root zu arbeiten, wesshalb ich auch auf dem vServer sofort einen neuen user erstellt und den root Zugang unterbunden habe.


    Zitat von sim4000;6368

    Password Login verhindern
    Login nur mit Public/Private Keys


    Was meinst du damit genau? Mein Passwort nicht weiterzugeben oder via SSH die Keys nutzen? Ich denke mal du meinst zweites, also soll ich meinen Key am besten extern irgendwo (z.B. USB Speicher) auslagern.


    Zitat von sim4000;6368

    SSH Port in den 6000er Bereich verlegen (optional, hält aber das Log vor irgendwelchen Bot Versuchen sauber)


    Das mit dem Port umlegen ist natürlich eine gute Idee um sich nochmal abzusichern. Werde ich sofort machen.


    Zitat von sim4000;6368

    Um Login Spoofing zu verhindern einen Maximalzeit einstellen, wie lange der Login dauern darf. Da reichen meist 30 Sekunden


    Irre ich mich oder ist Login Spoofing nichts anderes als ein Trojaner? Da ist es doch egal ob ich innerhalb 30 Sekunden meinen Login irgendwohin verschickt habe oder es länger dauert.


    Mit Apache kenn ich mich eigentlich sehr gut aus und hab da nicht die größten Bedenken. Die Config dort werde ich sowieso nochmal durchgehen und mir anpassen aber auf phpMyAdmin sollte es dann doch schon laufen

  • Zitat von KaaN;6370

    Ich habe mir schon privat angewöhnt nie mit dem root zu arbeiten, wesshalb ich auch auf dem vServer sofort einen neuen user erstellt und den root Zugang unterbunden habe.


    So habe ich das auch gemeint. Root Login im SSHd verbieten, sich mit einem normalen Benutzer anmelden und dann via "su" zum root werden. Man kann auch zusätzlich noch mit der Option AllowUser/AllowGroup arbeiten. Damit kann man die SSH Berechtigten noch weiter eingrenzen.
    Ich habe beispielsweise noch einzelne User für IRC Server usw angelegt. Damit die nicht SSH nutzen dürfen steht bei AllowUser nur mein Hauptbenutzer drin.


    Zitat von KaaN;6370

    Was meinst du damit genau? Mein Passwort nicht weiterzugeben oder via SSH die Keys nutzen? Ich denke mal du meinst zweites, also soll ich meinen Key am besten extern irgendwo (z.B. USB Speicher) auslagern.


    Man kann mit der Option PasswordAuthentification no den Login mit einem Passwort verbieten. Bevor man diese Option aktiviert sollte man natürlich einen gültigen SSH Key generiert haben. So kann man einen Einbruch via Bruteforce zu 99,9% ausschießen.


    Zitat von KaaN;6370

    Irre ich mich oder ist Login Spoofing nichts anderes als ein Trojaner? Da ist es doch egal ob ich innerhalb 30 Sekunden meinen Login irgendwohin verschickt habe oder es länger dauert.


    Also ich verstehe darunter, dass von einem Botnetz via SSH eine Authentifizierung angefordert wird, diese aber nicht abgeschlossen wird. Sprich putty starten und dann nichts machen. Passiert das mit genug Usern gleichzeiting, kann man den ganzen Server lahm legen. Wenn man ein recht strenges Timeout angibt, kann diese Gefahr verringert werden.


    Zitat von KaaN;6370

    aber auf phpMyAdmin sollte es dann doch schon laufen


    Das ist klar. Aber phpmyadmin sollte auf HTTP Authentifizierung umgestellt werden und der Ordner setup/ sollte entweder Rekursiv chmod 000 bekommen, oder gelöscht/verschoben werden. Um ganz sicher zu gehen.

  • Zitat von KaaN;6367

    Kann ich erstmal davon ausgehen, dass bei einer Neuinstallation alles sicher ist und ich mir keine Sorgen machen brauche oder muss ich da schon die Configs (z.B. im Apache) durchgehen?


    Das System mittels APT gleich einmal zu aktualisieren ist hoffentlich selbstverständlich :)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Danke für die Antworten!


    Wie ich die User bei mir anlege muss ich mir noch überlegen, da ich bei mir sonst immer alles über einen laufen lassen habe.


    Das mit dem SSH Key Login macht zwar noch ein wenig Probleme (Linux->Linux geht Windows(Putty)->Linux nicht) aber das kriege ich schon hin.


    Setup Ordner bei solchen Dingen wie phpMyAdmin oder anderen Scripten sollte man natürlich immer löschen.


    Natürlich hab ich auch das System sofort aktualisiert. Ich probiere momentan noch viel rum, deswegen würde ich hier nochmal auf die Frage 32-/64-Bit eingehen. Welches System empfehlt ihr und vorallem warum? Mir scheint es egal zu sein wofür ich mich entscheide aber in der Wiki habe ich beispielsweise eine Empfehlung für 64-Bit bei Gameservern gelesen. Mich interessiert das Thema Gameserver nicht aber warum sollte man dafür eine 64-Bit Distri installieren? Solange ich nicht mehr als 2^32 Bit Speicher benötige/besitze ist es doch egal oder nicht? Mir ist aber aber auch klar, dass bei einem 64-Bit System die Geschwindigkeit beim Speicherzugriff erhöhen lässt aber ist das so relevant bei nur 200/600 MB die mir zur Verfügung stehen?


    An Scaleo: Danke für deinen Link, der scheint genau meine Sicherheitsfragen abzudecken.


    MfG

  • Zitat von KaaN;6438

    Das mit dem SSH Key Login macht zwar noch ein wenig Probleme (Linux->Linux geht Windows(Putty)->Linux nicht) aber das kriege ich schon hin.


    Für Windows muss der SSH Key konvertiert werden. Was das für einen sinn macht? FRAG MICH NICHT! ;)


    http://www.chiark.greenend.org…atham/putty/download.html
    Lade dir da den PuTTYgen runter. Der wandelt den Key in das richtige Format um, dann geht es.


    Zitat von KaaN;6438

    deswegen würde ich hier nochmal auf die Frage 32-/64-Bit eingehen. Welches System empfehlt ihr und vorallem warum?


    64 Bit, da es einfach keinen Grund gibt 32 zu nehmen. :) Auch wenn man es nicht groß merkt, ist es ein bissl schneller. Und für 32 Bit Anwendungen gibt es ja die ia32libs. ;)


  • Jau gestern bisschen gegooglet und herausgefunden, dass es neben dem normalen Putty Tool auch PuttyGen gibt. Habe es bisher nicht ausprobieren können aber vielleicht könnt ihr mir schonmal eine Frage beantworten, bevor ich nach Hause komme. Reicht es 1 public Key für einen User anzulegen und dann mit dem dazugehörigen private Key von jedem Rechner und jedem System sich einzuloggen oder werden in dem Key je nach generiertem Ort auch systemspezifische Dinge gespeichert? Um es vielleicht einfacher auszudrücken: Kann ich mich von Rechner A (Linux) oder Rechner B (Windows) oder Rech... auf meinen Server einloggen ohne jedes Mal einen Key zu benutzen, welcher für/mit diesen/m Rechner generiert wurde? Vorallem interessiert mich jetzt die Frage, weil du sagst, dass man in Windows einen konvertierten Key benutzt.


    Danke für die Beantwortung der 64-Bit Frage. Ich hab genauso gedacht wie du, weil ich mir schon dachte, dass ich ja eigentlich nichts falsch machen kann, wenn meine Annahme stimmt oder auch nicht. Denn in jedem Fall wäre das System gleich.

  • Einen private Key kann man von überall verwenden, weswegen man den IMMER mit einem Passwort versehen sollte. Wenn der mal geklaut wird, wirds böse. Optimum wäre es, die Keys auf einem verschlüsseltem USB Stick zu speichern.


    Zitat

    Ich hab genauso gedacht wie du, weil ich mir schon dachte, dass ich ja eigentlich nichts falsch machen kann, wenn meine Annahme stimmt oder auch nicht. Denn in jedem Fall wäre das System gleich.

    Bei Servern ist es wie gesagt wumpe. Da Die Repos ja alle Serverdienste für alle Architekturen mitbringt. Bei Workstations ist das was anderes. ;)

  • Der Key kommt nicht weg keine Sorge :p Wie anfangs erwähnt bin ich ziemlich paranoid, wenn es um sowas geht. Ich habe mir schon den USB Stick für den Key ausgesucht ^^ Der Server ist auch momentan immer heruntergefahren, wenn ich nicht dran arbeite, weil ich erst zu 99% sicher sein möchte, dass ich jetzt eine gewisse Sicherheitsstufe erreicht habe um ihn dauerhaft laufen zu lassen.


    Ok danke für die vielen, guten und schnellen Antworten. Da ich keine weiteren Fragen mehr habe, kann der Thread gerne als gelöst markiert oder geschlossen werden.

  • zu dem 32/64bit möchte ich noch etwas anmerken.... ein 64bit Systm mit den 32bit libs belegt mehr ram als ein 32bit System, weshalb ich auf dem Bronze Server auf 32bit umgestiegen war (seither nicht neu aufgesetzt). Das 64bit system belegt auch von grundauf etwas mehr Speicher (kann ich hier lokal auf 3 System immer wieder feststellen debian, ubuntu und gentoo) es ist nicht viel mehr aber bei kleinem RAM-Kontingent macht es schon etwas aus... Damit möchte ich nun niemandem von dem 64bit-System abraten, ganz im gegenteil...ich nutze überall wo es möglich ist 64bit-Systeme .

  • Man sollte bedenken, dass es manche Anwendungen nicht für 32Bit gibt, das sollte vorher unbedingt überprüft werden!
    Umgekehrt kann einem das durch die 32Bit Libs nicht passieren :)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Der unterschied vom ram der mir auf verschiedenen system auffiel sind 7 MB und der macht den braten auch nich fett ^^ also von daher würd ick och immer zu 64 bit greifen definitiv und was linux einmal im ram hat bleibt da ja sowieso drin.
    Das was ich noch gesehn hab ist das die 7 MB einfach von dem ein oder andern dienst sind die auf dem 32 bit system standart mässig nicht mitlaufen


    wollte das auch nur mal erwähnt haben ^^