Сервис ftp Установка ProFTPd with TLS support на Ubuntu Linux Server

Автор: | 29 ноября, 2018

ProFTPD (Professional FTP Daemon) — FTP-сервер для Linux и UNIX-подобных операционных систем.

ProFTPD использует лишь один конфигурационный файл proftpd.conf, который располагается по умолчанию в:

Linux — /etc/proftpd/proftpd.conf ( CentOS 7: /etc/proftpd.conf )
FreeBSD — /usr/local/etc/proftpd.conf.

1) Добавим репозитории ubuntu

nano /etc/apt/sources.list
deb http://ru.archive.ubuntu.com/ubuntu/ bionic main
deb http://ru.archive.ubuntu.com/ubuntu/ bionic main universe

2)проверка списка обновлений репозиториев

apt update

3)Установка фтп сервера proftpd и openssl

apt-get -y install proftpd openssl

узнать версию proftpd -v

4)Ограничить пользователя домашней папкой и скрыть версию програмного обеспечения ftp сервера и ОС

The first option enables chrooting of FTP users into their home directory and the second option enables a ServerIdent message that does not contain any information about the used FTP server software, version or OS so that a potential attacker don’t gets these details on the silver plate.

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]
5)Создаем SSL сертификат Create the SSL Certificate for TLS

5.1)Создадим папку

mkdir /etc/proftpd/ssl

5.2)Отвечаем на вопросы

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

5.3)Защитите созданные файлы сертификатов. Secure the generated certificate files.(owner can read and write)

chmod 600 /etc/proftpd/ssl/proftpd.*

6)Включим TLS в ProFTPd

Enable TLS in ProFTPd

nano /etc/proftpd/proftpd.conf
... and uncomment the Include /etc/proftpd/tls.conf line:
[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

7)Редактируем файл tls.conf

nano /etc/proftpd/tls.conf
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions                 NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                off
RequireValidShell          no

6.1)Перезапуск сервиса proftpd

systemctl restart proftpd.service

Если вы используете TLSRequired on, то разрешены только TLS-соединения (это блокирует всех пользователей со старыми FTP-клиентами, у которых нет поддержки TLS); путем комментирования этой строки или использования TLSRequired как с TLS, так и с не-TLS-соединениями, в зависимости от того, что поддерживает FTP-клиент.
If you use TLSRequired on, then only TLS connections are allowed (this locks out any users with old FTP clients that don’t have TLS support); by commenting out that line or using TLSRequired off both TLS and non-TLS connections are allowed, depending on what the FTP client supports.

8)Добавим фтп пользователя без доступа к ssh консоли

Add an FTP user
useradd --shell /bin/false ftp1

9)Создаём профиль пользователя ftp1
и даём на него права

mkdir /home/ftp1
chown ftp1:ftp1 /home/ftp1

9.1)Смена пароля пользователя ftp1

passwd ftp1

10)Бесплатный фтп ftp клиент https://filezilla-project.org/

11)Firewall
nano /etc/proftpd/proftpd.conf

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
PassivePorts                  30000 50000
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:50000 -j ACCEPT
iptables-save

12)Организация анонимного доступа к ftp серверу ProFTPD

# nano /etc/proftpd/proftpd.conf


   User                         ftp
   UserAlias                    anonymous ftp
   RequireValidShell            off


# mkdir /var/share/
chmod -R 777 /var/share/
# service proftpd restart

# cat /etc/proftpd/proftpd.conf
# Use this to jail all users in their homes
# DefaultRoot                   ~
DefaultRoot                     /var/share

https://www.howtoforge.com/tutorial/install-proftpd-with-tls-on-ubuntu-16-04/
https://websiteforstudents.com/install-pro-ftpd-on-ubuntu-18-04-lts-beta-server-with-ssl-tls-certificates/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *