Базовые рекомендации по безопасности веб-сайта
Краткое содержание статьи:
Сейчас защита сайта от DDoS-атак, вирусов и взлома как никогда актуальна. Такие угрозы могут навредить сайту и пользователям, посещающим его. При игнорировании базовых принципов безопасности сайта, в сеть могут быть слиты пароли, данные платежных карт, клиентские базы, сайт может отображать нежелательный контент или рекламу, и даже использоваться для осуществления атак и заражения других сайтов.
Поисковые системы негативно относятся ко взломанным сайтам, применяя санкции, в результате которых теряется значительное количество трафика и позиции.
Чтобы сохранить работоспособность сайта и информацию, хранимую в нём, необходимо своевременно оградить его от атак, а для этого важно всесторонне защитить ресурс.
Виды взлома
Наиболее часто взломы происходят через веб-атаки сайтов из-за наличия в них разного рода уязвимостей. Далее рассмотрим частые варианты взломов сайтов.
SQL-инъекции. Используются для извлечения, добавления, изменения и удаления данных в базе с помощью внедрения SQL-кода при условии, что в SQL-запросах сайта используются неотфильтрованные данные, вводимые пользователями. Чтобы это предотвратить, необходимо использовать фильтрацию всех данных, внедряемых в SQL.
XSS (или Cross-Site Scripting). Вредоносный код внедряется на определенную страницу сайта и взаимодействует с веб-сервером злоумышленника при открытии пользователем страницы. Целью данной атаки является получение доступа к cookies и нарушение работы сайта. В качестве защиты необходимо использовать экранирование и кодирование данных на стороне сервера.
Веб-шелл. Вредоносный скрипт, который используется для взлома сайтов и серверов с целью получения доступа к файловой системе и базам данных. Внедряется с помощью уязвимости в коде сайта или методом подбора паролей.
DDoS-атаки. Эти действия злоумышленников заключаются в том, чтобы запустить поток трафика на ресурс, с целью нарушить его работоспособность и ограничить доступ к нему. Для совершения DDoS-атак не обязательно собирать гигантское количество человек, злоумышленники умеют внедрять вирусы в любые устройства: от компьютера до умного чайника, и уже эти гаджеты отправляют запросы для атаки. Для защиты от DDoS-атак рекомендуется использовать проверенные хостинги, либо облачные сервисы по типу Cloudflare, а также маскировку IP-адреса, фильтрацию сетевого трафика – например, блокировку по географическому признаку – и многое другое.
Взлом через FTP. Данный способ взлома можно осуществить с помощью подбора или перехвата пароля от FTP-доступов. Получив доступы, злоумышленник может загрузить вредоносные скрипты. Протокол FTP является открытым, поэтому перехватить данные несложно.
Взлом через SSH. Также как и FTP, доступы к SSH можно получить путём подбора и перехвата пароля. Второй вариант будет сложнее из-за шифрования трафика, но всё-таки он тоже возможен.
Для предотвращения взлома через FTP и SSH необходимо использовать ограничение по IP. Рекомендуем избавиться от FTP, подключив сетевой протокол SFTP для безопасной передачи файлов.
Взлом через панель администратора. Аналогично выше пунктам, данный вид атак происходит путём подбора и перехвата пароля. Рекомендуется установить сложные пароли, двухфакторную аутентификацию и разрешение только для определенных IP-адресов.
Взлом phpMyAdmin. PhpMyAdmin используется для управления базами данных и имеет стандартный адрес, который легко набрать, например site.ru/phpMyAdmin. Сам взлом происходит путём подбора доступов. А с помощью SQL-запросов злоумышленники могут внедрить вредоносный код, читать, извлекать или создавать данные. Для борьбы со взломом phpMyAdmin, установите сложный пароль и ограничьте доступ по IP.
Взлом соседей по Shared-хостингу. Shared-хостинг – это когда на одном сервере размещаются несколько сайтов. Из общего у них ip-адрес, операционная система, память, диск и пр. На одном аккаунте такого хостинга могут быть размещены ресурсы с уязвимыми версиями CMS, может быть открыт FTP, база данных или админ-панель, из-за этого злоумышленник может получить полный контроль к аккаунту хостинга, на котором могут лежать сотни и даже тысячи сайтов. Рекомендуется избегать подобных хостинг-провайдеров и отдавать предпочтение изолированному размещению сайтов.
Уязвимые CMS или плагины. Самая взламываемая CMS в мире – Wordpress, на неё приходится гигантская доля атак. Поэтому рекомендуется следить за обновлением CMS, чтобы она всегда была актуальной. Из-за несовершенства разработки скрипты, плагины и модули, используемые на сайте, тоже могут быть взломаны. Чтобы этого избежать, рекомендуется сократить использование дополнительных плагинов или заранее проверять их перед установкой. Не скачивать темы, плагины и модули с непроверенных источников.
Итого, резюмируем и дополним, каким образом у вашего сайта может быть нарушена безопасность:
- халатность или злой умысел специалиста;
- простой пароль;
- посещение сайтов с вирусами;
- пользователи, оставляющие зараженные файлы и ссылки на сайте;
- открытый доступ к управлению сайтом;
- установка ПО с непроверенных источников;
- использование тем, шаблонов, плагинов, модулей с уязвимостями;
- несвоевременное обновление CMS;
- использование ненадежного хостинга;
- отсутствие мер технической защиты.
Как защитить сайт?
SSL-сертификат
Установите на сайте SSL-сертификат (Secure Sockets Layer), который необходим для обеспечения безопасного соединения между сервером и браузером пользователя, и надежной защиты данных от подмены и перехвата с третьей стороны. Использование SSL позволяет защитить как владельца сайта, так и пользователей, посещающий ресурс. Он необходим для зашифровки данных и идентификации сайта при установлении защищённого соединения по протоколу HTTPS. Наличие у сайта SSL-сертификата можно понять по значку замка в адресной строке.
Получить и установить SSL-сертификат можно как на страницах управления доменного имени или управления хостингом, так и на сайтах центров сертификации.
Варианты SSL могут быть разные:
- DV SSL – когда подтвержден только домен сайта;
- OV SSL – когда подтверждается принадлежность не только домена, но и принадлежность к определенной компании. Выдаются только юридическим лицам;
- EV SSL – когда подтвержден домен, компания, разрешение на деятельность, легальность деятельности и пр. Выделяется зелено строкой в браузере. Считается самым престижным SSL-сертификатом.
SSL-сертификаты бывают платные и бесплатные, автоматически продляемые (например хостингом) или продляемые вручную и самостоятельно. Сроки использования выданных SSL-сертификатов могут составлять от 90 до неограниченного количества дней.
Надежные пароли
Чтобы сохранить безопасность вашего веб-сайта, не используйте простые пароли. Злоумышленники используют распространенные способы составления паролей, а также собирают информацию о вас и вашей компании, и используют её в подборе пароля. Подбор может быть сделан с помощью специальных программ, которые автоматически генерируют распространенные слова и сочетания всевозможных символов, либо могут быть использованы данные из соц. сетей или другой раскрытой личной информации в сети.
Чтобы создать надежный пароль, следуйте следующим рекомендациям:
- Длина пароля от 10 символов;
- Не используйте распространенные слова и последовательности букв, типа qwerty;
- Используйте в пароле слова, не связанные друг с другом по смыслу;
- Используйте случайные символы;
- Используйте строчные и прописные буквы, цифры, знаки препинания, а также символы;
- Для разных доступов имейте разные пароли;
Обязательно активируйте двухфакторную аутентификацию везде, где это возможно. В самых важных доступах старайтесь периодически обновлять пароли.
Можно использовать генераторы паролей, которые случайным образом создадут для вас определенный набор букв, цифр, знаков препинания и символов. Чем больше настроек у такого генератора, тем лучше.
Обновление CMS
Рекомендуется своевременное обновление CMS, т.к. с каждым таким обновлением разработчики стараются залатать дыры. Такие обновления могут быть как автоматическими, так и запущенными вручную. Обычно о доступных обновлениях приходят уведомления. Рекомендуется перед обновлением делать полный бекап сайта.
Также можно задуматься над переездом на российский движок, т.к. иностранные CMS в текущей ситуации могут быть заблокированы для пользователей из России.
Защитные плагины и модули
Существуют различные плагины, скрипты и модули для защиты сайта от взлома и атак. Но так как они являются сторонними, берите их из проверенных источников, которые активно поддерживаются и обновляются.
Например, для Wordpress можно установить: BulletProof Security, Sucuri, All in One WP Security, Wordfence. Для других CMS также можно найти различные дополнения в официальных каталогах.
Существуют и встроенные решения по борьбе со взломами, зачастую их необходимо только активировать, например, «Проактивный фильтр» в Bitrix, который защищает от большинства известных атак. В Bitrix есть целый раздел «Проактивная защита», которая включает защиту сразу по разным направлениям, и раздел «Защита от DDoS».
Надежный хостинг и дополнительная защита
В первую очередь рассматривайте российские хостинги и регистраторы доменов – так вам не смогут перекрыть доступ по причине вашего географического расположения. При выборе хостинга смотрите на то, что он предлагает в качестве защиты от взлома и атак, и происходят ли постоянные обновления сервера. Определите требования для вашего сайта: объем диска, производительность, выделенный IP-адрес, какие ограничения по трафику, какое есть предустановленное ПО, возможности резервного копирования и пр. Если вы в этом не разбираетесь, то можно посмотреть рейтинг популярных российских хостингов и изучить то, что они предлагают.
Проверьте длительность работы в этой сфере, договор и пользовательское соглашение, есть ли лицензии и своё оборудование, настоящий адрес.
Перейдите с FTP на более безопасный протокол SFTP, либо дайте доступ к FTP только определенным IP. Также можно использовать нестандартные порты для подключения. Разные сайты можно разместить на разных аккаунтах хостинга. Установите права на запись и чтение в папках – 755, для файлов – 644. Таким образом вы определите, что редактировать папки и файлы сможет только владелец.
Бэкапы
Бэкапы нужны для того, чтобы в случае взлома и прочих поломок вы смогли восстановить работоспособность сайта. Сделать бэкап сайта можно как вручную (через FTP-клиент и phpMyAdmin), так и с помощью услуги регулярного резервного копирования у хостинга. Хранить бэкап рекомендуется в другом надежном месте в зашифрованном виде, например в облачных хранилищах, арендованном сервере или у себя на компьютере.
Регулярность бэкапа может быть разной – в зависимости от ваших нужд и предпочтений. Обычно на хостинге они хранятся около 2 недель. Если у вас небольшой сайт, то бэкапы можно делать ежедневно и хранить ежедневные копии за последний месяц.
WAF
WAF (Web Application Firewall) – это файрвол для веб-приложений для фильтрации поступающего трафика: сканирует данные, выявляет и блокирует вредоносный код. Он защищает от хакерских и бот-атак, утечек данных и прочих угроз. После установки WAF обязательно необходимо правильно его настроить, чтобы включить необходимые параметры фильтрации. Разные WAF имеют различные наборы фильтров.
Защита ПК
Заразить сайт можно и с зараженного компьютера, с которого происходит управление сайтом. Для защиты персонального компьютера используйте антивирусные программы последних версий. Чтобы определиться с подходящим, вы можете найти рейтинги, которые составляют известные эксперты. Случалось, что антивирусы были уязвимы, благодаря чему злоумышленники смогли внедрить в них вирусы и заражать ПК пользователей, которые их установили. К счастью, разработчики антивирусов реагируют быстро и исправляют эти уязвимости.
Для Windows есть бесплатное встроенное ПО Microsoft Defender, он хорошо справляется с привычными для ПК угрозами. Браузеры также предупреждают о подозрительных сайтах и автозагрузках.
Также важно не совершать действий, которые могут подвергнуть ваш ПК угрозе, например, не нужно:
- переходить по ссылкам и открывать вложения из спам-писем;
- скачивать программы из ненадежных источников и устанавливать их на ПК;
- посещать подозрительные сайты.
Проверка сайта на вирусы
Для проверки сайты на вирусы сначала рекомендуем проверить, есть ли какая-либо информация об этом в панелях Яндекс.Вебмастер (в разделах «Диагностика», «Безопасность и нарушения») и Google Search Console (в разделе «Проблемы безопасности»). Если информация есть, ждите снижения трафика и падение позиций.
Также у поисковых систем есть безопасные просмотрщики, которые покажут вам статус сайта, т.е. обнаружен ли поисковой системой на сайте небезопасный контент. Для Яндекса инструмент называется Яндекс «Проверка статуса сайта», для Google – «Безопасный просмотр: статус сайта».
Для обнаружения вирусов воспользуйтесь инструментами для онлайн-сканирования, например: Dr.Web, Sucuri Sitecheck, Kaspersky и другими.
Еще способ проверить сайт на вирусы – скачать все его файлы и запустить проверку через антивирус для ПК.
Если сайт оказался заражён, то следуйте следующим рекомендациям:
- Смените все возможные доступы к сайту (хостинг, FTP, база данных, админ-панель).
- Попробуйте восстановить сайт из резервной копии.
- Проверьте антивирусом все файлы.
- Обновите все используемые ПО, при обновлениях разработчики программ пишут об исправленных уязвимостях.
- Проверьте всех пользователей, у которых есть доступ к сайту, и удалите подозрительных.
- После удаления подозрительных файлов еще раз проверьте все с помощью антивируса.
Безопасность сайта важна для обеспечения бесперебойной работы вашего сайта, для поддержания достигнутых позиций и трафика в поисковых системах. Поэтому подход по защите сайта от различного рода вирусов и атак должен быть комплексным и ответственным. Не стоит пренебрегать базовыми правилами защиты ресурса.
Автор: Мария Саловарова