crotchmaster
happy BSD user
Hi,
ich habe jetzt auf einem FreeBSD-Server den proftpd mit TLS-Unterstützung aus den Ports installiert. Als Firewall verwende ich pf.
Ein Auszug aus der proftpd.conf
Hier meine pf.conf
Mein Problem ist nun, dass das Ganze ohne TLS wunderbar funktioniert, aber sobald ich den Kommentar vor TLSRequired entferne, kann ich mich mit dem Server verbinden und einloggen, das anschliessende Directorylisting wird dann irgendwann mit einem timeout abgebrochen.
Irgendwie sieht es so aus, als ob die Datenverbindung nicht zustande kommt, ähnlich einem blockierten Port für die Datenverbindung. Das sollte aber eigentlich durch die PassivePorts-Direktive und der Freischaltung der Ports durch pf erledigt sein.
Ich habe gegoogelt und auch die proftpd-Seite durchgearbeitet, aber keine Lösung gefunden.
Kann mir jemand ein Tipp geben?
Gruß c.
PS: Ich habe jetzt das ganze nochmal ohne pf ausprobiert, das gleiche Problem. Am Zusammenspiel von pf u. proftpd kann es nicht liegen.
ich habe jetzt auf einem FreeBSD-Server den proftpd mit TLS-Unterstützung aus den Ports installiert. Als Firewall verwende ich pf.
Ein Auszug aus der proftpd.conf
Code:
ServerName "FTP Server"
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
UseReverseDNS off
IdentLookups off
Port 21
PassivePorts 55001 56999
Umask 002 002
TimeoutLogin 60
TimeoutNoTransfer 900
TimeoutStalled 3600
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
MaxInstances 10
User www
Group www
LoginPasswordPrompt on
RootLogin off
UseFtpUsers on
ShowSymLinks on
DenyFilter \*.*/
DefaultRoot /opt/wwwhome
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /usr/local/etc/proftpd/beastie.domain.tld.crt
TLSRSACertificateKeyFile /usr/local/etc/proftpd/beastie.domain.tld.key
TLSCACertificateFile /usr/local/etc/proftpd/CA.crt
TLSOptions NoCertRequest
TLSVerifyClient off
# TLSRequired on
</IfModule>
<Directory /opt/wwwhome/*>
AllowOverwrite on
</Directory>
<Global>
</Global>
RequireValidShell no
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
Hier meine pf.conf
Code:
ip_if="bge0"
log_if="bge0"
ip_addr="1.2.3.4"
table <allowed> { 2.3.4.5, 6.7.8.9 }
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 10000, frags 5000 }
set loginterface $log_if
set optimization normal
set block-policy drop
set require-order yes
scrub in all
block in log all
pass in quick on $ip_if inet proto tcp from any to $ip_addr port 80 keep state
pass in quick on $ip_if inet proto tcp from any to $ip_addr port 443 keep state
pass in quick on $ip_if inet proto tcp from <allowed> to $ip_addr port 21 keep state
pass in quick on $ip_if inet proto tcp from <allowed> to $ip_addr port 55000><57000 keep state
pass in quick on $ip_if inet proto tcp from <allowed> to $ip_addr port 22 keep state
pass out on $ip_if proto { tcp, udp } all keep state
Mein Problem ist nun, dass das Ganze ohne TLS wunderbar funktioniert, aber sobald ich den Kommentar vor TLSRequired entferne, kann ich mich mit dem Server verbinden und einloggen, das anschliessende Directorylisting wird dann irgendwann mit einem timeout abgebrochen.
Irgendwie sieht es so aus, als ob die Datenverbindung nicht zustande kommt, ähnlich einem blockierten Port für die Datenverbindung. Das sollte aber eigentlich durch die PassivePorts-Direktive und der Freischaltung der Ports durch pf erledigt sein.
Ich habe gegoogelt und auch die proftpd-Seite durchgearbeitet, aber keine Lösung gefunden.
Kann mir jemand ein Tipp geben?
Gruß c.
PS: Ich habe jetzt das ganze nochmal ohne pf ausprobiert, das gleiche Problem. Am Zusammenspiel von pf u. proftpd kann es nicht liegen.
Zuletzt bearbeitet: