Назад | Перейти на главную страницу

Почему я получаю так много незапрошенных пакетов GRE?

На моем (linux) сервере есть несколько довольно простых правил iptables.

iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport https -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j NFLOG
iptables -A INPUT -j DROP

ICMP не фильтруется, но никакие другие лишние соединения не допускаются. Правило NFLOG просто сохраняет пакеты в файле захвата пакетов (pcap). Поскольку системный журнал рассылал спам, я изучил детали пакетов.

tshark -V -a filesize:1 -r /scooby/doo.pcap (IP-адреса и порты [replaced])

Frame 1: 52 bytes on wire (416 bits), 52 bytes captured (416 bits)
    Encapsulation type: Raw IP (7)
    [Protocols in frame: raw:ip:gre:ip:udp:data]
Internet Protocol Version 4, Src: [incoming IP] ([incoming IP]), Dst: [my server IP] ([my server IP])
    Version: 4
    Header length: 20 bytes
    Total Length: 52
    Identification: 0x0000 (0)
    Flags: 0x02 (Don't Fragment)
    Time to live: 52
    Protocol: GRE (47)
Generic Routing Encapsulation (IP)
    Flags and Version: 0x0000
    Protocol Type: IP (0x0800)
Internet Protocol Version 4, Src: [not my IP1] ([not my IP1]), Dst: [not my IP2] ([not my IP2])
    Version: 4
    Header length: 20 bytes
    Total Length: 28
    Time to live: 64
    Protocol: UDP (17)
User Datagram Protocol, Src Port: [random port1] ([random port1]), Dst Port: [random port2] ([random port2])
    Length: 8

Незапрошенные пакеты - это в основном пакеты ip: gre: ip: udp. Объем GRE-пакетов - обычно несколько в минуту - значительно превышает объем других незапрошенных пакетов (сканеры уязвимостей / спамеры / сканеры портов). Ни один из IP-адресов внутри инкапсуляции GRE не имеет для меня особого значения, только различные обычные IP-адреса, принадлежащие (исключительно) компаниям из США (то есть не полностью случайным адресам).

Зачем кому-то отправлять эти пакеты GRE?

Существуют ли известные DoS-уязвимости, связанные с пакетами GRE? Это попытка обмануть маршрутизаторы / серверы с неправильной конфигурацией и заставить их пересылать инкапсулированные пакеты в их очевидное место назначения? Пытается ли отправитель собрать информацию о природе потенциальных туннелей GRE, которые я могу настроить?

Бонус: действительно ли самая разумная реакция - их использование "-j DROP"?

По словам Рика Ваннера (ISC), такой трафик, скорее всего, был связан с ботнетом Mirai. Он прокомментировал это Вот & Вот (спасибо, @Aaron) Как подозревал @Michal Hampton, адреса, содержащиеся в полезной нагрузке, являются подсказкой: они, похоже, соответствуют генератор псевдослучайных чисел содержится в Mirai - хотя мне не удалось это подтвердить.

Брейн Кребс говорит его веб-сайт был заблокирован, по крайней мере, до некоторой степени из-за спама GRE. Причина отправки GRE (ip / 47) в отличие от более традиционных методов DDoS не очевидна. Размышления о том, почему GRE используется в DDoS:

  1. ошибки в маршрутизаторах GRE, которыми можно злоупотреблять, чтобы отражать трафик или отображать иным образом недоступную топологию сети
  2. брандмауэры с отслеживанием состояния, которые включают разумные значения по умолчанию для icmp / tcp / udp, но блокируют / плохо работают на полных каналах необычных протоколов.
  3. плохая конфигурация QoS в маршрутизаторах, эффективно приоритезация трафика DDoS