Как защитить свой сайт от взлома? Топ-10 распространенных вариантов взлома

Все мы понимаем, что конфиденциальность и безопасность важны для сайта любого размера. Однако чаще всего от взломов страдает именно малый бизнес. По данным Ponemon Institute, 60% компаний, столкнувшихся с любым инцидентом в кибербезопасности, прекращают свою деятельность в течение 6 месяцев.

Почему это происходит? Во-первых, при взломе сайты внезапно теряют средства, трафик и клиентов. Во-вторых, санкции поисковых систем: во время взлома клиенты могут видеть уведомления о том, что на сайте есть угроза фишинга или вируса. Такие сообщения могут моментально уничтожить 80% трафика.

Поскольку число кибератак растет, а хакеры становятся еще более коварными, прямо сейчас как никогда важно убедиться, что на вашем сайте приняты все меры безопасности. Рассмотрим самые популярные варианты взлома и как их можно предупредить.

Самые популярные способы взлома

DDoS-атаки

DDoS (Distributed Denial-of-Service) – хакерская техника, направленная на вывод из строя веб-сайта, вследствие чего пользователь не может получить к нему доступ. Обычно это происходит за счет перегрузки сервера множеством запросов.

Как идентифицировать DDoS-атаку? В этом случае просто нужно научиться отличать ее от стандартной операционной проблемы. Вот что должно вызвать беспокойство:

  • Один или несколько IP-адресов делают слишком много последовательных запросов в течение короткого периода времени.
  • Всплеск трафика создан пользователями со схожими поведенческими характеристиками. К примеру, если много трафика поступает от пользователей с одинаковыми устройствами, географическим расположением или браузером.
  • Сервер отвечает ошибкой 503 HTTP – она означает, что сервер либо перегружен, либо находится на техническом обслуживании.
  • Журналы показывают сильный и постоянный всплеск пропускной способности. Для нормально функционирующего сервера пропускная способность должна оставаться равномерной.
  • Журналы показывают всплески трафика в необычное время или прыжки трафика на одной и той же веб-странице.

Помочь справиться с DDoS может качественный хостинг, который 24/7 промониторит угрозы и предоставит защиту от этого типа атак в своих тарифных планах, к примеру Hostpro.

SQL-инъекция

SQL-инъекция – довольно распространенный вид несанкционированного доступа к базе данных сайта, который происходит путем вставки в данные произвольного SQL-кода. Если сайт уязвим, то, по сути, с базой данных (чаще это все-таки MySQL) можно будет творить всё что угодно.

Как защититься от SQL-инъекций? Вся защита от SQL-инъекций сводится к проверке чисел, строк и кавычек.

  • Числа

Чтобы проверить переменную на числовое значение, нужно использовать функцию is_numeric(n);, которая выдаст true, если параметр n – это число, или false – в случае, если параметр не является числом.

  • Строки

Если в строках есть лишние кавычки, апострофы и другие специальные символы, следует провести экранизацию. Как проходит этот процесс? Для обезвреживания лишних символов используется функция addslashes($str);, которая возвращает строку $str с уже добавленным обратным слешем (\) перед каждым таким символом.

  • Магические кавычки

Магическими кавычками называют эффект, когда кавычки автоматически заменяются на обратный слеш (\) и кавычки во время операций ввода-вывода. В некоторых конфигурациях PHP этот параметр сразу включен, в некоторых нет. Чтобы заэкранизировать данные адекватно через mysql_real_escape_string($str), без двойной экранизации, нужно ликвидировать автоматически проставленные обратные слеши (если включены магические кавычки). Проверить, включены ли они, можно через функцию get_magic_quotes_gpc();. Вернется 1, если магические кавычки включены, или 0 – если выключены.

Чаще всего магические кавычки все же включены (обратные слэши добавляются), но их можно убрать через функцию stripslashes($str);. Строка $str должна вернуться без обратных слешей у кавычек и прямых апострофов.

Межсайтовый скриптинг (XSS)

Межсайтовый скриптинг – вид хакерской атаки, при котором из-за уязвимости сайта на него запускается вредоносный JavaScript-код. У пользователей он будет отображаться как часть сайта. Целью может быть кража cookies с последующим выбором данных и использованием их с целью атаки или взлома, кража данных из форм на сайте с последующей передачей их злоумышленнику или для уже известной нам DDoS-атаки.

Как бороться с XSS?

✔️ Использовать коммерческий SSL-сертификат, обеспечивающий шифрование пользовательских данных.

✔️ Можно использовать валидацию или проверку ввода. Нужно будет внести в список все безопасные протоколы и запретить отсутствующие в нем. Даже если появятся новые вредоносные протоколы, сайт все равно будет защищен.

✔️ Безопасную обработку данных следует обеспечить не только со стороны веб-сервера, но и со стороны клиента.

✔️ Обязательно используйте Content-Security-Policy, а также инструменты динамического и статического анализа (ESLint).

Brute force-атаки

