Как защитить свой сайт от взлома
Атаки на сайты бывают направленными — когда злоумышленнику интересен конкретный сайт, и массовыми — когда атака на сайты идет через уязвимость в CMS (системе управления содержимым сайта). В этой статье мы расскажем о причинах таких уязвимостей и о том, как защитить свой сайт от взлома.
Зачем взламывают сайты
Чаще всего сайты взламывают те, кто хочет заработать деньги нечестным путем. Злоумышленник может взломать ваш сайт:
- для рассылки спама;
- для участия в бот-нете (DDoS-атаки);
- для перенаправления трафика;
- на «заказ» (например, взломать сайт конкурентов).
Самые распространенные способы взлома — через уязвимости CMS, подбор паролей и через рассылку троянских программ.
Откуда берутся уязвимости в CMS
Очень часто пользователи ставят себе на сайт плагины из непроверенных источников. Взломщик оставляет в коде такого плагина свою информацию, которая дает ему возможность получить доступ к файлам хостинга. При помощи специального кода он загружает на сайт так называемые «шеллы».
Шеллы (англ. shell) — это программное обеспечение, которое дает доступ к файлам сайта без дополнительной авторизации или с авторизацией, при которой пароль к шеллу знает только злоумышленник. Шеллы очень часто маскируют под системные файлы CMS.
Разработчики CMS регулярно выпускают обновления с новыми параметрами безопасности. Если вы используете необновленную версию CMS, которую уже не поддерживает разработчик, риск взлома повышается. Как правило, в них используются устаревшие функции, через которые можно получить доступ к файлам.
Часто взлом происходит через формы обратной связи. При создании такой формы используйте безопасную проверку данных, например, запретите использование html-кодов, кодов языков программирования. Также можно использовать преобразование в безопасный текст. Иначе злоумышленник сможет загрузить любой файл на хостинг и выполнить его на сервере хостинга.
В старых версиях TynyMCE editor есть форма для загрузки файла. Через неё взломщик также может загрузить любой файл на сервер, в том числе шелл, для дальнейшего взлома сервера.
Самое главное для взломщика — получить доступ к файлам. Потом он с ними сможет сделать все, что захочет.
Как обезопасить себя от взлома и как найти уязвимости
Полностью себя обезопасить от взлома тяжело, но можно снизить его вероятность. Для этого:
- Используйте последние версии CMS и их компонентов.
- CMS и её компоненты загружайте и устанавливайте только с официальных сайтов разработчиков.
- Установите специальные плагины для CMS, которые защищают от взлома и ищут зараженные файлы.
- Измените штатные ссылки в панели администрирования CMS. Так вы обезопасите себя от взлома по подбору паролей и лишней нагрузки на сервер хостинга.
- Закройте комментарии на сайте или, если вы их используете, установите защиту от ботов.
- Используйте безопасные пароли — не менее 8 символов, состоящие из букв в нижнем и верхнем регистре, цифр и дополнительных символов.
Что делать, если ваш сайт взломали
Если ваш сайт взломали, скорее всего, в папках сайта уже загружены замаскированные шеллы. Антивирус может оказаться бесполезным. Даже если вы удалите большую часть вредоносного ПО, шеллы всё равно будут появляться, и откаты сайта на ранние версии могут не помочь.
Лучшее решение — удалить всё на хостинге, предварительно сохранив файлы сайта, и переустановить CMS «с нуля». Для этого:
- Загрузите CMS с официального сайта разработчика или установите её через Installatron в меню «Программное обеспечение» панели управления cPanel.
- Установите из официальных источников нужные компоненты для вашего сайта и плагины для защиты от взлома.
- Проверьте, не внедрён ли в файлы вашего сайта сторонний код (уточните у разработчика вашего сайта).
- Загрузите файлы сайта на хостинг.
Как выглядят шеллы
Напоследок, покажем вам примеры шеллов.
Так выглядит шелл в веб-браузере
Исходный код разных шеллов
Скрипт, интегрированный в сайт для рассылки спама без ведома владельца сайта
Автор: Вадим Кухаренко
Вы можете перейти в конец и оставить комментарий. Уведомления сейчас отключены.
-
Юлія Бєлая
-
Aleksey Naumenko
-
Vyacheslav B
-
Анна
-
Aleksey Naumenko