The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка виртуальных пользователей и SSL в vsftpd
Иногда возникает необходимость настроить виртуальных пользователей и
SSL-шифрование в FTP-сервере vsftpd. Рассмотрим как это сделать в Debian Squeeze.

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

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

где
vsftpd - непосредственно FTP сервер;
openssl - утилита создания 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 - это два разных протокола.
 
03.05.2011 , Автор: Бочка селёдки , Источник: http://barrel-of-herring.blogspot.c...
Ключи: ftp, vsftpd, virtual, ssl
Раздел:    Корень / Администратору / Сетевые сервисы / FTP, Bittorrent

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Bocha (??), 06:33, 05/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор: Бочка селёдки - это зачёт.
     
  • 1.2, anonymous (??), 07:45, 05/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://wiki.russianfedora.ru/index.php/FTP_сервера

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

     
     
  • 2.3, Аноним (-), 09:57, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по всему оно всё тянется с древней статьи на opennet про настройку виртуальных пользователей в vsftpd: http://www.opennet.me/base/net/dual_vsftpd.txt.html

     

  • 1.4, Anonimouse (?), 11:20, 05/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а зачем нужна БД?
    вот если бы описали как хранить юзверей в обычном текстовом файле-у меня же их не сотни...
     
     
  • 2.5, Дядя_Федор (?), 11:25, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Все давно описано. У меня, например, юзвери и хранятся в отдельном файле. Кроме того - на каждого юзверя заведен файл, в котором описываются полномочия, домашняя директория и т.д.
     
     
  • 3.6, Anonimouse (?), 11:32, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    можно ссылочку на хавтушку?
     
     
  • 4.10, Дядя_Федор (?), 13:39, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалуй - вот нечто подобное:
    1. http://unixforum.org/index.php?showtopic=32273
    2. А вот это более комплексное решение - http://en.gentoo-wiki.com/wiki/Vsftpd
     
  • 2.7, anonymous (??), 12:15, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > а зачем нужна БД?

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

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

     
     
  • 3.8, анон (?), 12:51, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это pure-ftpd то более защищённый? Помнится, когда в нём нашли дыру с удалённым исполнением произвольного кода от рута, разработчик, вместо того, чтобы исправлять ошибку, начал скрывать информацию о ней. Прикольный парниша, да.

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

     
     
  • 4.9, anonymous (??), 13:35, 05/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Помнится, когда в нём нашли дыру с удалённым исполнением произвольного кода от рута,

    чушь.

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

     
     
  • 5.11, Аноним (-), 18:34, 10/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не путай понятия. Обычно ГПЛ программы не любят и в БСД переписывают.
     
     
  • 6.12, Andrey Mitrofanov (?), 19:45, 10/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    "--Кому и кобыла невеста."
     
     
  • 7.13, Аноним (-), 21:42, 17/05/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А кому и SFTP решение. Зачем этот костыль мертвому протоколу?
     

  • 1.14, Аноним (-), 06:58, 19/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а можно ли как нить без ПАМ ?  а то грят Weak
     
  • 1.15, emptyxl (?), 10:42, 24/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на fedora core 3 даный сценарий не работает. ТС зайти не могу. Что делать?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру