PDA

Bekijk de volledige versie : WebDav + lighttpd (SSL) + bookmarks sync (SyncPlaces)



poptab
19-09-2008, 11:21
Можно ли как-нибудь замаунтить WebDAV ресурс с интернета на wl500gp?

derrij
24-04-2009, 15:31
И всё таки, возможно ли?

elected
18-01-2010, 18:11
присоединяюсь к вопросу

checat
19-01-2010, 09:14
Поставить fuse
Скомпилить http://savannah.nongnu.org/projects/davfs2 или http://noedler.de/projekte/wdfs/
И со всей этой фигнёй попытаться взлететь

elected
21-01-2010, 10:03
а lighttpd кто нить знает как сконфигурировать под WEB DAV ?
вроде как он поддерживает этот протокол, но во всех статьях которые я нашел нужно установить галочку при установке. А как ручками сконфигурировать ?

al37919
21-01-2010, 10:23
а lighttpd кто нить знает как сконфигурировать под WEB DAV ?
вроде как он поддерживает этот протокол, но во всех статьях которые я нашел нужно установить галочку при установке. А как ручками сконфигурировать ?
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModWebDAV

haccker
09-05-2011, 18:40
Готовое решение для защищённого хранения и синхронизации закладок и паролей Firefox не на чужом сервере, а у себя на роутере в зашифрованном виде.
Выбор конкретного набора способов защиты/шифрования в принципе не обсуждается, холиварьте в другом месте.

На ПК ставим из дополнений Firefox 3,4 дополнение SyncPlaces (текущее 4.2.0).

Для обеспечения реальной безопасности, защитить нужно:
1. хранилище на роутере (ложим туда только уже пошифрованный на ПК контент, в SyncPlaces выбираем AES 192-бит, шифровать jSON)
2. доступ к роутеру и канал связи роутер - ПК (mod_auth + SSL - спрашивать пароль, и поскольку пароль все равно передаётся в открытом виде - делать это только через туннель SSL)
3. хранилище на ПК - пароль программа SyncPlaces хранит в общем хранилище паролей Firefox, поэтому либо выбираем Firefox Portable и помещаем его целиком в зашифрованный контейнер либо шифруем весь ПК (TrueCrypt например), либо используем другие способы защиты хранилища паролей Firefox.

Установка lighttpd: http://wl500g.info/showpost.php?p=97393&postcount=166
Будем считать, что уже стоит, предварительно настроенный для rtorrent. Наша конфигурация никак не будет мешать уже текущему контенту веб браузера.
Кратко по авторизации и SSL, редактируем lighttpd.conf, у кого уже настроено, можно пропустить:

нужно дополнительно включить модули:

