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

Как установить и настроить ProFTPD в Debian Wheezy и Ubuntu 14.04


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

  1. 1 Предварительное примечание
  2. 2 Установите ProFTPD
    1. 2.1 Установка:
    2. 2.2 Создание пользователей ProFTPD

    В этом документе описывается, как установить и настроить ProFTPD на сервере Debian Wheezy, он также будет работать в Ubuntu 14.04. ProFTPD — демон FTP для unix и unix-подобных операционных систем. ProFTPD разрабатывается, выпускается и распространяется в соответствии с Общедоступной лицензией GNU (GPL), что в основном определяет его как свободное программное обеспечение, а это означает, что его можно продавать, лицензировать и иным образом манипулировать им любым желаемым образом, если полный и завершенный исходный код либо сопровождает любой Пакеты ProFTPD или доступны на всех без исключения сайтах, распространяющих предварительно скомпилированные двоичные файлы. Программное обеспечение может быть изменено кем угодно в любое время, если все производные работы также лицензируются в соответствии с общественной лицензией GNU.

    Это руководство будет работать как для Ubuntu, так и для сервера Debian.

    1 Предварительное примечание

    Это руководство основано на сервере Debian 7.6, поэтому вам следует настроить базовую установку сервера Debian 7.6, прежде чем продолжить работу с этим руководством. Система должна иметь статический IP-адрес. В этом руководстве я использую 192.168.0.100 в качестве своего IP-адреса и server1.example.com в качестве имени хоста.

    2 Установите ProFTPD

    2.1 Установка:

    Сначала мы установим ProFTPD и OpenSSL следующим образом:

    apt-get install proftpd openssl

    Он задаст вопрос о ProFTPD, выберите автономный режим и нажмите «ОК».

    Мы можем проверить версию ProFTPD следующим образом:

    proftpd -v

    2.2 Создание пользователей ProFTPD

    Для этого я создам группу ftpgroup и пользователя srijan для ProFTPD. Я ограничу пользователя srijan домашним каталогом как /ftpshare

    addgroup ftpgroup
    adduser srijan -shell /bin/false -home /ftpshare
    :~#

    Теперь мы добавим пользователя srijan в ftpgroup следующим образом:

    adduser srijan ftpgroup

    Далее нам нужно сделать каталог защищенным от удаления и переименования его содержимого любым пользователем, поэтому мы изменим права доступа к каталогу следующим образом:

    chmod -R 1777 /ftpshare/

    Далее нам нужно настроить ProFTPD следующим образом:

    nano /etc/proftpd/proftpd.conf

    Внесите изменения, как показано

    [...]
    UseIPv6 off
    [...]
    <Global>
    RootLogin off RequireValidShell off </Global> DefaultRoot ~ <Limit LOGIN> DenyGroup !ftpgroup </Limit>

    Я не использую IPV6, поэтому я отключил вход пользователя root с помощью ProFTPD, отключив RootLogon. DefaultRoot добавлен, чтобы ограничить пользователям доступ только к их домашним папкам. DenyGroup разрешает доступ к ftp-серверу только пользователям из ftpgroup, все остальные подключения будут отклонены.

    Перезапустите службу как:

    service proftpd restart

    Иногда вы получаете сообщение об ошибке при перезапуске службы, например

    Мы можем преодолеть эту ошибку, отредактировав файл /etc/proftpd/modules.conf и прокомментировав строку следующим образом:

    nano /etc/proftpd/modules.conf
    [...]
    #LoadModule mod_tls_memcache.c
    [...]

    Это устранит ошибку.

    Теперь мы можем войти в систему с пользователем srijan и паролем на ftp://192.168.0.100.

    3 Включение TLS в ProFTPD

    Чтобы включить TLS в ProFTPD, откройте файл /etc/proftpd/proftpd.conf.

    nano /etc/proftpd/proftpd.conf

    Внесите изменения следующим образом и раскомментируйте строку:

    [...]
    Include /etc/proftpd/tls.conf
    [...]

    Теперь мы сделаем резервную копию исходного файла, а затем отредактируем файл, как показано ниже:

    cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
    cat /dev/null > /etc/proftpd/tls.conf
    nano /etc/proftpd/tls.conf

    Дайте записи, как показано

    <IfModule mod_tls.c>
    TLSEngine                  on
    TLSLog                     /var/log/proftpd/tls.log
    TLSProtocol                SSLv23
    TLSOptions                 NoCertRequest
    TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
    TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
    TLSVerifyClient            off
    TLSRequired                on
    </IfModule>
    

    Чтобы использовать TLS, мы должны создать сертификат SSL. Я создам его в /etc/proftpd/ssl, поэтому я сначала создаю этот каталог:

    mkdir /etc/proftpd/ssl

    После этого мы можем сгенерировать SSL-сертификат следующим образом:

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

    Название страны (двухбуквенный код) [AU]: <-- Введите название страны (например, \DE\).
    Название штата или провинции (полное название) [Некоторые -Штат]: <-- Введите название штата или провинции.
    Название местности (например, город) []: <-- Введите свой город.
    Название организации (например, компания) [Internet Widgits Pty Ltd]: <-- Введите название вашей организации (например, название вашей компании).
    Организационная единица Имя (например, раздел) []: <-- Введите название вашего организационного подразделения (например, \ИТ-отдел\).
    Обычное имя (например, ВАШЕ имя) []: <-- Введите полное доменное имя системы (например, \server1.example.com\).
    Адрес электронной почты []: <-- Введите свой адрес электронной почты.

    Теперь в целях безопасности я сделаю сертификаты доступными только для чтения следующим образом:

    chmod 0440 /etc/proftpd/ssl/proftpd.key.pem

    Наконец, перезапустите службу ProFTPD следующим образом:

    service proftpd restart

    Подробности будут

    Хост=192.168.0.100
    Протокол=FTP
    Пользователь=srijan
    Порт=может быть пустым, если вы не настроили другой порт, кроме 21
    Пароль=ftppassword (только что созданный выше)

    4 Анонимный FTP-доступ в ProFTPD

    Мы можем создать анонимную учетную запись FTP в ProFTPD, просто добавим эти записи в файл конфигурации ProFTPD:

    nano /etc/proftpd/proftpd.conf

    И добавьте эти записи в конец файла,

    [...]
    ###Anonymous share##### <Anonymous ~ftp> User ftp Group nogroup <Limit LOGIN> AllowAll </Limit> # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> ~

    Теперь подключите его через FileZilla следующим образом:

    Нажмите Подключить:

    Он попросит доверять сертификатам, нажмите OK.

    Мы успешно подключились к серверу с анонимным пользователем.

    Поздравляем! Теперь мы успешно настроили серверную среду ProFTPD в Debian Wheezy :)

    5 ссылок

    • Debian: https://www.debian.org/
    • Убунту: http://www.ubuntu.com/
    • ProFTPD: http://www.proftpd.org/