BoxCMS.RU

CMS из коробки

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

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

Безопасность InstantCMS является важным аспектом, который требует постоянного внимания. В первую очередь, рекомендуется всегда использовать самую последнюю версию «InstantCMS», так как старые версии не получают обновлений и исправлений, что может привести к потенциальным уязвимостям.
Одним из важных аспектов безопасности являются права доступа к файлам. Для обеспечения безопасности CMS необходимо настроить права доступа таким образом, чтобы все файлы и директории были недоступны для записи пользователю, под которым работает веб-сервер (обычно это пользователь www-data). Однако, следует отметить, что директории /cache/ и /upload/ и их вложенные файлы являются исключением из этого правила, так как они должны быть доступны для записи.
Также важно обратить внимание на файлы конфигурации CMS и файлы конфигурации шаблона, которые находятся в директории /system/config/. Они также должны быть недоступны для записи, за исключением периода установки, когда директория /system/config/ должна иметь права доступа 777 для возможности записи.
Для обеспечения безопасности рекомендуется установить права (chmod) 644 для всех файлов движка и права (chmod) 755 для всех директорий. После этого для директорий /cache/ и /upload/, а также их вложенных файлов, рекомендуется установить права доступа 777 (в упрощенном режиме). После завершения установки рекомендуется изменить права доступа для директории /system/config/ на 755.
Если Вы используете шаблон modern, то также важно предоставить права на запись (в общем случае 666) для CSS файлов шаблона. Это означает, что все файлы в директории /templates/modern/css/ и CSS файлы контроллеров /templates/modern/controllers/название/styles.css должны иметь соответствующие права.
Важно отметить, что представленные рекомендации являются базовыми и не учитывают особенности настроек безопасности Вашего сервера или хостинга. Поэтому, рекомендуется обратиться к документации или провайдеру хостинга для получения дополнительной информации о безопасности InstantCMS в контексте Вашей инфраструктуры.
Защита веб-доступа является важным аспектом обеспечения безопасности Вашей установки InstantCMS. Для этого необходимо принять несколько мер. При использовании веб-сервера Apache, распространяемый дистрибутив InstantCMS уже содержит .htaccess файлы, которые предназначены для закрытия доступа к определенным директориям.
Однако, если Вы не используете Apache или Ваш сервер не поддерживает .htaccess файлы, Вам необходимо вручную обеспечить защиту Вашей установки. Важно убедиться, что следующие директории недоступны для доступа из сети: "system", "cache/data", "cache/rss" и "cache/rsscache".
Для проверки доступности этих директорий Вы можете попытаться получить доступ к файлу https://yourserver.com/system/config/version.ini. Если Вы обнаружите, что имеете доступ к этому файлу, это может указывать на проблему с безопасностью Вашего сервера.
Если Вы используете веб-сервер Apache, наиболее простой способ обеспечить защиту - включить поддержку файлов .htaccess в конфигурации Apache. Дополнительную информацию и инструкции по настройке можно найти в руководстве Apache по использованию .htaccess.
Важно обратить внимание на несколько важных указаний:
Первое указание состоит в использовании директивы php_flag engine 0, которая имеет функцию отключения выполнения PHP файлов в текущей директории. Это может быть полезным, если требуется запретить выполнение PHP кода в определенной области.
Следующее указание связано с директивой php_admin_value open_basedir, которая предоставляет возможность ограничить доступ PHP к файлам только в определенном дереве каталогов, включая сам файл. Подробную информацию о настройке данной директивы можно найти в документации.
Важно отметить, что директива php_admin_value display_errors «Off» позволяет отключить отображение ошибок и предупреждений PHP. Это особенно важно в продакшене, чтобы избежать возможности раскрытия путей к директории сайта на сервере.
Еще одно важное указание связано с директивой php_admin_value session.save_path «/var/www/mysite.ru/sessions/«, которая определяет путь к директории, где будут храниться сессии PHP. Это позволяет управлять сохранением и доступом к сессиям веб-приложения.
Также стоит отметить, что в указанной директиве open_basedir указан конкретный путь к директории сессий /var/www/mysite.ru/sessions для данного сайта. При установке InstantCMS важно указать именно этот путь к сессиям, чтобы обеспечить корректную работу системы.
Безопасность дополнений - это одна из важнейших задач при работе с InstantCMS. Поскольку сообщество активно разрабатывает разнообразные дополнения, которые добавляют новые функции и расширяют возможности InstantCMS, необходимо принять меры для обеспечения безопасности перед установкой дополнений.
Исследуйте исходный код дополнения: Если Вы знакомы с языками программирования, рекомендуется ознакомиться с исходным кодом дополнения перед его установкой. Это поможет Вам оценить качество кода и проверить его на наличие потенциальных уязвимостей. Если у Вас есть сомнения или вопросы, не стесняйтесь обратиться за помощью на форуме, где опытные пользователи и разработчики смогут дать Вам советы.
Будьте внимательны при выборе платных дополнений: Если дополнение является платным, рекомендуется тщательно изучить информацию о продавце и уточнить все детали перед покупкой. Проверьте репутацию продавца и узнайте о возможности получить поддержку и обновления для дополнения.
Доверяйте проверенным разработчикам: Учтите, что дополнения создаются сторонними разработчиками, которые не всегда связаны с проектом InstantCMS. Поэтому будьте осторожны и не доверяйте всем дополнениям безоговорочно. Проверьте репутацию разработчика и избегайте установки дополнений, которые могут представлять угрозу безопасности или содержать вредоносный код.
Регулярно обновляйте дополнения: Разработчики выпускают обновления, которые исправляют ошибки и устраняют уязвимости. Поэтому важно следить за новыми релизами и обновлять установленные дополнения вовремя. Это поможет Вам быть в курсе последних исправлений и улучшений, а также обеспечит безопасность и стабильность Вашего InstantCMS.