# passiv ftp bei vserver (server4you)

## samsonus

hallo zusammen,

ich hab ein kleines problem mit meinem vserver, da server4you ein modul nicht mit einbindet und ich jetzt nicht weiss, wie ich das anders hinbekommen kann.

also die verbindung zum ftp server klappt bis das list kommando ausgeführt wird, danach bricht er die verbindung ab.

folgende regel kann ich nicht ausführen, da das modul nicht eingebunden ist.

```

iptables -A Kettenname -m state --state ESTABLISHED,RELATED -j ACCEPT

```

kann man irgendwie anders antworten auf bestehende verbindungen zulassen? und es liegt definitiv an der firewall, da der ftp zugriff ohne firewall funktioniert.

hier noch die bestehenden regeln

```

ACCEPT     all  --  anywhere             localhost.localdomain

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap2

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssmtp

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imaps

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3s

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8443

ACCEPT     udp  --  anywhere             anywhere            udp spt:domain

ACCEPT     udp  --  anywhere             anywhere            udp spt:ntp

ACCEPT     icmp --  anywhere             anywhere

ACCEPT     tcp  --  anywhere             anywhere            tcp spt:smtp flags:!SYN,RST,ACK/SYN

ACCEPT     tcp  --  ka.swsoft.com        anywhere            tcp spt:5224

ACCEPT     tcp  --  anywhere             anywhere            tcp spts:0:1023 flags:!SYN,RST,ACK/SYN

DROP       all  --  anywhere             anywhere

ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:55000:59999 flags:SYN,RST,ACK/SYN

```

weiss jemand weiter, bzw hat jemand das problem schon gelöst?

gruss samsonus

----------

## slick

Ohne jetzt den genauen Sinn der Firewall anzweifeln zu wollen, aber du solltest das Problem nicht mehr haben wenn Du eingehende Connects auf Port > 1023 erlaubst (was aber wieder aktiv wäre) Ansonsten ist eine generell keine sehr gute Idee einen passiven FTP-Server zu betreiben, da hast Du nämlich wahrscheinlich ein Problem mit allen Usern die einen einfachen NAT-Router daheim haben. Lies Dir dazu mal genau die Unterscheide zwischen Aktiv und Passiv auf http://de.wikipedia.org/wiki/File_Transfer_Protocol durch und Du solltest das Problem erkennen.

----------

## samsonus

wenn es nach mir ginge, dann würde darauf garkein ftp laufen, aber leider wird das wegen einer kamera benötigt. bleibt mir wohl nichts anderes übrig als eingehende pakete zu erlauben.

----------

## slick

 *samsonus wrote:*   

> wenn es nach mir ginge, dann würde darauf garkein ftp laufen, aber leider wird das wegen einer kamera benötigt. bleibt mir wohl nichts anderes übrig als eingehende pakete zu erlauben.

 

Wo steht denn die Kamera? Die könnte man ja z.B. über OpenVPN tunneln oder auf eine lokalen Server schreiben lassen der regelmäßig synct etc. Alternativen gibts da denke ich einige, je nachdem wo die Kamera steht und ob da z.B. deine Linuxkiste nebenan steht.

----------

## samsonus

also die kamera steht bei meinem vater zu hause und linux ist kein fremdwort, aber plan hat der nicht wirklich. Die Kamera ist direkt an den Router angeschlossen, geht also nicht noch an einen Rechner. Er hat di eKamera extra angeschafft, damit er nicht extra einen Rechner laufen lassen muss. Außerdem klickt er seine Internetseite mit Dreamweaver zusammen, und das synchronisieren der Daten wird nur per ftp unterstützt, also müsste ich das irgendwie zum laufen bekommen, auch wenn es mir überhaupt nicht gefällt.

Gruss samsonus

----------

## think4urs11

ähm, dir ist schon klar das FTP 2 Ports braucht, oder?

In der Config sehe ich aber nur einen.

Unterschied zwischen aktivem und passivem FTP ist das bei letzterem der Client beide Ports bestimmt, d.h. das auch einfachere Firewalls i.d.R. damit klarkommen (sollten).

Du läßt in deiner Config aber keinen zu (>1023) - oder bin ich ganz blind?

