Простая настройка FTР vsftpd CentOS 6
sudo yum install vsftpd
Нам также необходимо установить FTP-клиент, чтобы мы могли подключиться к FTP-серверу:
sudo yum install ftp
Как только файлы закончат загрузку, vsftpd будет на вашем VPS. Вообще говоря, виртуальный частный сервер уже настроен с разумным уровнем безопасности. Однако он предоставляет доступ анонимным пользователям.
Шаг 2. Настройте VSFTP
После установки VSFTP вы можете настроить конфигурацию.
Откройте файл конфигурации:
sudo vi /etc/vsftpd/vsftpd.conf
Одно из основных изменений, которые вам нужно сделать, - это изменить Anonymous_enable на No:
anonymous_enable=NO
До этого изменения vsftpd позволял анонимным неопознанным пользователям получать доступ к файлам VPS. Это полезно, если вы хотите широко распространить информацию, но в большинстве других случаев это может считаться серьезной проблемой безопасности. После этого раскомментируйте параметр local_enable, изменив его на yes.
local_enable=YES
Завершите, раскомментируя команду chroot_local_user. Если для этой строки установлено значение «Да», все локальные пользователи будут заключены в тюрьму в пределах их chroot и им будет отказано в доступе к любой другой части сервера.
chroot_local_user=YES
Завершите, перезапустив vsftpd:
sudo service vsftpd restart
Чтобы убедиться, что vsftpd запускается при загрузке, запустите chkconfig:
chkconfig vsftpd on
Шаг 3 - доступ к FTP-серверу
После того, как вы установили FTP-сервер и настроили его по своему вкусу, вы можете получить к нему доступ.
Вы можете получить доступ к FTP-серверу в браузере, введя имя домена в адресную строку и войдя в систему с соответствующим идентификатором. Имейте в виду, что вы сможете получить доступ только к домашнему каталогу пользователя.
ftp://example.com
Кроме того, вы можете подключиться к FTP-серверу через командную строку, набрав:
ftp example.com
Затем вы можете использовать слово «выход», чтобы выйти из оболочки FTP.
Источник: https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-on-centos-6-2
Минимальная настройка
Предупреждение : FTP небезопасен! Рассмотрите возможность использования SFTP вместо FTP .
FTP или протокол передачи файлов - это способ передачи файлов между локальными и удаленными серверами. Несмотря на то, что этот метод передачи файлов очень популярен и широко распространен, он не пользуется популярностью из-за отсутствия безопасности, присущей его конструкции.
Как упоминалось выше, очень подходящей альтернативой является SFTP. Этот протокол реализует обмен файлами по SSH. Если вам необходимо использовать FTP, вы должны как минимум защитить соединение с помощью сертификатов SSL / TLS.
В этом руководстве мы настроим vsftpd для использования сертификатов TLS / SSL на CentOS 6.4 VPS.
Установить vsftpd
Сервер vsftpd доступен в репозиториях CentOS по умолчанию. Мы можем установить его, набрав:
sudo yum install vsftpd
Сервер vsftpd теперь установлен на нашем VPS. Мы можем настроить некоторые параметры подключения в следующем разделе.
Настроить базовые настройки vsftpd
Основной файл конфигурации vsftpd в CentOS хранится в /etc/vsftpd/
каталоге. Это называется vsftpd.conf
.
Откройте этот файл в своем редакторе с правами root:
sudo nano /etc/vsftpd/vsftpd.conf
Нам необходимо настроить некоторые основные параметры в этом файле, чтобы повысить безопасность и установить наши параметры подключения.
Первое, что мы сделаем, это отключим анонимных пользователей. Хотя этот вариант может иметь смысл для большого общедоступного дампа файла (например, общедоступных репозиториев программного обеспечения), для личного FTP-сервера это почти никогда не бывает хорошей идеей.
anonymous_enable=NO
Поскольку мы отключаем анонимных пользователей, нам необходимо предоставить нашей системе способ аутентификации наших пользователей. Мы разрешим локальных пользователей, что означает, что vsftpd будет использовать пользователей нашей системы Linux и аутентификацию, чтобы определять, кто может войти в систему.
Чтобы включить это, убедитесь, что этот параметр установлен:
local_enable=YES
Мы также дадим им доступ для записи, чтобы они могли загружать материалы и изменять контент:
write_enable=YES
Мы также хотим ограничить наших пользователей их домашними каталогами. Вариант для этого:
chroot_local_user=YES
Этого достаточно для базовой (без SSL) конфигурации FTP. Мы добавим функцию SSL позже.
Сохраните и закройте файл.
Создать пользователя FTP
Мы решили использовать локальных пользователей и ограничить их домашними каталогами с помощью среды chroot. Существуют также варианты автоматизированного создания учетных записей для пользователей.
Создайте нового пользователя с помощью этой команды:
sudo adduser ftpuser
Назначьте пароль новому пользователю, набрав:
sudo passwd ftpuser
Настроить SSL с vsftpd
Первым шагом к тому, чтобы vsftpd работал с SSL, является создание нашего SSL-сертификата. Фактически мы будем использовать TLS, который является преемником SSL и более безопасным.
Мы создадим подкаталог в каталоге SSL для хранения наших файлов:
sudo mkdir /etc/ssl/private
Чтобы создать сертификат и ключ в одном файле, мы можем использовать эту команду:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Заполните вопросы, которые он задает. Наиболее важным из них является «Общее имя» вашего сервера, которое будет IP-адресом или доменным именем, которое вы будете использовать для подключения.
Добавьте сведения об SSL в файл конфигурации vsftpd
Теперь нам нужно изменить нашу конфигурацию, чтобы указать новые ключи и настроить безопасное соединение.
Снова откройте файл конфигурации vsftpd как root:
sudo nano /etc/vsftpd/vsftpd.conf
Прокрутите файл до конца. Мы добавим сюда нашу информацию о SSL / TLS.
Нам нужно указать расположение нашего сертификата и файлов ключей. Мы фактически объединили обе части информации в один файл, поэтому мы укажем оба параметра на один и тот же файл:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
Затем нам нужно включить использование этих файлов и отключить анонимных пользователей. Мы также должны принудительно использовать SSL как для передачи данных, так и для процедур входа в систему. Это сделает безопасность обязательной:
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
Далее мы ограничим тип подключения TLS, который более безопасен, чем SSL. Мы сделаем это, явно разрешив TLS и запретив использование SSL:
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Перед завершением мы добавим еще несколько параметров конфигурации:
require_ssl_reuse=NO
ssl_ciphers=HIGH
Сохраните и закройте файл.
Нам нужно перезапустить vsftpd, чтобы изменения вступили в силу:
sudo /etc/init.d/vsftpd restart
Мы также настроим его на автоматический запуск при каждой перезагрузке:
sudo chkconfig vsftpd on
Как подключиться к серверу vsftpd с помощью FileZilla
Соединения SSL и TLS возможны с большинством современных FTP-клиентов. Мы покажем вам, как настроить FileZilla для использования защищенных соединений из-за его кроссплатформенной совместимости. Мы предполагаем, что вы уже установили клиент, используя соответствующие процедуры установки для вашего компьютера.
Откройте программу FileZilla. В интерфейсе вы можете щелкнуть значок, чтобы открыть «Менеджер сайта». Он должен выглядеть как крайний левый значок на этом рисунке:
В появившемся новом интерфейсе вы должны нажать кнопку «Новый сайт» в нижнем левом углу. Назовите соединение с сервером, чтобы вы могли легко идентифицировать его позже
Введите IP-адрес в поле «Хост» и выберите «FTP - протокол передачи файлов» в раскрывающемся меню «Протокол». В раскрывающемся списке «Шифрование» выберите «Требовать явный FTP через TLS».
Выберите «Спрашивать пароль» в меню «Тип входа». Введите пользователя FTP, которого мы создали для поля «Пользователь»:
Теперь вы можете нажать «Подключиться» в нижней части панели. Вам будет предложено ввести пароль для вашего FTP-пользователя:
Следующий шаг - это первый признак того, что мы подключаемся с помощью TLS к нашему удаленному серверу. Нас попросят принять сертификат, который используется.
Вы должны увидеть информацию, которую вы указали при создании сертификата, чтобы убедиться, что вы действительно подключаетесь к нужному месту.
Примите сертификат, чтобы установить соединение.
Заключение
Хотя эта конфигурация является шагом в правильном направлении, она по-прежнему страдает проблемами безопасности до установления соединения. Из-за этих опасений этого следует избегать в большинстве настроек, открытых для Интернета.
Источник: https://www.digitalocean.com/community/tutorials/how-to-configure-vsftpd-to-use-ssl-tls-on-a-centos-vps