# vsftp online stellen ....



## crazyTux (14. Oktober 2003)

Hallo,
ich habe da ein kleines Problem und hoffe das mir hier jemand helfen kann  

„Vorwort“:
Ich habe auf meinem Rechnet vsftp installiert und konfiguriert.

etc/vsftp/vsftp.conf:

anonymous_enable=YES
listen=YES
local_enable=NO
log_ftp_protocol=YES
write_enable=NO
xferlog_enable=YES
anon_max_rate=0
connect_timeout=60
ftp_data_port=20
idle_session_timeout=60
max_clients=5
pam_service_name=vsftpd
xferlog_file=/var/log/vsftpd.log

Gestartet wird der Server in der /etc/xinetd.conf:

service ftp
{
        socket_type = stream
        wait        = no
        user        = root
        server      = /usr/sbin/vsftpd
        server_flags = -a
        log_on_success += DURATION
        instance    = 4
}

Problem:

Ich hatte eigentlich vor den Server auch online zur Verfügung zu stellen. Intern kann auf den 
FTP zugegriffen werden, jedoch nicht von außen. Meine IP lautet 217.68.*.*, also liegt es nicht
daran das ich eine Interne-IP verwende  (Sprich die IP ist aus dem INet erreichbar).


Hat jemand eine Idee woran es liegt oder mit was man es beheben könnte?

MfG crazyTux


----------



## Sinac (14. Oktober 2003)

Würde jetzt mal auf ne Firewell tippen. Kannste den andere Dienste von Außen erreichen?
Welche Dist?
Die externe IP brauchste wohl nich posten oder mit * verstecken, du hast je eh imma ne neue 

Greetz...
Sinac


----------



## crazyTux (14. Oktober 2003)

> _Original geschrieben von Sinac _
> Würde jetzt mal auf ne Firewell tippen. Kannste den andere Dienste von Außen erreichen?
> Welche Dist?
> Die externe IP brauchste wohl nich posten oder mit * verstecken, du hast je eh imma ne neue
> ...



Hi, 
also eine Firewall ist es nicht. Was ich mir vorstellen könnte ist das es am TCPD liegt.
Weiß jemand wie man diesen konfiguriert? Ich hab schon versucht etwas über Googel zu
finden, doch diese Ratschläge konnten mir auch nicht helfen. Ich hab sie zwar zum Teil 
ausprobiert doch klappen wollte nichts so richtig, eventuell bin ich auch auf dem Holzweg
mit dem TCPD

Also einen anderen Dienst *denk* kann ich ebenfalls nicht erreichen (z.B. Apache),
um die hab ich mir aber weniger Gedanken gemacht.

Zur Zeit verwende ich RedHat 9.

Die IP hab ich nur gepostet damit niemand denkt ich bin so blöde und versuch mich
von außen mit ner 192 ein zu wählen *g* und doch ich behalte meine IP immer 1 Monat 
(+- 1 Woche)

MfG crazyTux

Edit: Noch einmal zu der Firewall, zu mindestens bin ich mir nicht bewusst das ich so
etwas einmal konfiguriert hab.


----------



## Habenix (14. Oktober 2003)

ahhhh ein cabel-user )))

was bedeutet diese einstellung hier?


```
local_enable=NO
```

hier  ist eine würdige Alternative zu vsftp......


Gruß

Habenix


----------



## crazyTux (14. Oktober 2003)

> _Original geschrieben von Habenix _
> ahhhh ein cabel-user )))
> 
> was bedeutet diese einstellung hier?
> ...



Genau Cabel =)

Diese Einstellung bedeutet, wenn ich mich jetzt nicht irre das keiner von den localen Usern sich 
am FTP anmelden kann/darf.


----------



## Habenix (14. Oktober 2003)

hehehe ich auch cabel 

na dann stell mal den Wert auf 1 

zusätzlich schau mal in die Datei /etc/ftpusers  da stehen alle Benutzer die sich NICHT anmelden dürfen

Gruß

Habenix


----------



## Habenix (14. Oktober 2003)

Hier sind mal 2 links die dir weiterhelfen könnten:



http://www.engardelinux.org/howto/vsftp_howto.html

http://www.siliconvalleyccie.com/linux-hn/ftp-server.htm


----------



## crazyTux (14. Oktober 2003)

> _Original geschrieben von Habenix _
> hehehe ich auch cabel
> 
> na dann stell mal den Wert auf 1
> ...



Man ich könnte mich *grummel* *rotwerd*

Erstmal danke für eure Hilfe  Ich hab das Problem gefunden, das mit der Firewall war 
schon richtig. Ich hab vor längerer Zeit mal nen Script im Netz gefunden was mir ermöglichte
mehre PC in meinem Netz über einen Anschluß raus zulassen, nur hatte ich vergessen das es auch
gleichzeitig ein Paketfilter ist. Sry  Nun muss ich das Script nur noch umschreiben, eventuell
hat ja einer von euch Ideen (siehe Anhang)

Ohne Pakfilter geht er.

Also nochmal SRY für die Unannehmlichkeiten =)

MfG crazyTux

p.s. Die Einstellung mit dem local_en. ist beabsichtigt auf no gestellt =)

Script:
------------------------------------------------
#!/bin/bash

IPTABLES=`which iptables`
DEV_EXT=eth0
DEV_INT=eth1

modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc

#limits schaffen, um DoS zu erschweren und masquerading einschalten

echo "1"  > /proc/sys/net/ipv4/ip_forward
echo "1"  > /proc/sys/net/ipv4/tcp_syncookies
echo "1"  > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1"  > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/all/bootp_relay
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians


# default-policies festlegen

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

# löschen aller alten evtl noch vorhandenen rules

$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

# loopback muß lokal offen sein

$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

# masquerading einschalten

$IPTABLES -t nat -A POSTROUTING -o $DEV_EXT -j MASQUERADE

# pakete die zu bestehenden verbindungen gehören (established)
# und solche die dazugehören (related) dürfen rein

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -i $DEV_EXT -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -i $DEV_INT -j ACCEPT


# LAN reinlassen für ssh, ggf ans LAN anpassen

$IPTABLES -A INPUT -s 192.168.0.0/24 -i $DEV_INT -j ACCEPT

# ident-anfragen rejecten 

$IPTABLES -A INPUT -m state --state NEW,ESTABLISHED,RELATED -i $DEV_EXT -p TCP --dport auth -j REJECT --reject-with tcp-reset

#und ggf NATen

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -i $DEV_EXT -p TCP --dport auth --syn -j ACCEPT

# keine verbindungsanfragen an $DEV_EXT beantworten

$IPTABLES -A INPUT -m state --state NEW -i ! $DEV_EXT -j ACCEPT

# verbindungsanfragen und geblockte pakete loggen

$IPTABLES -A INPUT -i $DEV_EXT -m state --state NEW,INVALID -j LOG

# alles verwerfen, was auf keine bisherige regel gepaßt hat

$IPTABLES -A INPUT -j DROP
$IPTABLES -P INPUT DROP
------------------------------------------------

Edit: Danke für die Links, sind richtig gut =)


----------

