Probleme mit VSFTPD / FTP unter Linux Ubuntu Server - Schritte zur Fehlerbehebung?


7

Ich habe es mit einem Problem zu tun, bei dem ich mir nicht sicher bin, wie ich es lösen soll, und habe mir seit einiger Zeit die Haare ausgezogen. Ich habe versucht, einen FTP-Benutzer wie folgt zu konfigurieren (wir verwenden dieselbe Dokumentation auf allen Servern).

Installieren Sie den FTP-Server

  • apt-get install vsftpd Aktiviere local_enable und write_enable auf YES
  • und anonymer Benutzer zu NEIN in /etc/vsftpd.conf Neustart - Dienst vsftpd
  • Neustart - damit Änderungen vorgenommen werden können

Fügen Sie WordPress User für den FTP-Zugriff in WP Admin hinzu

Erstellen Sie eine gefälschte Shell für den Benutzer und fügen Sie "usr / sbin / nologin" am Ende der Datei / etc / shells hinzu

Fügen Sie ein FTP-Benutzerkonto hinzu

  • useradd Benutzername -d / var / www / -s / usr / sbin / nologin
  • passwd Benutzername

Fügen Sie diese Zeilen am Ende von /etc/vsftpd.conf
- userlist_file = / etc / vsftpd.userlist - userlist_enable = YES - userlist_deny = NO hinzu

Fügen Sie der Liste oben in /etc/vsftpd.userlist einen Benutzernamen hinzu

  • Neustart vsftpd "Service vsftpd Neustart"
  • Stellen Sie sicher, dass die Firewall für FTP geöffnet ist. "ufw allow ftp" allow
  • Ändern Sie das Verzeichnis / var / www für den Benutzernamen "chown -R / var / www

Ich habe auch alles durchgesehen, was in diesem Beitrag aufgeführt ist und kein Glück. Ich bekomme die Verbindung abgelehnt.

Entschuldigen Sie die schlechte Textformatierung oben. Ich denke du kommst auf die Idee. Dies ist etwas, was wir immer und immer wieder tun und aus irgendeinem Grund kooperiert es hier nicht.

Das Setup ist Ubuntu 12.04LTS und VSFTPD v2.3.5


Läuft vsftpd tatsächlich ( ps -FC vsftpd) und lauscht Port 21 ( sudo netstat -tlpn | grep vsftpd)?
mgorven

... und ist es wirklich / usr / sbin / nologin (mit dem führenden /) oder ist es das, was Sie eingegeben haben? Veröffentlichen Sie Ihre iptables -L-Ausgabe.
Dan Pritts

Mgorven und Dan danken Ihnen beiden für Ihren Blick. Ja, es lauscht auf Port 21 und der führende Schrägstrich ist da.
Jnolte

Können Sie bitte versuchen, eine Verbindung über den Server "ftp localhost" herzustellen und zu überprüfen, ob Sie von dort aus eine Verbindung herstellen können?
Hex

Antworten:


1

Hier ist also der INPUT-Teil Ihrer iptables-Konfiguration.

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

HIER ^

ufw-before-logging-input  all  --  anywhere             anywhere            
ufw-before-input  all  --  anywhere             anywhere            
ufw-after-input  all  --  anywhere             anywhere            
ufw-after-logging-input  all  --  anywhere             anywhere            
ufw-reject-input  all  --  anywhere             anywhere            
ufw-track-input  all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ftp state ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ftp-data state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp spts:1024:65535 dpts:1024:65535 state ESTABLISHED

Die Zeile, die ich mit REJECT hervorgehoben habe, verweigert alle eingehenden Verbindungen. Die Regeln, die Sie unten einfügen, um FTP- und FTP-Daten zuzulassen, werden niemals ausgelöst. Noch sind die ufw-Regeln.

Ich bin keine Ubuntu-Person und habe keine Box zur Hand, aber es ist wahrscheinlich, dass Ihr Init-Skript, das Ihre Firewall verwaltet, die ersten Regeln fest codiert, und der Ort, an dem Sie Ihre Konfiguration hinzugefügt haben, geschieht später die Startsequenz.


1

Ich weiß nicht, ob dies hilft oder nicht, aber hier ist meine vsftpd.conf-Datei, die perfekt für mich funktioniert :) Aufgrund der Menge an Änderungen im Laufe der Jahre. Ich habe Änderungen an meiner Datei vsftpd.conf festgestellt.

    # /etc/vsftpd.conf - vsftpd configuration file
#
# Run standalone
listen=YES
#
# Allow anonymous FTP
anonymous_enable=NO
#
# Allow local users to log in
local_enable=YES
#
# Allow any form of FTP write command
write_enable=YES
#
# Default umask is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd)
local_umask=022
anon_umask=022
#
# Allow the anonymous FTP user to upload files
anon_upload_enable=NO
#
# Allow the anonymous FTP user to be able to create new directories
anon_mkdir_write_enable=NO
#
# Activate directory messages
dirmessage_enable=YES
#
# Display directory listings with the time in your local time zone
use_localtime=YES
#
# Activate logging of uploads/downloads
xferlog_enable=YES                    
#
# Make sure PORT transfer connections originate from port 20 (ftp-data)
connect_from_port_20=YES
#
# Customise the login banner string
ftpd_banner=Welcome to FTP service.
#
# Restrict local users to their home directories
chroot_local_user=NO
#
# Activate the "-R" option to the builtin ls. This is disabled by default to
# avoid remote users being able to cause excessive I/O on large sites.
# However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option
ls_recurse_enable=YES
#
# Show textual names in the user and group fields of directory listings
text_userdb_names=YES
#
# Empty directory not writable by the ftp user as a secure chroot() jail at
# times vsftpd does not require filesystem access
secure_chroot_dir=/var/run/vsftpd/empty
#
# PAM service vsftpd will use
pam_service_name=vsftpd
#
# Support secure connections via SSL. This applies to the control connection
# (including login) and also data connections
ssl_enable=YES
#
# Certificate to use for SSL encrypted connections
rsa_cert_file=/etc/vsftpd/ssl/ssl.pem
#
#
# Not to require all SSL data connections to exhibit SSL session reuse
require_ssl_reuse=NO
#
# Force authenticated login and data via SSL
force_local_logins_ssl=NO
force_local_data_ssl=NO

ssl_ciphers=HIGH

# DEV1 Settings
listen_port=21
pasv_enable=YES
pasv_min_port=64400
pasv_max_port=64499

pasv_address=YOUR Static Public IP
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.