Brute force-атаки (так называемые атаки грубой силы) – один из самых популярных методов взлома, по некоторым данным 5% всех подтвержденных случаев нарушения безопасности приходится именно на брутфорс. Суть состоит в «угадывании» логинов и паролей с целью получения доступа к системе.

Некоторые злоумышленники используют специальные приложения и скрипты в качестве переборных инструментов. Эти инструменты выбирают многочисленные комбинации паролей, чтобы обойти процессы аутентификации.

Как защитить свои пароли от брутфорса?

✔️ Никогда не использовать информацию, которую можно найти в сети, например, имена членов семьи.

✔️ Чем больше знаков различного типа (буквы верхнего и нижнего регистра, числа, специальные знаки), тем лучше.

✔️ Для каждого аккаунта лучше использовать свой пароль.

✔️ Не юзайте шаблонные пароли, например «admin», «12345» и т. п.

Что вы можете сделать в качестве администратора сайта:

  • Заблокировать аккаунты после нескольких неудачных попыток входа, а затем разблокировать их от имени администратора;
  • Блокировать учетные записи на время после неудачных попыток входа, а затем разблокировать их от имени администратора;
  • Использовать сaptcha-инструменты, требующие от пользователей выполнения простых задач для входа в систему (это привычное для всех «выберите все изображения со светофором».
  • Требовать надежные пароли от пользователей, а также обеспечить их периодическое изменение.
  • Двухфакторная аутентификация – вы можете использовать несколько факторов для подтверждения личности и предоставления доступа к аккаунтам.

Метод подбора паролей «по словарю»

Этот метод по сути является разновидностью брутфорс-атаки. Главное отличие состоит в том, что когда злоумышленник не знает, каким может быть пароль, то подбирает все возможные: 1-символьные, 2-символьные и т. д. А вот когда известно, что пароль – существующее слово, происходит перебор всех имеющихся в словаре слов, пока не произойдет совпадение. В словаре обычно содержится около 100 000 слов, так что проверка, как правило, занимает всего несколько секунд.

Предупредить атаку «по словарю» можно сильным паролем. Что должен включать в себя сильный пароль и чего в нем быть не должно, подробно описываем ниже.

Атака «по слогам»

Этот метод хакерской атаки сочетает в себе два предыдущих: brute force и метод подбора паролей «по словарю». Используется атака «по слогам» тогда, когда злоумышленник знает о том, что пароль – определенное несуществующее слово. И подбирает все возможные варианты и их комбинации по слогам до момента первого совпадения.

Лучшее решение в таком случае – иметь сильный пароль, содержащий не только буквы, но еще и цифры и специальные знаки. А также не помешает периодическое изменение паролей на каждом из аккаунтов.

Атака «по правилу»

Этим способом взлома злоумышленник может воспользоваться только тогда, когда ему известно о пароле немного больше, например, что он содержит слово и трехзначное число. Тогда создается правило, согласно которому приложение генерирует только соответствующие пароли: слова берутся из словаря и к каждому из них подбирается комбинация из трех цифр.

Или, например, злоумышленник знает, что первая буква согласная, вторая в верхнем регистре, а весь пароль не длиннее 5 символов. Подобный набор данных уже сокращает количество возможных паролей как минимум в 20, а то и в 30 раз. Атака «по правилу» включает в себя все три указанных выше метода: brute force, «по словарю» и «по слогам».

И в этом случае лучшей защитой служит правильно подобранный пароль. Детальнее о таком рассказываем во второй части нашей статьи.

Метод замены одного байта

Этот метод ориентируется на уязвимости самого алгоритма. Суть метода в том, что код программы модифицируется таким образом, что какой бы пароль вы не вводили, программа будет считать его правильным.

Решение в этом случае больше зависит от вашего разработчика: необходимо усилить алгоритмы и проверить, правильно ли используются сильные. В противном случае могут быть использованы и другие методы подбора паролей.

Фишинг

Фишинг – тип атаки социальной инженерии, используемый для кражи данных, включая учетные записи входа в систему и номера кредитных карт.

  • Email-фишинг

Злоумышленник обычно маскируется под доверенное лицо/сайт, поэтому вы можете открыть электронное письмо или текстовое сообщение, перейти по ссылке на сайте и все – следствием может быть установка на ваше устройство вредоносного ПО, заморозка системы или утечка конфиденциальной информации.

  • Целевой фишинг

Целевой фишинг (spear phishing) – особый вид фишинга, направленный на конкретное лицо или компанию. Совершить подобную атаку гораздо труднее обычного email-фишинга, поскольку он требует особых знаний об этой компании или физическом лице. Например, выдавая себя за маркетолога, злоумышленник может отправить электронное письмо с темой «Обновленный счет за услуги компании Х». При этом может дублироваться стандартный шаблон электронного письма организации.

Как отличить фишинг? Обычно злоумышленники пытаются побуждать пользователей к действию, создавая чувство срочности. Например, электронное письмо может угрожать истечением срока действия учетной записи и содержать в себе таймер.

Еще один признак фишинга – ссылки в сообщениях: они обычно похожи на свои законные аналоги, но имеют ошибки в написании доменного имени или поддомена.

Уязвимости в ядре вашей CMS

Если злоумышленник знает версию вашего программного обеспечения, он сможет с легкостью найти уязвимости в нем, а также эксплойты (вредоносные коды для распространения угроз из-за уязвимости) к ним.

Чтобы атаки по причине уязвимости в ядре вашей системы управления контентом (CMS) не произошло, убедитесь, что ваша установка CMS обновлена ​​до последней версии. Если у вас сайт на движке, наиболее надежным решением будет хостинг с автообновлением – так у вас всегда будет свежая версия вашей CMS.

Как предусмотреть факты взлома и защитить свой сайт?

1. Используйте SSL-сертификат

Благодаря HTTPS-соединению, которое обеспечивает SSL-сертификат, все данные, передаваемые через ваш сервер, шифруются и не могут быть перехвачены хакерами. SSL-сертификат является стандартом безопасности, особенно для e-commerce-сайтов, на которых происходят транзакции. К тому же сам Google настоятельно рекомендует сайтам использовать шифрование HTTPS и выше ранжирует такие ресурсы в поисковой выдаче. Если вы еще не перешли на HTTPS, пора сделать это. SSL от самых известных центров сертификации с бесплатным подключением и поддержкой предоставляет хостинг-провайдер Hostpro.

2. Выберите безопасный хостинг

Качественный хостинг-провайдер всегда предоставит надлежащий уровень безопасности сайтам своих клиентов. Как минимум это резервное копирование, благодаря которому можно восстановить все данные сайта, если вдруг что-нибудь пойдет не так. Как максимум – защита от DDoS и антивирус в тарифе. Hostpro, к примеру, каждую ночь делает резервные копии сайтов своих клиентов на серверах в украинских и зарубежных (Франция, Нидерланды) дата-центрах. К тому же с тарифами хостинга предоставляется антивирус ImunifyAV+ и защита от DDoS-атак.

3. Усильте контроль доступа и защитите пароли

Используйте двухфакторную аутентификацию при входе в админку сайта, аккаунты социальных сетей, электронной почты, облачных сервисов и других ресурсов. Вам придется каждый раз при входе в аккаунт вводить дополнительно код из sms-сообщения, приложения, сканировать отпечаток пальца или сетчатку глаза, однако оно того стоит.

Вам нужен сильный пароль для админки сайта, ведь она – по сути, самый легкий способ для хакеров получить доступ ко всем важным данным – и вашим, и клиентским. Идеальный пароль:

✔️ Состоит из не менее 12 цифр, специальных символов и букв верхнего и нижнего регистров.

✔️ Не содержит личную информацию, например имя/день рождения, которую можно узнать из сети.

✔️ Каждый аккаунт имеет свой пароль.

✔️ Периодически меняйте пароли. Для финансовых онлайн-счетов это нужно делать дважды в месяц. Пароли для входа лучше менять хотя бы раз в квартал. Если использовать один и тот же пароль в течение более длительного времени, то риск утечки данных в разы увеличивается.

4. Всегда обновляйте программное обеспечение

Регулярно обновляйте антивирусное и другое сопутствующее программное обеспечение вашего сайта. Если этого не делать, любой человек, включая хакеров, может получить несанкционированный доступ к конфиденциальным данным из-за уязвимостей в безопасности, которые могли бы быть устранены при обновлении до последней версии программного обеспечения.

Кроме того, убедитесь, что ваши операционные системы обновлены и поддерживаются производителем. Использование устаревшей или неподдерживаемой ОС сделает ваш сайт уязвимым к вредоносным программам, утечке данных и, наконец, к потере функциональности.

5. Обеспечьте резервное копирование своего сайта

Резервное копирование данных имеет решающее значение для обеспечения непрерывности вашего бизнеса. Бекапы позволят вам быстро восстановиться после кибератаки или других нежелательных инцидентов, таких как поломка оборудования, например.

Самый простой способ обеспечить периодическое резервное копирование – выбрать хостинг-провайдера, который ежедневно делает бекапы данных своих клиентов. Так вы всегда будете знать, что данные вашего сайта в безопасности.

6. Скрывайте директории администраторов

Хакеры могут получить доступ к данным вашего сайта, зайдя прямо в каталоги администраторов. Они используют скрипты, которые сканируют все каталоги на вашем веб-сервере в поисках названий директорий, таких как «admin», «login» и «administrator». Большинство систем управления контентом (CMS) позволяют переименовывать папки, поэтому выбирайте названия директорий администратора, которые известны только вашему веб-мастеру, чтобы избежать возможности утечки данных.

Вы также можете защитить директории администраторов от индексации поисковиками, используя файл robots.txt.

На этом собственно и все. Берегите себя, а заодно и свои сайты.

© Материалы предоставлены: hostpro.ua

Понравилась публикация – подписывайтесь

Получайте еще больше полезной информации об онлайн-платежах и бизнесе