server.modules = (
"mod_access",
"mod_auth",

Для SSL ставим openssl и правим в lighttpd.conf:

#### SSL engine
ssl.engine = "enable"
ssl.pemfile = "/opt/etc/lighttpd/lighttpd.pem"


Для авторизации правим в lighttpd.conf:

#### auth module
## read authentication.txt for more info
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/opt/etc/lighttpd/.passwd"
auth.require = ( "/" =>
(
"method" => "digest",
"realm" => "remote_webui", #заголовок окна запроса пароля
"require" => "valid-user"
)
)
Генерируем пароль для пользователя username:

htdigest -c /opt/etc/lighttpd/.passwd remote_webui username
Генерируем SSL сертификат для нашего веб-сервера:

openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 3650 -nodes

Проверяем, по адресу https://ip_нашего_роутера браузер должен увидеть самовыданный сертификат, если вы его не подписали известным, то добавьте в разрешённые исключения для браузера.
Веб-сервер должен спросить пароль, и пустить вас к содержимому как и раньше.

Теперь правим lighttpd.conf собственно для обеспечения работы механизма DAV:
включаем модуль

server.modules = (
"mod_webdav",
отлавливаем в адресной строке /dav/ и включаем для этой папки WebDAV с правом записи

#for DAV
$HTTP["url"] =~ "^/dav($|/)" {
webdav.activate = "enable"
webdav.is-readonly = "disable"
}
В этой строчке указать максимальный размер запроса (файлы синхронизации закладок бывают немаленькие)

server.max-request-size=1024000
Для отладки ошибок конфигурации временно нужно:


server.errorlog = "/opt/var/log/lighttpd/error.log"
## enable debugging
debug.log-request-header = "enable"
debug.log-response-header = "enable"
debug.log-request-handling = "enable"
debug.log-file-not-found = "enable"

Создаём в корне каталога веб-сервера папку /dav/ и даём права записи процессу веб-сервера в неё. Можно включить виртуальные хосты и/или разместить папку в другом месте, нужно только переписать правило $HTTP["url"] =~ "^/dav($|/)" по своему вкусу.

Настраиваем SyncPlaces:
1. предварительно сохраняем все закладки, на всякий случай
2. устанавливаем протокол https, указываем адрес сервера вместе с портом
3. тип данных для синхронизации JSON, путь /dav/syncplaces.json, если решаем сохранять пароли, то дописываем отдельно путь /dav/passwords.json - одним словом путь надо указываеть относительно корневой папки вебсервера(виртуалхоста).
4. Ставим галочки: "безопасная" пересылка (под безопасной имеется ввиду алгоритм аккуратного разрешения конфликтов синхронизации данных), шифровать данные, алгоритм AES 192-bit, никаких workarounds не надо, всё должно работать в полном объёме
5. Запускаем отправку закладок - в папке /корень_веб_сервера/dav/ должен появится syncplaces.json, passwords.json и их SHA1 хеши.
В случае проблем смотрим еррор-лог, он у нас детальный, обычно либо промахнулись с путями папок либо нет доступа на запись\чтение где либо
Пароль для доступа к роутеру дополнение берёт из общей базы паролей Firefox, SSL сертификат должен быть в разрешающих исключениях браузера
6. После отладки не забываем отключить, чтобы не мусорить


## enable debugging
#debug.log-request-header = "enable"
#debug.log-response-header = "enable"
#debug.log-request-handling = "enable"
#debug.log-file-not-found = "enable"

Для сотни закладок синхронизация по локалке, даже при сильно загруженном роутере должна происходить за секунду.
P.S. Прошивка Олега 1.9.2.7-d

max2007
09-05-2011, 18:49
А почему нельзя их хранить у себя на компе в зашифрованом виде ну + ещё ко всему забекапить куда нибудь ,помоему проще чем эти пляски с бубном вокруг роутера. Или может я чего не догоняю ???

haccker
09-05-2011, 18:57
Речь идёт о синхронизации закладок и паролей между несколькими компьютерами: например компьютер дома, на работе и ноутбук. Не делать же импорт/экспорт между 3мя компьютерами каждый раз вручную ;)
А роутер всегда онлайн

max2007
09-05-2011, 19:20
Теперь понятно . Спасибо !!!

Underwest
14-05-2011, 19:49
Спасибо за рецепт! Настроил xmarks локально и теперь моя паранойя чувствует себя чуть спокойнее :)
Пару моментов хотел добавить чего мне не хватило идя по Вашей инструкции
1. после установок пакетов не нашел htdigest, откопал в пакете апача
2. htdigest требует установки apr-util
3. mod_webdav для работы требует sqlite,иначе выдает левую ошибку загрузки модуля

Visionary
05-08-2011, 23:09
http://www.wl500g.info/showthread.php?t=26744

pretoreani
13-08-2011, 14:51
Еще добавлю что у меня завалился сервер
изза

(fdevent.c.41) event-handler linux-sysepoll failed, try to set server.event-handler = "poll" or "select"

пока юзаю poll

ryzhov_al
03-02-2012, 12:11
haccker, ещё раз спасибо за замечательный пост.

SyncPlaces в новой версии научился сжимать передаваемые файлы, поэтому настройку server.max-request-size=1024000, на мой взгляд, теперь можно исключить. К примеру, при синхронизации двухста закладок в /dav создаётся файл размеро 13 килобайт.

К использованию собственного сервиса синхронизации меня подтолкнуло новое соглашение об услугах Google, который теперь следит за каждым моим движением теперь официально, даже в chromium (http://habrahabr.ru/blogs/google_chrome/101396/).


Еще добавлю что у меня завалился сервер
изза
(fdevent.c.41) event-handler linux-sysepoll failed, try to set server.event-handler = "poll" or "select"В новом репозитории проблем с epoll нет, всё работает.

void1974
16-02-2012, 08:04
Здравствуйте. Скажите есть у кого утилита htdigest из apache пакетов? В новом репозитории не нашел. Может кто то скомпилировал уже для себя. Поделитесь а то не могу выполнить команду
htdigest -c /opt/etc/lighttpd/.passwd remote_webui username