Рано или поздно практически любой владелец сайта, вдруг, оказывается перед проблемой взлома. Если проблема серьезная и Ваш сайт начал рассылать вредоносные сообщения или заражать посетителей вирусами, скорее всего хостер пришлет Вам письмо о том, что Ваш ресурс заблокирован из-за вредоносного кода. Однако такое происходит не всегда. Взломанный сайт может ничего и не рассылать а по-тихому зарабатывать деньги для мошенника, устанавливая платные ссылки в вашем контенте, или перенаправлять посетителей на всякие "гадкие" сайтики. В последнем случае, владелец сайта может годами не иметь понятия о том, что его сайт взломали.
Зачем и почему?
В первую очередь, необходимо понять зачем, чтобы понять как они это делают и кто такие эти самые ОНИ. Здесь все просто – это бизнес. Большинство владельцев сайтов, насмотревшись фильмов, считают что им хотят навредить конкуренты или кто-то хочет украсть ценнейшую информацию, или в крайнем случае балуются детишки. Признаюсь честно, я и сам, частенько говорю своим клиентам про детишек и ламеров, чтобы не вдаваться в длинный рассказ про бизнес в интернете. В общем, в 99,9999% все это не так.
На самом деле, в большинстве случаев, они это делают для того чтобы заработать деньги:
- Перенаправив посетителей сайта на другие ресурсы (сайты). Не будем расписывать что это за такие ресурсы.
- Распространяя вирусы.
- Размещая свои ресурсы, программы, коды, скрипты и т.д. за ваш счет.
- Продавая ссылки.
- И т.д.
Итак, мы знаем зачем, теперь встает вопрос
Как?
Ищется уязвимость (ошибки в коде) в ядре сайта или каком-нибудь модуле, благодаря чему злоумышленник или получает доступ к папке и / или файлам сайта, или возможность запускать на сайте свой код, или выполнить SQL-запрос и т.д. и т.п. Обычно жулик или хакер или ламер, называйте как угодно, находит уязвимость в какой-либо CMS или модуле, скрипте и т.д., и пишет бота, который всю дальнейшую работу проделает в автоматическом режиме – прошарит интернет в поиске сайтов на данной CMS, с данным модулем и сделает все что нужно. По сути это и есть ответ на вопрос, который постоянно задают владельцы сайтов – Почему я восстанавливаю сайт из резервной копии и он все-равно взломан? Потому что, как только вы откатили сайт назад, бот вас снова находит, и делает то, что ему нужно. Никто не ломает ваш сайт напрямую, всю работу делают роботы. Можете откатывать свой сайт сколько угодно – пока вы не устраните уязвимость, вас снова взломают. Через 5 минут или через день или через неделю, но взломают. Притом вероятность того, что именно ваш сайт стал целью хакера очень и очень мала. Целью хакера становятся все сайты с определенной уязвимостью. Чем больше сайтов, тем больше денег. На вашем ресурсе на самом деле должно быть что-то очень и очень ценное, или вы очень сильно насолили своему конкуренту и чтобы избавиться от вашего сайта, он готов заплатить немалые деньги хакеру.
Однако сразу возникает вопрос – получается, что все сайты на CMS уязвимы в той или иной степени, и если я закажу разработку сайта на собственном уникальном движке, хоть это и будет дороже, но маловероятно, что моим сайтом заинтересуются жулики. Отчасти это верно. Но на самом деле, никто не пишет весь код сайта целиком от начала до конца. Скорее он собирается из готовых скриптов, программ. Например текстовый редактор, для создания новостей и другого контента, программист возьмет готовый. Приведу пример из личного опыта. Есть такая небольшая программка для работы с базой данных (резервное копирование и восстановление), Sypex Dumper. Ее версией, кажется, Lite 1.0.8, я пользовался наверное лет 7, не меньше. И вдруг получаю сообщение от хостера:
В последнее время на сайтах наших клиентов были зафиксированы многочисленные изменения файлов .htaccess и установка редиректов на зловредные сайты для мобильных устройств. Мы провели анализ и выяснили, что хакеры сканируют сайты на наличие файлов Sypex Dumper(набора скриптов для работы с базой данных) и, используя различные уязвимости в этом скрипте, изменяют файл .htaccess, а также подменяют дату создания этого файла. На данный момент мы заблокировали использование этого скрипта средствами frontend-сервера.
Просьба удалить Sypex Dumper из ваших файлов. Все найденные зараженные файлы .htaccess будут очищены в течении 2 суток.
Справедливости ради, нужно сказать, что сообщение прислал российский хостер, наши беларуские об этом или не знали или им на это было наплевать. Благодаря этому я быстро от него избавился на своих сайтах и сайтах клиентов. Программа эта не имеет отношение к какой-то CMS, она прекрасно работала самостоятельно, и сейчас работает, после того как уязвимость устранили. Заметьте, много лет не было никаких проблем, и таки нашелся мастер своего дела :).
Получается, никто не застрахован. И потом, сайт на собственной CMS пишет один или несколько программистов, а например, Drupal и его модули, разрабатывают и контролируют тысячи.
Что делать?
Если ваш сайт на CMS, то нужно просто вовремя обновлять модули, плагины и ядро CMS и в большинстве случаев проблем не будет. Другой вопрос, что произойдет после обновления. Итак, что собой представляет обновление? Обычно это просто кусочек кода, который нужно заменить в одном или нескольких файлах. Большинство CMS делают это автоматически, время от времени проверяя какие модули нуждаются в обновлениях, сверяя версии на вашем сайте и сайте производителя. Если находят новые версии, предупреждают об этом администратора. Обычно последнему достаточно в админке пометить что обновить и нажать одну кнопку, все произойдет автоматически. Программа обычно просто заменят всю папку модуля со всеми файлами. И здесь возникает одна проблемка. Если разработчик сайта внес изменения в модуль, после обновления, у вас может что-нибудь перестать работать. А это бывает нередко, и на некоторых CMS, во время разработки, без этого просто никак не обойтись. Что касается Drupal, то он устроен так, что практически любые задачи можно выполнить не внося никаких изменений в модули и / или ядро сайта. Лично мы никогда не вносим никаких изменения в файлы ядра Drupal и его модулей. Мы всегда жестко придерживаемся этого правила, поэтому Вы можете, без проблем, самостоятельно обновлять свои сайты.
Бывает, конечно, и так, что разработчик исправил уязвимость, а из-за этого появилась проблема в работе модуля. От этого никто не застрахован. Недавно обновили Windows 10 и у кучи пользователей она перестала загружаться. Если ваш сайт на нашем обслуживании, мы все это контролируем. Обычно в первую очередь мы обновляем тестовые сайты, проверяем их работоспособность, потом обновляем свои, и только после этого ваши.
обы вы не считали, что все это мы написали лишь для того, чтобы вы поставили свой сайт на наше обслуживание, заметим, что все это вы можете делать и самостоятельно. Практически любой хостер делает бэкап сайтов каждый день, так что если что-то пошло не так, вы сможете откатить сайт на день назад. Инструкцию как обновить модули и ядро сайта вы без проблем найдете в интернете для любой CMS. Введите в google, например, "как обновить модули и ядро сайта drupal" и вы найдете море информации на русском языке. Мы не будем добавлять информационный шум. Если сайт на Drupal делали мы, можете без лишних вопросов обновлять любые модули и ядро сайта. Если кто-то другой, или у вас другая CMS, уточните у разработчика, вносили ли они изменения в файлы CMS перед тем как обновляться.