Bruteforceattacken auf Dropbear-SSH Server verhindern?

Ede_123

Neuer User
Mitglied seit
8 Apr 2007
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hi,

regelmäßig laufen auf meinen SSH-Server Bruteforce Attacken.

Meine Frage ist, wie ich diese am sinnvollsten/wirkungsvollsten blockieren kann.

Folgende Punkte sind mir dabei wichtig:
- Port 22 muss aus Firewallgründen leider genutzt werden
- Die Prozessorlast sollte gering bleiben (das ist auch der Hauptgrund, weshalb ich die Attacken gerne unterbinden würde)
- Passwortauthentifizierung wäre schön, wenn es jedoch etwas bringt ist auch Privatekeyauthentifizierung in Ordnung
- Mein Linuxwissen ist begrenzt, also bitte so einfach wie möglich. (Irgendwelche Scripte schreiben oder so ist nicht wirklich drin, am liebsten wäre mir eine Lösung die mit den Mitteln des DS-Mod auskommt)

Wenn ihr noch irgendwelche Fragen habt, dann stellt sie.

Ich freue mich auf eure Ideen,
Ede
 
Benutzt du den DS-Mod? Dort kannst du Passwort login komplett unterbinden und login nur noch per Zertifikat erlauben. Ich glaube, dann nimmt der Dropbear auch keine PW Anfragen mehr an.
 
Das einfachste ist ein sicheres Paßwort, also eines, das lang ist, Buchstaben und Ziffern gemischt, in keinem Wörterbuch vorkommt.
Ein anderer Port ist auch eine einfache Lösung.

Macht Dir die CPU-Auslastung Probleme mit der Box?

Es gibt Programme, die nach erfolglosen Anmeldeversuchen die IP-Adresse sperren, aber das lohnt sich nur, wenn es anderenfalls Probleme gibt.
 
@ AndreR
Weißt du ob die "bösen Bruteforcer" ihre Attacken dann abbrechen (wenn Passwortauthentifiezierung deaktiviert ist) oder ob sich die CPU-Last dann reduziert?


@ RalfFriedl
Ja, die CPU-Last macht von Zeit zu Zeit Probleme.
Kürzlich wurde ich von 4 IPs gleichzeitig "bombardiert", die CPU-Last meiner 7050 ging dabei auf konstant über 50% hoch.
Das ist auch der Hauptgrund weshalb ich hier anfrage, der Sicherheitsaspekt ist zweitrangig.
 
Hast du mal eine Log-file?

Ich nutze SSH per Portweiterleitung (andern Port als 22) mit eine selbst erstelltes KEY/Zertifikat mit PuTTYgen und habe auf meine PC wenn ich auf der Box gehe ein Pageant ablauft der das Key/Tertifikat erkennt was auf der Box ist eine Anmeldung erlaubt dort muss ich für den Key/Zertifikat noch ein PW in Pageant eingeben. PW abfrage in der BOX deaktiviert.
 
Ich vermute, daß schon mal eine gewisse CPU-Belastung nur dadurch entsteht, daß überhaupt die verschlüsselte Verbindung aufgebaut wird, noch bevor überhaupt versucht wird, eine Anmeldung auf welche Art auch immer durchzuführen.

Du kannst versuchen, im Quelltext von Dropbear eine Pause nach dem Annehmen einer Verbindung einzubauen. Dann kommst Du aber vermutlich bei einem Angriff selbst nicht mehr auf die Box.

Es gibt auch Skripte, die iptables Regeln einfügen, wenn sie einen SSH-Angriff erkennen. Dazu wird typischerweise das Logfile des SSH Servers analysiert. Dafür bräuchtest Du iptables auf der Box und ein Programm, das Sperren einfügt und nach einer gewissen Zeit auch entfernt.

Ob das mit Dropbear funktioniert und auf der Box machbar ist, zumal auf einer kleinen 7050, weiß ich nicht.
 
Ich hatte das Problem von Zeit zu Zeit auch. Bei mir hat ein Verlegen des Ports geholfen. Seitdem gibts keine Attacken mehr. Die hohe CPU-Auslastung kann ich bestätigen. Bei mir war sie über längere Zeit auf 100%.
Wenn du den Port nicht verlegen kannst, dann wäre eventuell knockd (Port-Knocking) noch interessant für dich.

MfG Oliver
 
Hi,

ich hatte ein aehnliches Problem mit dem ftp server:

http://www.ip-phone-forum.de/showpost.php?p=814547&postcount=17

Die Loesung mit der ansteigenden login Verzoegerung hat sich bestens bewaehrt, die Attacken enden meistens nach ~10 Versuchen, da scheinbar auf Angreiferseite dann time outs einsetzen.

Vielleicht kann ja einer einen Patch fuer den dropbear schreiben und in ds-mod integrieren.

Gruss,
Wolle
 
Vielen Dank für eure Antworten soweit!

Werde jetzt mal einen Private-Key verwenden und Passwortlogins deaktivieren, mal schauen ob das was bringt.

Mal Interessehalber: gibt es eigentlich eine Möglichkeit bestimmte IPs von der Fritzbox blocken zu lassen (ohne zusätzliche Programme wie iptables)? Glaube in der ar7.cfg nämlich mal was in die Richtung gesehen zu haben.
Falls etwas in diese Richtung möglich ist, wäre es doch eine interessante Idee ein DS-Mod Paket zu entwickeln, welches den Log nach Attacken durchsucht, und die entsprechenden IPs in eine Blocklist aufnimmt (also eine Art Autoban für die Fritzbox, die sich für SSH, FTP, HTTP, etc.-Server einsetzen lassen würde, eben alles was logs produziert ;-))



Update: Hat leider nichts gebracht im Bezug auf CPU-Auslastung.
Mein log sieht immer noch so aus:
Code:
Jan 29 19:50:20 fritz authpriv.info dropbear[3698]: Child connection from 218.200.169.234:61050
Jan 29 19:50:24 fritz authpriv.warn dropbear[3698]: login attempt for nonexistent user from 218.200.169.234:61050
Jan 29 19:50:25 fritz authpriv.info dropbear[3698]: exit before auth: Disconnect received
Jan 29 19:50:25 fritz authpriv.info dropbear[3700]: Child connection from 218.200.169.234:62220
Jan 29 19:50:29 fritz authpriv.warn dropbear[3700]: login attempt for nonexistent user from 218.200.169.234:62220
Jan 29 19:50:30 fritz authpriv.info dropbear[3700]: exit before auth: Disconnect received
Jan 29 19:50:31 fritz authpriv.info dropbear[3701]: Child connection from 218.200.169.234:63238
Jan 29 19:50:35 fritz authpriv.warn dropbear[3701]: login attempt for nonexistent user from 218.200.169.234:63238
Jan 29 19:50:36 fritz authpriv.info dropbear[3701]: exit before auth: Disconnect received
Jan 29 19:50:36 fritz authpriv.info dropbear[3702]: Child connection from 218.200.169.234:64193
Jan 29 19:50:41 fritz authpriv.warn dropbear[3702]: login attempt for nonexistent user from 218.200.169.234:64193
Jan 29 19:50:42 fritz authpriv.info dropbear[3702]: exit before auth: Disconnect received
Jan 29 19:50:42 fritz authpriv.info dropbear[3703]: Child connection from 218.200.169.234:1622
Jan 29 19:50:46 fritz authpriv.warn dropbear[3703]: login attempt for nonexistent user from 218.200.169.234:1622
Jan 29 19:50:47 fritz authpriv.info dropbear[3703]: exit before auth: Disconnect received
Auch an der CPU-Last hat sich nichts geändert :-(
 
Zuletzt bearbeitet:
moin doofe frage aber wo kann ich die logs anschauen!werden die im tmp Verzeichnis abgelegt? muss dazu sagen, dass ich mir ein pseudoimage erstellt habe also keinen dsmod drauf habe!

gruß und thx bolle
 
Du musst den syslogd (falls der im original AVM-Image funktioniert) aufrufen und ihm sagen wo er hinloggen soll.

MfG Oliver
 
danke, aber wie mach ich das genau?

:confused:
 
Da ich nicht auf die original ports angewiesen bin, habe ich damit keine Erfahrung.
Aber ich habe bei freetz inetd, knockd und den callmonitor "entdeckt".
Evtl. reicht es Dir ja, ereignisorientiert die Firewall zu modifizieren bzw. den Server zu starten/stoppen. Ereignisse wären hier bestimmte Portanfragen
oder Telefonie-Ereignisse.
 
Zwei Vorschläge zur Lösung:
1) "dropbear" so einrichten, dass dieser erst bei Bedarf per Telefonanruf gestartet und gestoppt wird
2) einen dropbear verwenden, der mit restriktiveren Parametern kompiliert wurde ( MAX_AUTH_TRIES, MAX_UNAUTH_PER_IP, MAX_UNAUTH_CLIENTS )
3) dropbear im "onlykey" Modus starten ( Option "-s" )

Ich hatte gleiche Probleme mit Bruteforce-Attacken und habe über diesen Ansatz das Problem umgangen und mein dropbear ist nur dann aktiv, wenn ich diesen auch benötige ;-)

Den dropbear-Output kann man auf stdout ( mittels Option "-E" ) und von dort in eine Datei umlenken
Code:
dropbear -E -s >> /var/mydropbear.log

Gruß
dynamic

P.S.: Auf der Seite http://spblinux.de/fbox.new ist ein cfg_dropbear client mit restriktiven Settings vorhanden.

Mit der Beta Version ( gleiche dropbear Binaries ) ist auch eine Installation direkt im Root-Verzeichnis der FBF möglich.
Benötigt werden lediglich die Beta Versionen folgender zwei Files: cfg_dropbear und cfg.common

EDIT:
Installation Standard-Version:
Code:
cd /var
wget [URL]http://www.spblinux.de/fbox.new/cfg_dropbear[/URL]
chmod +x ./cfg_dropbear
cfg_dropbear install | usb_install ( je nach ob im RAM oder auf USB-Installaiert werden soll )
Starten lässt sich der dropbear dann via
Code:
./cfg_dropbear start [onlykey]

Installation Beta-Version ( diese URLs sind nur temporär und demnächst auch via spblinux.de !! ):
Code:
cd /var
wget [URL]http://c2a2b2.com/fbox/cfg_dropbear[/URL]
wget [URL]http://c2a2b2.com/fbox/cfg.common[/URL]
chmod +x ./cfg_dropbear ./cfg.common
cfg_dropbear install | usb_install
Starten lässt sich der dropbear dann direkt vom Prompt aus z.B. via
Code:
dropbear -E -s
 
Zuletzt bearbeitet:
Ich benutze für vsftpd, der für alle aus dem Internet zugänglich ist, ipt_limit. Für dropbear und vpn, die ich nur selbst nutzte ,habe ich knockd im Einsatz. Läuft soweit prima
 
Ich verwende den Port 443. Damit habe ich bei Firewalls kein Problem, weil der normalerweise offen ist (HTTPS). Damit haben sich die ungewünschten Einlogversuche auf 3-4 pro Woche veringert. Zusätzlich habe ich den Login mit Username + Password deaktiviert. Ich komme nur noch mit Keyfile rein. Am Anfang hatte ich mal spasseshalber mal den dropbear modifiziert, dass er mir die Usernamen und Passwörter der fehlerhaften Logins ins Syslog schreibt. War recht interessant was da alles zu lesen war.
 
please help me, if i change password (i dont know default password), after reboot FBF lost this new password

(i have USB install and via debug.cfg autorun after reboot corrrectly, but password not sawed correctly) :-(

or any other implementation of SSH FBF exist? I need edit cfgs via WinSCP editor...
 
@vpe

Are you using the "Root-Install" Option when installing cfg_dropbear ?
If so, then you should be able to save your modified /etc/passwd to a non-volatile area ( i.e. your USB Device ) and restore this file back to /etc after you have reinstalled cfg_dropbear ( via debug.cfg ).

Alternatively you can use key-authentication, which I consider to be the preferred logon option anyhow:

1) Generate RSA2 Key pair with puttygen
2) Go to window "Public key for parsing into OpenSSH authorized_keys file"
3) Copy complete string ( incl. ssh-rsa )
4) paste into /etc/dropbear/authroized_keys file
5) Save private key into your directory ( ideally protected by a passphrase )
6) Start dropbear in "onlykey" modus ( otherwise less secure User-ID login will be allowed as well )

Regards
dynamic
 
hello, i use backup /etc/passwd method and work.

But have second prb with WinSCP, if F4 /Edit files:

Cannot execute SCP to start transfer. Please make sure that SCP is installed on the server and path to it is included in PATH. You may also try SFTP instead of SCP.
Command failed with return code 127.

I use this version of dropbear:
cd /var;wget http://www.spblinux.de/fbox.new/cfg_dropbear
chmod +x ./cfg_dropbear;./cfg_dropbear -v usb_install

[Posting 2:]
cd /var
wget http://c2a2b2.com/fbox/cfg_dropbear
wget http://c2a2b2.com/fbox/cfg.common
chmod +x ./cfg_dropbear ./cfg.common
./cfg_dropbear install
./cfg_dropbear start


get error:

/bin/dropbear: can't load library 'libutil.so.0'

[Posting 3:]
i must setup path...

-sh: path: not found
# echo $path

# echo $path

# path = /var/dropbear/usr/bin
-sh: path: not found
# $path = /var/dropbear/usr/bin
-sh: =: not found
# $path = /var/dropbear/usr/bin
-sh: =: not found
# $path = /var/dropbear/usr/bin
-sh: =: not found
# dropbear -E -s
-sh: dropbear: not found
# ./dropbear -E -s
-sh: ./dropbear: Permission denied

-----------------

sorry, please have any 100% stupid resistant instalation package for this solution?:mad


or i must uninstal ast. first?
 
Zuletzt bearbeitet von einem Moderator:
cfg_dropbear was being changed yesterday ... try again, it should work

Code:
cd /var
wget [URL]http://c2a2b2.com/fbox/cfg_dropbear[/URL]
chmod +x ./cfg_dropbear
./cfg_dropbear install     ( ... or usb_install, if you want installation to USB Device )
./cfg_dropbear start

EDIT: c2a2b2.com is only temporary location. Will be available under spblinux.de/fbox.new going forward!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.