[debian] non-pasive ftp gebruiken

Pagina: 1
Acties:

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
Hoi,

Ik zit hier achter een ipchains firewall die op mijn linuxbak staat die deelt het internet. maar nu kan ik op deze pc geen non-pasive ftp gebruiken, en ik moet bij een server die jammergenoeg geen pasive aankan :|

heb al 'modprobe ip_masq_ftp' gedaan maar dat werkt nog steeds niet, heb ook ergens gelezen dat ik een bepaalde porten range moet opengooien maar kan niet vinden om welke porten het gaan.

  • hammerhead
  • Registratie: April 2000
  • Laatst online: 24-04 08:47
Non-passive is toch gewoon active??

Voor zover ik me zo snel kan herinneren is het dan gewoon:
Client maakt verbinding naar server op poort 21 voor commands.
Hierna maakt server een verbinding terug op poort 20 van de client voor de data.

Volgens mij zou je voor active ftp alleen maar poort 20 hoeven forwarden....

Disclaimer: Weet het niet helemaal zeker meer :)

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
port 20 en port 21 staan al open in 2 richtingen.
en las op ergens op dit forum dat modprobe ip_masq_ftp voldoende was :(

Verwijderd

Pff, volgens mij was het allemaal iets ingewikkelder met active ftp. Die poorten die jullie noemen zijn volgens mij alleen maar voor de informatieverwisseling tussen client/server. De data word verstuurd ergens boven de poort 1000.

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
hmm als ik alle porten in firewall open dan werkt active ftp prima maar dat is wat onveiliger geloof ik :|

Verwijderd

Zeker is dat onveiliger! Maar ehm, heb je wel gezocht voordat je dit topic opende??? Met google (ftp active port) kon ik heel gemakkelijk deze link vinden. En daar staat heel mooi: :)
In active mode FTP the client connects from a random unprivileged port (N > 1024) to the FTP server's command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client's specified data port from its local data port, which is port 20.

From the server-side firewall's standpoint, to support active mode FTP the following communication channels need to be opened:

* FTP server's port 21 from anywhere (Client initiates connection)
* FTP server's port 21 to ports > 1024 (Server responds to client's control port)
* FTP server's port 20 to ports > 1024 (Server initiates data connection to client's data port)
* FTP server's port 20 from ports > 1024 (Client sends ACKs to server's data port
Alle poorten <= 1024 kun je dus dicht houden en alle poorten > 1024 moet je dus open zetten. Weet niet of dit wel veilig is, maar al zeker een stuk veiliger als alle poorten open laten.

Verwijderd

Ik heb even het een en ander uit mij firewall gekopieerd. Zo zou het goed moeten werken.
EXTERNAL_INTERFACE="ippp0" # De externe interface
LOOPBACK_INTERFACE="lo" # Systeem interface

IPADDR="XXX.XXX.XXX.XXX" # Internet ip adress
ANYWHERE="any/0" # Elk overeenkomstig adress

LOOPBACK="127.0.0.0/8" # Gereserveerd loopback adresbereik
CLASS_A="10.0.0.0/8" # klasse A gereserveerd voor bedrijfsnetwerken
CLASS_B="172.16.0.0/12" # Klasse B gereserveerd voor bedrijfsnetwerken
CLASS_C="192.168.0.0/16" # Klasse C gereserveerd voor bedrijfsnetwerken
CLASS_D_MULTICAST="224.0.0.0/4" # Klasse D Multicast adressen
CLASS_E_RESERVED_NET="240.0.0.0/5" # Klasse E gereserveerde adressen
BROADCAST_SRC="0.0.0.0" # Broadcast bronadres
BROADCAST_DEST="255.255.255.255" # Broadcast bestemmings adres
PRIVPORTS="0:1023" # Geprivilegieerd poortbereik
UNPRIVPORTS="1024:65535" # Ongeprivilegieerd poortbereik

# De locatie van belangrijke programma's
IPCHAINS=/sbin/ipchains
DEPMOD=/sbin/depmod
INSMOD=/sbin/insmod
MODPROBE=/sbin/modprobe
IPMASQADM=/usr/sbin/ipmasqadm


# Het laden van de modules die nodig zijn
echo "Loading required modules"
echo "Load ip masq ftp module"
$MODPROBE ip_masq_ftp

# Uitgaande Ftp verbindingen toestaan
$IPCHAINS -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 21 -j ACCEPT

$IPCHAINS -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE 21 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

# Poortmodus FTP datakanalen toestaan
$IPCHAINS -A input -i $EXTERNAL_INTERFACE -p tcp \
-s $ANYWHERE 20 \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

$IPCHAINS -A output -i $EXTERNAL_INTERFACE -p tcp ! -y\
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE 20 -j ACCEPT

# Passieve modus FTP datakanalen toestaan
$IPCHAINS -A output -i $EXTERNAL_INTERFACE -p tcp \
-s $IPADDR $UNPRIVPORTS \
-d $ANYWHERE $UNPRIVPORTS -j ACCEPT

$IPCHAINS -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $ANYWHERE $UNPRIVPORTS \
-d $IPADDR $UNPRIVPORTS -j ACCEPT

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 00:08
Mag ik ook weten welke server dat is? Ik heb zelf linux-2.4.22 met iptables 1.2.6 en de ip_conntrack_ftp en ip_nat_ftp modules die ervoor zou moeten zorgen dat active FTP mogelijk is. Alleen heb ik het nog nooit in de praktijk kunnen testen.

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett

Pagina: 1