Ssh will nicht so recht durch Firewall

spacetux

*nix User
Hallo zusammen,

ich hab da (mal wieder) ein kleines Problem.
Folgendes Szenario:
Firewall (IP-Cop ... jaja ich weiß ;) ) mit ner zusaätzlichen DMZ. In der DMZ steht unter anderem ein FreeBSD 6.0 Rechner. Auf diesen würde ich gerne mittels ssh aus meinem geschützten Netzwerk zugreifen.
So halbwegs funktioniert das auch :ugly: .

Der Client bekommt auch zunächst kontakt zum Server, aber es wird dann kein "prompt" für die Passworteingabe angezeigt.
Zu den Linuxrechnern in meiner DMZ bekomme ich problemlos via ssh kontakt.
Es scheint daher am sshd des FreeBSD's zu liegen. Hat da jemand ne Idee?
 
Hast du mal direkt auf deinem Server ein
Code:
ssh 127.0.0.1
ausprobiert? Dann könntest du vielleicht den sshd als Fehlerquelle ausschließen. Ansonsten würde ich mal alle Filterregeln Testweise ausschalten und es erneut probieren.
 
kommt der prompt gar nicht?
oder dauert es ewig bis der erscheint?
was passiert, wenn du von einem linuxrechner aus ein ssh machst?
klappt auf der bsd-kiste inverses dns-lookup?
was ist dmz?
was sagt /var/logs/authlog?
hast du mal den traffic mitgesnifft?
 
Im selben Netz funktioniert der ssh-zugriff problemlos?
Der prompt kopmmt gar nicht - er hat vermutlich gar keine Chance. Der sshd auf dem BSD-Rechner bricht vorher die Verbindung ab. Es scheint mir so als ob das ein Problem des sshd's wäre.
 
Also wenn der sshd die Verbindung trennt, sollte das der Client eigendlich mitbekommen - also nicht im "nichts" stehenbleiben. Hast du mal alle Filterregeln vom IP-Cop ausgeschaltet? Da ja sshd Grundsätzlich zu funktionieren scheint (wenn auch nur im selben Netz), würde ich sshd als Fehlerquelle erstmal ausschließen - andernfalls passiert da etwas sehr merkwürdiges ;) Ich würde darauf tippen, dass du zwar zum Server hin aber die Antwort nicht wieder zurückkommt (siehe Paketfilter).
 
das gateway stimmt, bzw. die routen auf dem bsd rechner?
start mal den sshd im debug modus `/usr/sbin/sshd -d', vielleicht hilft dir das weiter.
 
Also mein sshd auf dem FreeBSD Rechner sagt folgendes:

***
Apr 4 10:16:35 sshd[16029]: fatal: Timeout before authentication for 192.168.1.97
***

ssh -v auf dem Client spuckt folgendes aus

***

pd@riddig:~> ssh -v 192.168.3.253
OpenSSH_3.9p1, OpenSSL 0.9.7e 25 Oct 2004
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.3.253 [192.168.3.253] port 22.
debug1: Connection established.
debug1: identity file /home/pd/.ssh/identity type -1
debug1: identity file /home/pd/.ssh/id_rsa type -1
debug1: identity file /home/pd/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.2p1 FreeBSD-20050903
debug1: match: OpenSSH_4.2p1 FreeBSD-20050903 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.9p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.3.253' is known and matches the DSA host key.
debug1: Found key in /home/pd/.ssh/known_hosts:6
debug1: ssh_dss_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pd/.ssh/identity
debug1: Trying private key: /home/pd/.ssh/id_rsa
debug1: Trying private key: /home/pd/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
Connection closed by 192.168.3.253
pd@riddig:~>

***

Für mich sieht das so, als ob die Kommunikation prinzipell funktioniert. Aber Warum kommt es zu diesem Timeout, weshalb wird die kommunikation unterbrochen?

Ich versuche den Output vom sshd noch zu vergrößern.
 
Nochmal zum Verständnis, das kommt oben noch nicht so eindeutig raus, also:

ssh localhost -> funktioniert
linuxrechner nach freebsdrechner innerhalb der DMZ -> funktioniert
beliebiger rechner ausserhalb der dmz auf den freebsd -> funktioniert nicht und zwar mit den Meldungen?
 
Nochmal eine kurze beschreibung des Netzwerkes
1. Internet
2. geschütztes LAN
3. DMZ (für Webserver, etc.)
Zwischen den drei Netzen die Firewall.

Der Zugriff aus dem Internet auf das geschütze LAN ist verboten. Der Zugriff auf die DMZ-Rechner nur über Freigegebene Ports.
Der Zugriff aus der DMZ ins INternet funktioniert aber ins geschützte LAN ist er verboten.
Greife ich auf das Internet aus dem geschützten LAN zu geht das selbstredend ohne Probleme ;). Der Zugriff aus dem geschützten LAN auf die DMZ funktioniert auch problemlos, bis auf ssh :(
 
Dir Firewallregeln lassen den Zugriff aus dem geschützten Netz auf die DMZ zu.
Sonst würde ich ja gar keine Verbindung bekommen.
 
die dmz muss doch auch irgendwie zurückommen, es könnte ja sein das der port nur für eine richtung offen ist. Wenn du reinkommst aber der Rückweg versperrt ist passiert nichts weiter bis der timeout erreicht ist. Ist nur so eine Vermutung.
 
zurück gehts ja auch, das ist ja kein Problem:). Die Firewall ist schon korrekt konfiguriert. Aus dem LAN kann ich via ssh auf Linuxrechner in der DMZ zugreifen. Nur bei dem BSD Rechner will das nicht gelingen. Der Eintrag in die "known_hosts" auf meinem Client funktionierte ja beim ersten Loginversuch einwandfrei. Nur der Loginprompt des sshd's erscheint nicht auf der Clientseite und auf dem Server sagt er mir, dass er zu lange warten muss.
... ich fange schon an ganze Stücke aus meiner Tischplatte zu beissen :D
 
Aaaalsoooooooo,

ich habe durch wildes Ausprobieren ohne Sinn und Verstand und aus reiner Verzweiflung mal folgenden Eintrag ind der sshd_config von "2m" auf "4m" gesetzt:

***
LoginGraceTime 4m
***

Jetzt dauert es zwar fast 4 (in Worten vier) Minuten bis sich da etwas tut, aber die Verbindung zum FreeBSD Rechner via ssh funktioniert jetzt - weshalb auch immer?

Für mich ist das nicht ein wirklich praktikable Lösung, aber wenns funzt warum nicht.

Kennt evtl. jemand eine elegantere Lösung?

Danke schon mal an alle für Eure Bemühungen :)
 
Hast du schonmal versucht neue Schlüssel auf dem FreeBSD System zu generieren, vielleicht verschluckt der sich mit den Schlüsseln. Vielleicht mal auf die Rechnerauslastung schauen während du versuchst dich via ssh einzuloggen.
 
Habe gerade den Tip mit den Schlüsseln ausprobiert. Die langen Zeiten bleiben jedoch. Die Rechnerauslastung lässt eher daruaf schließen, das sich die Kiste langweilt;).
 
Reverse-DNS-Auflösung eines der beteiligten Rechner funktioniert wohl nicht, oder ein NAT schreibt IP-Adressen um. Die langen Timeouts deuten aber eher auf DNS-Probleme welcher Art auch immmer.
 
Ja, nimm mal die DNS reverse Aufloesung raus aus der SSHD_CONFIG; ich hatte das gleiche Problem bis ich es rausnahm. Seither fluppt es "erste Sahne".
 
Zurück
Oben