Защита сайта от взлома и заражения
Взлом сайта – очень неприятная ситуация, угрожающая его работоспособности. От этого не застрахован ни один ресурс в сети. Совершая подобные атаки, злоумышленники руководствуются самыми разными принципами – от банального вредительства до кражи ценной информации. Чтобы минимизировать риски, нужно обеспечить безопасность сервера, хостинга и рабочего компьютера, с которого осуществляется доступ к админ-панелям.
Наименьшее зло, которое может угрожать сайту вследствие заражения, – это подмена или блокировка контента. Хакер проникает на FTP сервера и подменяет некоторые файлы. В результате при загрузке страниц сайта появляется несанкционированный контент (реклама) или происходит перенаправление на другой ресурс. В ряде случаев сайт просто не открывается, и браузер предупреждает о вредоносном коде на сайте.
Гораздо хуже, когда взломщик намерен совершить настоящую диверсию – удалить контент или украсть его с целью получения выкупа. Причем это может произойти не только на уровне локального сервера, но и на хостинге провайдера. Если в предыдущем примере устранить причиненный вред не составит большого труда, то в этом случае ситуация может быть непоправимой.
Не менее опасная угроза – кража паролей от хранилищ или аккаунтов платежных систем. Нетрудно догадаться, чем все это может обернуться. В сентябре 2012 года владелец компании BitFloor потерял таким образом порядка $250 000. Хакеры взломали незашифрованное резервное хранилище ключей BitCoin и украли более 20 000 единиц этой валюты.
Наконец, присутствие вирусов на сайте серьезно затрудняет поисковое продвижение. Зараженный ресурс представляет угрозу для всех его посетителей, подвергающих риску свои устройства (компьютеры, планшеты, смартфоны). Поэтому поисковые роботы регулярно инспектируют сайты на предмет вредоносных программ. При их обнаружении ресурс наделяется особой отметкой в сниппете .
Как минимум, такая маркировка спровоцирует недоверие пользователей и резкий отток поискового трафика. В худшем случае ресурс будет пессимизирован или вообще исключен из выдачи.
Причинами заражения сайта могут являться:
Как предотвратить заражение
1. Надежно храните логины и пароли
Доступы к FTP, админ-панели сайта и аккаунту хостинга (а также все пассворды к другим программам) следует хранить в специальных менеджерах паролей, к примеру в KeePass, но ни в коем случае не в текстовом файле, программе Total Commander, браузерах или FTP-клиентах – здесь они наиболее уязвимы. Регулярно меняйте пароли, особенно после того как давали их третьим лицам (оптимизатору, стороннему веб-мастеру). Избегайте простых коротких паролей, для создания ключей используйте специальные генераторы (тот же KeePass).
2. Делайте резервное копирование файлов
Многие хостинг-провайдеры предоставляют услуги резервного копирования файлов, однако излишняя осторожность не повредит. Возьмите за правило делать бэкапы с регулярной частотой (раз в 1-2 недели) также и на локальном компьютере.
3. Используйте безопасное соединение FTP
FTP не является защищенным протоколом, и во время передачи файлы могут быть перехвачены в сети. Для повышения безопасности необходимо осуществлять доступ к сайту посредством защищенных версий этого протокола – SFTP или SSH.
4. Обновляйте CMS и серверное ПО
При использовании сторонних CMS регулярно следите за выходом обновлений. Загружайте расширения и плагины для панелей управления (в том числе и другое программное обеспечение) только из официальных и проверенных источников. Не скачивайте и не запускайте подозрительные файлы.
5. Установите антивирусную программу
Надежный антивирус и файрволл с поддержкой регулярных обновлений необходимо установить на всех компьютерах, с которых может осуществляться доступ к серверу (администраторы, контент-менеджеры, разработчики и проч.).
6. Будьте внимательны с размещаемой рекламой
Размещайте на страницах сайта рекламные блоки только от проверенных рекламных сетей. Аналогично следует поступать и при работе с партнерскими программами, предлагающими установить код счетчика или повесить баннер.
7. Регулярно проводите аудирование безопасности сайта
Делайте мониторинг активности пользователей на хостинге и в панели управления сайтом (если доступ имеется у нескольких человек). Это позволит вам незамедлительно узнать о попытке взлома при входе с незнакомого IP-адреса. Следите за новыми файлами, появляющимися в директивах, инспектируйте код. Удобнее делать это при помощи специальных сервисов, например панели Яндекс.Вебмастер. Во вкладке «Безопасность» вы сможете увидеть дату проверок, получить информацию о зараженных страницах и угрозах, обнаруженных антивирусом Яндекса.
Если неприятность все-таки случилась и сайт получил заражение, необходимо как можно скорее устранить эту угрозу и вылечить ресурс.
Удаление вредоносного кода с сайта
Прежде, чем начинать лечение сайта, надо удалить вирусную программу с локального компьютера, то есть разобраться с причиной заражения. Уже потом можно начинать лечение самого сайта. Такие последовательные действия помогут избежать возможных проблем. В противном случае вредоносный код может появиться опять.
Для поиска и удаления вируса с самого компьютера можно воспользоваться антивирусной программой или утилитой, возможно потребуется несколько проверок разными средствами. Стоит лишь отметить, что необходимо регулярно обновлять антивирусное программное обеспечение и использовать утилиты последних версий.
Затем необходимо изменить все пароли для FTP-доступа на сайт и панель администратора и не сохранять их, а вводить вручную при каждом входе. Это существенно снизит риск возникновения проблем с вредоносными программами.
После того, как локальная машина вылечена, и код злоумышленников найден, можно приступать к удалению вредоносных строк. При этом необходимо четко знать, что можно удалять, а что нельзя, чтобы не нарушить работу сайта. Перед проведением этих операций желательно будет сделать бэкап сайта для возвращения к рабочей версии в случае неудачного лечения.
Стоит отметить, что злоумышленники не стоят на месте и постоянно совершенствуют вирусы и способы заражения: в частности, они более тщательно маскируют вредоносный код. Поэтому ручные способы поиска могут не сработать – пользователь с небольшим опытом имеет шанс просто не заметить его наличие. В этом случае использование последних версий специальных плагинов и утилит будет более надежным.