для скорости выключи ssl
Возможности vsftpd и примеры их использования.
1. Когда запускаю vsftpd то появляется сообщение о вводе пас фразы сгенерированного сертификата
Водможно ли это автоматизировать, или есть какая опция в конфигах?Code:Enter PEM pass phrase:
2. В конфиге установлено:
Соединяется, но качает очень медленно 200...400 кб/сек. Видимо используется шифрование канала данных, и в топе нагрузка на процессор 95% при закачке. Где с этим бороться на серваке или на клиенсткой части. Качаю при помощи тотал командера, настройки ftps соединения не нашел...Code:... ssl_enable=YES ssl_sslv2=NO ssl_sslv3=NO ssl_tlsv1=YES allow_anon_ssl=NO force_anon_logins_ssl=NO force_anon_data_ssl=NO force_local_data_ssl=NO force_local_logins_ssl=YES rsa_cert_file=/opt/etc/vsftpd.pem rsa_private_key_file=/opt/etc/vsftpd.key ...
для скорости выключи ssl
Возможности vsftpd и примеры их использования.
В том то и дело, что мне нужна безопасная авторизация локальных пользователей...Originally Posted by sonic
Thx, за ссылку . Видел массу аналогичных ... На русском и англ. языках
авторизацию я думаю возможно организовать другими методами, например через правила iptables, закрывать 21 порт например для определенного ip/mac пока не пройдет авторизацию, а потом анонимно отдавать контент, иначе если убрать ssl то пароли от ftp будут бегать в открытом виде а если поставить ее то будет медленно качаться.
а для авторизации написать маленькую веб страничку
vim имеет два режима - бибикать и все портить (с) не мое
С этим я соглашусь, но видимо я не достаточно полно описал мою ситуацию, т.к. сие тоже не подходит.Originally Posted by angel_il
По мимо публичных папок для доступа анонимусами, есть еще и .private папка (как говориться, для друзей), в которой можно записывать, читать, удалять, создавать директории локальным пользователем. Заведомо маки ипы друзей я не знаю, потому предустановленные правила по ипам тут не помогут.
Использование для анонимусов опций:
deny_file={*private*}
force_dot_files=NO
а для локального пользователя
deny_file={}
force_dot_files=YES
считаю полумерой, ибо, как говорилось выше, пароли локальных пользователей летают незашифрованными без ssl. И любой, кто проснифил пароль спокойнечко будет царствовать в этой директории.
Ктати, я перекомпилил vsftpd c дополнительной, на мой взгляд пользительной, опцией anonymous_name. Так сказать, чтоб небыло полного лоховства при выдаче анонимоуса во внешний мир. Чтоб там всякие гуглы постоянно не сканировали дерево каталогов. Чтоб не обвиняли, что я выкладываю в открытый доступ проприетарное ПО. Так, если поставить anonymous_name=STEPHANOPOPULUS, то смогут зайти только анонимусы с логином stephanopopulus.
А Вы сами собирали vsftpd с поддержкой SSL? Можно ли у Вас попросить Вашу версию. Также хотел бы сделать авторизацию пользователей поверх SSL, но vsftpd, который в прошивке, собран без поддержки SSL.
2 abbat. Посмотрите эту небольшую тему:
http://wl500g.info/showthread.php?t=16866
Там я выкладывал бинарник + достаточно полную инструкцию по компиляции. Правда bbsc заметил, что мой бинарник не поддерживает
tcpwrappers, а сам я не пробовал использовать эту опцию. Со скоростью проблема решиласть дефолтным параметром anon_rate_max=0
bbsc тоже выкладывал бинарник с поддержкой tcpwrappers (наличие ssl не упоминалось). Тут http://wl500g.info/showpost.php?p=119458&postcount=132.
По поводу первого вопроса сабжа решилось следующим образом...
Как показано тут... http://nemcd.com/2008/06/ftp-server-...virtual-mysql/
Производим манипуляции в папке /opt/etc
Далее нашел здесьCode:openssl genrsa -des3 -out vsftpd.key 2048 openssl rsa -in vsftpd.key -out vsftpd.pem openssl req -new -key vsftpd.key -out vsftpd.csr openssl x509 -req -days 366 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt rm vsftpd.pem mv vsftpd.crt vsftpd.pem
http://docs.huihoo.com/apache/httpd/apache2.html
"8.9. Disabling the passphrase on startup (Optional)"
И сервер при запуске больше не спрашивает пасс фразу.Code:cp vsftpd.key vsftpd.bak openssl rsa -in vsftpd.bak -out vsftpd.key
Решился второй вопрос сабжа.
Странно, но когда я определил для локальных пользователей разрешенные команды (cmds_allowed),
то соединение данных перестало принужденно шифроваться, причем наличие или отсутствие разрешенных команд ftp AUTH,ADAT никак не влияло на данный факт... Может я чего не понимаю?
Доброго всем времени суток! Подниму старую тему, что бы не плодить похожую. У меня при организации SSL, сервер никак не хочет принимать лог/пасс. Настраивал тремя способами:
http://wl500g.info/showpost.php?p=90459&postcount=343
http://wl500g.info/showpost.php?p=90583&postcount=351
http://wl500g.info/showpost.php?p=90611&postcount=352
Ну хоть убейся..
Включил отладочную информацию. Вот, что пишет в error.log:
О чем это говорит, в чем трабл?Code:2009-02-03 06:26:37: (request.c.294) fd: 8 request-len: 401 GET / HTTP/1.1 User-Agent: Opera/9.63 (Windows NT 6.0; U; ru) Presto/2.1.1 Host: 192.168.1.1 Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Connection: Keep-Alive 2009-02-03 06:26:37: (response.c.264) -- splitting Request-URI 2009-02-03 06:26:37: (response.c.265) Request-URI : / 2009-02-03 06:26:37: (response.c.266) URI-scheme : https 2009-02-03 06:26:37: (response.c.267) URI-authority: 192.168.1.1 2009-02-03 06:26:37: (response.c.268) URI-path : / 2009-02-03 06:26:37: (response.c.269) URI-query : 2009-02-03 06:26:37: (response.c.297) -- sanatising URI 2009-02-03 06:26:37: (response.c.298) URI-path : / 2009-02-03 06:26:37: (mod_access.c.135) -- mod_access_uri_handler called 2009-02-03 06:26:37: (response.c.121) Response-Header: HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="VU", nonce="831811b867255351afa1f5757c80b2ad", qop="auth" Content-Type: text/html Content-Length: 351 Date: Tue, 03 Feb 2009 03:26:37 GMT Server: lighttpd/1.4.20 2009-02-03 06:26:37: (request.c.294) fd: 8 request-len: 695 GET / HTTP/1.1 User-Agent: Opera/9.63 (Windows NT 6.0; U; ru) Presto/2.1.1 Host: 192.168.1.1 Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Authorization: Digest username="alexey", realm="VU", uri="/", algorithm=MD5, nonce="831811b867255351afa1f5757c80b2ad", cnonce="6YUa6007kyUfPcX+k6SJUIg8tZQtSZr8T6iSs66GtDO=", qop=auth, nc=00000001, response="f147358277308d01dac72d4114c3d554" Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers 2009-02-03 06:26:37: (response.c.264) -- splitting Request-URI 2009-02-03 06:26:37: (response.c.265) Request-URI : / 2009-02-03 06:26:37: (response.c.266) URI-scheme : https 2009-02-03 06:26:37: (response.c.267) URI-authority: 192.168.1.1 2009-02-03 06:26:37: (response.c.268) URI-path : / 2009-02-03 06:26:37: (response.c.269) URI-query : 2009-02-03 06:26:37: (response.c.297) -- sanatising URI 2009-02-03 06:26:37: (response.c.298) URI-path : / 2009-02-03 06:26:37: (mod_access.c.135) -- mod_access_uri_handler called 2009-02-03 06:26:37: (response.c.121) Response-Header: HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="VU", nonce="92f2e6733dc02ecda065ed279455a5bf", qop="auth" Content-Type: text/html Content-Length: 351 Date: Tue, 03 Feb 2009 03:26:37 GMT Server: lighttpd/1.4.20 2009-02-03 06:26:39: (request.c.294) fd: 8 request-len: 748 GET /favicon.ico HTTP/1.1 User-Agent: Opera/9.63 (Windows NT 6.0; U; ru) Presto/2.1.1 Host: 192.168.1.1 Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Authorization: Digest username="alexey", realm="VU", uri="/favicon.ico", algorithm=MD5, nonce="831811b867255351afa1f5757c80b2ad", cnonce="6YUa6007kyUfPcX+k6SJUIg8tZQtSZr8T6iSs66GtDO=", qop=auth, nc=00000002, response="0e2818b55d236d556abd4f4584465e8e" Referer: https://192.168.1.1/ Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers 2009-02-03 06:26:39: (response.c.264) -- splitting Request-URI 2009-02-03 06:26:39: (response.c.265) Request-URI : /favicon.ico 2009-02-03 06:26:39: (response.c.266) URI-scheme : https 2009-02-03 06:26:39: (response.c.267) URI-authority: 192.168.1.1 2009-02-03 06:26:39: (response.c.268) URI-path : /favicon.ico 2009-02-03 06:26:39: (response.c.269) URI-query : 2009-02-03 06:26:39: (response.c.297) -- sanatising URI 2009-02-03 06:26:39: (response.c.298) URI-path : /favicon.ico 2009-02-03 06:26:39: (mod_access.c.135) -- mod_access_uri_handler called 2009-02-03 06:26:39: (response.c.121) Response-Header: HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="VU", nonce="74ab0855e5cfa11188f546e83dd17038", qop="auth" Content-Type: text/html Content-Length: 351 Date: Tue, 03 Feb 2009 03:26:39 GMT Server: lighttpd/1.4.20
И если не затруднит приложите конфиг рабочего варианта, пожалуйста.
Пожалуйста поставте задачу конкретней.
Необходима авиоризация логин/пароль + ssl или по сертефикату?
При наличии правиль поставленной задачи (!) смогу вечерком Вам помочь (по шагово с примером конфига...)
wl500gp-1.9.2.7-d-r1222 + StoreJet 35 Ultra >>> rtorrent+rutorrent -|- lighhtpd + ssl + auth -|- vnStat + vnStat PHP frontend -|- vsftpd -|- squid + lightsquid...
Мне нужно запоролить доступ к веб-мордам (rtorrent и все такое). SSL наверное предпочтительнее, в силу большей защищенности. В этом случае сертификат и log/pass необходимы, как я понимаю. Получается SSL + имя/пароль + сертификат. Если возможно, представьте решение которое вам известно, к примеру - как у Вас устроено.
альтернативный вариант --- не мучать веб сервер, а использовать ssh туннели, см. например: http://www.wl500g.info/showthread.php?t=12833
Сейчас вместе с lighttpd дефолтом и автоматом ставится и openssl, куча всего ещё, зачем-то, ещё даже до конца не разобрался чего. В общем, качаем здесь и ставим, как написано, бинарник htdigest, это для авторизации безопасным методом digest (может не работать на старых и некоторых плохих браузерах), создаём сертификат, как там написано.
В S80lighttpd менять ничего не надо, редактируем /opt/etc/lighttpd/lighttpd.conf Раскомментировать строку ssl.engine = "enable", раскомментировать ssl.pemfile поменять значение на "/opt/var/run/lighttpd.pem", раскомментируем строку auth.backend, меняем значение на "htdigest", ниже добавляем строку
auth.backend.htdigest.userfile = "/opt/etc/lighttpd/.passwd"
Если, например, хотим запаролить директорию с веб-фейсом rtorrent'а (rtorrent), меняем секцию auth.require, должно выглядеть так:
Сохраняем. Создаём файл с юзерами и паролями для авторизации.Code:auth.require = ( "/rtorrent" => ( "method" => "digest", "realm" => "rtorrent", "require" => "valid-user" ) )
Спросит пароль юзера.Code:htdigest -c /opt/etc/lighttpd/.passwd rtorrent имяюзера
Перезапускаем веб-сервер:
Проверяем работу.Code:/opt/etc/init.d/S80lighttpd restart
С пробросом порта наружу тоже могут быть проблемы, не далее, как сегодня с этим столкнулся. Читаем, например здесь.
Всем спасибо за внимание. Возможно, где-то и ошибся, но у меня всё работает.
Last edited by Vityok; 03-02-2009 at 16:42.
Vityok. Спасибо тебе огромное! Благодаря тебе заметил, что в место auth.backend.htdigest.userfile, у меня auth.backend.plain.userfile, подтолкнуло - "добавляем строку". Теперь все заработало. И из-за этого я морочился НЕДЕЛЮ! Где же ты раньше был? Хотя, я даже подставлял конфиг автора (только порт менял), но что-то у меня не очень хотело работать.
Last edited by Alex333; 03-02-2009 at 17:15.