В нашей последней статье мы подробно описали, как установить и настроить FTP-сервер в RHEL 8 Linux.
В этой статье мы расскажем, как защитить FTP-сервер с помощью SSL / TLS, чтобы включить службы шифрования данных для безопасной передачи файлов между системами.
Мы надеемся, что FTP-сервер уже установлен и работает правильно.
Если нет, воспользуйтесь следующим руководством, чтобы установить его в своей системе.
? Как установить, настроить и защитить FTP-сервер в RHEL 8
Шаг 1. Генерация SSL / TLS-сертификата и закрытого ключа
1. Создайте следующий каталог для хранения сертификата SSL / TLS и файлов ключей.
# mkdir -p /etc/ssl/vsftpd
2. Затем создайте самоподписанный сертификат SSL / TLS и закрытый ключ, используя следующую команду.
# openssl req -x509 -nodes -keyout /etc/ssl/vsftpd/vsftpd.pem -out /etc/ssl/vsftpd/vsftpd.pem -days 365 -newkey rsa:2048
Ниже приведено объяснение каждого флага, используемого в приведенной выше команде.
- req – команда для управления запросом подписи сертификата (CSR) X.509.
- x509 – означает управление данными сертификата X.509.
- days – определяет количество дней, в течение которых действует сертификат.
- newkey – указывает обработчик ключа сертификата.
- rsa: 2048 – процессор ключей RSA, сгенерирует 2048-битный закрытый ключ.
- keyout – устанавливает файл хранилища ключей.
- out – устанавливает файл хранилища сертификатов, обратите внимание, что сертификат и ключ хранятся в одном файле: /etc/ssl/vsftpd/vsftpd.pem.
Приведенная выше команда предложит вам ответить на вопросы ниже, не забывайте использовать значения, применимые к вашему сценарию.
Country Name (2 letter code) [XX]:RU State or Province Name (full name) []:Moscow Locality Name (eg, city) [Default City]:Moscow Organization Name (eg, company) [Default Company Ltd]:Itsecforu Organizational Unit Name (eg, section) []:Information sec Common Name (eg, your name or your server's hostname) []:itsecforu Email Address []:admin@itsecforu.ru
Шаг 2. Настройка VSFTPD для использования SSL / TLS
3. Откройте файл конфигурации VSFTPD на редактирование, используя ваш любимый редактор командной строки.
# vi /etc/vsftpd/vsftpd.conf
Добавьте следующие параметры конфигурации, чтобы включить SSL, затем выберите версию SSL и TLS в конце файла.
ssl_enable=YES ssl_tlsv1_2=YES ssl_sslv2=NO ssl_sslv3=NO
4. Затем добавьте параметры rsa_cert_file и rsa_private_key_file, чтобы указать расположение сертификата SSL и файла ключа соответственно.
rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem
5. Теперь добавьте эти параметры, чтобы запретить анонимным подключениям использовать SSL и принудительно устанавливать все неанонимные подключения через SSL.
allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
6. Затем добавьте эту опцию, чтобы отключить повторное использование соединений с данными SSL, и установите шифры SSL в HIGH, чтобы разрешить зашифрованные соединения SSL.
require_ssl_reuse=NO ssl_ciphers=HIGH
7. Также необходимо указать диапазон (минимальный и максимальный порт) пассивных портов, которые vsftpd будет использовать для защищенных соединений, используя параметры pasv_min_port и pasv_max_port соответственно.
Кроме того, вы можете дополнительно включить отладку SSL в целях устранения неполадок, используя параметр debug_ssl.
pasv_min_port=40000 pasv_max_port=50000 debug_ssl=YES
8. Наконец, сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу.
# systemctl restart vsftpd
9. Еще одна важная задача, которую необходимо выполнить, прежде чем вы сможете получить безопасный доступ к FTP-серверу, – это открыть порты 990 и 40000-50000 в брандмауэре системы.
Это позволит TLS-соединениям с сервисом vsftpd и открыть диапазон портов пассивных портов, определенных в файле конфигурации VSFTPD, соответственно, следующим образом.
# firewall-cmd --zone=public --permanent –add-port=990/tcp # firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp # firewall-cmd --reload
Шаг 3: Установите FileZilla для безопасного подключения к FTP-серверу
10. Для безопасного подключения к серверу FTP вам необходим клиент FTP, который поддерживает соединения SSL / TLS, такие как FileZilla, – это широко используемый, кросс-платформенный клиент FTP, SFTP и FTPS, который поддерживает соединения SSL / TLS. по умолчанию.
Установите FileZilla в Linux, используя менеджер пакетов по умолчанию следующим образом
$ sudo apt-get install filezilla #Debian/Ubuntu # yum install epel-release filezilla #On CentOS/RHEL # dnf install filezilla #Fedora 22+ $ sudo zypper install filezilla #openSUSE
11. После установки пакета Filezilla найдите его в системном меню и откройте его.
Чтобы быстро подключить удаленный FTP-сервер, из основного интерфейса укажите IP-адрес хоста, имя пользователя и пароль.
Затем нажмите QuickConnect.
12. Затем приложение попросит вас разрешить безопасное соединение, используя неизвестный самоподписанный сертификат.
Нажмите OK, чтобы продолжить.
Если конфигурация на сервере в порядке, соединение должно быть успешным, как показано на следующем снимке экрана.
13. Наконец, проверьте состояние безопасного соединения FTP, пытаясь загрузить файлы с вашего компьютера на сервер, как показано на следующем снимке экрана.
Это все! В этой статье мы показали, как защитить FTP-сервер с помощью SSL / TLS для безопасной передачи файлов в RHEL 8.
Это вторая часть нашего подробного руководства по установке, настройке и защите FTP-сервера в RHEL 8.
Чтобы поделиться любыми вопросами или мыслями, используйте форму обратной связи ниже.
Статьи по теме VSFTP:
- ? Как ограничить команды FTP на сервисах Vsftpd (CentOS / RHEL 6,7)
- Как настроить SFTP VSFTPD с SSL / TLS на Ubuntu 18.04
- Установка vsftpd на CentOS 7 / RedHat 7 с selinux
- ? Как отправлять файлы в пассивном режиме по FTP
- ?️ Анонимный пользователь не может загрузить файл на сервер VSFTP
- ? Примеры команд SFTP на Linux с объяснениями
- Передача файлов на удаленных серверах с помощью SFTP-команд в Linux
- Linux служба ‘setroubleshoot’
- Настройка учетных записей только для SFTP на CentOS 7
- Установка и настройка доступа vsftp