Назад | Перейти на главную страницу

Apache WebDAV: как установить аутентификацию для общего ресурса; с поддержкой календаря (Outlook, Thunderbird, Webapp)

Я ищу способ поделиться календарем для разных платформ через сервер Linux Debian, на котором работает Apache 2.2.16 с WebDAV (mod_dav, mod_dav_fs) поддержка.

Пока что использую для базовой аутентификации каталогов. Проблема в том, что единственное программное обеспечение, поддерживающее этот метод аутентификации, - это Thunderbird с Молнии добавить. Ни Outlook, ни другие веб-календари не могут получить доступ.

Настройка аутентификации Apache выглядит так:

<Directory "/var/www/calendar/">
  Dav on
  ForceType text/plain
  Require user test
  Options +Indexes
  AuthType Basic
  AuthName "WebDAV"
  AuthUserFile /etc/apache2/htpasswd/calendar.htpasswd
  require valid-user
</Directory>

Как я могу защитить WebDAV с помощью надлежащей аутентификации и обеспечить поддержку различного программного обеспечения?

Единственный способ, который я нашел, - это использовать не аутентификацию, а длинный URL-адрес, содержащий случайный хеш, например:

https://example.org/somepath/calendarname-averylonghashtoavoidpiracy.ics

Это похоже на «частные URL-адреса», используемые Календарем Google или Dropbox при совместном использовании. Не идеально, но все же лучше, чем легко угадываемый URL.

Вы можете использовать символические ссылки (или псевдонимы) на сервере, чтобы этот хэш указывал на ваш файл. Это также позволяет вам иметь разные хэши для разных клиентов и повышает безопасность, поскольку вы можете отозвать один хеш в случае его компрометации, сохранив при этом другие.

HTTPS (свободно доступный, например, через Let's Encrypt), конечно, рекомендуется, если ваш календарь содержит конфиденциальные материалы.