Peiko logo
Проекты
Блог
О нас

Как защитить сайт от взлома: полезные советы

04.02.2020
2572 просмотров
Как защитить сайт от взлома: полезные советы
Атаки на незащищенные веб-сайты могут осуществляться с целью рассылки спама, распространения вредоносного программного обеспечения, воровства трафика, использования в качестве инструмента для создания на сервере инфраструктуры, поддерживающей программы-вымогатели и средства банковского мошенничества.

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

Хакер может взломать в автоматизированном режиме любой веб-ресурс, который открывается в браузере и индексируется поисковыми системами Google, Яндекс, Bingo и пр., используя, например, базу поисковых запросов Google Hacking Database, данные которой находятся в открытом доступе.

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

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

DDos

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

Как защититься:

1

Воспользоваться редиректом javascript (пользователи, у которых не отключен javascript в браузере, перенаправляются на index.php.), например:

<script type="text/javascript"> window.location = "n.ru/index.php" </script>

2

Написать скрипт или использовать бесплатный DDoS Deflate, который будет считать количество подключений с определенного IP адреса, определять и блокировать бота с помощью межсетевого экрана iptables или использовать команду «netstat».

3

Изменить настройки параметров Apache, изменив значение или полностью выключив директивы KeepAliveTimeout, TimeOut, LimitRequestBody, LimitRequestFieldSize, LimitRequestFields, LimitRequestLine, LimitXMLRequestBody.

4

Использовать обратное проксирование и безопасный доступ к ресурсам и серверы DNS (инструмент предоставляет Cloudflare), защищенный хостинг и IP-транзит по виртуальному туннелю.

SQL инъекция

SQL инъекция подразумевает под собой внедрение произвольного кода в базу данных, который может быть вредоносным и влиять на корректность выдачи данных.

Как защититься:

1

Проверить числа, строки, даты, данные в специальных форматах на предмет переменных, кавычек, апострофов и других нежелательных символов.

2

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

3

Разделить базу данных на несколько частей для хранения информации разной степени важности.

4

Использовать специальные брандмауэры веб-приложений, например, ModSecurity или IronBe, для защиты SQL от инъекций.

Шелл (Shell)

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

Как защититься:

1

Регулярно менять пароль в административной панели сайта.

2

При работе с сайтом в общественных местах использовать безопасное VPN подключение.

XSS атака

XSS атака (постоянная и непостоянная) подразумевает кражу cookies пользователей при помощи встроенного на сервере скрипта с дальнейшим выбором необходимых данных и использованием их для последующих атак и взломов.

Атакующий внедряет вредоносный код JavaScript на определенную страницу сайта для взаимодействия этого кода с удаленным сервером злоумышленников при открытии страницы пользователем. Такая атака вредит не только сайту, но и его пользователям, которые могут и не догадываться, что вредоносные скрипты могут быть встроены как в текст, так и в фотографии и картинки.

Как защититься:

1

Проверить сайт на наличие уязвимостей XSS с помощью сервиса xss-scanner, а также все URL, где возможна отправка данных со стороны пользователя (комментарии, отзывы, поиск).

2

Внедрить дополнительные меры валидации пользователей.

3

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

Взлом через FTP и SSH

Взлом сайта и последующие внедрение вредоносных скриптов и файлов можно произвести посредством подбора с помощью утилиты пароля от клиентского FTP и перехвата SSH трафика.

Как защититься:

1

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

2

Смените пароль от хостинга, ftp и административной панели сайта. Пароли должны быть сложными и длинными (не менее 8 символов), содержать заглавные, маленькие буквы и цифры.

3

Иметь резервную копию сайта для восстановления.

Взлом phpmyAdmin

Взлом административной панели phpmyAdmin посредством подбора пароля с помощью утилит осуществляется для доступа к базам данных и внедрения туда вредоносного кода.

Как защититься:

Установить последнюю версию phpmyadmin. Переустановить его в другую папку.

Удалить файл /scripts/setup.php, который требуется только для первоначальной установки phpmyadmin.

Массовый взлом сайтов, находящихся на одном хостинге

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

Как защититься от массового взлома сайтов на одном хостинге:

1

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

2

Проводить постоянную проверку сайтов на предмет заражения с помощью сканеров, например, ReScan.Pro и AI-BOLIT (проверка файлов на хостинге), ClamAv, LMD.

Взлом сайтов на CMS

Взлом сайтов на CMS может происходить посредством подбора пароля и логина к административной панели управления или поиска уязвимостей в скриптах и плагинах системы.

Как защититься:

1

Регулярно обновлять версии CMS, модули и плагины.

2

Менять пароли (вводить сложные, многосимвольные и длинные варианты) и правильно распределять роли между подрядчиками и пользователями системы.

3

Установить плагины для мониторинга безопасности сайта и контроля изменений.

CSRF

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

Как защитить:

Под действия, которые совершает посетитель, создать специальное значение или секретный ключ (secret), который генерируется случайным образом и сохраняется в сессии посетителя. На основе ключа сгенерировать токен (инструмент для обеспечения информационной безопасности посетителя) (token) и дополнительное случайное значение «соль» (salt) под него, записать токен в cookies. При отправке формы запроса сервер проверяет поле csrf, удостоверяется в правильности токена, и лишь после этого отсылает сообщение. Токен добавляется как URL-параметр или дополнительное поле

Как избежать взломов и хакерских атак: итог

Если сайт заражен, важно обнаружить (с помощью программ: AI-BOLIT, Maldet и ClamAv) и удалить в каталогах сайта, коде и файлах .php. все вредоносные и хакерские скрипты, паттерны и файлы. Если останется хотя бы один бэкдор (принимает команды в виде зашифрованного сериализованного массива .php.), веб-шелл (позволяет хакеру проводить манипуляции на хостинге) или дорвей (генерирует тысячи страниц из удаленного сервера, которые, попадая в поисковый индекс, пагубно влияют на поисковую выдачу сайта), сайт взломают повторно.

Регулярно обновлять версии движка, модулей и плагинов.

Следить за появлением новых критических уязвимостей с помощью сканеров (ReScan.Pro, ClamAv, LMD и пр.) и оперативно устранять их.

Регулярно менять пароли (вводить сложные, длинные и многосимвольные варианты) от административной панели сайта, FTP, SSH и хостинга, а при работе с сайтом в общественных местах через WiFi использовать безопасное VPN подключение.

Проверять компьютеры и другие устройства, с которых выполняется администрирование сайта, антивирусными программами.

Регулярно делать резервные копии сайта и сохранять их на компьютере.

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

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

Использовать безопасное подключение к сайту - sftp вместо ftp.

Блог
Похожие статьи
Поделитесь своей идеей
Свяжитесь с нами, и мы позаботимся обо всем остальном
Peiko logo