Использование ProFTPd сервера

From DD-WRT Wiki

Revision as of 08:52, 23 June 2012 by Glenn (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


[edit] Использование ProFTPd сервера

DD-WRT по умолчанию на обоих сборках и mini-usb и MEGA включает FTP службу, известную как ProFTPd. Есть некоторые опции которые не доступны через веб интерфейс, и о которых лучше узнать до того как вы соберетесь открыть доступ к содержимому жесткого диска через LAN или WAN.

Одна из важных настроек это назначение параметров доступа. По умолчанию разрешение на запись "Allow Write" отключено. Если вы хотите загружать информацию или файлы через локальную сеть или из удаленного местоположения вы должны сделать доступным запись. Следующим шагом будет задание пользователей и их паролей. Важно отметить, что когда это сделано ваш супер пользователь должен идти первой строчкой. Приблизительный формат:

root P@ssw0rd
guest P@ssw0rd
username P@ssw0rd

... и так далее.

Чтобы открыть доступ из WAN должен быть задан аккаун для DDNS. Ссылка на пока не переведенную инструкцию Dynamic DNS. Далее можно перейти к другим настройкам.

[edit] Открытие доступа к FTP из WAN

По умолчанию порт 21 (FTP протокол) заблокирован встроенным файрволом. Чтобы открыть сервису доступ через файрвол вы должны ввести несколько комманд Iptables command в поле Administration -> Commands. Меню выглядит так http://www.dd-wrt.com/demo/Diagnostics.asp

Открывая доступ к 21 порту вы подвергаете себя риску, поэтому лучше задать сложный пароль (более 8 и желательно случайных символов, например !@#$%^&*()) и применить несколько умных команд из Iptables. Давайте рассмотрим, что можно делать с их помощью.

Когда вы вставляете правила из Iptables. важно помнить что правило должно стоять первым чтобы выполняться. "When inserting Iptables rules, it is important to remember that the bottom line, or rule, is the first to be executed. The top line is the last."

Основная команда для открытия WAN доступа к FTP выглядит так:

iptables -I INPUT 1 -p tcp --dport 21 -j logaccept 

Верхняя команда задает что 21й TCP Port будет открыт для доступа из сети и будет писать лог.

Однако эта комана не очень безопасна, так как позволяет любому со сканером портов и генератором паролей подобрать ваш логин и пароль. Следующие команды представляют из себя более безопасную альтернативу:

wanf=`nvram get wan_iface`
iptables -I INPUT 2 -i $wanf -p tcp  --dport 21 -j logdrop
iptables -I INPUT 2 -i $wanf -p tcp -m state --state NEW --dport 21 -m limit --limit 3/minute --limit-burst 2 -j logaccept

Верхняя команда эффективней, так как в ней добавлены параметры --limit и --limit-burst. Команда означает что только 3 попытки ввода логина и пароля будут разрешены в течении одной минуты, и если все 3 будут неверными файрвол заблокирует IP адрес с которого ведется атака на 1 минуту. Это помогает против большинства парольных ботов, тем не менее особо умные могут поправить настройки своего бота, чтобы учесть эти ограничения. Вы так же можете задавать параметры --limit до секунд, минут, часов или дней, значение --limit burst так же может быть изменено.

[edit] Разрешение анонимного доступа

Вы можете открыть доступ к содержимому своего FTP сервера любому без использования логина и пароля, такой доступ может быть только на чтение. Вы так же должны задать место на диске, к которому собираетесь открыть доступ. Каталог указывается через слэш /, например /Public. Разрешая анонимный доступ к своему IP адресу или домену Dynamic DNS вы подвергаете свои данные риску, поэтому лучше хорошо подумать перед использованием этой опции.