Поиск по сайту:

Как установить ProFTPD с TLS на CentOS 7.2


Это руководство существует для этих версий ОС

  • CentOS 7.2
  • CentOS 7

На этой странице

  1. 1 Предварительное примечание
  2. 2 Установите и настройте ProFTPD
    1. 2.1 Установка:
    2. 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/