IPtables: SSH Zugriff bis auf bestimmte IPs unterbinden
Spikx 28.01.2013 - 15:01 2170 8
Spikx
My Little Pwny
|
Auf einem WRT54GL (mit Tomato) würde ich gerne IPtable rules erstellen, die alle (vom WAN) eingehenden SSH Verbindungen dropped, außer von bestimmten IP Adressen. Also der SSH Zugriff auf den Router selbst oder irgendeinem Server dahinter (egal über welchen Port) soll nur von bestimmten externen IPs aus möglich sein (vom LAN aus soll aber alles accepted werden). Ich dachte da zB an: # drop SSH
iptables -A INPUT -m layer7 --l7proto ssh -j DROP
# accept SSH from certain IPs
iptables -A INPUT -m layer7 --l7proto ssh -s 123.123.1.1 -j ACCEPT
iptables -A INPUT -m layer7 --l7proto ssh -s 123.123.1.2 -j ACCEPT
iptables -A INPUT -m layer7 --l7proto ssh -s 123.123.1.3 -j ACCEPT
Bin mir aber nicht sicher, ob es einfach reicht die erstere DROP rule einfach an die bestehende chain zu appenden (-A), da es ja auch port forwarding rules gibt (für SSH Zugriff auf die Server hinter dem Router) und dann diese DROP rule gar nicht mehr greift. Und ob ich bei den ACCEPT rules noch unbedingt das matching auf ssh brauche. Oder ob diese Anweisungen überhaupt so Sinn machen . Meine Erfahrungen mit iptables sind noch sehr begrenzt.
|
COLOSSUS
AdministratorGNUltra
|
Prinzipiell eine schlechte Idee; einfach Pubkey-Auth verwenden stattdessen.
|
Spikx
My Little Pwny
|
Hm, ich bin mir nicht sicher ob das in diesem Fall möglich ist. Also im speziellen geht es um folgende Sache: - Eine Synology DiskStation soll über das WAN auf eine andere DiskStation mit den vorgefertigten Funktionen Backups machen können.
- Verwendet man dabei die Transfer Encryption, wird SSH über den default port 22 benutzt.
- Dieser Port lässt sich jedoch nicht konfigurieren (hard coded in der binary , wird sich aber hoffentlich irgendwann ändern).
- Daher muss momentan am Ziel der default Port 22 offen sein, was natürlich dazu führt, dass ständig brute force attacks passieren.
- Daher wiederum die Überlegung, den SSH Zugriff nur auf die jeweiligen IPs (da es sowieso statische sind) zu beschränken.
Pubkey-Auth auf der Ziel DiskStation zu verwenden ist prinzipiell möglich, aber ich weiß nicht, ob sich das Backup Tool auch damit dann authentifizieren kann.
|
othan
Layer 8 Problem
|
Ich hätte mir eine VPN-Verbindung zwischen den Stations eingerichtet. OpenVPN sollte auf den Stations funktionieren.
|
Spikx
My Little Pwny
|
Ich hätte mir eine VPN-Verbindung zwischen den Stations eingerichtet. OpenVPN sollte auf den Stations funktionieren. Stimmt, nur da habe ich noch weniger Erfahrung damit . Hm... kann ich das VPN auch wirklich nur zwischen den DiskStations erzeugen lassen, unabhängig von den restlichen Netzwerk auf den jeweiligen Enden? Und egal ob sie sich hinter Routern befinden etc. und der normale Zugriff im lokalen Netzwerk bleibt davon unbeeinflusst?
|
COLOSSUS
AdministratorGNUltra
|
Jedwedes VPN ist ein sinnloser Layer um SSH herum (es sei denn, du verwendest SSH, um ein VPN aufzuziehen - mit GNU/Linux und OpenSSH auf beiden Seiten der Verbindung geht das). Jede halbwegs respektable SSH-Impl. kann PubKey-Auth (zur Not ueber einen SSH-Agent).
Der Default-Port ist schon OK, das Schlimmste an den Bruteforce-Attacken sind die nervigen Logmeldungen (auch mit guten Passwoertern statt Pubkey-Auth). Vielleicht magst du ja auch fail2ban oder so anschauen.
|
Spikx
My Little Pwny
|
Jedwedes VPN ist ein sinnloser Layer um SSH herum (es sei denn, du verwendest SSH, um ein VPN aufzuziehen - mit GNU/Linux und OpenSSH auf beiden Seiten der Verbindung geht das). Jede halbwegs respektable SSH-Impl. kann PubKey-Auth (zur Not ueber einen SSH-Agent).
Der Default-Port ist schon OK, das Schlimmste an den Bruteforce-Attacken sind die nervigen Logmeldungen (auch mit guten Passwoertern statt Pubkey-Auth). Vielleicht magst du ja auch fail2ban oder so anschauen. Hm ja, du hast recht. Starkes Passwort + der default Auto Block service am NAS (banned eine IP nach x fehlgeschlagenen Login versuchen) sollte Sicherheitstechnisch reichen. VPN wäre overkill oder eben sinnlos und PubKey-Auth funkt zwar vielleicht... ist mir aber zu aufwendig ;P
|
othan
Layer 8 Problem
|
Ich hätte VPN anstelle von SSH genommen (sofern dies die Software unterstützt).
Ansonsten auch mit PubKey.
|
Nico
former person of interest
|
kannst ja auch mittels iptables ein limit setzen. das modul heißt überraschenderweise "limit", und damit die anzahl der zugriffe aufs port beschränken. google it.
|