DebSec - Simples Security Check Script für Debian Server

  • Da ist was dran :D


    Vielleicht einen Einzeiler in die Readme packen, a la apt-get install -y git && git clone https://codeberg.org/wh0ami/debsec && cd debsec/ && bash securitycheck.sh


    EDIT: Und vielleicht noch in der Readme erklären, dass man das mit Rechtsklick in Putty einfügen kann


    EDIT2: Vielleicht sollte noch geprüft werden ob eine Firewall installiert/aktiv ist und ob diese grundsätzlich eingehende Verbindungen blockiert?

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Hecke29 Biddö sowas hier rein, dankö. :)

    Hast du denn in deiner Config auch die Einstellung "AuthenticationMethods publickey" gesetzt? Falls nein: Wenn die nicht da ist, meckert das Script auch rum. ;)


    Die README ist bisher recht schnell und schlampig gemacht. Da hatte ich mir noch nicht so die Zeit dafür genommen... habe es gerade mal eben etwas angepasst... noch nicht perfekt, aber ausreichend, denke ich.


    Das mit der Firewall habe ich im Hinterkopf, wollte mich aber noch nicht so recht bei dem wie festlegen. Also klar könnte man sagen, man checkt, ob die Files von iptables-persistent da und größer Null sind, aber was ist, wenn z.B. nftables genutzt wird? Ich bin da noch etwas unschlüssig vom "wie".

    Wenn jemand Ideen hat - her damit. :)

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber

  • Du könntest von außen einen Port Scan machen, müsstest dann allerdings die Infrastruktur dafür bereit halten.

    Evtl gibt's einen solchen Dienst mit API.

    Wenn du dabei bist kannst du auch gleich die Zertifikat Kette und Verschlüsselungs Einstellungen der verschiedenen Services (z.b. web Server) überprüfen.

  • Du könntest von außen einen Port Scan machen, müsstest dann allerdings die Infrastruktur dafür bereit halten.

    Evtl gibt's einen solchen Dienst mit API.

    Wenn du dabei bist kannst du auch gleich die Zertifikat Kette und Verschlüsselungs Einstellungen der verschiedenen Services (z.b. web Server) überprüfen.

    oder einfach direkt vom Server nach offenen Ports schauen?

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Wenn direkt auf dem Server geschaut wird, weißt du nicht ob es keine externe fw gibt

    Das Script ist ja hauptsächlich für Anfänger, die werden keine externe FW haben - und wer doch eine hat, wird das wissen.

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Ich finde es eine tolle Initiative, die ich auch im längsten Thema gleich gelobt habe.


    Der Hinweis auf eine ausgereifte Lösung in diesem Bereich mit "Lynis" ist denke ich naheliegend, aber es ist durchaus Platz für dieses neue, reduzierte, übersichtliche Projekt für welches ich mir einen guten Start wünsche.


    Man kann damit auch mehrere Server gut vergleichen nach der Ersteinrichtung. Ich sehe das Script als eine Art Checklist.

    Das Readme ist sicher für den Einsteiger ein Knackpunkt. Die Infos hier im Thread über die Installationsmöglichkeiten gehört dort gut präsentiert.

  • Bezüglich der Firewall Thematik - naja.

    Ich möchte gerne auf Dienste von außen verzichten.


    Was ich halt nicht weiß - kann man mit nmap das eigene System scannen? Aber selbst da - nmap Scans dauern recht lange. Ich weiß nicht, ob das so das Gelbe vom Ei ist, mit Portscans zu arbeiten.


    Ich werde mir die Thematik am Wochenende nochmal näher zur Brust nehmen und dann schaue ich mal, was Sinn macht, und was nicht.


    Was mir auf jeden Fall noch in dem Kopf kam: Ein Scan, ob die bekannten verdächtigen Prozesse als root ausgeführt werden. Das betrifft vor allem mal Minecraft und Teamspeak3, für weitere Vorschläge wäre ich dankbar...

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber

  • Was ich halt nicht weiß - kann man mit nmap das eigene System scannen? Aber selbst da - nmap Scans dauern recht lange. Ich weiß nicht, ob das so das Gelbe vom Ei ist, mit Portscans zu arbeiten.

    Mit Parameter "-F" scannt man die 100 gebräuchlichsten Ports, und das schnell (vgl. Nmap Cheat Sheet) :

    Bash
    #!/bin/bash
    for IP in $(ifconfig | egrep inet\ | sed -e 's|  [BPMnp].*||' -e 's|.* ||' -e 's|addr:||'); do nmap -F $IP; done
    for IP in $(ifconfig | egrep inet6\ | sed -e 's|  [np].*||' -e 's|addr: ||' -e 's| Scope:.*||' -e 's|.* ||'); do nmap -F -6 $IP; done

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Zum obigen Script-Beispiel: Das Ausgabeformat von ifconfig hat sich beispielsweise zwischen Ubuntu 16.04 und Ubuntu 18.04 geändert. Sinnvollerweise würde man heutzutage sowieso eher ip address show verwenden, aber die Filterung der Ausgabe sollte grundsätzlich in Abhängigkeit der Angaben aus /etc/os-release vorgenommen werden.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • MVD? Meintest Du vielleicht MVL? 8)

    Prinzipiell ja, aber die Mindestvertragsdauer ist hier (AT) trotzdem eine gängige Alternative – vor allem in Telekommunikationsbereich und sogar in Rechtssprechungen… :P

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

  • Die Netzwerkkonfiguration liegt unter /etc/network/interfaces.d. Ist es möglich, dass die Konfigurationen in diesem Ordner auch geprüft werden?

    Das habe ich nun eingefügt. Es wäre super, wenn du es mal testen würdest. :)


    Ich habe nun auch mal die Portscan Idee von m_ueberall umgesetzt - wäre nett, wenn man da mal Feedback hören könnte. :)

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber

  • Eventuell sind hier noch Bugs in der aktuellen Version des Skripts:

    Es wird Logs auf low beanstandet bei:

    # Logging

    SyslogFacility AUTHPRIV

    LogLevel VERBOSE


    Es wird erlaubte Passwortauthentifizierung beanstandet bei:

    PasswordAuthentication no

    #PermitRootLogin yes

    PermitRootLogin prohibit-password

    AuthenticationMethods publickey


    Kann man mit den neuen Regeln UFW testen? Ich glaube es sollte unabhängig sein, oder?