Zugrif auf SSH nur bestimmten IPs erlauben

Rund um die Sicherheit des Systems und die Applikationen
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
 

Zugrif auf SSH nur bestimmten IPs erlauben

Post by nyxus »

Hi,
ist obiges ohne großen Aufwand möglich? Nur von einer bestimmten festen IP soll ein OpenSSH_3.8.1p1 Debian-8.sarge.4 eine Verbindung annehmen. Über iptables möchte ich dabei nicht gehen.

Danke für Hinweise!
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by captaincrunch »

Stichwort: tcp_wrapper
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by daemotron »

Hi,

wenn Dein OpenSSHd mit tcp_wrappers-Support kompiliert wurde, kannst Du über /etc/hosts.allow bzw. /etc/hosts.deny einzelne Rechner oder ganze Netzsegmente zulassen oder aussperren.

Beispiel-Eintrag für hosts.deny:

Code: Select all

sshd: 127.0.0.1
würde den Zugriff von localhost blocken. So kannst Du auch testen, ob dein sshd mit tcp_wrappers läuft...
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by nyxus »

danke schonmal für den Tip. hosts.(deny|allow) wird leider vom sshd (debian) nicht beachtet (gerade getestet). Ich habe auch schon daran gedacht den sshd über xinetd zu starten, habe aber gelesen, daß davon abgeraten wird.
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by nyxus »

Korrektur: Es funktioniert doch, aber warum wird trotz Eintrag in der hosts.* bei einem TCP-Connect-Scan der Port als "open" angezeigt? Sollte dabei der Port nicht auch zu sein da der wrapper auf Layer3/4 läuft?
buddaaa
Posts: 163
Joined: 2004-11-08 09:59
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by buddaaa »

Nyxus wrote:Korrektur: Es funktioniert doch, aber warum wird trotz Eintrag in der hosts.* bei einem TCP-Connect-Scan der Port als "open" angezeigt? Sollte dabei der Port nicht auch zu sein da der wrapper auf Layer3/4 läuft?
nein, der kernel macht erst den TCP-3-way-handshake (den ein portscanner dann als "open" interpretiert), und dann kommt erst der tcp-wrapper im userspace an die reihe und weisst die falsche IP ab.

wenn Du den port als "closed" angezeigt kriegen willst musst Du iptables benutzen (mit "... -j REJECT --reject-with tcp-reset". mit -j DROP wuerde z.b. nmap den port als "filtered" anzeigen)
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck
 

Re: Zugrif auf SSH nur bestimmten IPs erlauben

Post by nyxus »

buddaaa wrote:nein, der kernel macht erst den TCP-3-way-handshake ... und dann kommt erst der tcp-wrapper im userspace an die reihe und weisst die falsche IP ab.
alles klar, diese Reihenfolge im Kernel war mir nicht bewußt.
wenn Du den port als "closed" angezeigt kriegen willst musst Du iptables benutzen (mit "... -j REJECT --reject-with tcp-reset".
das reicht mir dann auch schon in der obigen Form; hat mich halt nur gewundert weil meine erste Aussage "klappt nicht" daher kam, daß ich es nur per nmap getestet habe und es aussah als wenn der Port offen wäre (nmap war schneller getippt als ein neues ssh-fenster zu öffnen ... ;-) )