Как установить и настроить ProFTPD в Debian Wheezy и Ubuntu 14.04
На этой странице
- 1 Предварительное примечание
- 2 Установите ProFTPD
- 2.1 Установка:
- 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/