ru:security
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
ru:security [2017-06-15 08:22] – - 82.204.179.171 | ru:security [2017-06-16 20:08] (текущий) – старая версия восстановлена (2015-09-07 09:25) Aleksandr | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Безопасность ====== | ||
+ | «ДокуВики» --- это веб-приложение и оно часто используется на публичных серверах, | ||
+ | |||
+ | «ДокуВики» разработана с учётом требований безопасности. Мы пытаемся найти баланс между дружелюбием к пользователю и безопасностью, | ||
+ | |||
+ | Эта страница должна дать краткий обзор, на какие аспекты заострить внимание, | ||
+ | |||
+ | ===== Создание отчетов и уведомлений ===== | ||
+ | |||
+ | Если обнаружена проблема безопасности в «ДокуВики», | ||
+ | |||
+ | * Предоставить [[: | ||
+ | * Отправить сообщение в [[: | ||
+ | * Отправить приватное сообщение [[andi@splitbrain.org]] | ||
+ | |||
+ | Для небольших багов предпочтительнее первые два способа. Насчет очень серьезных ошибок, | ||
+ | |||
+ | Все предыдущие проблемы безопасности описаны в [[http:// | ||
+ | |||
+ | В зависимости от серьезности найденной проблемы безопасности, | ||
+ | |||
+ | Вы должны **всегда** использовать самую последнюю версию «ДокуВики», | ||
+ | |||
+ | ===== Безопасность веб-доступа ===== | ||
+ | |||
+ | «ДокуВики» хранит конфигурацию и cтатьи в файлах. Эти файлы никогда не должны быть доступны непосредственно из сети. Распространяемый tarball содержит ряд '' | ||
+ | |||
+ | **Если вы не используете веб-сервер Apache, или ваш Apache не использует '' | ||
+ | |||
+ | Следующие папки **не должны** быть доступны из сети: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Чтобы проверить, | ||
+ | |||
+ | ==== Запрет доступа к папкам в Apache ==== | ||
+ | |||
+ | Самый простой путь состоит в том, чтобы включить поддержку файлов '' | ||
+ | |||
+ | «ДокуВики» поставляется с правильно сконфигурированными '' | ||
+ | |||
+ | < | ||
+ | < | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | </ | ||
+ | < | ||
+ | Require all denied | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Примечание**: | ||
+ | |||
+ | Возможно, | ||
+ | |||
+ | Нужно исправить в файле ''/ | ||
+ | |||
+ | < | ||
+ | NameVirtualHost * | ||
+ | < | ||
+ | ServerAdmin admin@site.com | ||
+ | |||
+ | DocumentRoot /var/www/ | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride none | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Сделайте /// | ||
+ | |||
+ | (Полное обсуждение на http:// | ||
+ | |||
+ | [Эту поправку можно применить к отдельной папке с установленной ДокуВики, | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Другой путь состоит в использовании директивы // | ||
+ | < | ||
+ | < | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | Satisfy All | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | // | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Вышеуказанное может вызвать проблемы, | ||
+ | < | ||
+ | < | ||
+ | order deny,allow | ||
+ | allow from all | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | order allow,deny | ||
+ | deny from all | ||
+ | satisfy all | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Запрет доступа к папкам в IIS ==== | ||
+ | |||
+ | Доступ к упомянутым папкам может быть отключен в параметрах конфигурации IIS. | ||
+ | |||
+ | === IIS 8+ === | ||
+ | |||
+ | (Windows 8(.1) и Servers 2012 или 2012R2): | ||
+ | |||
+ | - Выберите "IIS Request Filtering" | ||
+ | - Перейдите на вкладку " | ||
+ | - Щёлкните "Deny Sequence" | ||
+ | - Введите "/ | ||
+ | - Повторите с остальными защищаемыми папками | ||
+ | |||
+ | === IIS 7 === | ||
+ | |||
+ | - Выберите "IIS Request Filtering" | ||
+ | - Перейдите на вкладку " | ||
+ | - Щёлкните "Deny Sequence" | ||
+ | - Введите "/ | ||
+ | - Повторите с остальными защищаемыми папками | ||
+ | |||
+ | Примечание: | ||
+ | |||
+ | Ещё примечание: | ||
+ | |||
+ | === Альтернатива для IIS 7+ === | ||
+ | |||
+ | Если нет доступа к конфигу IIS (как обычно бывает на хостингах), | ||
+ | |||
+ | // | ||
+ | |||
+ | Положите в корень вики следующий файл: | ||
+ | |||
+ | <file xml web.config> | ||
+ | |||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | <add sequence="/ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | // | ||
+ | |||
+ | Положите в закрываемые папки следующий файл: | ||
+ | |||
+ | <file xml web.config> | ||
+ | |||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | === IIS 6.5- === | ||
+ | |||
+ | - Откройте инструмент конфигурирования: | ||
+ | - Переместитесь к папке, которую вы хотите защитить: | ||
+ | - Щелкните правой кнопкой по папке и выберите Properties -> Directory Security -> IP address and domain name restrictions -> Edit... | ||
+ | - Выберите "By default, all computers will be: Denied access" | ||
+ | - Повторите с остальными защищаемыми папками | ||
+ | |||
+ | ==== Запрет доступа к папкам в Lighttpd ==== | ||
+ | |||
+ | Используя [[http:// | ||
+ | |||
+ | < | ||
+ | url.rewrite-once = ( " | ||
+ | </ | ||
+ | |||
+ | ==== Запрет доступа к папкам в Nginx ==== | ||
+ | |||
+ | Доступ к вышеупомянутым папкам может быть отключен в разделе конфига Nginx, касающегося сервера DokuWiki. Добавьте нижеследующие локации в файл '' | ||
+ | |||
+ | :!: Эта инструкция слегка вводит в заблуждение. На самом деле нужно отредактировать файл ''/ | ||
+ | |||
+ | < | ||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Примечание: | ||
+ | |||
+ | < | ||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | | ||
+ | location /data/ { | ||
+ | internal; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Также рекомендуется запретить доступ к файлам '' | ||
+ | |||
+ | < | ||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | (Коммент: | ||
+ | |||
+ | ==== Запрет доступа к папкам в Cherokee ==== | ||
+ | |||
+ | При использовании Cherokee запретить доступ к папкам относительно легко. В // | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | Не забудьте поставить "NON FINAL", | ||
+ | |||
+ | Затем зайдите в секцию " | ||
+ | |||
+ | ==== Переименование папки data ==== | ||
+ | |||
+ | Защита папки '' | ||
+ | |||
+ | Чтобы сделать так, переименуйте свою папку данных на что-то сложное (например, | ||
+ | |||
+ | ==== Перемещение папок из корневой папки ==== | ||
+ | |||
+ | Самый безопасный способ избежать любого доступа к упомянутым папкам состоит в том, чтобы переместить их из корневой папки веб-сервера. | ||
+ | |||
+ | **__Предупреждение: | ||
+ | |||
+ | === Папка data === | ||
+ | |||
+ | - Переместите папку '' | ||
+ | - Отредактируйте настройку [[ru: | ||
+ | |||
+ | Например, | ||
+ | |||
+ | <code php> | ||
+ | |||
+ | $conf[' | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Папка conf === | ||
+ | |||
+ | - Переместите папку '' | ||
+ | - Создайте в папке '' | ||
+ | |||
+ | Например, | ||
+ | |||
+ | <code php inc/ | ||
+ | |||
+ | <?php | ||
+ | // Не используйте закрывающий php тег. Это вызывает проблему с каналами, | ||
+ | // Для получения дополнительной информации по этой проблеме, | ||
+ | // http:// | ||
+ | |||
+ | define(' | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Папка bin === | ||
+ | |||
+ | Папка '' | ||
+ | |||
+ | === Папка inc === | ||
+ | |||
+ | В настоящий момент нет никакого легкого способа переместить эту папку из корневой папки. Но так как она не содержит уязвимых данных, | ||
+ | |||
+ | Примечание: | ||
+ | |||
+ | ===== Параметры конфигурации «ДокуВики» ===== | ||
+ | |||
+ | «ДокуВики» содержит несколько [[config|параметров конфигурации]], | ||
+ | |||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru:auth]] --- виды аутентификации; | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | * [[ru: | ||
+ | |||
+ | ===== Безопасность плагинов ===== | ||
+ | |||
+ | DokuWiki имеет [[plugins|много разрабатываемых сообществом плагинов]]. Плагины добавляют новую функциональность к DokuWiki, расширяя её код. Это означает, | ||
+ | |||
+ | Вот некоторые подсказки, | ||
+ | |||
+ | * Если понимаете языки программирования, | ||
+ | * Если сомневаетесь, | ||
+ | * Плагины устанавливаются в DokuWiki в папку " | ||
+ | * Плагины созданы разработчиками, | ||
+ | * Просмотрите страницу плагина для выявления упомянутых предупреждений безопасности и обновляйте плагин, | ||
+ | |||
+ | См. также: [[devel: | ||
+ | |||
+ | ===== Контроль доступа ===== | ||
+ | |||
+ | С помощью [[ru: | ||
+ | |||
+ | ===== Дополнительное чтение ===== | ||
+ | |||
+ | Вот еще несколько внутренних и внешних страниц, | ||
+ | |||
+ | * [[ru: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | [[security-old]] |
ru/security.txt · Последнее изменение: 2017-06-16 20:08 — Aleksandr