CINXE.COM
ru:security [DokuWiki]
<!DOCTYPE html> <html lang="ru" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <title>ru:security [DokuWiki]</title> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="ru,security"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="DokuWiki"/> <link rel="start" href="/"/> <link rel="contents" href="/ru:security?do=index" title="Все страницы"/> <link rel="manifest" href="/lib/exe/manifest.php"/> <link rel="alternate" type="application/rss+xml" title="Недавние изменения" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="Текущее пространство имён" href="/feed.php?mode=list&ns=ru"/> <link rel="edit" title="Править страницу" href="/ru:security?do=edit"/> <link rel="alternate" type="text/html" title="Простой HTML" href="/_export/xhtml/ru:security"/> <link rel="alternate" type="text/plain" title="вики-разметка" href="/_export/raw/ru:security"/> <link rel="canonical" href="https://www.dokuwiki.org/ru:security"/> <link rel="stylesheet" href="/lib/exe/css.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e"/> <link rel="alternate" hreflang="en" href="https://www.dokuwiki.org/security"/> <link rel="alternate" hreflang="de" href="https://www.dokuwiki.org/de:security"/> <link rel="alternate" hreflang="es" href="https://www.dokuwiki.org/es:security"/> <link rel="alternate" hreflang="fr" href="https://www.dokuwiki.org/fr:security"/> <link rel="alternate" hreflang="it" href="https://www.dokuwiki.org/it:security"/> <link rel="alternate" hreflang="ja" href="https://www.dokuwiki.org/ja:security"/> <link rel="alternate" hreflang="ko" href="https://www.dokuwiki.org/ko:security"/> <link rel="alternate" hreflang="pl" href="https://www.dokuwiki.org/pl:security"/> <link rel="alternate" hreflang="uk" href="https://www.dokuwiki.org/uk:security"/> <link rel="alternate" hreflang="zh" href="https://www.dokuwiki.org/zh:security"/> <link rel="alternate" hreflang="x-default" href="https://www.dokuwiki.org/security"/> <script >var NS='ru';var JSINFO = {"plugins":{"edittable":{"default columnwidth":""}},"id":"ru:security","namespace":"ru","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer="defer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" defer="defer"></script> <script src="/lib/exe/js.php?t=dokuwiki&tseed=f1005bad3d81fc9c803c7f93d32a390e&lang=ru" defer="defer"></script> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/lib/tpl/dokuwiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/lib/tpl/dokuwiki/images/apple-touch-icon.png" /> <meta name="verify-v1" content="OVxl3gsCv2MhZqh1cBQyl0JytWXSwXMjyvwc+4w3WtA=" /> <meta name="google-site-verification" content="YhTVK69hW94ZXUtc2zSLPxTkZKbZIn0zK67mz5WQB-E" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-83791-1', { 'anonymize_ip': true }); </script> </head> <body> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_dokuwiki showSidebar hasSidebar"> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">Перейти к содержанию</a></li> </ul> <h1 class="logo"><a href="/start" accesskey="h" title="Домой [h]"><img src="/lib/tpl/dokuwiki/images/logo.png" width="64" height="64" alt="" /><span>DokuWiki</span></a></h1> <p class="claim">It's better when it's simple</p> </div> <div class="tools group"> <!-- USER TOOLS --> <div id="dokuwiki__usertools"> <h3 class="a11y">Инструменты пользователя</h3> <ul> <li class="action login"><a href="/ru:security?do=login&sectok=" title="Войти" rel="nofollow"><span>Войти</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">Инструменты сайта</h3> <form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="ru:security" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="Найти" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="Найти">Найти</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="ru:security" /><select name="do" class="edit quickselect" title="Инструменты"><option value="">Инструменты</option><optgroup label="Инструменты страницы"><option value="edit">Править страницу</option><option value="revisions">История страницы</option><option value="backlink">Ссылки сюда</option></optgroup><optgroup label="Инструменты сайта"><option value="recent">Недавние изменения</option><option value="media">Управление медиафайлами</option><option value="index">Все страницы</option></optgroup><optgroup label="Инструменты пользователя"><option value="login">Войти</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/ru:security?do=recent" title="Недавние изменения [r]" rel="nofollow" accesskey="r">Недавние изменения</a></li><li class="action media"><a href="/ru:security?do=media&ns=ru" title="Управление медиафайлами" rel="nofollow">Управление медиафайлами</a></li><li class="action index"><a href="/ru:security?do=index" title="Все страницы [x]" rel="nofollow" accesskey="x">Все страницы</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="trace"><span class="bchead">Вы посетили:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/ru:security" class="breadcrumbs" title="ru:security">security</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** ASIDE ********** --> <nav id="dokuwiki__aside" aria-label="Боковая панель"><div class="pad aside include group"> <h3 class="toggle">Боковая панель</h3> <div class="content"><div class="group"> <div class="notify">Этот перевод старее, чем <a href="/security" class="wikilink1">оригинальная страница</a>, и может быть неактуальным. Смотрите, что <a href="/security?do=diff&rev=1495377257" class="wikilink1">было изменено</a>.</div><div class="plugin_translation is-dropdown"><span class="title">Перевод этой страницы<sup><a href="/localization" class="wikilink1" title="localization" data-wiki-id="localization">?</a></sup>: </span><ul><li class="a"><a class="wikilink1" title="English" href="/security">English (en)</a></li><li class="a"><a class="wikilink2" title="|العربية" href="/ar:security">|العربية (ar)</a></li><li class="a"><a class="wikilink2" title="Català" href="/ca:security">Català (ca)</a></li><li class="a"><a class="wikilink2" title="Česky" href="/cs:security">Česky (cs)</a></li><li class="a"><a class="wikilink2" title="Dansk" href="/da:security">Dansk (da)</a></li><li class="a"><a class="wikilink1" title="Deutsch" href="/de:security">Deutsch (de)</a></li><li class="a"><a class="wikilink2" title="Ελληνικά" href="/el:security">Ελληνικά (el)</a></li><li class="a"><a class="wikilink2" title="Esperanto" href="/eo:security">Esperanto (eo)</a></li><li class="a"><a class="wikilink1" title="Español" href="/es:security">Español (es)</a></li><li class="a"><a class="wikilink2" title="فارسی" href="/fa:security">فارسی (fa)</a></li><li class="a"><a class="wikilink1" title="Français" href="/fr:security">Français (fr)</a></li><li class="a"><a class="wikilink2" title="עברית" href="/he:security">עברית (he)</a></li><li class="a"><a class="wikilink2" title="Magyar" href="/hu:security">Magyar (hu)</a></li><li class="a"><a class="wikilink1" title="Italiano" href="/it:security">Italiano (it)</a></li><li class="a"><a class="wikilink1" title="日本語" href="/ja:security">日本語 (ja)</a></li><li class="a"><a class="wikilink1" title="한국어" href="/ko:security">한국어 (ko)</a></li><li class="a"><a class="wikilink2" title="Lietuvių Kalba" href="/lt:security">Lietuvių Kalba (lt)</a></li><li class="a"><a class="wikilink2" title="Nederlands" href="/nl:security">Nederlands (nl)</a></li><li class="a"><a class="wikilink2" title="Norsk" href="/no:security">Norsk (no)</a></li><li class="a"><a class="wikilink1" title="Polski" href="/pl:security">Polski (pl)</a></li><li class="a"><a class="wikilink2" title="Português" href="/pt-br:security">Português (pt-br)</a></li><li class="a"><a class="wikilink2" title="Română" href="/ro:security">Română (ro)</a></li><li class="span"><span class="wikilink1" title="Русский">Русский (ru)</span></li><li class="a"><a class="wikilink2" title="Српски Језик" href="/sr:security">Српски Језик (sr)</a></li><li class="a"><a class="wikilink2" title="Svenska" href="/sv:security">Svenska (sv)</a></li><li class="a"><a class="wikilink2" title="ไทย" href="/th:security">ไทย (th)</a></li><li class="a"><a class="wikilink1" title="Українська" href="/uk:security">Українська (uk)</a></li><li class="a"><a class="wikilink1" title="中文" href="/zh:security">中文 (zh)</a></li><li class="a"><a class="wikilink2" title="繁體中文" href="/zh-tw:security">繁體中文 (zh-tw)</a></li></ul></div> <p> <strong>О «Докувики»</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ru:features" class="wikilink1" title="ru:features" data-wiki-id="ru:features">Возможности</a> и <a href="/blogroll" class="wikilink1" title="blogroll" data-wiki-id="blogroll">обзоры</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:install" class="wikilink1" title="ru:install" data-wiki-id="ru:install">Руководство по установке</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:manual" class="wikilink1" title="ru:manual" data-wiki-id="ru:manual">Руководство пользователя</a> и <a href="/ru:wiki:syntax" class="wikilink1" title="ru:wiki:syntax" data-wiki-id="ru:wiki:syntax">синтаксис</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:changes" class="wikilink1" title="ru:changes" data-wiki-id="ru:changes">Журнал изменений</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:faq" class="wikilink1" title="ru:faq" data-wiki-id="ru:faq">ЧаВО</a></div> </li> </ul> <p> <strong>Дополнительные возможности</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ru:extensions" class="wikilink1" title="ru:extensions" data-wiki-id="ru:extensions">Шаблоны и плагины</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:development" class="wikilink1" title="ru:development" data-wiki-id="ru:development">Ресурсы для разработчиков</a></div> </li> </ul> <p> <strong>Для бизнеса</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ru:faq:support" class="wikilink1" title="ru:faq:support" data-wiki-id="ru:faq:support">Сторонняя поддержка</a></div> </li> <li class="level1"><div class="li"> <a href="/ru:donate" class="wikilink1" title="ru:donate" data-wiki-id="ru:donate">Пожертвования</a></div> </li> </ul> <p> <strong>Наше сообщество</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/teams:getting_involved" class="wikilink1" title="teams:getting_involved" data-wiki-id="teams:getting_involved">Принять участие</a></div> </li> <li class="level1"><div class="li"> <a href="https://forum.dokuwiki.org/" class="urlextern" title="https://forum.dokuwiki.org/">Форум</a></div> </li> <li class="level1"><div class="li"> <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">Список рассылки для разработчиков</a></div> </li> </ul> <hr /> <p> Следуйте за нами на <a href="https://phpc.social/@dokuwiki" class="urlextern" title="https://phpc.social/@dokuwiki">Мастодоне</a> и других <a href="/ru:social" class="wikilink1" title="ru:social" data-wiki-id="ru:social">социальных сетях</a>. </p> <p> <a href="/privacy" class="wikilink1" title="privacy" data-wiki-id="privacy">Конфиденциальность</a> <em>(англ.)</em> </p> </div></div> </div></nav><!-- /aside --> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>ru:security</span></div> <div class="page group"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">Содержание</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#безопасность">Безопасность</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#создание_отчетов_и_уведомлений">Создание отчетов и уведомлений</a></div></li> <li class="level2"><div class="li"><a href="#безопасность_веб-доступа">Безопасность веб-доступа</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#запрет_доступа_к_папкам_в_apache">Запрет доступа к папкам в Apache</a></div></li> <li class="level3"><div class="li"><a href="#запрет_доступа_к_папкам_в_iis">Запрет доступа к папкам в IIS</a></div></li> <li class="level3"><div class="li"><a href="#запрет_доступа_к_папкам_в_lighttpd">Запрет доступа к папкам в Lighttpd</a></div></li> <li class="level3"><div class="li"><a href="#запрет_доступа_к_папкам_в_nginx">Запрет доступа к папкам в Nginx</a></div></li> <li class="level3"><div class="li"><a href="#запрет_доступа_к_папкам_в_cherokee">Запрет доступа к папкам в Cherokee</a></div></li> <li class="level3"><div class="li"><a href="#переименование_папки_data">Переименование папки data</a></div></li> <li class="level3"><div class="li"><a href="#перемещение_папок_из_корневой_папки">Перемещение папок из корневой папки</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#параметры_конфигурации_докувики">Параметры конфигурации «ДокуВики»</a></div></li> <li class="level2"><div class="li"><a href="#безопасность_плагинов">Безопасность плагинов</a></div></li> <li class="level2"><div class="li"><a href="#контроль_доступа">Контроль доступа</a></div></li> <li class="level2"><div class="li"><a href="#дополнительное_чтение">Дополнительное чтение</a></div></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="безопасность">Безопасность</h1> <div class="level1"> <p> «ДокуВики» — это веб-приложение и оно часто используется на публичных серверах, доступных из интернета. Это означает, что есть бо́льший риск подвергнуться нападению злонамеренных людей, чем, например, при применении на вашей настольной системе. </p> <p> «ДокуВики» разработана с учётом требований безопасности. Мы пытаемся найти баланс между дружелюбием к пользователю и безопасностью, но предпочитаем безопасность пользе, когда компромисс не может быть найден. </p> <p> Эта страница должна дать краткий обзор, на какие аспекты заострить внимание, чтобы удостовериться, что ваша «ДокуВики» безопасна. </p> </div> <div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Безопасность] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="безопасность" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1-1119" /><button type="submit" title="Безопасность">Править</button></div></form></div> <h2 class="sectionedit2" id="создание_отчетов_и_уведомлений">Создание отчетов и уведомлений</h2> <div class="level2"> <p> Если обнаружена проблема безопасности в «ДокуВики», пожалуйста, сообщите нам. Предпочтительные способы: </p> <ul> <li class="level1"><div class="li"> Предоставить <a href="/bugs" class="wikilink1" title="bugs" data-wiki-id="bugs">отчет об ошибках</a></div> </li> <li class="level1"><div class="li"> Отправить сообщение в <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">список рассылок</a></div> </li> <li class="level1"><div class="li"> Отправить приватное сообщение <a href="mailto:andi%20%5Bat%5D%20splitbrain%20%5Bdot%5D%20org" class="mail" title="andi [at] splitbrain [dot] org">andi [at] splitbrain [dot] org</a></div> </li> </ul> <p> Для небольших багов предпочтительнее первые два способа. Насчет очень серьезных ошибок, которые могут быть использованы для написания эксплойтов для «ДокуВики», рекомендуем пользоваться приватной перепиской. </p> <p> Все предыдущие проблемы безопасности описаны в <a href="http://bugs.dokuwiki.org/index.php?tasks=all&project=1&type=1&cat=5&status=all&perpage=20" class="urlextern" title="http://bugs.dokuwiki.org/index.php?tasks=all&project=1&type=1&cat=5&status=all&perpage=20">bugtracking system</a>. </p> <p> В зависимости от серьезности найденной проблемы безопасности, либо она будет исправлена в будущем выпуске (по очень незначительным проблемам), либо будет выпущен срочный bugfix-релиз. В последнем случае пользователи будут проинформированы через механизм <a href="/ru:update_check" class="wikilink1" title="ru:update_check" data-wiki-id="ru:update_check">проверки обновлений</a>. </p> <p> Вы должны <strong>всегда</strong> использовать самую последнюю версию «ДокуВики», поскольку старые версии никогда не исправляются. </p> </div> <div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Создание отчетов и уведомлений] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="создание_отчетов_и_уведомлений" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1120-2963" /><button type="submit" title="Создание отчетов и уведомлений">Править</button></div></form></div> <h2 class="sectionedit3" id="безопасность_веб-доступа">Безопасность веб-доступа</h2> <div class="level2"> <p> «ДокуВики» хранит конфигурацию и cтатьи в файлах. Эти файлы никогда не должны быть доступны непосредственно из сети. Распространяемый tarball содержит ряд <code>.htaccess</code> файлов, которые указывают веб-серверу Apache закрыть доступ к определенным папкам. </p> <p> <strong>Если вы не используете веб-сервер Apache, или ваш Apache не использует <code>.htaccess</code>-файлы, вы должны вручную защитить свою установку</strong> </p> <p> Следующие папки <strong>не должны</strong> быть доступны из сети: </p> <ul> <li class="level1"><div class="li"> <code>bin</code></div> </li> <li class="level1"><div class="li"> <code>conf</code></div> </li> <li class="level1"><div class="li"> <code>data</code></div> </li> <li class="level1"><div class="li"> <code>inc</code> (хотя не особо и опасно)</div> </li> </ul> <p> Чтобы проверить, должны ли вы настроить права доступа попытайтесь получить доступ к <code>http://yourserver.com/dokuwiki/data/pages/wiki/dokuwiki.txt</code>. Вы не должны получить доступ к файлу по этому пути. Если вы видите исходный код - у вас проблема с безопасностью сервера. </p> </div> <div class="secedit editbutton_section editbutton_3"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Безопасность веб-доступа] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="безопасность_веб-доступа" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="2964-4322" /><button type="submit" title="Безопасность веб-доступа">Править</button></div></form></div> <h3 class="sectionedit4" id="запрет_доступа_к_папкам_в_apache">Запрет доступа к папкам в Apache</h3> <div class="level3"> <p> Самый простой путь состоит в том, чтобы включить поддержку файлов <code>.htaccess</code> в вашей конфигурации Apache. Посмотрите <a href="http://httpd.apache.org/docs/2.2/howto/htaccess.html" class="urlextern" title="http://httpd.apache.org/docs/2.2/howto/htaccess.html">учебник Apache по .htaccess</a>. </p> <p> «ДокуВики» поставляется с правильно сконфигурированными <code>.htaccess</code>-файлами. Содержимое файла <code>.htaccess</code> для блокировки доступа к папке, в которой он находится, должно быть следующим (корректно для версий 2.2 и 2.4): </p> <pre class="code"><IfModule !mod_authz_core.c> Order deny,allow Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule></pre> <p> <strong>Примечание</strong>: При использовании apache2 на Ubuntu файлы <code>.htaccess</code> будут работать только после активации 'mod_rewrite' в Apache2 (<em>sudo a2enmod rewrite && sudo service apache2 restart</em>) </p> <p> Возможно, Apache2 в целом, либо по-особому в Ubuntu, настраивается несколько иначе, чем Apache1.x. </p> <p> Нужно исправить в файле <code>/etc/apache2/sites-available/default</code> (или <code>default-ssl</code> в случае использования протокола HTTPS) AllowOverride в <Directory /var/www/> с <strong>none</strong> на <strong>all</strong> в следующем месте: </p> <pre class="code">NameVirtualHost * <VirtualHost *> ServerAdmin admin@site.com DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride none Order allow,deny allow from all </Directory></pre> <p> Сделайте <em>/etc/init.d/apache2 reload</em> для обновления конфига Apache и файлы <code>.htaccess</code> будут работать. </p> <p> (Полное обсуждение на <a href="http://ubuntuforums.org/showthread.php?t=47669" class="urlextern" title="http://ubuntuforums.org/showthread.php?t=47669">http://ubuntuforums.org/showthread.php?t=47669</a>) </p> <p> [Эту поправку можно применить к отдельной папке с установленной ДокуВики, нп. <code>/var/www/путь-к-dokuwiki</code>, а не к глобальным настройкам всего сервера] </p> <hr /> <p> Другой путь состоит в использовании директивы <em>LocationMatch</em> внутри описания <em>VirtualHost</em>. Это немного более эффективно чем файлы <code>.htaccess</code>. Ниже директивы <em>Directory</em> добавьте: </p> <pre class="code"><LocationMatch "/(data|conf|bin|inc)/"> Order allow,deny Deny from all Satisfy All </LocationMatch></pre> <p> <em>Загляните в секцию «What to use When» в <a href="http://httpd.apache.org/docs/2.0/sections.html#file-and-web" class="urlextern" title="http://httpd.apache.org/docs/2.0/sections.html#file-and-web">http://httpd.apache.org/docs/2.0/sections.html#file-and-web</a> для уточнения что директивы </em>Location<em> не используются для защиты объектов файловой системы, а только для виртуальных (например, созданных базой данных) путей. По моему мнению (</em>прим. перев.<em> автора англоязычной статьи) если <code>.htaccess</code> недоступны или недостаточны, наиболее безопасный вариант - поместить папко-специфичные ограничения прямо в конфиг хоста. <a href="http://ada.adrianlang.de/dokuwiki-php-execution#solutions_in_the_configuration" class="urlextern" title="http://ada.adrianlang.de/dokuwiki-php-execution#solutions_in_the_configuration">Здесь</a>, кажется, верный подход - но это документ должен быть «каноническим».</em> </p> <hr /> <p> Вышеуказанное может вызвать проблемы, если у вас есть еще один «корень», что включает в себя папки <code>data|conf|bin|inc</code>. Например, другой вики-проект. Вы можете избежать этой проблемы путем расширения вашего <em>LocationMatch</em> в пределах папки (<strong>тут неясно</strong> You can avoid this problem by extending your LocationMatch within your wiki installation folder.). </p> <pre class="code"> <Directory /var/www/dokuwiki> order deny,allow allow from all </Directory> <LocationMatch "/(data|conf|bin|inc)/"> order allow,deny deny from all satisfy all </LocationMatch></pre> </div> <div class="secedit editbutton_section editbutton_4"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Запрет доступа к папкам в Apache] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="запрет_доступа_к_папкам_в_apache" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="4323-9119" /><button type="submit" title="Запрет доступа к папкам в Apache">Править</button></div></form></div> <h3 class="sectionedit5" id="запрет_доступа_к_папкам_в_iis">Запрет доступа к папкам в IIS</h3> <div class="level3"> <p> Доступ к упомянутым папкам может быть отключен в параметрах конфигурации IIS. </p> </div> <h4 id="iis_8">IIS 8+</h4> <div class="level4"> <p> (Windows 8(.1) и Servers 2012 или 2012R2): </p> <ol> <li class="level1"><div class="li"> Выберите «IIS Request Filtering»</div> </li> <li class="level1"><div class="li"> Перейдите на вкладку «<abbr title="Uniform Resource Locator">URL</abbr>»</div> </li> <li class="level1"><div class="li"> Щёлкните «Deny Sequence»</div> </li> <li class="level1"><div class="li"> Введите «/data/» в появившееся окно</div> </li> <li class="level1"><div class="li"> Повторите с остальными защищаемыми папками</div> </li> </ol> </div> <h4 id="iis_7">IIS 7</h4> <div class="level4"> <ol> <li class="level1"><div class="li"> Выберите «IIS Request Filtering»</div> </li> <li class="level1"><div class="li"> Перейдите на вкладку «<abbr title="Uniform Resource Locator">URL</abbr>»</div> </li> <li class="level1"><div class="li"> Щёлкните «Deny Sequence»</div> </li> <li class="level1"><div class="li"> Введите «/data/» в появившееся окно</div> </li> <li class="level1"><div class="li"> Повторите с остальными защищаемыми папками</div> </li> </ol> <p> Примечание: По умолчанию оснастка Консоли Управления для Internet Information Services 7 не имеет доступа интерфейса к секции «IIS Request Filtering». Это исправляется установкой «IIS Administration pack 1.0» через <a href="http://www.microsoft.com/web/downloads/platform.aspx" class="urlextern" title="http://www.microsoft.com/web/downloads/platform.aspx">Web Platform Installer</a>. </p> <p> Ещё примечание: Убедитесь в точном вводе «/data/», а не «/data», иначе станут недоступны страницы, начинающиеся с «data…» </p> </div> <h4 id="альтернатива_для_iis_7">Альтернатива для IIS 7+</h4> <div class="level4"> <p> Если нет доступа к конфигу IIS (как обычно бывает на хостингах), можно использовать ещё пару методов на выбор: </p> <p> <em>Альтернатива 1:</em> </p> <p> Положите в корень вики следующий файл: </p> <dl class="file"> <dt><a href="/_export/code/ru:security?codeblock=4" title="Скачать фрагмент кода" class="mediafile mf_config">web.config</a></dt> <dd><pre class="code file xml"><span class="sc3"><span class="re1"><?xml</span> <span class="re0">version</span>=<span class="st0">"1.0"</span> <span class="re0">encoding</span>=<span class="st0">"UTF-8"</span><span class="re2">?></span></span> <span class="sc3"><span class="re1"><configuration<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><system.webServer<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><security<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><requestFiltering<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><filteringRules<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></filteringRules<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><denyUrlSequences<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><add</span> <span class="re0">sequence</span>=<span class="st0">"/data/"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"><add</span> <span class="re0">sequence</span>=<span class="st0">"/conf/"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"><add</span> <span class="re0">sequence</span>=<span class="st0">"/bin/"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"><add</span> <span class="re0">sequence</span>=<span class="st0">"/inc/"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"></denyUrlSequences<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></requestFiltering<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></security<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></system.webServer<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></configuration<span class="re2">></span></span></span></pre> </dd></dl> <p> <em>Альтернатива 2:</em> </p> <p> Положите в закрываемые папки следующий файл: </p> <dl class="file"> <dt><a href="/_export/code/ru:security?codeblock=5" title="Скачать фрагмент кода" class="mediafile mf_config">web.config</a></dt> <dd><pre class="code file xml"><span class="sc3"><span class="re1"><?xml</span> <span class="re0">version</span>=<span class="st0">"1.0"</span> <span class="re0">encoding</span>=<span class="st0">"UTF-8"</span><span class="re2">?></span></span> <span class="sc3"><span class="re1"><configuration<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><system.webServer<span class="re2">></span></span></span> <span class="sc3"><span class="re1"><handlers</span> <span class="re0">accessPolicy</span>=<span class="st0">"None"</span> <span class="re2">/></span></span> <span class="sc3"><span class="re1"></system.webServer<span class="re2">></span></span></span> <span class="sc3"><span class="re1"></configuration<span class="re2">></span></span></span></pre> </dd></dl> </div> <h4 id="iis_65">IIS 6.5-</h4> <div class="level4"> <ol> <li class="level1"><div class="li"> Откройте инструмент конфигурирования: Пуск → Настройки → Панель управления → Администрирование → Internet Information Services</div> </li> <li class="level1"><div class="li"> Переместитесь к папке, которую вы хотите защитить: Local Computer → Web Sites → Default Web Site → <em>путь к папке data</em></div> </li> <li class="level1"><div class="li"> Щелкните правой кнопкой по папке и выберите Properties → Directory Security → IP address and domain name restrictions → Edit…</div> </li> <li class="level1"><div class="li"> Выберите «By default, all computers will be: Denied access»</div> </li> <li class="level1"><div class="li"> Повторите с остальными защищаемыми папками</div> </li> </ol> </div> <div class="secedit editbutton_section editbutton_5"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Запрет доступа к папкам в IIS] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="запрет_доступа_к_папкам_в_iis" /><input type="hidden" name="codeblockOffset" value="4" /><input type="hidden" name="range" value="9120-12551" /><button type="submit" title="Запрет доступа к папкам в IIS">Править</button></div></form></div> <h3 class="sectionedit6" id="запрет_доступа_к_папкам_в_lighttpd">Запрет доступа к папкам в Lighttpd</h3> <div class="level3"> <p> Используя <a href="http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRewrite" class="urlextern" title="http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRewrite">URL re-write</a> вы можете закрыть доступ к вышеупомянутым папкам. В файле <code>lighttpd.conf</code> добавьте нижеследующее правило подстановки <abbr title="Uniform Resource Locator">URL</abbr>, достаточное, чтобы не пускать людей. Пример предполагает, что ваша «ДокуВики» установлена в <a href="http://yourwebsite.tld/dokuwiki/" class="urlextern" title="http://yourwebsite.tld/dokuwiki/">http://yourwebsite.tld/dokuwiki/</a>. Не забудьте раскомментировать «mod_rewrite» в разделе server.modules. </p> <pre class="code">url.rewrite-once = ( "^/dokuwiki/(data|conf|bin|inc)/+.*" => "/nonexistentfolder" )</pre> </div> <div class="secedit editbutton_section editbutton_6"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Запрет доступа к папкам в Lighttpd] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="запрет_доступа_к_папкам_в_lighttpd" /><input type="hidden" name="codeblockOffset" value="6" /><input type="hidden" name="range" value="12552-13332" /><button type="submit" title="Запрет доступа к папкам в Lighttpd">Править</button></div></form></div> <h3 class="sectionedit7" id="запрет_доступа_к_папкам_в_nginx">Запрет доступа к папкам в Nginx</h3> <div class="level3"> <p> Доступ к вышеупомянутым папкам может быть отключен в разделе конфига Nginx, касающегося сервера DokuWiki. Добавьте нижеследующие локации в файл <code>nginx.conf</code>. </p> <p> <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" /> Эта инструкция слегка вводит в заблуждение. На самом деле нужно отредактировать файл <code>/etc/nginx/sites-available/default</code>. Не забудьте сначала создать резервную копию: <em>cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak</em> </p> <pre class="code"> location ~ /(data|conf|bin|inc)/ { deny all; }</pre> <p> Примечание: При использовании <a href="/config:xsendfile" class="wikilink1" title="config:xsendfile" data-wiki-id="config:xsendfile">xsendfile</a> вышеуказанное правило ломает функционал sendfile. Необходимое уточнение: </p> <pre class="code"> location ~ /(conf|bin|inc)/ { deny all; } location /data/ { internal; }</pre> <p> Также рекомендуется запретить доступ к файлам <code>.htaccess</code>: </p> <pre class="code"> location ~ /\.ht { deny all; }</pre> <p> (Коммент: nginx не пользуется <code>.htaccess</code>, так что это бессмысленно) </p> </div> <div class="secedit editbutton_section editbutton_7"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Запрет доступа к папкам в Nginx] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="запрет_доступа_к_папкам_в_nginx" /><input type="hidden" name="codeblockOffset" value="7" /><input type="hidden" name="range" value="13333-14728" /><button type="submit" title="Запрет доступа к папкам в Nginx">Править</button></div></form></div> <h3 class="sectionedit8" id="запрет_доступа_к_папкам_в_cherokee">Запрет доступа к папкам в Cherokee</h3> <div class="level3"> <p> При использовании Cherokee запретить доступ к папкам относительно легко. В <em>cherokee-admin</em> выберите виртуальный сервер, где установлена «ДокуВики» и выберите управление правилами, добавьте новое правило «Регулярное выражение» и вставьте туда (считается, что вики находится в корневой папке): </p> <pre class="code"> /(data|conf|bin|inc)/</pre> <p> Не забудьте поставить «NON FINAL», в ином случае некоторый код в этих папках может быть выполнен при определенных обстоятельствах (правилом «Extensions php» как «NON FINAL», например). </p> <p> Затем зайдите в секцию «Обработчик» и выберите HTTP Error и в нём – «403 Forbidden». </p> </div> <div class="secedit editbutton_section editbutton_8"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Запрет доступа к папкам в Cherokee] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="запрет_доступа_к_папкам_в_cherokee" /><input type="hidden" name="codeblockOffset" value="10" /><input type="hidden" name="range" value="14729-15790" /><button type="submit" title="Запрет доступа к папкам в Cherokee">Править</button></div></form></div> <h3 class="sectionedit9" id="переименование_папки_data">Переименование папки data</h3> <div class="level3"> <p> Защита папки <code>data</code> очень важна. Если вы не можете переместить папки из веб-сервера (см. описание ниже) или не можете сконфигурировать свой веб-сервер, чтобы запретить доступ (см. выше), то вы должны, по крайней мере, усложнить получение имени папки данных. </p> <p> Чтобы сделать так, переименуйте свою папку данных на что-то сложное (например, длинную строку букв и чисел) и переконфигурируйте опцию <a href="/ru:config:savedir" class="wikilink1" title="ru:config:savedir" data-wiki-id="ru:config:savedir">savedir</a> в вашем файле <code>conf/local.php</code> (лучше через <abbr title="File Transfer Protocol">FTP</abbr>, а не веб-форму <em>Управление/Настройки вики</em>). </p> </div> <div class="secedit editbutton_section editbutton_9"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Переименование папки data] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="переименование_папки_data" /><input type="hidden" name="codeblockOffset" value="11" /><input type="hidden" name="range" value="15791-16729" /><button type="submit" title="Переименование папки data">Править</button></div></form></div> <h3 class="sectionedit10" id="перемещение_папок_из_корневой_папки">Перемещение папок из корневой папки</h3> <div class="level3"> <p> Самый безопасный способ избежать любого доступа к упомянутым папкам состоит в том, чтобы переместить их из корневой папки веб-сервера. </p> <p> <strong><em class="u">Предупреждение:</em></strong> <a href="/ru:installer" class="wikilink1" title="ru:installer" data-wiki-id="ru:installer">Установщик</a> вики работает с жёстко заданными оригинальными именами папок и вы должны применить его прежде, чем сделаете перемещения. Иначе выполнить установку вики не получится. </p> </div> <h4 id="папка_data">Папка data</h4> <div class="level4"> <ol> <li class="level1"><div class="li"> Переместите папку <code>data</code> (и всё её содержимое) из корневой папки</div> </li> <li class="level1"><div class="li"> Отредактируйте настройку <a href="/ru:config:savedir" class="wikilink1" title="ru:config:savedir" data-wiki-id="ru:config:savedir">savedir</a>, чтобы указать на новое расположение папки <code>data</code>.</div> </li> </ol> <p> Например, если папка <code>data</code> перемещена в <code>.home/yourname/data</code>, добавьте следующую строку в <code>conf/local.php</code>: </p> <pre class="code php"><span class="re0">$conf</span><span class="br0">[</span><span class="st_h">'savedir'</span><span class="br0">]</span> <span class="sy0">=</span> <span class="st_h">'/home/yourname/data'</span><span class="sy0">;</span></pre> </div> <h4 id="папка_conf">Папка conf</h4> <div class="level4"> <ol> <li class="level1"><div class="li"> Переместите папку <code>conf</code> (и всё её содержимое) из корневой папки</div> </li> <li class="level1"><div class="li"> Создайте в папке <code>inc</code> файл <code>preload.php</code> и переустановите там переменную <em>DOKU_CONF</em> на новое расположению папки <code>conf</code>.</div> </li> </ol> <p> Например, если папка <code>conf</code> перемещена в <code>/home/yourname/conf</code>, создайте следующую запись в <code>inc/preload.php</code>: </p> <dl class="code"> <dt><a href="/_export/code/ru:security?codeblock=12" title="Скачать фрагмент кода" class="mediafile mf_php">inc/preload.php</a></dt> <dd><pre class="code php"><span class="kw2"><?php</span> <span class="co1">// Не используйте закрывающий php тег. Это вызывает проблему с каналами, помимо прочего.</span> <span class="co1">// Для получения дополнительной информации по этой проблеме, пожалуйста, см:</span> <span class="co1">// http://www.dokuwiki.org/devel:coding_style#php_closing_tags</span> <a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">(</span><span class="st_h">'DOKU_CONF'</span><span class="sy0">,</span><span class="st_h">'/home/yourname/conf/'</span><span class="br0">)</span><span class="sy0">;</span></pre> </dd></dl> </div> <h4 id="папка_bin">Папка bin</h4> <div class="level4"> <p> Папка <code>bin</code> содержит <a href="/ru:cli" class="wikilink1" title="ru:cli" data-wiki-id="ru:cli">CLI</a> инструменты. Если у Вас нет доступа к шеллу на вашем сервере, вы можете просто удалить эту папку и её содержимое. Иначе переместите её из корневой папки. Никакая дальнейшая конфигурация не нужна. </p> </div> <h4 id="папка_inc">Папка inc</h4> <div class="level4"> <p> В настоящий момент нет никакого легкого способа переместить эту папку из корневой папки. Но так как она не содержит уязвимых данных, не стоит прилагать каких-то усилий для этого. </p> <p> Примечание: Однако, если перемещалась папка <code>conf</code>, файл <code>inc/preload.php</code> может навести на её расположение, а оттуда может стать известным новое имя и расположение папки <code>data</code>, что делает всю затею с перемещениями довольно бессмысленной. Постарайтесь договориться с хостером вашего сервера о защите папок методами, что описаны выше для различных видов серверов. </p> </div> <div class="secedit editbutton_section editbutton_10"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Перемещение папок из корневой папки] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="перемещение_папок_из_корневой_папки" /><input type="hidden" name="codeblockOffset" value="11" /><input type="hidden" name="range" value="16730-20368" /><button type="submit" title="Перемещение папок из корневой папки">Править</button></div></form></div> <h2 class="sectionedit11" id="параметры_конфигурации_докувики">Параметры конфигурации «ДокуВики»</h2> <div class="level2"> <p> «ДокуВики» содержит несколько <a href="/ru:config" class="wikilink1" title="ru:config" data-wiki-id="ru:config">параметров конфигурации</a>, которые оказывают влияние на различные аспекты безопасности установки. Пожалуйста, изучите документацию по каждой настройке, чтобы понять, что они делают и каковы их параметры по умолчанию. </p> <ul> <li class="level1"><div class="li"> <a href="/ru:config:allowdebug" class="wikilink1" title="ru:config:allowdebug" data-wiki-id="ru:config:allowdebug">allowdebug</a> — отключает отладочную информацию во избежание системной утечки информации <img src="/lib/images/smileys/exclaim.svg" class="icon smiley" alt=":!:" /></div> </li> <li class="level1"><div class="li"> <a href="/ru:config:fmode" class="wikilink1" title="ru:config:fmode" data-wiki-id="ru:config:fmode">fmode</a>, <a href="/ru:config:dmode" class="wikilink1" title="ru:config:dmode" data-wiki-id="ru:config:dmode">dmode</a> — устанавливает права на файлы, создаваемые «ДокуВики»; также читайте информацию об установке <a href="/ru:permissions" class="wikilink1" title="ru:permissions" data-wiki-id="ru:permissions">прав</a>;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:fetchsize" class="wikilink1" title="ru:config:fetchsize" data-wiki-id="ru:config:fetchsize">fetchsize</a> — настраивает кэширование внешних данных;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:fullpath" class="wikilink1" title="ru:config:fullpath" data-wiki-id="ru:config:fullpath">fullpath</a> — показывает полные пути страниц;</div> </li> <li class="level1"><div class="li"> <a href="/ru:auth" class="wikilink1" title="ru:auth" data-wiki-id="ru:auth">auth</a> — виды аутентификации;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:usewordblock" class="wikilink1" title="ru:config:usewordblock" data-wiki-id="ru:config:usewordblock">usewordblock</a> — предотвращает спам с помощью «чёрного списка»;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:mailguard" class="wikilink1" title="ru:config:mailguard" data-wiki-id="ru:config:mailguard">mailguard</a> — кодирует е-майлы для защиты от спамоботов - сборщиков адресов;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:iexssprotect" class="wikilink1" title="ru:config:iexssprotect" data-wiki-id="ru:config:iexssprotect">iexssprotect</a> — занимается защитой от проблем в XSS в пределах Internet Explorer’а;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:htmlok" class="wikilink1" title="ru:config:htmlok" data-wiki-id="ru:config:htmlok">htmlok</a> — включает парсинг вставляемого <abbr title="HyperText Markup Language">HTML</abbr>-кода;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:phpok" class="wikilink1" title="ru:config:phpok" data-wiki-id="ru:config:phpok">phpok</a> — включает парсинг вставляемого PHP-кода;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:hidepages" class="wikilink1" title="ru:config:hidepages" data-wiki-id="ru:config:hidepages">hidepages</a> — скрывает определённые страницы от индексации и поиска;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:safemodehack" class="wikilink2" title="ru:config:safemodehack" rel="nofollow" data-wiki-id="ru:config:safemodehack">safemodehack</a> (<a href="/config:safemodehack" class="wikilink1" title="config:safemodehack" data-wiki-id="config:safemodehack">англ.</a>) — занимается работой при ограничениях безопасного режима;</div> </li> <li class="level1"><div class="li"> <a href="/ru:config:disableactions" class="wikilink1" title="ru:config:disableactions" data-wiki-id="ru:config:disableactions">disableactions</a> — отключает некоторые функции, например, регистрацию или просмотр исходников.</div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_11"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Параметры конфигурации «ДокуВики»] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="параметры_конфигурации_докувики" /><input type="hidden" name="codeblockOffset" value="13" /><input type="hidden" name="range" value="20369-22689" /><button type="submit" title="Параметры конфигурации «ДокуВики»">Править</button></div></form></div> <h2 class="sectionedit12" id="безопасность_плагинов">Безопасность плагинов</h2> <div class="level2"> <p> DokuWiki имеет <a href="/ru:plugins" class="wikilink1" title="ru:plugins" data-wiki-id="ru:plugins">много разрабатываемых сообществом плагинов</a>. Плагины добавляют новую функциональность к DokuWiki, расширяя её код. Это означает, что у них есть фактически полный доступ к Вашему серверу. Кроме того, плагины распространяются отдельно от DokuWiki, иногда довольно специфичными способами. Они не подвергаются столь тщательной проверке, как кодовая база DokuWiki. Таким образом, необходимо принять необходимые меры безопасности до установки плагинов. </p> <p> Вот некоторые подсказки, чтобы помочь вам с выбором плагинов, которые вы устанавливаете. </p> <ul> <li class="level1"><div class="li"> Если понимаете языки программирования, ознакомьтесь самостоятельно с исходными кодами плагина - <em>до</em> его установки.</div> </li> <li class="level1"><div class="li"> Если сомневаетесь, спросите в <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">списке рассылки</a>.</div> </li> <li class="level1"><div class="li"> Плагины устанавливаются в DokuWiki в папку «lib», которая напрямую доступна извне. Необходимо очень внимательно просматривать код таких плагинов и закрывать доступ к ним через файл <code>.htaccess</code>.</div> </li> <li class="level1"><div class="li"> Плагины созданы разработчиками, напрямую не связанными с проектом DokuWiki - они могут быть неопытными, иметь злые намерения или могут разместить исходный код плагина на сервер, который был скомпрометирован. Будьте осторожны в доверии!</div> </li> <li class="level1"><div class="li"> Просмотрите страницу плагина для выявления упомянутых предупреждений безопасности и обновляйте плагин, когда его новый выпуск станет доступным.</div> </li> </ul> <p> См. также: <a href="/devel:security#reporting_security_issues" class="wikilink1" title="devel:security" data-wiki-id="devel:security">Как сообщить о проблеме безопасности в плагине</a> </p> </div> <div class="secedit editbutton_section editbutton_12"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Безопасность плагинов] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="безопасность_плагинов" /><input type="hidden" name="codeblockOffset" value="13" /><input type="hidden" name="range" value="22690-25264" /><button type="submit" title="Безопасность плагинов">Править</button></div></form></div> <h2 class="sectionedit13" id="контроль_доступа">Контроль доступа</h2> <div class="level2"> <p> С помощью <a href="/ru:acl" class="wikilink1" title="ru:acl" data-wiki-id="ru:acl">средств управления доступом</a> можно указать, какие папки и файлы сайта будут доступны через браузер, каким группам и пользователям, и с какой степенью свободы. </p> </div> <div class="secedit editbutton_section editbutton_13"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Контроль доступа] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="контроль_доступа" /><input type="hidden" name="codeblockOffset" value="13" /><input type="hidden" name="range" value="25265-25628" /><button type="submit" title="Контроль доступа">Править</button></div></form></div> <h2 class="sectionedit14" id="дополнительное_чтение">Дополнительное чтение</h2> <div class="level2"> <p> Вот еще несколько внутренних и внешних страниц, связанных с безопасностью. </p> <ul> <li class="level1"><div class="li"> <a href="/ru:tips:httpslogin" class="wikilink1" title="ru:tips:httpslogin" data-wiki-id="ru:tips:httpslogin">Принудительное использование HTTPS при авторизации</a></div> </li> <li class="level1"><div class="li"> <a href="/install:php" class="wikilink1" title="install:php" data-wiki-id="install:php">Настройка PHP для «ДокуВики»</a></div> </li> <li class="level1"><div class="li"> <a href="/tips:clean_acl" class="wikilink1" title="tips:clean_acl" data-wiki-id="tips:clean_acl">Удаление правил ACL для удаленных страниц</a></div> </li> <li class="level1"><div class="li"> <a href="https://www.feistyduck.com/books/apache-security/" class="urlextern" title="https://www.feistyduck.com/books/apache-security/">Apache Security - Глава 3: Locking down PHP (англ.)</a></div> </li> <li class="level1"><div class="li"> <a href="http://www.bouthors.fr/wiki/doku.php?id=en:linux:dokuwiki:secu" class="urlextern" title="http://www.bouthors.fr/wiki/doku.php?id=en:linux:dokuwiki:secu">Как полностью скрыть несанкционированные страницы (англ.)</a></div> </li> </ul> <p> <a href="/ru:security-old" class="wikilink1" title="ru:security-old" data-wiki-id="ru:security-old">security-old</a> </p> </div> <div class="secedit editbutton_section editbutton_14"><form class="button btn_secedit" method="post" action="/ru:security"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1497636502" /><input type="hidden" name="summary" value="[Дополнительное чтение] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="дополнительное_чтение" /><input type="hidden" name="codeblockOffset" value="13" /><input type="hidden" name="range" value="25629-" /><button type="submit" title="Дополнительное чтение">Править</button></div></form></div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>ru/security.txt</bdi> · Последнее изменение: <time datetime="2017-06-16T20:08:22+0200">2017-06-16 20:08</time> — <bdi>Aleksandr</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">Инструменты страницы</h3> <div class="tools"> <ul> <li class="edit"><a href="/ru:security?do=edit" title="Править страницу [e]" rel="nofollow" accesskey="e"><span>Править страницу</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg></a></li><li class="revs"><a href="/ru:security?do=revisions" title="История страницы [o]" rel="nofollow" accesskey="o"><span>История страницы</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/ru:security?do=backlink" title="Ссылки сюда" rel="nofollow"><span>Ссылки сюда</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="Наверх [t]" rel="nofollow" accesskey="t"><span>Наверх</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: <bdi><a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a> <a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/lib/tpl/dokuwiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/lib/tpl/dokuwiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/lib/tpl/dokuwiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/lib/tpl/dokuwiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/lib/tpl/dokuwiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <div style="margin-top: 2em; font-size:90%" class="dokuwiki"><div style="float:right"><a href="http://www.splitbrain.org/personal#imprint" style="float:right; text-decoration: none; color:#333">Imprint</a></div></div><!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a></li> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a></li> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a></li> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a></li> <li><a href="https://github.com/splitbrain/dokuwiki" title="Access the most recent git commits" target="_top">Git</a></li> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a></li> <li><a href="https://codesearch.dokuwiki.org/" title="Search through the sources of DokuWiki, plugins and templates" target="_top">Code Search</a></li> </ul> </div> <!-- end of DokuWiki top bar include --> </div></footer><!-- /footer --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=ru%3Asecurity&1743746534" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div></body> </html>