Перейти к содержимому

Безопасность

    Защита каталога data

    Все конфигурационные файлы приложения, как и временные файлы, хранятся в каталоге data, и важно убедиться, что доступ к этому каталогу закрыт. При входе в админпанель Аврора проверит, доступен ли главный конфигурационный файл через веб, и если да, выдаст предупреждение. Вы можете сами это проверить, перейдя в браузере по адресу вида http://domain.com/aurora/data/settings/config.json

    Для базовой защиты используется файл .htaccess — но если вы используете не Apache, или если ваш сервер не настроен на поддержку таких файлов, этого будет недостаточно. Файл находится в каталоге data и содержит запись:

    deny from all

    Если этот файл не работает с Apache должным образом, вам потребуется отредактировать настройкки Apache, изменив конфигурацию виртуального хоста, или же указав опцию Limit для директивы AllowOverride.

    Если вы используете nginx, добавьте следующую запись в конфигурацию вашего домена:

    location ^~ /data {
     deny all;
    }

    Для IIS, можно задать файл web.config в главном каталоге Аврора Почты со следующим содержимым::

    <configuration>
      <system.webServer>
        <security>
          <requestFiltering>
            <hiddenSegments>
              <add segment="securefolder" />
            </hiddenSegments>
          </requestFiltering>
        </security>
      </system.webServer>
    </configuration>

    Исторически сложилось так, что есть еще один файл .htaccess в корне Авроры, содержащий:

    <Files *config.json*>
    	order allow,deny
    	deny from all
    </Files>

    Этот файл защищает только конфигурационные файлы, тогда как файл data/.htaccess блокирует доступ к каталогу data вообще.

    Другой вариант защиты каталога data — перенос его в локацию, недоступную по веб; это особенно полезно, если штатный .htaccess не работает, а доступа к файлам конфигурации веб-сервера у вас нет.

    Создайте файл inc_settings_path.php в корне Авроры и укажите в нем новый путь к каталогу data:

    <?php
    $dataPath = '/new/location/of/data';