SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von LukaszRT, 18.08.2015.

  1. #1 LukaszRT, 18.08.2015
    LukaszRT

    LukaszRT Grünschnabel

    Dabei seit:
    18.08.2015
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo

    Ich bin andauernd Opfer einer Brute Force Attacke. Die IPs die fehlerhafte Logins produzieren werden nach dem 3ten Versuch gesperrt. Aber das Problem ist, dass der Hacker XY IPs hat und trotzdem jeder Stunde hunderte wenn nicht tausende Passwörter probiert. Mittel verschiedener Botnetze. Er hat also hunderte IP tunnel.

    Nun will ich folgendes bewirken. Ich will dass der SSHD praktisch nur noch eine einzige IP zulässt. Und zwar die meines zweitservers (statisch). D.h. dass SSH nur noch über diesen PC Login versuche akzeptiert. Alle anderen IP dürfen sich nicht einloggen. Und somit den SSH überhaupt nicht nutzen gar irgend ein Login Versuch unternehmen.

    Dazu möchte ich diese IP Adresse in einer Textdatei auf dem Server speichern. Um mir ggf. mittels FTP oder ähnlichen eine hintertür offen zu lassen. Wer hat eine Idee wie ich das bewerkstelligen kann?

    Gruß und Danke
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HeadCrash, 18.08.2015
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hi,

    auf die Schnelle gibt es hier zwei mögliche Ansätze.
    Der Erste ist, alles außer deinem Server per Firewall/IPtables sperren.
    Der Zweite, mittels /etc/hosts.allow nur SSH von deinem Server erlauben.

    Lektüre für beides https://www.debian-administration.org - Keeping_SSH_access_secure.

    Wenn du dir gedanken um dein Passwort machst, kanns tu SSH auch so Konfigurieren, das nur Logins nur mittls SSH-Key funktionieren.

    mfg
    HeadCrash

    PS:
    Pass auf das du dich dabei nicht selbst aussperrst :D, wärst nicht der erste :D
     
  4. #3 LukaszRT, 18.08.2015
    LukaszRT

    LukaszRT Grünschnabel

    Dabei seit:
    18.08.2015
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo

    Also das mit dem /etc/hosts.allow hat schon mal wunderbar geklapt und es hat sich sofort ausgehackt gehabt. Super Sache. Nun würde ich dort aber noch eine IP aus einer extrenen Datei einlesen aber wie?

    sshd: 48.5.xxx.xxx
    sshd: /opt/data/ip.txt

    so scheints nicht zu funktionieren! Die IP 45..... erkennt er. Aber die IP aus der Textdatei nicht.
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    Was spricht gegen ssh-Keys? Damit hat es sich per se "ausgehackt", ohne daß Du irgendwelche kruden Hintertürchen einbauen musst.
     
  6. #5 LukaszRT, 19.08.2015
    Zuletzt bearbeitet: 19.08.2015
    LukaszRT

    LukaszRT Grünschnabel

    Dabei seit:
    18.08.2015
    Beiträge:
    5
    Zustimmungen:
    0
    Also es spricht so nichts gegen SSH-Keys außer eben dass er dann den Port noch belasten kann. Ich habe es jetzt mittlerweile ja hinbekommen, sodass er die IP aus der txt Datei berücksichtigt. Das Problem war ja nur das, dass ich den SSH Service neu starten muss. Das mache ich jetzt via Cronjob alle 30 Minuten. Zudem habe ich mir jetzt was gebastelt, dass er ca. 12 Statische IPs akzeptiert, damit ich mich nicht ausschließe.
    Das gute ist natürlich dass er nun gar keinen Conncet mehr annimmt. Das ist meiner Meinung nach echt toll. Weil die Verbindung gar nicht erst aufgebaut wird, sondern das ganze wird halt sofort abgewiesen.
    Prinzipiell brauche ich nur noch ein Script mittels der ich weitere IPs in diese TXT Datei anfügen kann, wenn ich mich Mal doch ausschliessen sollte. Ein oder 2 eigene Backdoors. Hierzu würden mir 2 Dinge einfallen.

    1.) Soll der Server selbst anfragen ob sich die IP geändert hat. Hier denke ich zum Beispiel auch an DynDNS womit ich schnell und flexibel eine neue IP mitteilen kann falls irgendwie notwendig.
    2.) Soll ich dem Server von außen eine IP übermitteln z.b. über FTP oder CGI Script
     
  7. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    Ehrlich gesagt finde ich das eine umständliche, fehleranfällige Lösung für ein nicht-existierendes Problem.

    Um es wenigstens halbwegs "professionell" zu haben - schau Dir mal Port-Knocking an.
     
  8. #7 LukaszRT, 19.08.2015
    Zuletzt bearbeitet: 19.08.2015
    LukaszRT

    LukaszRT Grünschnabel

    Dabei seit:
    18.08.2015
    Beiträge:
    5
    Zustimmungen:
    0
    Also wenn ich mir das gerade durchgelesen habe ist es doch prinzipiell das Selbe. Mit dem Unterschied dass dort der Port geöffnet wird. Das Problem beim Protknocking ist ja dass der Server ja trotzdem für die Abfolge lauscht. Zumindest so wie ich es überflogen habe: https://de.wikipedia.org/wiki/Portknocking

    Ich kenne mich nicht insoweit aus. Und deshalb kenne ich bestimmte professionelle Lösungen gar nicht erst. Es gibt ganz bestimmt bessere Lösungen. Mit wenigen kniffen funktioniert meine vorerst halt auch. Und das mit 2 oder 3 Zeilen Code. Ich kann dies auch der Professionalität her bestimmt nicht so einschätzen wie Du. Wichtig ist mir halt das ganze zu unterbinden. Ich habe ja eigentlich ja gar kein Problem. Einzige was ich jetzt nur machen muss ist halt sich auf einen meiner anderen statischen Server zu verbinden um von denen aus mittels SSH auf den Server zuzugreifen. Im Prinzip kann man getrost sagen ein unprofessioneller Tunnel. Da muss ich dir wohl im Prinzip vollkommen Recht.

    Darüber hinaus habe ich noch die weniger professionelle Lösung genommen, ein kleinen Backdoor einzubauen. Für den Fall der Fälle z.B. mittels FTP/DYDNS die Möglichkeit eine weitere IP anzugeben, falls ich zum Beispiel im Urlaub notmäßig was erledigen muss. Klar ist das nicht professionell. Aber auch kein Aufwand. Ich brauche im Prinzip nur eine Shell mit 5 bis 6 Zeilen Code.

    Das habe ich vorgenommen:
    1.) Eintrag in /etc/hosts.deny
    Das Ganze war jetzt mal abgesehen von der Theorie die Zeit und Hilfe von Euch in Anspruch genommen hat, zum nachmachen oder wiederholen eine Arbeit von 10 Minuten. Also nix wildes. Und es funktioniert. Und ich wüsste auch nicht ganz wo die Gefahren sind. Denn wenn irgend was beim Abgleich schief geht, dann bleiben Statische IPs. Und zum Schluss immer noch der Remote Zugriff vom Provider vor Ort. Zudem bleiben meine Statischen Server immer Login Berechtigt. Der anderen Sicherheit halbe sind ja alle Anderen Verbindungen abgewiesen.

    Ich denke Mal wenn ich es zumindest selbst gemacht hab, verstehe ich auch vollkommen wie ich es gemacht habe und wie es auch funktioniert. Ich bin sicher weder Guru noch Experte. Aber den Port hab ich erst Mal da wo ich ihn haben wollte. Insofern bin ich auch dankbar für die Hilfe.

    Zu aller letzt bleibt immer noch die RemoteHand auf 127.0.0.1 aber von außen mit einer Fermden IP noway.

    Ich weis nur eines. Ich habe Monate lang BF Attacken gehabt. Da bat ich sogar meinen Provider um Hilfe der per Remote Firewall und alles gemacht hat. Und trotzdem war meinte AUTH Log voll fehlherhafter Login Versuchen. Und zwar manchmal tausende die Stunde. Und nun habe ich seit 48 Stunden Ruhe. Nicht ein Eintrag. Firewall hin und her. Und IP Tables super Sache. Allerdings bringt das nichts wenn ständig eine andere IP sich anmeldet. Wenn der Hacker ein Pool von praktisch unendlich IPs nutzt nützt die Firwall auch nichts. Ausserdem hat er immer hin 1 2 oder 3 Loginversuche je IP bis er in der Table landet. So hat er genau genommer erst mal nicht 1 einzigen Versuch.

    Also zumindest der Effekt ist da. Ich habe zumindest nicht ein einzigen Faillogin in der Auth mehr. Das SSH kann er so erstmal vergessen.

    Und jetzt fass ich mal zusammen.
    Er kann jetzt 3 oder 4 IPs nutzen. Dazu muss er wissen welche. Und wenn er diese nutzt, d.h. andere Server hackt oder den Backdoor ausnutzen kann, dann bleibt ihm für diese IPs immer nur noch 2 Login Versuche je erlaubte IP ehe er 30 Minuten gesperrt ist. Und das sind ca. 5 IPs die ich zulasse. Jeder interligente Hacker weiss dass dies Zeitverschwendung wäre. Und würde dann vermutlich was anderes attackieren.

    Jetzt kann er sich einfach in irgend ein IP Bot netzt einloggen und ins Fäustchen lachen dass er nach 3 Versuchen von der Firewall gesperrt wurde, weil er ja die nächsten 3 Versuche mit den nächsten IP macht. Einfach sinnlos sowas. Das einzige was ihm erschwert wird ist hier der Zugriff auf ein Botnetz wie für das Anonyme Surfen fast jeder Hacker doch ehe hat. Der hat jetzt also z.B. auf einerm Rechner 10 Vserver mit nem kleinen Script hat er je IP 3 Versuche dann IP wechsel sagen wir also 3 Versuche je 5 Sekunden o.ä und VServer dann hat er in der Minute 30 Logins je V-Server und 300 Die Miunte je PC. Wenn er 5 Kisten hat kann er soch tausende Loginversuche die Minute machen. Klar landet die IP in der Table aber das macht ja nix.

    Bsp: 1PC x 10 Vserver x 3 Loginversuche je 5 Sekunden je IP Wechsel = 21.600 Loginversuche / Stunde

    Genau so hat er es praktisch bei mir gemacht.

    Und ja knocking (kenne mich nicht aus) dürfte doch auch die Angriffsfläche bieten wenn ich selbst mich verbinde. Oder mein PC ber SSH sein Backup abholt oder ähnliches. In vielen Fällen muss der Port geöffnet werden. Wenn dass dann so ist und der Backup läuft kann er dann wieder 10.000 Passwörter probieren.
     
  9. #8 karloff, 19.08.2015
    karloff

    karloff Routinier

    Dabei seit:
    09.07.2007
    Beiträge:
    317
    Zustimmungen:
    0
    Ort:
    ~/
    Hast du schon mal daran gedacht SSH einfach auf nen anderen Port zu legen?
    Also wenn es nur irgendwelche script kiddis sind die einfach hosts scannen ob da ssh drauf läuft bist du die quasi damit auch schon los.
     
  10. #9 LukaszRT, 19.08.2015
    LukaszRT

    LukaszRT Grünschnabel

    Dabei seit:
    18.08.2015
    Beiträge:
    5
    Zustimmungen:
    0
    Ein Portscan sollte ja eigentlich eine kleine Hürde sein. Da kann er sogar Standarttools nutzen. Das würde er denke ich als erstes machen auf der Suche nach Lücken.
    Es ist eine harte Maßnahme. Aber wirksam und ich denke an dieser Stelle auch notwendig. Interessant ist mein Server deshalb weil es was zu stehlen gibt. z.B. Prepaidcard Codes.
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    (1) Standard
    (2) Oh je.

    ... ich sehe schon, ein paar Grundlagen sollten da durchaus noch nachgearbeitet werden. Sorry, aber viele von Deinen Gedanken oben sind falsch - und wie bereits mehrfach gesagt ließe sich das alles völlig problemlos durch ssh (nur) mit key-auth erledigen ohne auf irgendwelche IPs einschränken zu müssen. Ein IP-Filter ist immer nur ein zusätzlicher Schutz...
     
  13. #11 karloff, 21.08.2015
    karloff

    karloff Routinier

    Dabei seit:
    09.07.2007
    Beiträge:
    317
    Zustimmungen:
    0
    Ort:
    ~/
    Ah, jetzt erfährt man auch zum ersten Mal das es nicht der ganz normale Beifang ist...
    Kann marce da nur Zustimmen und es ggf. um die Idee erweitern, dir nen VPN aufzusetzen und darin dein SSH gedöns zu machen.
    OpenVPN hat z.B. die Option port-share damit kannst du es z.B. auf dein https port legen, so ist er quasi unsichtbar auch vor regulären portscans, wenn du ssh dann nur über den vpn tunnel machen würdest, sähe es von außen so aus als wäre er überhaupt gar nicht fern-wartbar auf normalem Wege.
     
Thema:

SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

Die Seite wird geladen...

SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird - Ähnliche Themen

  1. Reiner Anonymous login

    Reiner Anonymous login: Hallo, ich hätt mnal wieder n Server Problem... System: SuSe 10.2 Proftpd und Webmin und ein paar Daten... also das ganze soll ein Server für mein...
  2. Solaris Login mit Active Directory User

    Solaris Login mit Active Directory User: Hallo zusammen, Ich arbeite daran unsere Solaris Systeme ans AD anzubinden. Teilweise ist mir das schon gelungen, teilweise stehe ich aber auch...
  3. Frage zu QNX - habe login nie gefunden

    Frage zu QNX - habe login nie gefunden: ′
  4. Root Login nach installation ohne Desktop Environment

    Root Login nach installation ohne Desktop Environment: Hey, Ich habe mir gerade Linux Debian 8 auf meinen alten PC gezogen und bei Desktop Environment das Sternchen rausgenommen, da das ja bei nem...
  5. Auto-Login auf Slackware

    Auto-Login auf Slackware: Hi, Ist gegen ein Auto-login auf einem nur privat zugänglichem Rechner (SL-13.37) grundsätzlich etwas einzuwenden? Und (falls nicht), wie am...