Защищаем wordpress-сайт от хакерских атак
TRANSCRIPT
Защищаем WordPress-сайт от атак
Сухарь Руслан, UpSolution
Цена взлома?
Цена взлома = репутация
Кто и зачем может взломать Ваши сайты?
Кто и зачем может взломать Ваши сайты?
Нецелевые
атаки
95%
Целевые
атаки
5%
Нецелевые атаки
• Пост-индексный проход
• Хакерские базы
• Google Hacking Database
Google Hacking Database
Целевые атаки
10 признаков, что вас взломают
1. Перегрузка плагинами
Что делать?
• Устанавливать плагины разумно. Помнить, что у каждого плагина есть и обратная сторона.
• Если разбираетесь — смотреть качество кода плагинов и делать выводы.
2. Ядро, темы и плагины не обновляются своевременно
Что делать?
• Подписаться на рассылки об обновлениях используемых компонентов.
• Обновлять компоненты оперативно.
3. У разных сайтов общие файлы
Что делать?
• Когда это возможно, не использовать WordPress Network установку.
• Разделять доступ. Например, на уровне конфигурации PHP для виртуального хоста:
– open_basedir
– session.save_path
– upload_tmp_dir
4. У разных сайтов общий MySQL
Что делать?
• Использовать для разных сайтов разные БД с разными пользователями.
• Не использовать рутовый MySQL-доступ.
5. Файлы index.php и .htaccess доступны для записи
Что делать?
# chown -r root:root .
# chown -r www-data:www-data wp-content/upload
6. PHP позволяет выполнять eval()
7. PHP позволяет выполнять shell-команды
×10
Что делать?
• Запретить (disable_functions) на уровне конфигурации PHP функции:
– exec
– shell_exec, passthru, system, proc_open, popen
– curl_exec, curl_multi_exec
8. Запросы не фильтруются
Что делать?
• Использовать Web Application Firewall:
–На уровне DNS (CloudFlare, …)
–На уровне железа (TrustWave, …)
–На уровне веб-сервера (mod_security, .htaccess/nginx.conf)
–На уровне веб-приложения (NinjaFirewall, …)
9. Не логируются post-данные
Что делать?
• Использовать mod_dumpost или аналогичное решение
10. Серверный софт не обновляется
Что делать?
• Не администрировать сервер самому.
• Подписаться на рассылки и не забывать обновляться.
Выводы
• Большинство атак — нецелевые
• От них достаточно легко защититься