Администратор Linux - установка анонимного FTP

Прежде чем углубляться в установку FTP на CentOS, нам нужно немного узнать о его использовании и безопасности. FTPдействительно эффективный и хорошо отработанный протокол для передачи файлов между компьютерными системами. FTP используется и совершенствуется уже несколько десятилетий. FTP - отличный выбор для эффективной передачи файлов по сети с задержкой или просто для высокой скорости. Больше, чем SAMBA или SMB.

Однако у FTP есть некоторые проблемы с безопасностью. Собственно, серьезные проблемы с безопасностью. FTP использует очень слабый метод аутентификации с использованием обычного текста. По этой причине аутентифицированные сеансы должны полагаться на sFTP или FTPS, где TLS используется для сквозного шифрования сеансов входа и передачи.

С учетом вышеуказанных предостережений, старый добрый FTP все еще используется в бизнес-среде. Основное применение - анонимные репозитории файлов FTP. Это ситуация, когда для загрузки или выгрузки файлов не требуется аутентификации. Некоторые примеры использования анонимного FTP:

  • Крупные софтверные компании по-прежнему используют анонимные ftp-репозитории, позволяющие пользователям Интернета загружать условно-бесплатные программы и исправления.

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

  • Некоторые приложения автоматически отправляют зашифрованные архивные журналы или файлы конфигурации в репозиторий через FTP.

Следовательно, для администратора CentOS возможность установки и настройки FTP по-прежнему является необходимым навыком.

Мы будем использовать демон FTP под названием vsFTP, или Very Secure FTP Daemon. vsFTP некоторое время использовался в разработке. Он имеет репутацию безопасного, простого в установке и настройке и надежного.

Step 1 - Установите vsFTPd с помощью диспетчера пакетов YUM.

[root@centos]# yum -y install vsftpd.x86_64

Step 2 - Настройте vsFTP для запуска при загрузке с помощью systemctl.

[root@centos]# systemctl start vsftpd 
[root@centos]# systemctl enable vsftpd 
Created symlink from /etc/systemd/system/multi-
user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

Step 3 - Настройте FirewallD, чтобы разрешить сеансы управления и передачи по FTP.

[root@centos]# firewall-cmd --add-service=ftp --permanent 
success 
[root@centos]#

Убедитесь, что наш демон FTP запущен.

[root@centos]# netstat -antup | grep vsftp 
tcp6       0       0 :::21       :::*       LISTEN       13906/vsftpd         
[root@centos]#

Step 4 - Настройте vsFTPD для анонимного доступа.

Создайте корневой каталог FTP

[root@centos]# mkdir /ftp

Измените владельца и группу корня FTP на ftp

[root@centos]# chown ftp:ftp /ftp
Set minimal permissions for FTP root:

[root@centos]# chmod -R 666 /ftp/

[root@centos]# ls -ld /ftp/
drw-rw-rw-. 2 ftp ftp 6 Feb 27 02:01 /ftp/

[root@centos]#

В этом случае мы предоставили пользователям доступ для чтения и записи ко всему корневому дереву FTP.

Настройте /etc/vsftpd/vsftpd.conf "

[root@centos]# vim /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

Мы хотим изменить следующие директивы в файле vsftp.conf .

  • Включите анонимную загрузку, раскомментировав anon_mkdir_write_enable = YES

  • загруженные файлы, принадлежащие системному пользователю ftp

    chown_uploads = ДА

    chown_username = ftp

  • Измените системного пользователя, используемого vsftp, на пользователя ftp: nopriv_user = ftp

  • Установите собственный баннер, который пользователь будет читать перед входом в систему.

    ftpd_banner = Добро пожаловать в наше анонимное FTP-репо. Все соединения отслеживаются и регистрируются.

  • Установим только соединения IPv4 -

    слушай = ДА

    listen_ipv6 = НЕТ

Теперь нам нужно перезапустить или HUP сервис vsftp, чтобы применить наши изменения.

[root@centos]# systemctl restart vsftpd

Давайте подключимся к нашему FTP-узлу и убедимся, что наш FTP-демон отвечает.

[root@centos rdc]# ftp 10.0.4.34 
Connected to localhost (10.0.4.34). 
220 Welcome to our Anonymous FTP Repo. All connections are monitored and logged. 
Name (localhost:root): anonymous 
331 Please specify the password. 
Password: 
'230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp>