О уязвимостях UDP Amlification

Суть атак UPD Amplification состоит в том, что злоумышленник посылает короткий UDP-пакет уязвимому серверу, который отвечает на запрос уже значительно большим по размеру пакетом.
При этом, злоумышленник в качестве исходного IP-адреса при отправке запроса подставляет адрес компьютера жертвы (ip spoofing), и уязвимый сервер будет посылать в большом количестве ненужные пакеты компьютеру-жертве, пока полностью не парализует его работу.
Таким образом на сегодняшний день совершается около 80% DDoS-атак в мире.

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

На сегодняшний день известны следующие типы UDP Amplification атак:

1. DNS Amplification


Наиболее старая и наиболее опасная уязвимость. Использует порт 53/udp. Позволяет усилить атаку в 50 раз (т.е. злоумышленник отправляет вам на сервер 100 килобит в секунду udp-пакетов, в ответ ваш сервер отправляет на жертву 5 мегабит в секунду трафика)

Решение проблемы - выключить на вашем DNS-сервере рекурсивные ответы (т.е. запретить ему отвечать на запросы, касающиеся зон, которые он не обслуживает)

Проверить уязвим ли ваш сервер можно с помощью следующих команд:
Для linux/bsd: dig @1.2.3.4 +edns=0 +ignore com ANY
Для windows: nslookup datahata.by 1.2.3.4
(Где 1.2.3.4 - это IP вашего сервера)

Если ваш сервер ответит на этот запрос и сообщит IP сайта datahata.by, значит ваш сервер уязвим.

Отдельно хотелось бы отметить, что по умолчанию в RouterOS (Mikrotik), при включенном ip dns, он является рекурсивным. Необходимо настроить правила фаервола, ограничив доступ к порту 53/udp

2. NTP Amplification

Этот тип атаки использует протокол времени NTP, порт 123/udp.

Проверить, уязвим ли ваш сервер вы можете с помощью *nix команды: ntpdc -nc monlist 1.2.3.4
(1.2.3.4 - IP-адрес вашего сервера)
Подробности: https://habrahabr.ru/post/209438/

3. SNMP Amplification

Эта уязвимость возникает в следствии того, что в SNMP-сервере указано community по умолчанию (например public или private).
Для исправления уязвимости измените значение community на нестандартное. Желательно так же ограничить список IP, которым доступен сервис SNMP, с помощью фаервола.

4. NETBIOS Amplification

Данный тип уязвимости возникает из-за специфики работы протокола общего доступа к файлам Microsoft.

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

Linux-сервера с установленным ПО samba так же уязвимы. Если ПО samba запущено, но не используется вами - рекомендуем его выключить/удалить с сервера. Иначе, ограничьте доступ к сервису с помощью фаервола.

Проверить доступность NETBIOS-сервисов можно с помощью *nix-команды nmblookup -A 1.2.3.4 (где 1.2.3.4 - IP вашего сервера). Пользователи windows могут проверить доступность этих служб, открыв в проводнике адрес вида \\1.2.3.4

5. PORTMAP Amplification

Уязвимость возникает из-за особенностей протокола ONC RPC, используемого в частности, для работы NFS-демона. Если на вашем сервере не используется сетевая файловая система NFS, то вы можете остановить или удалить данный сервис. Если же вы используете NFS - ограничьте доступ к порту 111/udp на вашем сервере.
Узнать, какой именно сервис у вас работает в качестве PORTMAP, вы можете с помощью комадны netstat -lpnu | grep 111
Проверить удаленный сервер на наличие уязвимости вы можете с помощью команды rpcinfo -T udp 1.2.3.4 (где 1.2.3.4 - это IP вашего сервера)

6. MEMCACHED Amplification

Уязвимость в популярном ПО для веб-разработки memcached. Описание проблемы по ссылке.