Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Установка FTP сервера на базе pure-ftpd+openssl

news date Авг.09.2009    categories Web-программирование > UNIX    comments (0)

Доброго дня дорогие читатели. В этой статье я вам поведаю как правильно поставить ftp сервер.
Что для этого нам нужно:

  • pure-ftpd – Pure-FTPd FTP server
  • openssl – Secure Socket Layer (SSL) binary and related cryptographic tools
  • libssl-dev – SSL development libraries, header files and documentation

Установка

Для начала мы все это установим. Так как имеющиеся сборка pure-ftpd в репозитариях Debian нам не подходит (нет поддержки openssl), будем устанавливать его из исходников.

# sudo aptitude source pure-ftpd

Исходные коды получены, но перед тем как перейти в каталог, поставим дополнительные пакеты, такие как OpenSSL и библиотеки к нему.

# sudo aptitude install openssl
# sudo aptitude install libssl-dev

Cоздадим самоподписывающиеся цифровой сертификат по алгоритну RSA c 1024-битным ключем:

sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout
/etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Теперь перейдем в каталог с исходными кодами Pure-FTPd и запустим конфигуратор с нужными для нас ключами:

./configure –with-rfc2640 –with-puredb –with-tls
–with-certfile=/etc/ssl/private/pure-ftpd.pem –with-ftpwho –with-altlog

Теперь расмотрим каждый параметр. Кто за что отвечает:

  • –with-rfc2640 – использовать спецификацию rfc2640 для работы "кодировки на лету"
  • –with-puredb – для аутентификации и авторизации использовать свою БД (puredb)
  • –with-tls – включаем поддерку SSL/TLS
  • –with-certfile – использовать сертификат с указанного места
  • –with-ftpwho – опция необходимая для утилиты мониторинга ftpwho
  • –with-altlog – используем журналирование

И откомпилируем пакеты командами:

# make && make install

Настройка Pure-ftpd

Итак начнем настройку. Цифровые сертефикаты мы уже сделали, теперь займемся puredb, создадим ее и наполним пользовательскими учетными записями.

Для начала нам нужна отдельная группа

# groupadd ftpgroup

Создадим реального системного пользователя, под правами которого будут работать наши виртуальные пользователи ftp.

# useradd -m -g ftpgroup -d /dev/null -s /etc ftpuser

  • -m – автоматически создавать папку пользователя;
  • -g – использовать gid (group indentificator). У нас ftpgroup;
  • -d – указывает домашнюю папку пользователя. В нашемслучаии в некуда (/dev/null);
  • -s – указывает на используемую оболочку (shell);

И последнее, конечно же, указываем имя пользователя ftpuser

Проверим, создан ли пользователь

# getent passwd ftpuser
ftpuser:x:1003:1005::/dev/null:/etc

Создадим виртуального пользователя

# sudo pure-pw useradd valek -u ftpuser -d /home/ftpusers/valek

  • useradd – имя пользователя, например valek;
  • -u – uid реального системного пользователя ftpuser
  • -d – домашний каталог

Проверим это дело

# sudo cat /etc/pureftpd.passwd
valek:$1$v5nQVd80$11quL9FgRbL37knEcxIK80:1003:1005::/home/ftpusers/valek/./::::::::::::

# sudo pure-pw show valek

Login : valek
Password : $1$v5nQVd80$11quL9FgRbL37knEcxIK80
UID : 1003 (ftpuser)
GID : 1005 (ftpgroup)
Directory : /home/ftpusers/valek/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)

И создаем базу данных

# sudo pure-pw mkdb

На этом мы закончили. Осталось только запустить pure-ftpd в режиме демона.

sudo ./pure-ftpd -4 -A -B -j -U 022:022 -l puredb:/etc/pureftpd.pdb

Как вы заметили сборка проходила с поддержкой OpenSSL, это я делал с заделом на будующее. Для запуска FTP сервера с зашифрованным каналом нужно добавить пару ключей, но это уже совсем другая история :)


Обсуждения

Нет комментариев к “Установка FTP сервера на базе pure-ftpd+openssl”

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал