• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SuSEFirewall2 und vstftp

Hi Gemeinde,

ich habe das seltsame Problem, dass mir die SuSE-Firewall (VS)FTP nicht vernünftig freigibt.

Ich habe sowohl vsftpd als Service, wie auch Port 20 und 21 in Advanced unter TCP und UDP eingetragen.

Außerdem habe ich noch nf_conntrack_ftp geladen und eingetragen.

Code:
vi /etc/sysconfig/SuSEfirewall2
  FW_LOAD_MODULES="nf_conntrack_netbios_ns nf_conntrack_ftp nf_nat_ftp"

Code:
230 Login successful.
SYST

215 UNIX Type: L8
TYPE I

200 Switching to Binary mode.
CWD /

250 Directory successfully changed.
Lade Verzeichnisliste / von der Gegenstelle (LC_TIME=de_DE.UTF-8)
PASV

Leider gibt mir das Teil kein Directory Listing, solange die SuSE-FW an ist.

Ideen?

Regards, xcomm
 
Führe als root mal in der Konsole
Code:
tail -f /var/log/firewall
aus, dann verbinde dich mit dem VSFTP und poste die auftretenden Logfileinträge.
 
Hi spoensche,

gute Idee. :)

Code:
Oct  7 13:58:13 pequod kernel: SFW2-INext-ACC-TCP IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=64695 DF PROTO=TCP SPT=51179 DPT=21 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032C7E90000000001030306) 
Oct  7 13:58:13 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59499 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032C7ED0000000001030306) 
Oct  7 13:58:16 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59500 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032CADB0000000001030306) 
Oct  7 13:58:22 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59501 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032D0B70000000001030306) 
Oct  7 13:58:34 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59502 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032DC6F0000000001030306) 
Oct  7 13:58:58 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59503 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032F3DF0000000001030306) 
Oct  7 13:59:46 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59504 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A003322BF0000000001030306) 
Oct  7 14:00:13 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=63951 DF PROTO=TCP SPT=55161 DPT=51828 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A00333D1D0000000001030306) 
Oct  7 14:00:16 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=63952 DF PROTO=TCP SPT=55161 DPT=51828 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0033400B0000000001030306) 
Oct  7 14:00:22 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=63953 DF PROTO=TCP SPT=55161 DPT=51828 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A003345E70000000001030306) 
Oct  7 14:00:34 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=63954 DF PROTO=TCP SPT=55161 DPT=51828 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0033519F0000000001030306) 
Oct  7 14:00:58 pequod kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=63955 DF PROTO=TCP SPT=55161 DPT=51828 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0033690F0000000001030306)

Regards, xcomm
 
Bei der Firewallkonfiguration per Yast gibt es nur TFPT als vorkonfigurierten Dienst, nicht aber FTP (openSuSE 11). Du hast bei der Portfreigabe in der Firewall die beiden FTP- Modi aktives und passives FTP nicht berücksichtigt.

Wie man an den Ports bei
Code:
SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:30:48:d1:e7:08:00:1c:0f:5c:95:80:08:00 SRC=192.168.168.42 DST=192.168.169.156 LEN=60 TOS=0x00 PREC=0x00 TTL=60 ID=59500 DF PROTO=TCP SPT=43512 DPT=11914 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A0032CADB0000000001030306)

erkennen kann verwendest du passives FTP. Passives FTP stellt zu Port 21 des Servers nur die Kontrollverbindung her, der eigentliche FTP Verkehr läuft dannach über die Portrange zwischen 1024 und 65565 ab (Siehe SPT und DPT). Bei dir werden diese Ports aber geblockt und deswegen bekommst du kein Directory Listing angezeigt.

Beim aktiven FTP verbindet sich der Client vion einem hohen Port (Portrange zwischen 1024 und 65565) zu Port 20 (ftp-data) des FTP- Servers. So muss mann nicht sämtliche Ports in der Firewall des Servers freigeben, was aus Sicherheitsgründen auch sinnvoll ist. Aktives FTP ist ein sicherer als passives FTP und sollte wenn möglich verwendet werden. Besser wäre aber SFTP.

Hm, irgendwie habe ich ein wenig ausgeholt, was das Thema betrifft. ;)

Wenn du passives FTP verwendest musst du die Ports größer 1024 in der Firewall freigeben.
 
Ich muss mal ein wenig widersprechen. Zum Thema ftp-server habe ich hier schon mal einwenig geschrieben:
http://www.linux-club.de/viewtopic.php?f=17&t=95977#p580431

