vsftpd
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| vsftpd [2017-06-20 09:10:26] – angelegt manfred | vsftpd [2017-06-20 09:37:49] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== vsFTPd ====== | ||
| + | |||
| + | ===== kurze Konfigurationsanleitung ===== | ||
| + | |||
| + | ==== das ganze über PAM ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Dazu muss pam und die DB von Berkley installiert sein. | ||
| + | |||
| + | Dann folgendes: | ||
| + | - '' | ||
| + | - Benutzer und Passwort einfach untereinander schreiben | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - Dann diese 2 Zeilen in der Datei speichern (Kann je nach Pfad anders sein) | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - Anonymous deaktivieren | ||
| + | - Pfad zur '' | ||
| + | - '' | ||
| + | |||
| + | Ansonsten ein paar Tips: | ||
| + | * Shell für ftp User abschalten ''/ | ||
| + | * vsftpd kann nur als root gestartet werden. Einen anderen user mit Rootrechten anlegen und diesem die Shell entnehmen :-) | ||
| + | * chroot auf jedenfall benutzen | ||
| + | * Sicherheit testen | ||
| + | * besser wäre ein anderer Server Port | ||
| + | |||
| + | Wenn du die normalen User zugreifen lassen willst, ändere zumindest in der ''/ | ||
| + | |||
| + | Die Verzeichnisspfade können verschieden sein. | ||
| + | Beim RedHat RPM werden die user DB's z.B. in ''/ | ||
| + | Auch das chroot und so befindet sich in dem Verzeichnis. | ||
| + | Unter Redhat ist der Server viel einfacher aufzusetzen als unter Debian. | ||
| + | |||
| + | |||
| + | ===== Ubuntu 12.04 LTS ===== | ||
| + | |||
| + | |||
| + | ===== Quellen: ===== | ||
| + | |||
| + | **VSFTP Installation** | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | |||
| + | **SSH Jail/ | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | > aptitude install vsftpd | ||
| + | > echo "/ | ||
| + | |||
| + | Die Anpassung der Datei Shells ist notwendig, damit der vsftp Benutzeranmeldungen akzeptiert, deren Shell auf false konfiguriert wurde. | ||
| + | |||
| + | |||
| + | ==== / | ||
| + | |||
| + | Innerhalb der vsftpd.conf sind folgende Anpassungen Werte anzupassen/ | ||
| + | |||
| + | anonymous_enable=NO | ||
| + | ftpd_banner=Willkommen auf dem FTP-Server. | ||
| + | | ||
| + | local_enable=YES | ||
| + | local_umask=022 | ||
| + | userlist_deny=NO | ||
| + | userlist_enable=YES | ||
| + | userlist_file=/ | ||
| + | user_config_dir=/ | ||
| + | chroot_local_user=YES | ||
| + | |||
| + | |||
| + | ==== Benutzerkonfiguration ==== | ||
| + | |||
| + | |||
| + | === Anlegen der Benutzer und Homeverzeichnisse im OS === | ||
| + | |||
| + | useradd fritz -m -s /bin/bash -d /home/ftp/ | ||
| + | useradd clupdate -m -s /bin/false -d / | ||
| + | chown root:root /home/ftp/ | ||
| + | chmod 555 /home/ftp/ | ||
| + | chown fritz: | ||
| + | chmod 755 / | ||
| + | |||
| + | === benutzerspezifische vsftpd Konfiguration === | ||
| + | **Berechtigung für den FTP Zugang** | ||
| + | |||
| + | Durch diese Einstellung werden die für FTP zugelassenen OS-Benutzer definiert | ||
| + | echo fritz >> / | ||
| + | echo clupdate >> / | ||
| + | |||
| + | ** spezifische Einschränkungen für den Benutzer clupdate** | ||
| + | mkdir / | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | Diese Einstellungen verbieten dem Benutzer clupdate das Verzeichnislisting, | ||
| + | |||
| + | |||
| + | === Konfiguration eines Jail für den SSH Zugriff von fritz === | ||
| + | |||
| + | **Ergänzen der / | ||
| + | Match user fritz | ||
| + | ChrootDirectory /home/ftp | ||
| + | X11Forwarding no | ||
| + | AllowTcpForwarding no | ||
| + | | ||
| + | **Einrichtung des Zugangs und des Jail** | ||
| + | mkdir / | ||
| + | echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDB9jnAYmxi+QOX0QTXPWBd4Pco+91F3u2A986DJ+vzvUvoksx4z4uePp+LEt0KtWB8MeFoUARregx2/ | ||
| + | chown -R fritz:root / | ||
| + | chmod 555 / | ||
| + | chmod 400 / | ||
| + | chsh -s /bin/bash fritz | ||
| + | mkdir / | ||
| + | mkdir / | ||
| + | mknod -m 666 / | ||
| + | | ||
| + | cd / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp /etc/hosts . | ||
| + | | ||
| + | cd / | ||
| + | cp /bin/ls . | ||
| + | cp /bin/bash . | ||
| + | cp /bin/ln . | ||
| + | | ||
| + | cd /home/ftp | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp / | ||
| + | cp -r lib64 lib | ||
| + | |||
| + | **Ausschluss von Jail-Files vom FTP Zugriff** | ||
| + | |||
| + | echo ' | ||
| + | echo ' | ||
| + | |||
| + | |||
| + | ==== Zusätzliche Härtung des Systems mit CSF ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | dpkg --list ' | ||
| + | apt-get autoclean && apt-get | ||
| + | |||
| + | echo -e "\n\n# eXtremeSHOK.com Secured\n# | ||
| + | |||
| + | echo -e "# eXtremeSHOK.com Optimised\n# | ||
| + | |||
| + | echo -e "\n# eXtremeSHOK.com Optimised\n* soft nofile 8192\n* hard nofile 8192" >> / | ||
| + | |||
| + | echo -e " | ||
| + | |||
| + | echo -e " | ||
| + | |||
| + | apt-get purge -y ufw shorewall apf-firewall | ||
| + | apt-get -y install iptables perl libwww-perl libgd-graph-perl libio-socket-inet6-perl libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libsocket6-perl | ||
| + | apt-get install -y nullmailer vim vim-nox screen unzip zip python-software-properties aptitude curl denyhosts dos2unix | ||
| + | |||
| + | nullmailer smarthost -> 192.168.15.22 | ||
| + | |||
| + | Konfigurieren denyhosts | ||
| + | |||
| + | sed -i ' | ||
| + | sed -i ' | ||
| + | sed -i ' | ||
| + | sed -i ' | ||
| + | |||
| + | installation csf | ||
| + | export http_proxy=http:// | ||
| + | export HTTP_PROXY=http:// | ||
| + | wget http:// | ||
| + | cd /tmp/ && tar -xzf csf.tgz | ||
| + | cd csf && chmod 777 install.sh | ||
| + | sh install.sh | ||
| + | |||
| + | sysctl -w net.ipv4.icmp_echo_ignore_all=0 | ||
| + | cd / | ||
| + | sed -i "s/To: root/To: administrator@domain.de/" | ||
| + | update-rc.d -f ipmievd remove | ||
| + | |||
| + | Proxy erweiterung "/ | ||
| + | |||
| + | zeile 3006 -> Bereich # start urlgetLWP | ||
| + | my $req = HTTP:: | ||
| + | ## WEG | ||
| + | $ENV{HTTP_proxy} = " | ||
| + | $ua-> | ||
| + | ## | ||
| + | my $res; | ||
| + | |||
| + | zeile 3657 | ||
| + | }; | ||
| + | ##WEG | ||
| + | delete $ENV{HTTP_PROXY}; | ||
| + | ## | ||
| + | alarm(0); | ||
| + | |||
| + | |||
| + | danach und Erweiterung wieder vornehmen | ||
| + | csf -uf | ||
| + | | ||
| + | Test csf | ||
| + | perl / | ||
| + | | ||
| + | sed -i ' | ||
| + | cd /etc/csf/ | ||
| + | |||
| + | echo -e " | ||
| + | service ssh restart | ||
| + | |||
| + | sed -i ' | ||
| + | |||
| + | / | ||
| + | |||
| + | 192.168.45.100 | ||
| + | 192.168.45.102 | ||
| + | 192.168.45.103 | ||
| + | # | ||
| + | icmp|in|d=ping|s=192.168.43.102 | ||
| + | icmp|in|d=ping|s=192.168.43.103 | ||
| + | icmp|out|d=pong|s=192.168.45.240 | ||
| + | | ||
| + | 192.168.69.73 # csf SSH installation/ | ||
| + | 192.168.43.102 # csf SSH installation/ | ||
| + | |||
| + | service csf restart | ||
| + | |||
| + | / | ||
| + | |||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | # | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
| + | exe:/ | ||
