На стороне сервера⚓︎
Защита вашей установки Grav на стороне сервера заключается в использовании разумных опций для вашего сервера и PHP. В этом руководстве не рассматриваются ни настройки сервера, на котором вы запускаете Grav, ни идеальные условия, а лишь некоторые советы и передовые методы защиты Grav или ссылки на ресурсы, в которых подробно описывается, как защитить сервер. Это актуально для производственного сервера, а не для локальной разработки и не рекомендуется для начинающих пользователей!
Grav и конфигурация по умолчанию⚓︎
Для Grav вы всегда должны использовать актуальную конфигурацию каталога, соответствующую вашему серверу. Они находятся в репозитории GitHub. Кроме того, периодически обновляйте вашу установку Grav по мере того, как в новых версиях внедряются новые исправления безопасности - подробности см. в CHANGELOG.
Конфигурация PHP⚓︎
Прежде чем вмешиваться в конфигурацию PHP, имейте в виду, что большинство общих хостов, у которых вы арендуете хостинговое пространство, скорее всего, уже настроили разумные и безопасные параметры по умолчанию. Кроме того, в большинстве случаев они не позволяют вам редактировать это самостоятельно. Перед отключением или изменением любой конфигурации вы должны ознакомиться с требованиями Grav, включая PHP-расширения и с тем, как изменения повлияют на них.
Как правило, конфигурация PHP изменяется через php.ini
. Вы можете найти расположение этого файла из командной строки с помощью команды php --ini
или, если у вас нет доступа к прямым командам, создайте файл с именем phpinfo.php
в общедоступной корневой папке вашего веб-сервера. содержащий <? php phpinfo(); ?>
и откройте его в своем браузере. Путь будет указан в разделе «Загруженный файл конфигурации». После обнаружения удалите файл phpinfo.php
.
Некоторые общие рекомендации:
- Всегда обновляйте свою версию PHP: используйте поддерживаемую версию PHP, желательно ту, которая находится в активной стабильной разработке.
- Рассмотрите возможность отключения публичного отображения ошибок и версии PHP: статья на PHP.earth.
- Используйте отдельного пользователя с ограниченными правами для выполнения PHP для Grav: Разрешения в документах.
- Используйте Suhosin для расширенной защиты PHP.
Конфигурация веб-сервера⚓︎
Обычное программное обеспечение веб-сервера или HTTP-сервера включает Nginx и Apache, а также более современные альтернативы, такие как LiteSpeed или CaddyServer. Вышеупомянутые конфигурации веб-сервера включают необходимые значения по умолчанию для Grav, но вы можете дополнительно защитить веб-сервер с помощью его конфигурации. Некоторые соответствующие ресурсы:
- Как обезопасить Nginx на DigitalOcean и Лучшие методы обеспечения безопасности веб-сервера Nginx на nixCraft.
- Руководство по усилению защиты и безопасности веб-сервера Apache на Geek Flare и Советы по безопасности и усилению защиты веб-сервера Apache на Tecmint.
- Способы повышения безопасности в Litespeed на Bobcares.
Конфигурация сервера⚓︎
Вы должны всегда поддерживать свою операционную систему (ОС) в актуальном состоянии. ОС уязвимы для эксплойтов и вторжений даже в большей степени, чем PHP, и их следует обновлять как можно чаще. Кроме того, вы должны всегда обновлять другое программное обеспечение: ваша установка - это не только ОС, PHP и Grav. Другие программные пакеты также являются факторами риска и должны часто обновляться.
Чтобы защитить подключение пользователей к вашему сайту, вы должны включить и применить HTTPS с SSL-сертификатом. Это гарантирует, что вся связь между сервером и браузером остается конфиденциальной и зашифрованной. Бесплатные сертификаты и услуги доступны, например, через Let's Encrypt или CloudFlare.
Если ваш сервер работает на Linux, включите Linux с усиленной безопасностью. SELinux обычно включен по умолчанию, и это того стоит иметь. Еще несколько рекомендаций для системных администраторов доступны на nixCraft.