denyhosts - Bad IPs komplett Blocken + root-catch

  • Ich habe mir mal denyhosts installiert "apt-get install denyhosts" und eingerichtet.


    Funktioniert auch soweit alles. Bisher hatte ich bei den bösen IPs immer nur den "sshd" Service geblockt, dass möchte ich nun aber ändern:


    1. Die bösen IPs sollen komplett geblockt (alle Dienste!) werden (sind ja eh zu 99,9% nicht aus DE).


    In der "etc/denyhosts.conf" also dann mit:


    HOSTS_DENY = /etc/hosts.deny
    DENY_THRESHOLD_INVALID = 1
    DENY_THRESHOLD_VALID = 3
    DENY_THRESHOLD_ROOT = 3
    BLOCK_SERVICE = ALL


    Da ich "denyhosts" so eingestellt habe, das man nach der dritten falschen Eingabe dann auch geblockt wird. Möchte ich auf jeden Fall verhindern das ich mich selber durch 3 x Fehleingabe komplett vom Server sperre *g*


    Da ich keine feste IP habe muss ich das halt anders regeln, mir würde auch reichen wenn ich zumindest immer reinkomme wenn ich meinen Provider nutze, da ich von dem Provider wiederum nicht alle IP-Kreise kenne, kann ich das nur über folgende Adresse lösen:


    Auszug aus der auth.log
    logname= uid=0 euid=0 tty=ssh ruser= rhost=ip-95-223-YYY-XXX.unitymediagroup.de


    Kann ich das auch mit "ip-95-223-YYY-XXX.unitymediagroup.de" irgendwie machen? sprich das ich alles durchlasse was die Kennung "*.unitymediagroup.de" hat?


    Ich also in "/var/lib/denyhosts/"


    Die Datei "allowed-hosts" anlege mit dem Inhalt:


    95.223.171.*
    unitymediagroup.de

    Laut dem was ich so per google über "denyhosts" gefunden habe, geht das mit "*" wohl nur wenn man mindestens die ersten 3 IP-Zahlen kennt?



    2. Das ich den "root" aus Sicherheitsgründen ändern sollte ist mir bekannt. Aber andererseits kommen ja auch da gezielt die Angriffe meistens drüber, kann man das nicht auch positiv nutzen wie folgt:


    per "etc/denyhosts.conf"


    den Eintrag "DENY_THRESHOLD_ROOT = 1" auf 1 setzen das nach dem ersten falschen root-Login die IP KOMPLETT geblockt wird von denyhosts, ich aber trotzdem selbst über die in Punkt 1. erstellten "whitelist"-Eintrag für meinen Provider noch reinkomme per "root" ?



    3. Ist die "/var/lib/denyhosts/allowed-hosts" vorrangig zu einem in "/var/lib/denyhosts/restricted-usernames" angelegten verbotenen user?


    a) Sprich also ich lege zB für mich einen pseudo-Namen an "cheffe", schreibe ihn in die "/var/lib/denyhosts/restricted-usernames" als verbotenen Namen, logge mich allerdings mit einer IP ein die in "/var/lib/denyhosts/allowed-hosts" steht, kann ich dann trotzdem mit dem Namen "cheffe" per ssh connecten?


    b) könnte ich so auch den "root" behalten, für alle sperren ausser wenn er von MEINER IP / unitymediagroup.de kommt ?

  • Gegenfrage zu Punkt 2.


    Warum denn überhaupt ein root login zulassen?


    Besser das erste login wird mit einem normalen Benutzer gemacht und root login wird komplett geblockt, ist dann also nur noch mittels "su" oder "su -" bzw. sudo möglich. Siehe "/etc/sshd_conf" und setze "PermitRootLogin no".

  • Zitat von inka;30762

    Gegenfrage zu Punkt 2.


    Warum denn überhaupt ein root login zulassen?


    Besser das erste login wird mit einem normalen Benutzer gemacht und root login wird komplett geblockt, ist dann also nur noch mittels "su" oder "su -" bzw. sudo möglich. Siehe "/etc/sshd_conf" und setze "PermitRootLogin no".


    Ja, das steht doch schon in meiner Frage drinne, dass mir das bekannt ist :) --> Zitat: "Das ich den "root" aus Sicherheitsgründen ändern sollte ist mir bekannt. Aber andererseits kommen ja auch da gezielt die Angriffe meistens drüber, kann man das nicht auch positiv nutzen wie folgt ...."


    Mir geht es darum, ob man diesen Effekt des direkten suchens nach eben dem "root"-Passwort nicht auch positiv nutzen kann in dem zB direkt der erste Fehlversuch per root zu connecten zur völligen Sperrung der IP genutzt wird.


    Gegenfrage, ich sperre root und dann? (Ok, in 95 Prozent der Fälle geht er zum nächsten Server direkt weiter) ... Der Angreifer (wenn auch selten) versucht es also dann anders wenn ich "root" unterbinde, den Weg müsste ich dann aber auch erst mal wieder finden und sichern usw. Daher ja meine Frage, warum nicht mal einen anderen Weg gehen und beim ersten Fehlversuch die IP "blacklisten"? "Schlüsselpaar"-Login ist auch klar das es eine Lösung wäre, aber warum nicht mal ein anderer Gedankengang? Ich habe eine relativ feste IP und könnte somit auch den Weg gehen alles was nicht von meiner IP ist, ist "böse" ...


    Nebenbei (das ist nicht der Hauptgrund!) arbeite ich zB oft mit WinSCP, da kann ich mich zwar mit einem anderen User einloggen, aber während einer Sitzung nicht per "su" auf "root" wechseln .... (glaub das geht nur sehr sehr umständlich dann mit Key-Auth)


    ... es ist doch nur mal ein "Gedankengang" :)