Общие

Веб-антивирус битрикс, включение в htaccess

Веб-антивирус битрикс, включение в htaccess

Веб-антивирус - система противодействия заражениям сайтов. Веб-антивирус выявляет в html-коде потенциально опасные участки и “вырезает” подозрительные объекты из кода сайта, препятствуя проникновению вирусов на компьютер пользователя.

 Внимание! Веб-антивирус не является заменой обычного антивируса.


 Рекомендуется включить для повышенного уровня.

1. Запрет индексации директорий

Options -Indexes
 Эта строка запрещает автоматическую индексацию директорий, если в них нет файла `index`. Это стандартное и полезное правило для безопасности, так как не позволяет пользователям видеть список файлов в директориях.

2. Кастомная страница ошибки 404

ErrorDocument 404 /404.php
 Это правило указывает, что при возникновении ошибки 404, сервер должен перенаправить пользователя на файл `/404.php`. Если путь правильный и файл существует, то всё должно работать корректно.

3. Перезапись URL (mod_rewrite)

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
 Этот блок конфигурации включает модуль `mod_rewrite` и использует его для перенаправления запросов на файл `urlrewrite.php` в системе Bitrix, если запрашиваемый ресурс не существует как файл (`!-f`), символическая ссылка (`!-l`) или директория (`!-d`).


- Важно: Убедитесь, что файл `urlrewrite.php` существует в указанной директории (`/bitrix/`) и корректно обрабатывает запросы. Ошибка в этом файле может привести к неправильной обработке URL.

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

4. Определение индекса по умолчанию

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>
 Этот блок указывает серверу, что при обращении к каталогу без указания файла по умолчанию будет использоваться `index.php`, а если его нет — `index.html`. Стандартное и правильное правило.

5. Отключение MultiViews

<IfModule mod_negotiation.c>
  Options -MultiViews
</IfModule>
 Этот блок отключает функциональность `MultiViews`, которая может вызывать проблемы с отображением контента (особенно если URL без расширений). Это стандартная мера для предотвращения нежелательных изменений в URL-адресах.

6. Настройки кэширования с помощью Expires

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"
</IfModule>
 Этот блок включает кэширование для различных типов файлов на 3 дня. Это помогает ускорить загрузку страниц за счет кэширования статических ресурсов. Убедитесь, что типы файлов соответствуют тому, что вам нужно (например, для других типов файлов или другого времени кэширования добавьте дополнительные строки).

7. Автозагрузка файла при каждом запросе PHP

php_value auto_prepend_file "/home/c/cp42848/public_html/bitrix/modules/security/tools/start.php"
 Это правило заставляет PHP автоматически подключать файл `start.php` при каждом запросе. Это может быть полезно для установки глобальных настроек или для проверки безопасности, но важно убедиться, что файл существует по указанному пути и что его использование не вызывает дополнительных проблем.

Рекомендации:

- Проверьте правильность путей: Убедитесь, что все указанные пути, такие как `/404.php` и `/bitrix/urlrewrite.php`, существуют и доступны для сервера.

- Проверка совместимости с другими конфигурациями: Если у вас есть другие файлы `.htaccess` или настройки сервера, убедитесь, что они не конфликтуют с этим.

- Безопасность: Убедитесь, что подключаемые файлы, такие как `start.php`, не содержат уязвимостей или ошибок, которые могут повлиять на безопасность вашего сайта.


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