Проверяя портал в сканере безопасности — я регулярно вижу угрозы. И казалось бы, почему не сделать эти настройки дефолтными, чтобы сразу обеспечить защиту портала на достаточно высоком уровне?

Почему-то не сделали до сих пор. А значит, решаем это самостоятельно.

Как — идем по очереди по пунктам:

  1. Предположительно в директории хранения сессий находятся сессии других проектов
    Самым простым решением, является включение хранения сессий в базе данных. Но предупреждаю, это снизит продуктивность портала.
    Где включать?
    - В админке заходим по пути "Настройки - Проактивная защита- Защита сессий" или просто подставить строку в адресе - /bitrix/admin/security_session.php
    - Включить хранение сессий в БД и включить смену идентификатора
  2. Разрешено чтение файлов по URL (URL wrappers)
    Для решения этой проблемы нам нужно — зайти на сервер и создать (если ещё не создан) файл в папке /etc/php.d/ с названием z_bx_custom_settings.ini
    Например, сразу открыть в редактирование можно командой mcedit /etc/php.d/z_bx_custom_settings.ini
    Если запилить в исходный bitrixenv.ini — при обновлении серверного окружения все затрется.
    Что ж, заходим в наш файл и добавляем туда строки:
    allow_url_fopen = off;
    И перезагружаем Апач:
    systemctl restart httpd.service
  3. Временные файлы хранятся в пределах корневой директории проекта
    Приведу в пример классическое решение, папку, где хранятся временные файлы вы можете разместить где угодно. Я лишь показываю пример, как это сделать, с прямым указанием команд, для тех, кто плохо разбирается в настройках серверов.
    Шаги наши будут следующие:

    1. Решите, выберите, придумайте директорию вне корня проекта. То есть, решите — где же вы будете хранить временные файлы. Например, это может быть «/home/bitrix/tmp/www»
    2. Скорее всего, этой папки ещё нет на сервере. Создайте ее. Для этого выполните следующую команду:
      mkdir -p -m 700 /home/bitrix/tmp/www
    3. В файле /bitrix/php_interface/dbconn.php (полный путь, как правило это /home/bitrix/www/bitrix/php_interface/dbconn.php) — нужно найти или добавить строку BX_TEMPORARY_FILES_DIRECTORY.
      Если вы только развернули портал, то этой строки не будет и её нужно будет добавить.
      В нашем случае, она будет выглядеть вот так:
      define("BX_TEMPORARY_FILES_DIRECTORY", "/home/bitrix/tmp/www");
      Важно! — эту строку добавляем перед закрывающим php тегом, то есть перед строкой, в которой написано «?>».

     

  4. Проверяемый сайт отвечает на хост по умолчанию
    Решается очень просто.
    Идем по пути — Настройки — Проактивная защита — Хосты/Домены
    Ставим переключатель «Активная реакция:» в статус «Перенаправлять»
    А в поле «Адрес перенаправления:» — пишем адрес портала с типом соединения, то есть: https://domain.crm или http://domain.crm

     

  5. Включен вывод ошибок
    В уже знакомом нам файле /etc/php.d/z_bx_custom_settings.ini, здесь нам снова поможетmcedit /etc/php.d/z_bx_custom_settings.ini
    добавляем строку
    display_errors = off;
    allow_url_fopen = off;
    mbstring.func_overload = 0;
    mbstring.internal_encoding = UTF-8;

    И конечно же перезагружаем Апач:
    systemctl restart httpd.service

Вот 5 самых часто встречаемых ошибок и угроз, которые показывает сканер безопасности Битрикс24 после развертки нового портала.