Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:руководство_по_ubuntu_server:файловые_сервера:ftp_server [2017/11/17 19:37] [Защита FTP] |
wiki:руководство_по_ubuntu_server:файловые_сервера:ftp_server [2017/11/23 22:31] [vsftpd - установка FTP сервера] добавлена информация по добавлению в автозапуск и файерволл |
||
---|---|---|---|
Строка 22: | Строка 22: | ||
**vsftpd** - это сервис FTP, доступный в Ubuntu. Его легко устанавливать, настраивать и поддерживать. Для установки vsftpd вы можете выполнить следующую команду: | **vsftpd** - это сервис FTP, доступный в Ubuntu. Его легко устанавливать, настраивать и поддерживать. Для установки vsftpd вы можете выполнить следующую команду: | ||
- | <code>sudo apt-get install vsftpd</code> | + | <code>sudo apt install vsftpd</code> |
+ | |||
+ | Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется [[wiki:systemd|Systemd]], поэтому для добавления vsftpd в автозапуск надо ввести следующие команды: | ||
+ | <code>sudo systemctl start vsftpd | ||
+ | sudo systemctl enable vsftpd</code> | ||
+ | |||
+ | В Ubuntu Server может использоваться файервол [[wiki:руководство_по_ubuntu_server:безопасность:firewall|ufw]]. Тогда вам потребуется разрешить порты 20 и 21 | ||
+ | <code>sudo ufw allow 20/tcp | ||
+ | sudo ufw allow 21/tcp</code> | ||
Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде <code>man 5 vsftpd.conf</code> для уточнения деталей по каждому параметру. | Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде <code>man 5 vsftpd.conf</code> для уточнения деталей по каждому параметру. | ||
Строка 54: | Строка 62: | ||
====Защита FTP==== | ====Защита FTP==== | ||
+ | ===Ограничение пользователей=== | ||
В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() "заточение", выше которого (по дереву каталогов) он не сможет подняться. | В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() "заточение", выше которого (по дереву каталогов) он не сможет подняться. | ||
<code>chroot_local_user=YES</code> | <code>chroot_local_user=YES</code> | ||
Строка 65: | Строка 74: | ||
<note important>Если вы сняли комментарии со всех трёх строчек, то пользователи из списка не будут ограничены своими домашними каталогами, в отличии от пользователей не вошедших в список</note> | <note important>Если вы сняли комментарии со всех трёх строчек, то пользователи из списка не будут ограничены своими домашними каталогами, в отличии от пользователей не вошедших в список</note> | ||
+ | |||
+ | Аналогично файл /etc/ftpusers содержит список пользователей, которым запрещен доступ по FTP. По умолчанию он включает root, daemon, nobody и т.п. Для запрета доступа по FTP для дополнительных пользователей, просто добавьте их в этот список. | ||
Если при попытке подключения вы видите ошибку ((Эта ошибка появляется на версиях vsftpd 2.3.5 и выше с Ubuntu 12.04)): | Если при попытке подключения вы видите ошибку ((Эта ошибка появляется на версиях vsftpd 2.3.5 и выше с Ubuntu 12.04)): | ||
Строка 77: | Строка 88: | ||
<code>local_root=/home</code> | <code>local_root=/home</code> | ||
- | Аналогично файл /etc/ftpusers содержит список пользователей, которым запрещен доступ по FTP. По умолчанию он включает root, daemon, nobody и т.п. Для запрета доступа по FTP для дополнительных пользователей, просто добавьте их в этот список. | + | ===Шифрование=== |
FTP может быть зашифрованным при использовании **FTPS**. В отличие от **SFTP**, **FTPS** - это FTP поверх SSL. **SFTP** - это сессия, подобная FTP, по зашифрованному SSH соединению. Основное отличие заключается в том, что пользователи SFTP должны иметь учетную запись с собственным окружением (shell account) вместо оболочки nologin. Предоставление всем пользователям доступа к оболочке может оказаться не лучшим решением для некоторых систем, таких как web сервер общего доступа. Однако есть возможность ограничить такие учетные записи только SFTP и запретить взаимодействие с оболочкой. Смотрите раздел по OpenSSH для дополнительной информации. | FTP может быть зашифрованным при использовании **FTPS**. В отличие от **SFTP**, **FTPS** - это FTP поверх SSL. **SFTP** - это сессия, подобная FTP, по зашифрованному SSH соединению. Основное отличие заключается в том, что пользователи SFTP должны иметь учетную запись с собственным окружением (shell account) вместо оболочки nologin. Предоставление всем пользователям доступа к оболочке может оказаться не лучшим решением для некоторых систем, таких как web сервер общего доступа. Однако есть возможность ограничить такие учетные записи только SFTP и запретить взаимодействие с оболочкой. Смотрите раздел по OpenSSH для дополнительной информации. | ||
Строка 91: | Строка 101: | ||
Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS: | Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS: | ||
- | <code>sudo restart vsftpd</code> | + | <code>sudo service restart vsftpd</code> |
Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP, но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin: | Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP, но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin: | ||
Строка 119: | Строка 129: | ||
====Ссылки==== | ====Ссылки==== | ||
- | -- Обратитесь к сайту [[http://vsftpd.beasts.org/vsftpd_conf.html|vsftpd]] для дополнительной информации. | + | -- [[https://security.appspot.com/vsftpd/vsftpd_conf.html| man страница конфига]] |
- | -- Подробности по опциям /etc/vsftpd.conf доступны в man руководстве [[http://manpages.ubuntu.com/manpages/precise/en/man5/vsftpd.conf.5.html|vsftpd.conf]]. | + | -- [[http://www.opennet.ru/base/net/vsftpd_overview.txt.html| Русскоязычный перевод man страницы конфига]] |
+ | -- [[https://security.appspot.com/vsftpd/Changelog.txt| Список изменений на оф.сайте проекта]] | ||
---- | ---- |