"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

IPtables: SSH Zugriff bis auf bestimmte IPs unterbinden

Spikx 28.01.2013 - 15:01 2170 8
Posts

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
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:
Code:
# 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

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Prinzipiell eine schlechte Idee; einfach Pubkey-Auth verwenden stattdessen.

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
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 :rolleyes:, 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
Avatar
Registered: Nov 2001
Location: Switzerland
Posts: 4226
Ich hätte mir eine VPN-Verbindung zwischen den Stations eingerichtet.
OpenVPN sollte auf den Stations funktionieren.

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von othan
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

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
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
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von COLOSSUS
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
Avatar
Registered: Nov 2001
Location: Switzerland
Posts: 4226
Ich hätte VPN anstelle von SSH genommen (sofern dies die Software unterstützt).

Ansonsten auch mit PubKey.

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
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.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz