URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 76917
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Настройка виртуальных пользователей..."

Отправлено auto_tips , 05-Май-11 06:33 
Иногда возникает необходимость настроить виртуальных пользователей и SSL-шифрование в FTP-сервере vsftpd. Рассмотрим как это сделать в Debian Squeeze.

Все действия выполняются от пользователя root. Сперва установим необходимые утилиты:

   aptitude install vsftpd openssl db4.8-util ftp-ssl  

где
vsftpd - непосредственно FTP сервер;
penssl - утилита создания SSL сертификатов, которые требуются в SSL режиме FTP сервера;
db4.8-util - утилиты работы с базой данных BerkeleyDB, в которой будут хранится виртуальные пользователи;
ftp-ssl - SSL версия FTP клиента, эта утилита нужна только на клиентской стороне.

Добавим пользователя в систему, через которого будут работать виртуальные FTP-пользователи:

   useradd -d /home/ftp virtual  

Теперь изменим конфигурацию FTP сервера. Данных директив в файле конфигурации по-умолчанию нет, поэтому их можно просто добавить в конец файла /etc/vsftpd.conf:

   # включаем гостевой доступ через нашего виртуального пользователя  
   guest_enable=YES  
   guest_username=virtual  

   # включаем SSL  
   ssl_enable=YES  

   # шифрование процедуры логина и всех передаваемых данных внутри сессии  
   force_local_logins_ssl=YES  
   force_local_data_ssl=YES  

   # ущемляем права анонимных пользователей - их трафик шифроваться не будет  
   # (только если анонимные пользователи разрешены)  
   allow_anon_ssl=NO  

   # используем только протокол TLS  
   ssl_tlsv1=YES  
   ssl_sslv2=NO  
   ssl_sslv3=NO  

   # многократное использование одной сессии  
   require_ssl_reuse=NO  

Дополнительно для проверки соединения вы можете установить директиву local_enable=YES, которая разрешает локальным пользователям получить доступ по FTP к своим домашним директориям.

Создаём базу данных виртуальных пользователей:

  db4.8_load -T -t hash /etc/vsftpd_login.db  

Эта утилита будет читать логины и пароли со стандартного ввода, один логин и один пароль на каждую отдельную строку. Вводим "user", нажимаем ввод, вводим "pass", нажимаем ввод.

Изменяем процедуру аутентификации ftp пользователей через PAM в конфигурационном файле /etc/pam.d/vsftpd:

   # путь к базе данных виртуальных пользователей (без суффикса "db")  
   account required    pam_userdb.so     db=/etc/vsftpd_login  
   auth    required    pam_userdb.so     db=/etc/vsftpd_login  

Создадим SSL-сертификат для FTP-сервера, время действия которого истечёт через год. Путь к этому сертификату уже прописан в конфигурационном файле vsftpd:

   cd /etc/ssl/private/  
   openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem  

Всё, осталось перезапустить сервис FTP:

   invoke-rc.d vsftpd restart  

Проверяем логин:

   ftp localhost  
  
   Connected to localhost.  
   220 (vsFTPd 2.3.2)  
   Name (localhost:root): user  
  
   234 Proceed with negotiation.  
   [SSL Cipher DES-CBC3-SHA]  
  
   331 Please specify the password.  
   Password:  
  
   230 Login successful.  
   Remote system type is UNIX.  
   Using binary mode to transfer files.  
   ftp: pwd  
   257 "/"  
   ftp:

Как видим, вход был в SSL-режиме с использованием шифрования DES-CBC3-SHA. Теперь можно настроить пользовательские права на чтение и запись в файле /etc/vsftpd.conf. Следует отметить, что в статье описан способ настройки FTPS (FTP+SSL), который не стоит путать с SFTP - это два разных протокола.


URL: http://barrel-of-herring.blogspot.com/2011/05/ssl-vsftpd.html
Обсуждается: http://www.opennet.me/tips/info/2571.shtml


Содержание

Сообщения в этом обсуждении
"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Bocha , 05-Май-11 06:33 
Автор: Бочка селёдки - это зачёт.

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено anonymous , 05-Май-11 07:45 
http://wiki.russianfedora.ru/index.php/FTP_сервера

Последнее время очень часто замечаю переписывание одного и того же в кучу мест :(


"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Аноним , 05-Май-11 09:57 
Судя по всему оно всё тянется с древней статьи на opennet про настройку виртуальных пользователей в vsftpd: http://www.opennet.me/base/net/dual_vsftpd.txt.html


"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Anonimouse , 05-Май-11 11:20 
а зачем нужна БД?
вот если бы описали как хранить юзверей в обычном текстовом файле-у меня же их не сотни...

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Дядя_Федор , 05-Май-11 11:25 
Все давно описано. У меня, например, юзвери и хранятся в отдельном файле. Кроме того - на каждого юзверя заведен файл, в котором описываются полномочия, домашняя директория и т.д.

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Anonimouse , 05-Май-11 11:32 
можно ссылочку на хавтушку?

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Дядя_Федор , 05-Май-11 13:39 
Пожалуй - вот нечто подобное:
1. http://unixforum.org/index.php?showtopic=32273
2. А вот это более комплексное решение - http://en.gentoo-wiki.com/wiki/Vsftpd

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено anonymous , 05-Май-11 12:15 
> а зачем нужна БД?

БД тама это громко сказано. Обычный формат файла берклиДБ
Прогам типа паму и тд проще с таким форматом работать чем тхт парстить.

А вот если тебе нужен более защищеный, менее прожорливый и более фичастый фтпд
то гляди в строну : http://www.pureftpd.org/project/pure-ftpd
( Latest release : 1.0.32 (released on May 2nd, 2011) )


"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено анон , 05-Май-11 12:51 
Это pure-ftpd то более защищённый? Помнится, когда в нём нашли дыру с удалённым исполнением произвольного кода от рута, разработчик, вместо того, чтобы исправлять ошибку, начал скрывать информацию о ней. Прикольный парниша, да.

По фичастости вне конкуренции proftpd, по безопасности - vsftpd. pure - ни рыба ни мясо, да ещё и скользкий тип.


"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено anonymous , 05-Май-11 13:35 
> Помнится, когда в нём нашли дыру с удалённым исполнением произвольного кода от рута,

чушь.

А вообще почитай чанжлоги всех этих 3х серверов и погляди их код и сразу поймешь
кто есть ху. ( пуре не очень любят из его бзд лицензии )


"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Аноним , 10-Май-11 18:34 
Не путай понятия. Обычно ГПЛ программы не любят и в БСД переписывают.

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Andrey Mitrofanov , 10-Май-11 19:45 
"--Кому и кобыла невеста."

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Аноним , 17-Май-11 21:42 
А кому и SFTP решение. Зачем этот костыль мертвому протоколу?

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено Аноним , 19-Май-11 06:58 
а можно ли как нить без ПАМ ?  а то грят Weak

"Настройка виртуальных пользователей и SSL в vsftpd"
Отправлено emptyxl , 24-Окт-11 10:42 
на fedora core 3 даный сценарий не работает. ТС зайти не могу. Что делать?