Установите proftpd
Перед установкой сделайте базовую настройку Ubuntu
_x000D_apt install proftpd -yУкажите установить standalone сервер
Выполните команду nano /etc/proftpd/proftpd.conf
Измените строчки в этом файле:
_x000D_ListOptions "-la"_x000D_AllowOverwrite yes_x000D_Добавьте строчки в конце этого файла:
_x000D_DefaultRoot ~_x000D_RequireValidShell off_x000D_RootLogin off_x000D_UseFtpUsers false_x000D_AuthUserFile /etc/proftpd/ftpd.passwd_x000D_AuthGroupFile /etc/proftpd/ftpd.group_x000D_AllowStoreRestart on_x000D_PassivePorts 30000 50000_x000D_MasqueradeAddress <Внешний IP Адрес>Создайте пользователя
_x000D_ftpasswd --file /etc/proftpd/ftpd.passwd --passwd --name ftp_user --home /var/www --shell /bin/false --uid 1000 --gid 1000_x000D_touch /etc/proftpd/ftpd.group —home — Это ФТП папка
—uid — ID пользователя, под которым будет работать ФТП
—gid — ID группы пользователя
UID и GID берутся из файла /etc/passwd и /etc/group
Добавьте правила iptables:
_x000D_iptables -A INPUT -p tcp --dport 21 -j ACCEPT_x000D_iptables -A INPUT -p tcp --dport 30000:50000 -j ACCEPTПерезапустите proftpd:
_x000D_service proftpd restartПроверьте что proftpd запущен:
_x000D_service proftpd statusЭта команда должна вывести следующее содержимое:
_x000D_● proftpd.service - LSB: Starts ProFTPD daemon_x000D_ Loaded: loaded (/etc/init.d/proftpd; bad; vendor preset: enabled)_x000D_ Active: active (running) since Fri 2018-06-01 15:46:18 MSK; 3s ago_x000D_ Docs: man:systemd-sysv-generator(8)_x000D_ Process: 18569 ExecStop=/etc/init.d/proftpd stop (code=exited, status=0/SUCCESS)_x000D_ Process: 18531 ExecReload=/etc/init.d/proftpd reload (code=exited, status=0/SUCCESS)_x000D_ Process: 18580 ExecStart=/etc/init.d/proftpd start (code=exited, status=0/SUCCESS)_x000D_ Tasks: 1_x000D_ Memory: 1.7M_x000D_ CPU: 22ms_x000D_ CGroup: /system.slice/proftpd.service_x000D_ └─18592 proftpd: (accepting connections)_x000D_Убедитесь, что стоит статус Active: active (running)
Настройка TLS
Раскоментируйте строчку:
_x000D_#_x000D_# This is used for FTPS connections_x000D_#_x000D_Include /etc/proftpd/tls.confСгенерируйте сертификат
_x000D_mkdir -p /etc/proftpd/certs_x000D_openssl req -new -x509 -days 3650 -nodes -out /etc/proftpd/certs/proftpd.crt -keyout /etc/proftpd/certs/proftpd.keyВ конфиге /etc/proftpd/tls.conf пропишите
_x000D_<IfModule mod_tls.c>_x000D_ TLSEngine on_x000D_ TLSRequired on_x000D_ TLSVerifyClient off_x000D_ TLSProtocol ALL_x000D_ #TLSLog /var/log/proftpd/tls.log_x000D_ TLSRSACertificateFile /etc/proftpd/certs/proftpd.crt_x000D_ TLSRSACertificateKeyFile /etc/proftpd/certs/proftpd.key_x000D_ TLSRenegotiate none_x000D_ TLSOptions NoSessionReuseRequired_x000D_ #TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired_x000D_</IfModule>Перезагрузите proftpd
_x000D_service proftpd restart_x000D_service proftpd status