Руководство как защитить ваш веб хостинг от вирусных атак и взломов
Думать о защите сайта нужно сразу после его создания. Не стоит полагать, что ресурс только появился и никому пока что не нужен. Как только сайт засветится в поисковых системах или каталогах, в админку быстренько постучаться автоматизированные скрипты для взлома, заражения вирусами и спама. Давно существующие сайты чувствуют на себе сотни атак каждый день.
Защита админ-панели хостинга
Главные ворота на сайт – это административная панель управления сайтом на хостинге, ведь именно отсюда, с сайтом можно сделать всё что угодно: закачать вредоносные скрипты, отредактировать базу данных, скопировать или даже полностью заменить сайт. Возможности защиты админки всецело зависят от хостинга. Безопасные хостинг-провайдеры обновляют программное обеспечение для предотвращения попыток взлома, больше информации о таких сервисах можно найти по этой ссылке. Важно, чтобы админка открывалась по защищённому HTTPS-подключению, это можно понять по зелёному замочку в адресной строке браузера.
Одна из самых эффективных практик защиты от взлома - это ограничение списка разрешённых IP-адресов. Откройте панель управления, не важно как она называется: cPanel, ISP Manager, DirectAdmin или др. Найдите раздел «Блокировка IP-адресов» и внесите IP-адреса ваших устройств. Важно, чтобы адреса были статическими, т.е. постоянными в любой момент времени, иначе вы не сможете управлять хостингом, если IP-адрес сменится. Для разблокировки придётся обращаться в службу технической поддержки.
Если ваш IP-динамический, то можно разрешить диапазон адресов, например: 183.97.134.1-183.97.134.254. Рекомендую добавить как минимум два разных IP-адреса. Я использую VPN-подключение со статическим адресом, и добавляю его в список разрешённых.
Для дистанционного управления сервером используется протокол SSH (Secure Shell). Проверка подлинности при авторизации по SSH бывает:
- Классическая проверка логин/пароль;
- Зашифрованное соединение с помощью сертификата.
Надёжный хостинг позволяет заменить парольный доступ на защищённый закрытым ключом. Вам нужно найти раздел «Доступ по протоколу SSH» и получить закрытый ключ. По SSH сможет войти только тот, у кого есть файл закрытого ключа и пароль к нему. Вход в зону клиента на хостинге защищается двойной аутентификацией по СМС или с помощью одноразового кода Google Authentication.
Как защитить сайт от вирусов и взлома
При выборе хостинга обратите внимание, что среди инструментов есть «Антивирус». Даже если сайт будет инфицирован вредоносным скриптом, антивирус в режиме реального времени обнаружит его и поместит в карантин. Стоит внимательно отнестись к попытке заражения и начать искать системные дыры и уязвимости на сайте. Антивирус на хостинге не является панацеей, и следующая попытка заражения может стать «удачной».
Сайт может заразиться вирусом двумя путями:
- Вы сами устанавливаете чужой код;
- Сайт взламывают и загружают в него вредоносные скрипты.
Вредоносные скрипты
Как ни странно, но первый способ работает «на ура». Владельцы сайтов на CMS устанавливают плагины и темы от неизвестных разработчиков, либо взломанные версии от известных. В погоне за привлекательным функционалом с завлекающими лозунгами, вебмастер передаёт доступ к сайту злоумышленникам. Стоит внимательно относится к серверным скриптам из неофициальных магазинов CMS.
Серверные скрипты написаны на языке PHP, Python, Perl, клиентские скрипты на Javascript. С помощью JS-скрипта злоумышленник не сможет взломать сайт, но у него получится извлечь выгоду и нанести вред ресурсу. Например, злоумышленник может переадресовать посетителя на вредоносный сайт, демонстрировать рекламу, удалять вашу рекламу и вообще всячески изменять код страницы. Поисковые системы дают сайту отметку «Содержит вредоносный код» и понижают в выдаче.
Владельцы веб-ресурсов собственноручно устанавливают чужие скрипты на сайт, под видом рекламы. Липовый рекламодатель обращается к веб-мастеру и предлагает установить баннер за хорошие деньги. Этот обычный, на первый взгляд, баннер, на самом деле нужен для отвода глаз. В реальности, скрипт выполняет мошеннические функции, которые веб-мастер может и не заметить сразу. Например, скрипт может срабатывать не на компьютере, а на мобильных устройствах, причём только определённых моделей и не во всех странах.
Не устанавливайте на сайт скрипты от неизвестных отправителей, особенно загружающиеся с внешних доменов. Можно установить скрипт, загрузив его на свой домен, перед этим заказав аудит кода на предмет нерегламентированных функций. Злоумышленник в любой момент может заменить Javascript на внешнем домене.
Защита CMS
Более всего взлому подвержены сайты с системой управления контентом, например: Wordpress, Joomla, DLE, OpenCart, 1C:Bitrix и др. Для каждого движка написаны свои инструменты для защиты от взломов и вирусов. Поищите популярные плагины для защиты вашей CMS от атак. Например, для Wordpress это плагины iThemes Security, Wordfence, Sucuri Security.
Плагины сканируют сайт на наличие потенциальных угроз, сменяют стандартные пути входа, имена папок и файлов, закрывают дыры, отражают массовые атаки, сканируют на вирусы и дают рекомендации по улучшению безопасности. Не рекомендуется устанавливать плагин неопытным пользователям. Некоторые функции могут нарушить работу сайта неочевидным образом, тщательно тестируйте и проверяйте работу сайта.
Автоматизированные хакерские боты знают существующие уязвимости CMS и плагинов. Боты ходят по списку доменов и тестируют скрипты по известным путям, поэтому движок CMS и плагины нужно обновлять. Рекомендуется установить автоматический режим обновления, но я предпочитаю делать это вручную, контролируя изменения. Довольно часто функционал изменяется довольно сильно, и это неконтролируемо отражается на работе сайта.
Ограничение доступа к админке
Хакерские атаки нацелены на получение доступа к админке сайта, либо к её частям. Так как все серверные скрипты располагаются в одной папке, например, «wp-admin», то будет очень эффективно ограничить доступ по IP-адресам. Даже если у вас устаревший движок, и хакер попытается использовать уязвимость, он просто не сможет достучаться до сервера, т.к. будет забанен по IP-адресу. Рекомендации по списку разрешённых айпишников те же, что и для панели хостинга.
Вам нужно открыть в корневой папке сайта файл «.htaccess» и в самое начало добавить три строчки:
order deny,allow
deny from all
allow from 234.234.234.234
где «234.234.234.234» — ваш IP. Для динамического адреса IP можно вписать так: «234.234.234.». Точка на конце означает, что будут допущены все адреса после точки (с номера 1 по 254).
Советы по безопасности сайта
Для защиты сайта нужно установить SSL-сертификат для защищённого подключения по протоколу HTTPS. Если вы используете старый незашифрованный протокол HTTP, то каждый раз, когда вы входите в административную зону сайта, ваш пароль может быть перехвачен программой-сниффером.
Сайт может заразиться вирусом через взлом рабочего компьютера, установите надёжный антивирус. Когда вы заходите на сервер через файловый менеджер по протоколу FTP, вирус на вашем компьютере может перехватить соединение и закачать на сервер вирусы. Не храните пароли от FTP в незашифрованном виде, пользуйтесь менеджером паролей. И вообще, протокол FTP не выдерживает никакой критики в плане безопасности, используйте зашифрованный FTPS-протокол, хостинг должен его поддерживать.
Выбирайте хостинг с ежедневным резервным копированием файлов и баз данных на удалённом сервере. Даже самая современная защита не даёт 100% гарантии безопасности. Если вас всё-таки взломают, то легко можно откатиться на вчерашнюю версию сайта. Бэкап нужно хранить как минимум за 7 последних дней, т.к. может оказаться, что сайт инфицирован не первый день.