Die Rückgabe des list Kommandos läuft jedenfalls über den zweiten Port (so er denn verbunden ist; daher bekommst du auch die Antwort nicht.

----------

## slick

 *Think4UrS11 wrote:*   

> Unterschied zwischen aktivem und passivem FTP ist das bei letzterem der Client beide Ports bestimmt, d.h. das auch einfachere Firewalls i.d.R. damit klarkommen (sollten).
> 
> Du läßt in deiner Config aber keinen zu (>1023) - oder bin ich ganz blind?

 

Guten Morgen! Auch schon wach?  :Wink: 

 *slick wrote:*   

> ... aber du solltest das Problem nicht mehr haben wenn Du eingehende Connects auf Port > 1023 erlaubst (was aber wieder aktiv wäre) Ansonsten ist eine generell keine sehr gute Idee einen passiven FTP-Server zu betreiben, da hast Du nämlich wahrscheinlich ein Problem mit allen Usern die einen einfachen NAT-Router daheim haben. Lies Dir dazu mal genau die Unterscheide zwischen Aktiv und Passiv auf http://de.wikipedia.org/wiki/File_Transfer_Protocol durch und Du solltest das Problem erkennen.

 

----------

## Keepoer

Hi,

vor dem gleichen Problem stand auch mal  :Wink: 

Sofern du proftpd nutzt, schreib einfach das in deine Config:

```
# Port 21 is the standard FTP port.

Port                            21

passivePorts                    60000 60050

```

Und dann natürlich noch bei den IPTables eintragen. Läuft bei mir wunderbar...

MfG

Keep

----------

## firefly

soweit ich weis verwendet ftp port 20 und 21 und die ports >1023 bei passivem ftp modus.

ich denke das der port 20 nur verwendet wird, wenn der aktive modus verwendet wird oder?

----------

## think4urs11

 *slick wrote:*   

> Guten Morgen! Auch schon wach? 
> 
> ... aber du solltest das Problem nicht mehr haben wenn Du eingehende Connects auf Port > 1023 erlaubst (was aber wieder aktiv wäre) Ansonsten ist eine generell keine sehr gute Idee einen passiven FTP-Server zu betreiben, da hast Du nämlich wahrscheinlich ein Problem mit allen Usern die einen einfachen NAT-Router daheim haben.

 

anscheinend noch nicht so ganz  :Wink: 

Allerdings ist es genau andersherum als du schreibst - gerade simple NAT-Router kommen eher mit passivem als mit aktivem FTP klar. (s.o.)

Jedenfalls aus Clientsicht, aber wer hinter einem NAT-Router einen aktiven FTP-Server betreiben will dem ist sowieso nicht mehr zu helfen.

Soweit ich samsonus aber verstehe ist der Server bei server4you und die Kamera fungiert als Client - wenn nicht geh ich wieder ins Bett  :Wink: 

und eine tcp-Verbindung nach außen auf dst-port >1023 muß er für eine FTP-Verbindung im passive-mode noch erlauben; die fehlt (weil ja ESTABLISHED/RELATED anscheinend nicht funktioniert so wie ich das verstehe)

 *firefly wrote:*   

> soweit ich weis verwendet ftp port 20 und 21 und die ports >1023 bei passivem ftp modus.
> 
> ich denke das der port 20 nur verwendet wird, wenn der aktive modus verwendet wird oder?

 

Richtig; ein aktiver FTP-Server baut die Datenverbindung mit Sourceport 20 zum Client hin auf (aber i.d.R. ist hier auch dst Port >1023). Bei einem passiven Server baut der Client _beide_ Verbindungen auf.

----------

## slick

 *Think4UrS11 wrote:*   

> Allerdings ist es genau andersherum als du schreibst - gerade simple NAT-Router kommen eher mit passivem als mit aktivem FTP klar. (s.o.)

 

Sag ich doch, dann darf der Server aber nicht auch im passiven Modus sein (keine eingehenden Connects (!= 21) erlaubt).

----------

## bbgermany

also ich würde das so machen (kann aber auch falsch sein, hab schon lange keine fw-regeln für ftp mehr gebaut):

```

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT

```

wenn ich mich nicht irre, sollte das gehen  :Smile: 

----------

## samsonus

das würde gehen, wenn das Modul eingebunden wäre, ist es aber leider nicht.

----------

