Какие дополнительные ценные бумаги вы добавляете к своим установкам cms с открытым исходным кодом? - PullRequest
2 голосов
/ 22 августа 2009

Я знаю, что наличие открытого исходного кода не обязательно делает программу более / менее безопасной, чем закрытый исходный код (давайте предположим, что это нейтралитет, чтобы не допустить появления пламени в этом посте). Факт таков: поскольку исходный код открыт, все знают ваши URL-адреса по умолчанию, логины администратора по умолчанию и т. Д.

Я использую Wordpress и Joomla в некоторых проектах моих клиентов, и я всегда стараюсь создать какую-то дополнительную безопасность. Исключая постоянное обновление ваших файлов до последней версии, что вы обычно делаете для повышения безопасности в этом сценарии? Некоторые из моих мыслей:

  • Я всегда меняю имя администратора, когда это применимо;

  • Я бы не хотел подробно говорить, какие технологии я использую, но так как я хочу продвигать cms (я думаю, это минимальный уровень, который я должен сделать), я просто не говорю точную версию поэтому злоумышленники не знают, на какие именно уязвимости они могут атаковать (WordPress автоматически создает метатег в html, например, «Wordpress 2.8.4»);

  • Установите правильные разрешения в каталогах и сценарии bash на моем сервере, которые запускаются каждый день в 0 часов, устанавливая 755 для каталогов. Возможно, я изменил на 775 в течение дня и забыл вернуться;

  • Когда применимо, я устанавливаю настройку apache для ограничения ips.

Что еще я должен попытаться сделать? Какие «готовые» решения вы обычно используете для своих установок?

Ответы [ 5 ]

3 голосов
/ 22 августа 2009

Использование чего-то вроде mod_security или mod_evasive Модули Apache также могут быть идеей - хотя я предполагаю, что они требуют некоторой конфигурации; и вы должны проверить, что ваш веб-сайт по-прежнему работает нормально, прежде чем использовать их на своем производственном сервере.
Поскольку они являются модулями Apache, также необходимо установить новый модуль Apache - это означает, что вы должны быть администратором сервера.


На чистом уровне PHP есть инструмент под названием PHP-IDS ; цитирую свой сайт:

PHPIDS (PHP-обнаружение вторжений Система) проста в использовании, хорошо структурированный, быстрый и современный уровень безопасности для вашей сети на основе PHP приложение. IDS не раздевается, дезинфицирует или фильтрует любые вредоносные вход, он просто распознает, когда злоумышленник пытается взломать ваш сайт и реагирует именно так, как вы хотите к. На основании набора утвержденных и тщательно проверенный фильтр правил любой атаки получает числовой рейтинг воздействия что позволяет легко решить, что вид действия должен следовать за Попытка взлома. Это может варьироваться от простая регистрация для отправки экстренная почта для разработки команда, отображающая предупреждающее сообщение для злоумышленник или даже окончание пользователя сессия.

Полагаю, вы могли бы «подключить» его к используемой вами CMS, добавив пару строк к его точке входа - если есть общая точка входа, которую вы можете идентифицировать, или какой-то файл, который включается один раз в начало каждой страницы.
Есть "Как использовать это в моем приложении?" запись в FAQ .


И, как вы сказали, защита вашего сервера хороша: например, нет удаленного доступа к SQL; проверка полномочий каждого пользователя в системе; поддерживая программное обеспечение в актуальном состоянии, ...

3 голосов
/ 22 августа 2009

См. Упрочнение Wordpress и Упрочнение Wordpress с помощью htaccess в коде wordpress.org.

В Wordpress, поместите это

function remove_header_info() {

remove_action('wp_head', 'wp_generator');
}

add_action('init', 'remove_header_info');

в файле functions.php темы, чтобы удалить версию WP из wp_head в header.php.

3 голосов
/ 22 августа 2009

Если вы супер параноик, вам нужно будет настроить приложение в песочнице и подключить к нему прокси-сервер apache. Но это в значительной степени чрезмерное убийство, если у вас нет большого количества конфиденциальных данных и / или вы действительно параноик и / или были взломаны ранее.

Если приложение позволяет изменить путь администратора, это тоже хорошая идея. Например, с поиском-заменой довольно легко изменить администратора Wordpress по умолчанию с / wp-admin на что-то другое (например, / my-admin). Это не всегда возможно, хотя.

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

Другие вещи включают отключение или удаление любых модулей / расширений / плагинов, которые не являются на 100% необходимыми для работы системы. Лично проверяю всех пользователей MySQL, чтобы убедиться, что никто не может подключиться к серверу удаленно. Вы также можете установить chroot-тюрьму для всех пользователей на сервере (кроме, конечно, root), чтобы они были заблокированы в каталоге и не могли из него выйти.

2 голосов
/ 24 августа 2009

В Joomla я бы изменил префикс базы данных на что-то отличное от jos_.

0 голосов
/ 08 сентября 2009

Я нашел две интересные ссылки, которые могут добавить информацию о Wordpress.

Это первое из самого блога Wordpress , в котором говорится, что вы должны всегда обновлять установку со всеми исправлениями безопасности.

Второй - это большой список из множества шагов (от конфигурации до pugins), который, я считаю, действительно хорошо написан и содержит множество интересных советов (он разделен на две части). 1009 *

...