Что такое DoS-атаки и как с этим бороться
Если объяснять по-простому, DoS-атаками называется неправомерная деятельность, которая приводит программное обеспечение в состояние при котором обслуживание пользователей и выполнение необходимых функций становится невозможным. В то время, когда ПО находиться в неработоспособном состоянии, очень легко потерять клиентов и попасть в убыток. DoS-атаки можно разделить на два типа и их подвиды. Для начала нужно сказать о локальных и удаленных атаках. Первый вид подразумевает под собой различные вредоносные программы, которые могут серьезно повредить программному обеспечению абсолютно разными способами, например зацикленный алгоритм, сжигающий память и резервы процессора. А следующий вид более объемный и подразделяется на подвиды. Первый – удаленное использование погрешностей в ПО, конечной целью чего является приведение програмного обеспечения в нефункциональное устройство. И второй – Flood – рассылка на адрес атакуемого очень большого количества не имеющих смысла (в очень редких ситуациях – имеющих) пакетов. На данный момент эффект приносит только первый тип атак. Это обусловлено тем, что в современном мире канал сервисов очень разветвленный, а уровень вычислительных мощностей достаточно серьезен. Хотя существуют и эффективные способы атак. Но на каждую атаку есть свое противодействие, к примеру, хостинг.
Большинство администраторов сталкиваются с проблемой нехватки ресурсов, поэтому многие DoS-атаки кажутся нормальным повседневным явлением. Однако есть разнообразные варианты распознавания и борьбы. В дальнейшем изложении мы раскроем тему того, как быть уверенным в том, что вы – хостинг, защищенный от DDoS.
Существуют различные вариант флуда: ICMP-флуд, SYN-флуд, UDP-флуд и HTTP-флуд (один из самых распространённых, признаком является неимоверно быстрое возрастание логов web-сервера).Чтобы с этим бороться, нужно тюнинговать web-сервер и базу данных. Следует увеличить количество подключений к базе данных в один и тот же момент времени. Следом требуется установить перед web-сервером Apache nginx – он отправляет запросы в кэши и отдает статику. Названные варианты решения проблемы позволят снизить эффект DoS-атак, при этом помогут серверу справлятся с неподъёмными ранее перенагрузками.
При отсутствии другого варианта, можно применить к действию nginx-модуль ngx_http_limit_req_module, который ограничивает количество одновременных коннэктов с одного и того же адреса. Скрипты, содержащие большие ресурсы, можно обезопасить от роботов с помощью барьеров, типа "Нажми меня", выставления кукисов, а также других способов, которые служат для распознавания, скажем так, человека. Для того, чтобы не оказаться в безисходном положении при нападения на системы, требуется очень скрупулёзно подготовить их. Обязательное условие, чтобы сервера, которые имеют непосредственный доступ к инсайт сети, были готовы к легкому и скоростному удаленному ребуту. Жирным плюсом станет присутствие второго, административного, сетевого профиля, за счет которого можно получить доступ к серверу, при условии, что главный канал забит. Программное обеспечение, которое используется на сервере, должно всегда быть в активном состоянии. Все дырки - пропатчены, обновления смонтированы (один из самых простых советов, игнорируемых многими). Это поможет обезопаситься от DoS-атак, использующих баги в сервисах. Все слушающие сокеты, направленные на административного пользования, должны быть скрыты межсетевым экраном ото всех, кому доступ к ним неразрешен. Тогда недоброжелатель не сможет проэксплуатировать их для проведения DoS-атаки или распознавания паролей. На самом близком маршрутизаторе обязательно должна быть установлена система, анализирующая трафик, дающая возможность вовремя узнать о начале атаки, а также своевременно предотвратить её.
В то время, когда преступления такого рода процветали, DoS-атаки были реальным бедствием. Web-сайт с легкостью ломали предпринимая атаку типа Smurf. Станции, на которых установлена операционная система Windows могли быть завалены от WinNuke, Ping of Death, Land. В наше время программное обеспечение намного более защищено от нападений.