В связи с последними событиями в рунете, решил создать такую тему !
В данной теме не будет каких-то сложных технических выкладок, в данной теме хочу-лишь рассказать своё понимание как можно защитится от ддос, понятно что всё зависит от умений, ресурсов и желания атакующих !
Итак, вас ддосят или вы обеспокоенны потенциальным ддосом, что нужно предпринять:
1)Позаботится о тарифе, т.е. если это шаред хостинг и без предоставления защиты от ддос, то меняйте его, при ддосе он упадёт;
2)Никакий лимитированных тарифов, по причине что при массированной атаки, у вас просто сожрётся траффик и сервер заблокируют, да и есть атаки которые специально выкачивают терабайты с сервера ! :(
Немного рассмотрим виды ддос атак, как я понимаю, опять-таки какие-то технические выкладки оставим, я разделяю ддос на два типа:
1. Медленный ддос - Направленные на создание нагрузки на сервер, если по простому, то на определённую часть сайта (Например главная страница, поиск и т.д.), посылается куча POST/GET запросов и в этоге сервер перестаёт работать, особенно если сервер плохо настроен, он упадёт и с концами... :(
Как защитится:
1.1. Сделать тюнинг потенциально атакуемых сервисов, особенно таких-как апач, mysql, nginx и т.д.
1.2.На что следует обратить особо внимание:
-Нужно посмотреть сколько отожрёт памяти система при пиковой нагрузке, пример mysql не должен отжирать всю память при пиковой нагрузки, тюнинговать его можно при помощи mysqltuner, также обратите внимание на таймаунты (Обычно нужно уменьшить) и максимальное число коннектов...
- С апачем тоже самое, уменьшить таймаунты и максимальное число коннектов...
- Далее можно использовать программы которые по определённым алгоритмам блокируют айпи адреса, пример DdosDeflare, т.е. смысл при определенном числе коннектов за x секунд, айпишник попадает в бан на определённое время...
-Можно также ограничить вообще максимальное число коннектов с апишника.
2.Теперь рассмотрим второй вид ддос атак, это атаки на забивания канала, т.е. например у вас порт 100 Мбит/с, а хакер начнёт посылать запросы со скоростью 1 Гбит/с, то понятно что просто канал будет забит и сервер будет недоступен и к сожалению тут бесполезно закрывать порты, что-то там банить и т.д.
Вот скрин атаки на мой сервер:
Как видите канал полностью забит... :(
Как защитится:
2.1.Расширение полосы канала сервера;
2.2. Использовать облачные сервисы и специальные сервисы для защиты от ддос, такие-как CloudFlare, DDOSGuard и т.д.:
Смысл их в том-что перед вашим сервером, ставится как-бы куча распределённых серверов, там стоят различные фильтры, которые по определённым признакам фильтруют запросы.
Но возникает проблема:
А проблема, такая-что ОЧЕНЬ важно в такой ситуации скрыть реальный айпишник сервера, если хакер его обнаружит, то сможет посылать запросы напрямую по айпишнику, также рекомендую закрыть сервер от сторонних запросов к серверу, кроме сервиса защищающего от ддос...
Но к сожалению в случае обнаружение хакером айпишника вашего сервера, проблему забивания канала это не решит ! :(
Как-же хакер может обнаружить реальный апишник сервера:
-При неправильно настроенном днс, можно нехитрыми запросами вычислить реальный апишник сервера, пример:
Не работаем, пробуем нмап:
Опять не работаем, сайт жертвы позволяет отправлять почту ?
Если, да регимся там и смотрим заголовок письма и видим там:
Пример в маил ру:
Видим айпишник:
Как защитится:
-Я рекомендую удалить все записи кроме А-записей, если нужна почта для домена, то настроить через сторонние сервисы например через яндекс и не хранить почту на атакуемых серверах;
-Если атакуемый сайт должен пересылать почту, например как здесь при регистрации и подписке на новости, необходимо сделать следующие:
1. Использовать SMTP Ремейлер (англ. remailer) — это сервер, получающий сообщение
электронной почты и переправляющий его по адресу, указанному отправителем. В процессе переадресации вся информация об отправителе уничтожается и тогда айпишник вашего сервера не будет отображаться.
2.Если есть возможность, то поднять свой SMTP сервер на отдельном сервере и чистить загаловки письма...
Я-же использую пока этот сервис для отправки, немного глючный но работает:
[HIDE=5]https://sendpulse.com/ru/[/HIDE]
Если я что-то упустил в этой теме, жду дополнений ! ;)
В данной теме не будет каких-то сложных технических выкладок, в данной теме хочу-лишь рассказать своё понимание как можно защитится от ддос, понятно что всё зависит от умений, ресурсов и желания атакующих !
Итак, вас ддосят или вы обеспокоенны потенциальным ддосом, что нужно предпринять:
1)Позаботится о тарифе, т.е. если это шаред хостинг и без предоставления защиты от ддос, то меняйте его, при ддосе он упадёт;
2)Никакий лимитированных тарифов, по причине что при массированной атаки, у вас просто сожрётся траффик и сервер заблокируют, да и есть атаки которые специально выкачивают терабайты с сервера ! :(
Немного рассмотрим виды ддос атак, как я понимаю, опять-таки какие-то технические выкладки оставим, я разделяю ддос на два типа:
1. Медленный ддос - Направленные на создание нагрузки на сервер, если по простому, то на определённую часть сайта (Например главная страница, поиск и т.д.), посылается куча POST/GET запросов и в этоге сервер перестаёт работать, особенно если сервер плохо настроен, он упадёт и с концами... :(
Как защитится:
1.1. Сделать тюнинг потенциально атакуемых сервисов, особенно таких-как апач, mysql, nginx и т.д.
1.2.На что следует обратить особо внимание:
-Нужно посмотреть сколько отожрёт памяти система при пиковой нагрузке, пример mysql не должен отжирать всю память при пиковой нагрузки, тюнинговать его можно при помощи mysqltuner, также обратите внимание на таймаунты (Обычно нужно уменьшить) и максимальное число коннектов...
- С апачем тоже самое, уменьшить таймаунты и максимальное число коннектов...
- Далее можно использовать программы которые по определённым алгоритмам блокируют айпи адреса, пример DdosDeflare, т.е. смысл при определенном числе коннектов за x секунд, айпишник попадает в бан на определённое время...
-Можно также ограничить вообще максимальное число коннектов с апишника.
2.Теперь рассмотрим второй вид ддос атак, это атаки на забивания канала, т.е. например у вас порт 100 Мбит/с, а хакер начнёт посылать запросы со скоростью 1 Гбит/с, то понятно что просто канал будет забит и сервер будет недоступен и к сожалению тут бесполезно закрывать порты, что-то там банить и т.д.
Вот скрин атаки на мой сервер:
Как видите канал полностью забит... :(
Как защитится:
2.1.Расширение полосы канала сервера;
2.2. Использовать облачные сервисы и специальные сервисы для защиты от ддос, такие-как CloudFlare, DDOSGuard и т.д.:
Смысл их в том-что перед вашим сервером, ставится как-бы куча распределённых серверов, там стоят различные фильтры, которые по определённым признакам фильтруют запросы.
Но возникает проблема:
А проблема, такая-что ОЧЕНЬ важно в такой ситуации скрыть реальный айпишник сервера, если хакер его обнаружит, то сможет посылать запросы напрямую по айпишнику, также рекомендую закрыть сервер от сторонних запросов к серверу, кроме сервиса защищающего от ддос...
Но к сожалению в случае обнаружение хакером айпишника вашего сервера, проблему забивания канала это не решит ! :(
Как-же хакер может обнаружить реальный апишник сервера:
-При неправильно настроенном днс, можно нехитрыми запросами вычислить реальный апишник сервера, пример:
Код:
ping ftp.domain.com
ping cpanel.domain.com
ping mail.domain.com
Не работаем, пробуем нмап:
Код:
nmap -sV -sS -F <target>
nmap --script dns-brute -sn <target>
Опять не работаем, сайт жертвы позволяет отправлять почту ?
Если, да регимся там и смотрим заголовок письма и видим там:
Пример в маил ру:
Видим айпишник:
Как защитится:
-Я рекомендую удалить все записи кроме А-записей, если нужна почта для домена, то настроить через сторонние сервисы например через яндекс и не хранить почту на атакуемых серверах;
-Если атакуемый сайт должен пересылать почту, например как здесь при регистрации и подписке на новости, необходимо сделать следующие:
1. Использовать SMTP Ремейлер (англ. remailer) — это сервер, получающий сообщение
электронной почты и переправляющий его по адресу, указанному отправителем. В процессе переадресации вся информация об отправителе уничтожается и тогда айпишник вашего сервера не будет отображаться.
2.Если есть возможность, то поднять свой SMTP сервер на отдельном сервере и чистить загаловки письма...
Я-же использую пока этот сервис для отправки, немного глючный но работает:
[HIDE=5]https://sendpulse.com/ru/[/HIDE]
Если я что-то упустил в этой теме, жду дополнений ! ;)