spoensche schrieb:
..., der eigentliche FTP Verkehr läuft dannach über die Portrange zwischen 1024 und 65565 ab (Siehe SPT und DPT). Bei dir werden diese Ports aber geblockt und deswegen bekommst du kein Directory Listing angezeigt.
Nö, dafür ist FW_LOAD_MODULES="... nf_conntrack_ftp ..." da, wobei ich nicht weiss wofür FW_LOAD_MODULES="... ... nf_nat_ftp" eigentlich gut ist. Würde mich nicht wundern wenn das Modul stört.

spoensche schrieb:
Bei der Firewallkonfiguration per Yast gibt es nur TFPT als vorkonfigurierten Dienst, nicht aber FTP (openSuSE 11).
Wird eigentlich mit dem rpm des ftp-Server mit geliefert und jetzt wird es noch viel besser.
  • YaST -> Netzwerkdienste -> ftp-Server
Falls nicht vorhanden, dann das entsprechende YaST-Modul installieren. Unter "Einstellungen für Experten" bei Bedarf Portbereich ändern und "Firewall-Port öffnen" aktivieren. Darauf hin wird die Datei /etc/sysconfig/SuSEfirewall2.d/services/vsftpd entsprechend den Servereinstellungen angepasst.

Beispiel für /etc/sysconfig/SuSEfirewall2.d/services/vsftpd:
Code:
## Name: vsftpd Server
## Description: Opens ports for vsftpd Server.

# space separated list of allowed TCP ports
TCP="ftp 40000:40500"

# space separated list of allowed UDP ports
UDP="ftp-data"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports
BROADCAST=""
Auf diese Weise muss eigentlich nur der ftp-Server konfiguriert werden, die Firewalleinstellungen werden automatisch angepasst. Und wenn es schon so ein schönes Konfigurationstool gibt, dann sollte man es meiner Meinung nach auch benlutzenfinde und wahrscheinlich hat man dann auch weniger Probleme.

Ja man kann unter Linux jede Konfigurationsdatei per Hand editieren, aber die Stärke von openSUSE ist nunmal YaST, mit dessen Hilfe die Systemkonfiguration oft vereinfacht wird, wobei ich zugeben muss das viele YaST-Module per default nicht installiert werden.
 
Hi spoensche,

ok - aber sollte die Firewall diese Ports bei Passive FTP nicht automatisch mittels nf_conntrack_ftp freigeben?
Muß ich da nochwas einstellen? (Bei Shorewall etwa reicht es die entsprechenden Module einzutragen und den Service ftp.)

<Nachtrag>
Scheinbar muß man bei der SuSEFirewall händisch nachjustieren:
Code:
 vi /etc/sysconfig/SuSEfirewall2

Früher wohl mit diesem Eintrag
Code:
FW_ALLOW_INCOMING_HIGHPORTS_TCP="ftp-data"
, der aber nicht tut und auch depreciated ist.

Jetzt sollte es etwas hier sein, aber damit komme ich gerade nicht klar:
Code:
# The special value _rpc_ is recognized as protocol and means that dport is
# interpreted as rpc service name. See FW_SERVICES_EXT_RPC for
# details.
#
FW_SERVICES_ACCEPT_EXT=""

## Type: string
#
# see FW_SERVICES_ACCEPT_EXT
FW_SERVICES_ACCEPT_DMZ=""

## Type: string
#
# see FW_SERVICES_ACCEPT_EXT
FW_SERVICES_ACCEPT_INT=""

## Type: string
## Default:
#
# Services to allow that are considered RELATED by the connection tracking
# engine.
#
# Format: space separated list of net,protocol[,sport[,dport]]
#
# Example:
#    Allow samba broadcast replies marked as related by
#    nf_conntrack_netbios_ns from a certain network:
#       "192.168.1.0/24,udp,137"
#
# See also FW_LOAD_MODULES
#
FW_SERVICES_ACCEPT_RELATED_EXT=""

## Type: string
#
# see FW_SERVICES_ACCEPT_RELATED_EXT
FW_SERVICES_ACCEPT_RELATED_DMZ=""

## Type: string
#
# see FW_SERVICES_ACCEPT_RELATED_EXT
FW_SERVICES_ACCEPT_RELATED_INT=""


Danke, xcomm
 
Hi xcomm,

es ist richtig, dass nf_conntrack_ftp geladen werden muss (über FW_LOAD_MODULES wie unten), es ist falsch die Ports 40000-40500, ftp-data o.ä. in der .../services/vsftpd oder über ALLOW_INCOMING_HIGHPORTS zu öffnen. Das sollte das nf_conntrack_ftp übernehmen, das reagiert auf RELATED Pakete. Eine Änderung in der neuen SuSEfirewall2 blockiert RELATED-Pakete in der INPUT-chain, die für das passive ftp benötigt werden. Die musst du freischalten über:

FW_SERVICES_ACCEPT_RELATED_EXT="0/0,tcp"

und firewall neu starten. Have fun.
 
Oben