Ich denke der einfachste Weg wäre den Port für ssh zu verschieben....
wengi
Hi Forum,
ich würde gerne meine Kiste (asus wl-500gP oleg) bzw. Port 22 vor Portscanattacken schützen. Nachdem ich ein wenig gesucht hab, bin ich auf das ipkg Paket denyhosts gestoßen.
Jedoch steht in einem älteren Thread im englischen Teil des Forums das dropbear nicht zu Denyhosts kompatible sein soll und das ich eventuell von Dropbear auf Openssh umstellen muss um auch Denyhosts an start zu bekommen. Die denyhosts webseite sagt das denyhosts w/ tcp_wrapper support voraussetzt? Hat unser Oleg dropbear w/ tcp_wrapper support?
Hat einer von Euch Dropbear und Denyhosts erfolgreich zusammen am laufen oder muss ich tatsächlich von Dropbear weg um Denyhosts an start zu bekommen?
Danke und schönes Wochenende!
cheers
Last edited by edelknecht; 29-02-2008 at 13:42.
Ich denke der einfachste Weg wäre den Port für ssh zu verschieben....
wengi
Übersicht aller HowTos --- HowTo Overview (mostly german)
WL-HDD mit diesem Setup. --- WL-HDD with this setup.
Kein Support per PM - Frage im jeweiligen Thread! --- No support via pm - ask in the according thread!
Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vorne herein ausgeschlossen erscheint. (Albert Einstein)
Hi,
wenn eine Lösung gefunden wurde würde ich mich auch sehr dafür interessieren! Also bitte dann hier posten.
So für alle die jetzt fragen wozu wofür weshalb das gebraucht werden könnte:
Praktische Sache bei Rechnern die nicht hinter einem Firewall stehen und ständig “Brute Force” Passwortattacken auf den SSH Port ausgesetzt sind.Quelle: Angriffe über SSH mit denyhosts blockierenAngriffe über SSH mit denyhosts blockieren
Mit Denyhosts ist es auf einfache Weise möglich die Sicherheit seines Linuxservers zu erhöhen. Es eignet sich für Server, deren SSH-Authentifizierung (noch) über Benutzername und Passwort abgewickelt wird. Besser wäre natürlich das [Public-Key-Verfahren] oder eine zertifikatbasierte Authentifizierung. Denyhosts blockiert schlicht und einfach den Zugriff von Maschinen, von denen wiederholt fehlgeschlagenen Loginversuche per SSH ausgehen.
Wenn man in /var/log/messages hineinschaut sind höchstwahrscheinlich hunderte solcher Zeilen zu sehen:
...
Jan 21 08:00:33 xyz sshd[10834]: Invalid user test from xxx.xxx.xxx.xxx
Jan 21 08:00:33 xyz sshd[10844]: Invalid user info from xxx.xxx.xxx.xxx
Jan 21 08:00:33 xyz sshd[10854]: Invalid user peter from xxx.xxx.xxx.xxx
...
Jeder Eintrag steht für einen Angriff über SSH. Gewöhnlich werden viele Versuche von ein und derselben IP-Adresse durchgeführt. Ich habe Server gesehen die konstant 2-5 SSH-Angriffen pro Sekunde ausgesetzt waren!
Was also denyhosts tut ist einfach nach fehlgeschlagenen SSH-Loginversuchen zu schauen und entsprechende Einträge in /etc/hosts.deny zu machen, um den weiteren Zugriff von diesen IPs zu verhindern.
Denyhosts ist sehr flexibel. Grundsätzlich lässt sich die Anzahl erlaubter fehlgeschlagener Loginversuche bevor eine IP geblockt wird einstellen. Nach einiger Zeit wird hosts.deny wieder von den Einträge bereinigt. Man kann genau festlegen wann das passieren soll. Es ist sogar möglich Daten für hosts.deny von einem zentralen Server (xmlrpc.denyhosts.net) zu beziehen.
Um denyhosts auf Gentoo zu installieren geht man wie üblich vor.
emerge -va denyhosts
rc-update add denyhosts default
Die Konfigurationsdatei beinhaltet sehr ausführliche Erklärungen der möglichen Optionen. Die Standardwerte kann man in der Regel so lassen. Was man aber setzen sollte ist die Admin-Emailadresse, um sich über geblockte IPs informieren zu lassen.
vi /etc/denyhosts.conf
ADMIN_EMAIL = admin@domain
Der Start des Dämons braucht einige Zeit, da die aktuelle SSH-Logdatei analysiert wird und Einträge in /etc/hosts.deny vorgenommen werden.
/etc/init.d/denyhosts start
Der Dämon selbst schreibt seine Logeinträge nach /var/log/denyhosts.
Um sicherzustellen, dass alles wie gewünscht funktioniert versucht man sich mehrmals mit falschem Passwort oder falschem Benutzernamen einzuloggen. Per default sollte man nach dem fünften Versuch die folgende Meldung sehen:
h1:~ # ssh abc@domain
ssh_exchange_identification: Connection closed by remote host
Um einen blockierten Host sofort wieder freizugeben, kann man einfach die entsprechenden 2 Einträge aus /etc/hosts.deny entfernen.
So wie mache ich den das?
Gruß WLAN-Fan.Es eignet sich für Server, deren SSH-Authentifizierung (noch) über Benutzername und Passwort abgewickelt wird. Besser wäre natürlich das [Public-Key-Verfahren] oder eine zertifikatbasierte Authentifizierung.
Es gibt noch eine moegliche Loesung mit Hilfe von ipt_recent Module fuer iptables
http://www.snowman.net/projects/ipt_recent/
Sicher, und auch schon beschrieben habe (leider wieder im Russischhast du das umgesetzt?)
http://wl500g.info/showpost.php?p=69964&postcount=63
In kurzem:
1) Laden wir ipt_recent in /usr/local/sbin/pre-boot
Es gibt die zwei moeglichkeiten. In die letzte Oleg firmwares gibt's ipt_recent module. Dann reicht:
[ Hier: http://wl500g.info/showpost.php?p=69660&postcount=53 liegt auch ipt_recent module, der gegen eine Fehler korrigiert ist. (Ich nutze diese Version, aber die Ursache ist schon irgendwie geschichtliche. Ich kann nicht genau sagen, dass die Version von Oleg falsch ist. ) ]PHP Code:insmod ipt_recent
2) Nehmen wir aus http://wl500g.info/showpost.php?p=69964&postcount=63 ein Stueck Code und legen ihm in post-firewall.
Die wichtige Einfluss hat die folgende Zeile:
Hier --seconds 600 --hitcount 4 bedeutet, dass die vierte Versuch innerhalb 600 Sekunden von dieselben IP wird verboten.PHP Code:iptables -A SSH_EVAL -i ! $3 -p tcp -m state --state NEW --dport $SSH_PORT -m recent --update --seconds 600 --hitcount 4 --name SSH_ATTACKER --rsource -j DROP
Sehr wichtig: es ist egal ob diese Versuche erfolgreich oder nicht sind!!!
Es gibt die zwei Liste:
die vor dem ipt_recent bearbeitung geprueft sind.PHP Code:/usr/local/etc/ssh.allow
/usr/local/etc/ssh.deny
Diese Liste muessen so aussehen:
Endlich, Man kann die ipt_recent Tabelle etwa so auswerten:PHP Code:12.34.56.78 Zugang von einen einzigen IP erlauben/verboten
87.65.43.0/24 Zugang von eine Netzwerk erlauben/verboten
Und ganz endlich, noch ein Mal die Quelle: http://www.snowman.net/projects/ipt_recent/PHP Code:1) Inhalt anzeigen:
cat /proc/net/ipt_recent/SSH_ATTACKER
2) eine IP zum Liste zugeben:
echo xx.xx.xx.xx > /proc/net/ipt_recent/SSH_ATTACKER
3) eine IP aus dem Liste entfernen:
echo -xx.xx.xx.xx > /proc/net/ipt_recent/SSH_ATTACKER
4) alle Eintragen loeschen:
echo clear > /proc/net/ipt_recent/SSH_ATTACKER
[offtop]
Warum grade diese Sprache? Deine Muttersprache? Sind die ASUS-Geräte in Russland auch so bekannt?
Sicher, dass ist meine Muttersprache
Sogar mehr (jetzt in sehr kleine Buchstaben): ich wohne in Moskau
Sicher, diese geraete (das Hauptwort ist kein asus, sondern Oleg) sind bei uns so bekanntWenn du auf die startseite ( http://wl500g.info ) guckst, dann du finden kanst, dass das Verchaltniss zwischen Activitaet im Russische/Deutsche Anteil des Forums ist etwa 6/1
[/offtop]
Jetzt ernst. Das ist Spass fuer mich, etwas was ich kenne (mehr oder weniger) zu nutzen. Leider bei uns im alltaeglichen Leben diese Deutsche Kentnisse sind fast nutzloss. Es ist wirklich schade. Deswegen, ich uebe mich manchmal in diesem Phorum. So zu sagen --- um nicht zu vergessen.
Am Ende, muss ich um Entschuldigung bitten vor alle Leute die moeglicherweise meine Schreibungen hier lesen koennen, weil ich weiss, dass sie sehen schrecklich aus... Andererseits, ich schreibe hier etwas nur wenn ich etwas zu sagen habe.
Viel Gluck, und natuerlichviel Spass.
Ich dachte Du hättest mein HowTo gelesen....Kapitel 14.
... und genau deswegen bist Du für uns sehr wichtig. Du kannst uns nämlich über Neuigkeiten auf dem Laufenden haltenOriginally Posted by al37919
Ich verstehe nämlich von Russisch nichts. Rein gar nichts....
wengi
Übersicht aller HowTos --- HowTo Overview (mostly german)
WL-HDD mit diesem Setup. --- WL-HDD with this setup.
Kein Support per PM - Frage im jeweiligen Thread! --- No support via pm - ask in the according thread!
Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vorne herein ausgeschlossen erscheint. (Albert Einstein)
Dobraje utro,
Fragen:
Oleg ist aber aus den Niederlanden?
Gibt es in Russland auch Entwickler für die Oleg-FW?
Da swi'danija.
Nein, Oleg wohnt auch in Moskau. Das ist eigentlich die Ursache, warum die Russische Anteil des Forums ein bisschen besser informiert ist.
Es hat irgendwie passiert, dass dieses Forum in Niederlanden gehostet ist. Aber nicht mehr.
ok, verstehe.
Dann hoffe ich das du uns weiter über interessante Dinge aus dem Russichen Forum hier ins Deutsche Forum weiterleitest.
Gruß.
Danke, Männers! Feiner Zug!
@
al37919
Ich hab noch ne Frage weil ich gesehen hab das sich im Russischen Teil des Forum einige User mit dem Mediatomb Upnp Server beschäftigt haben bzw das es jede menge Threads zu dem thema bei Euch gibt und ich auch nur Bahnhof verstehe.
Hat eventuell irgend jemand das folgenden Exception-Problem bei der Installation von Mediatomb in den Griff bekommen?
2008-02-23 23:14:12 INFO: Configuration check succeeded.
terminate called after throwing an instance of 'StorageException'
siehe auch
http://wl500g.info/showthread.php?t=13138
Danke!
Ist zwar OT, aber Wengi, selbst wenn ich deinen Testschlüssel nehme geht Punkt 14 bei mir nicht![]()