Как установить ProFTPD с TLS на CentOS 7.2
Это руководство существует для этих версий ОС
- CentOS 7.2
- CentOS 7
На этой странице
- 1 Предварительное примечание
- 2 Установите и настройте ProFTPD
- 2.1 Установка:
- 2.2 Создание пользователей ProFTPD
В этом руководстве описывается установка и настройка ProFTPD на сервере CentOS 7.2. ProFTPD — это FTP-демон для операционных систем Unix и Linux, распространяемый под лицензией GNU Public License (GPL).
1 Предварительное примечание
Это руководство основано на сервере CentOS, поэтому вам следует настроить базовую установку сервера CentOS 7.2, прежде чем продолжить работу с этим руководством. Система должна иметь статический IP-адрес. В этом руководстве я использую 192.168.1.100 в качестве своего IP-адреса и server1.example.com в качестве имени хоста.
2 Установите и настройте ProFTPD
2.1 Установка:
Нам требуется программное обеспечение из репозитория EPEL, включите его следующим образом:
yum -y install epel-release
Затем импортируйте GPG-ключ EPEL:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
и обновить пакеты:
yum -y update
Мы установим ProFTPD и OpenSSL следующим образом:
yum install -y proftpd openssl proftpd-utils
Нам нужно запустить службу и включить ее автоматический запуск при загрузке.
systemctl start proftpd.service
systemctl enable proftpd.serviceЕсли у вас установлен firewalld, настройте брандмауэр с помощью команды firewall-cmd, чтобы открыть FTP-порт:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reloadМы можем проверить версию ProFTPD следующим образом:
proftpd -v
2.2 Создание пользователей ProFTPD
Я создам группу ftpgroup и пользователя to для ProFTPD. Я установлю /ftpshare в качестве домашнего каталога для пользователя tom.
groupadd ftpgroup
Далее я добавлю пользователя srijan в ftpgroup:
useradd -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom[ ~]#
Установите разрешения для каталога ftpshare:
chmod -R 1750 /ftpshare/
Теперь мы готовы к подключению ProFTPD. Но соединения еще не зашифрованы, мы решим это в следующей главе.
3 Включение TLS в ProFTPD
Чтобы включить TLS в ProFTPD, откройте файл /etc/proftpd/proftpd.conf. Перед редактированием файла лучше сделать резервную копию исходного файла, а затем отредактировать файл с помощью nano.
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.confДобавьте и измените линии, как показано красным.
[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]
#<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]Я добавил порты 6000 и 6100 для включения пассивного режима ftp, аналогичным образом я разрешаю пассивный режим через службу CentOS firewalld следующим образом:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reloadМы можем проверить состояние портов следующим образом:
firewall-cmd --list-ports
[ ~]#
Кроме того, нам нужно указать SELINUX разрешить чтение/запись файлов.
setsebool -P allow_ftpd_full_access=1
Чтобы использовать TLS, мы должны создать сертификат SSL. Я создам его в /etc/pki/tls/certs, мы можем сгенерировать SSL-сертификат следующим образом:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Укажите вышеуказанные значения красным цветом по вашему выбору, я только что привел пример.
Теперь в целях безопасности я сделаю сертификаты доступными только для чтения следующим образом:
chmod 0440 /etc/pki/tls/certs/proftpd.pem
Наконец, перезапустите службу ProFTPD следующим образом:
systemctl restart proftpd.service
Подробности будут:
Хост=192.168.1.100
Протокол=FTP
Пользователь = tom
Порт=может быть пустым, если вы не настроили другой порт, кроме 21
Пароль=ftppassword (только что созданный выше)4 Анонимный доступ по ftp в ProFTPD
Мы можем создать анонимную учетную запись ftp в ProFTPD, просто добавим эти строки в файл конфигурации ProFTPD:
nano /etc/proftpd.conf
И добавьте эти строки в конец файла.
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>Теперь нам нужно перезапустить службу FTP:
systemctl restart proftpd.service
Теперь подключитесь через Filezilla к учетной записи anon следующим образом:
Нажмите Подключить.
Мы успешно подключились к серверу с анонимным пользователем.
Поздравляем! Теперь мы успешно настроили серверную среду ProFTPD в CentOS 7.2 :)
5 ссылок
- CentOS: http://www.centos.org/
- ProFTPD: http://www.proftpd.org/