Red Hat / CentOS VSFTPD FTP конфигурация сервера
vsftpd (Very Secure FTP Daemon) - является FTP сервером для UNIX- подобных систем, включая CentOS / RHEL / Fedora и другие Linux дистрибутивы. Он поддержтвает новый протокол IPv6, SSL, ограничевание пользователей домашней директорией, также много других дополнительных возможностей.
В этом руководстве вы узнаете, как:
- устанавливать vsftpd для обеспечения службы FTP.
- конфигурировать vsftpd.
- настраивать Firewall для защиты FTP Serverа.
- настраивать vsftpd с SSL/TLS.
- настраивать vsftpd только для скачивания, как Анонимный Интернет Сервер
- настраивать vsftpd с виртуальными пользователями, и многое другое.
VSFTPD обеспечивает безопасность, производительность и надежность по сравнению с другими серверами.
Краткий список функций vsftpd:
- виртуальные IP конфигурации
- виртуальные пользователи
- запуск автономных или INETD / Xinetd операций
- Perl-user конфигурации пользователя
- регулирование трафика
- настраиваемость для IP каждого клиента
- ограничения для IP каждого клиента
- поддержка IPv6
- поддержка шифрования SSL путем интеграции
- и многое другое.
Установка FTP Vsftpd сервера
Установка vsftpd пакета выполняется через yum - комманду:
# yum install vsftpd
Vsftpd - установки по умолчанию:
Порты : TCP / UDP - 21 и 20
Файл конфигурации: /etc/vsftpd/vsftpd.conf
Запрещенные пользователи: /etc/vsftpd/ftpusers
Конфигурирование Vsftpd сервера
Откройте файл:
# vi /etc/vsftpd/vsftpd.conf
Отмените стандартный ftpd xferlog формат log-ов:
xferlog_std_format=NO
Разрешите похожий, vsftpd - формат журнала. По умолчанию нахождение файла log-ов /var/log/vsftpd.log :
log_ftp_protocol=YES
Всем директориям, выше домашней, будет вестись журнал для всех FTP операций. Нужно закрыть пользователей в своих домашних директориях :
chroot_local_user=YES
Можно создать файл - баннер для всех FTP пользователей:
banner_file=/etc/vsftpd/issue
Создайте файл /etc/vsftpd/issue с любым подходящим вашей политике организации сообщением:
NOTICE TO USERS
Use of this system constitutes consent to security monitoring and testing.
Любая активность будет записана в файле лога с указанием вашего имени хоста и IP адреса.
All activity is logged with your host name and IP address.
Запуск Vsftpd сервисы
Разрешить сервис vsftpd при загрузке:
# chkconfig vsftpd on
Запустить сервис
# service vsftpd start
# netstat -tulpn | grep :21
Настройка Iptables для защиты FTP сервера
Откройте файл /etc/sysconfig/iptables :
# vi /etc/sysconfig/iptables
Добавьте следующие строки, которые должны быть перед последними, до LOG и DROP строк для RH-Firewall-1-INPUT :
-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
Откройте файл /etc/sysconfig/iptables-config, введя:
# vi /etc/sysconfig/iptables-config
Убедитесь, что список модулей (если больше одного) разделен пробелами, содержит дополнительный модуль FTP:
IPTABLES_MODULES="ip_conntrack_ftp"
Сохраните и закройте файл. Перезапустите firewall:
# service iptables restart
Подсказка: Просмотреть последние строки FTP Log файла можно, набрав комманду:
# tail -f /var/log/vsftpd.log
Пример вывода на экран:
Thu May 21 11:40:31 2009 [pid 42298] FTP response: Client "10.1.3.108", "530 Please login with USER and PASS."
Thu May 21 11:40:36 2009 [pid 42298] FTP command: Client "10.1.3.108", "USER vivekda"
Thu May 21 11:40:36 2009 [pid 42298] [vivek] FTP response: Client "10.1.3.108", "331 Please specify the password."
Thu May 21 11:40:38 2009 [pid 42298] [vivek] FTP command: Client "10.1.3.108", "PASS"
Thu May 21 11:40:38 2009 [pid 42297] [vivek] OK LOGIN: Client "10.1.3.108"
Thu May 21 11:40:38 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "230 Login successful."
Thu May 21 11:40:38 2009 [pid 42299] [vivek] FTP command: Client "10.1.3.108", "SYST"
Thu May 21 11:40:38 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "215 UNIX Type: L8"
Thu May 21 11:40:39 2009 [pid 42299] [vivek] FTP command: Client "10.1.3.108", "PORT 10,1,3,108,162,253"
Thu May 21 11:40:39 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "200 PORT command successful. Consider using PASV."
Thu May 21 11:41:05 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "150 Ok to send data."
Thu May 21 11:41:06 2009 [pid 42299] [vivek] OK UPLOAD: Client "10.1.3.108", "/windows-7-too-many-programs.png", 8957 bytes, 6.70Kbyte/sec
Thu May 21 11:41:06 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "226 File receive OK."
Thu May 21 11:41:10 2009 [pid 42299] [vivek] FTP command: Client "10.1.3.108", "TYPE A"
Thu May 21 11:41:10 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "200 Switching to ASCII mode."
Thu May 21 11:41:11 2009 [pid 42299] [vivek] FTP command: Client "10.1.3.108", "PORT 10,1,3,108,217,96"
Thu May 21 11:41:11 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "200 PORT command successful. Consider using PASV."
Thu May 21 11:41:11 2009 [pid 42299] [vivek] FTP command: Client "10.1.3.108", "LIST"
Thu May 21 11:41:11 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "150 Here comes the directory listing."
Thu May 21 11:41:11 2009 [pid 42299] [vivek] FTP response: Client "10.1.3.108", "226 Directory send OK."
Tip: Restrict Access to Anonymous User Only
Edit the vsftpd configuration file /etc/vsftpd/vsftpd.conf and add the following:
local_enable=NO
Tip: Disable FTP Uploads
Edit the vsftpd configuration file /etc/vsftpd/vsftpd.conf and add the following:
write_enable=NO
Security Tip: Place the FTP Directory on its Own Partition
Separation of the operating system files from FTP users files may result into a better and secure system. Restrict the growth of certain file systems is possible using various techniques. For e.g., use /ftp partition to store all ftp home directories and mount ftp with nosuid, nodev and noexec options. A sample /etc/fstab enter:
/dev/sda5 /ftp ext3 defaults,nosuid,nodev,noexec,usrquota 1 2
Disk quota must be enabled to prevent users from filling a disk used by FTP upload services. Edit the vsftpd configuration file. Add or correct the following configuration options to represents a directory which vsftpd will try to change into after an anonymous login:
anon_root=/ftp/ftp/pub
Перевод CETb, адрес оригинала:
(http://www.cyberciti.biz/tips/rhel-fedora-centos-vsftpd-installation.html)
- cetb's блог
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии