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

Таинственная внутренняя маршрутизация

Я исследую некоторые аномалии, обнаруженные на сервере, которым управляю, после установки Snort IDS.

У меня есть ~ 10 производственных веб-серверов Ubuntu, которые настроены с помощью Ansible и регулярно подготавливаются. Один из них - очень странная маршрутизация запросов.

Допустим, публичный IP-адрес сервера 111.1.1.11.

Когда я смотрю логи в Snort, а также когда я отслеживаю сетевой трафик с помощью iftop Я вижу это:

Если я посмотрю iptables правила нет упоминаний об этом хосте 10.20.0.10, или что-нибудь необычное с маршрутизацией. netstat не показывает ничего необычного. Если я пингую 10.20.0.10 Я вижу, что там что-то есть. Я не вижу никаких неожиданных процессов, запущенных на сервере.

Я не могу понять, почему и как трафик с внешних адресов направляется на этот частный адрес. Я проверил другие 10 серверов (все они настроены точно так же через Ansible), и у них нет такого странного поведения маршрутизации. Весь их трафик разрешается на обычные порты на соответствующих общедоступных IP-адресах.

Любые идеи?

Обновить:

Похоже, что конфигурация сетевого интерфейса нестандартна на наших серверах, размещенных в Digital Ocean.

Стандартная конфигурация:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

DO config:

auto lo
iface lo inet loopback
    dns-nameservers 67.207.67.2 67.207.67.3 # This is custom Digital Ocean DNS

auto eth0
iface eth0 inet static
    address 111.1.1.11/20
    gateway 111.1.0.1

# control-alias eth0
iface eth0 inet static
    address 10.20.0.10/16

Так что это часть тайны раскрыта. Другие наши серверы, размещенные на DO, имеют аналогичную конфигурацию (очевидно, с другими IP-адресами).

Остается проблема в том, что другие наши серверы, размещенные на DO, не направлять любой входящий трафик на их адреса, указанные в "control-alias eth0", поэтому я все еще не понимаю, почему один сервер делает, а другие нет.

Оказывается, частный адрес - это то, что Digital Ocean называет «якорным IP», используемым внутри для маршрутизации трафика с плавающих IP-адресов.

Кто-то еще добавил плавающий IP-адрес к этой капле, и я не понял.

/ facepalm

Ну, по крайней мере, я узнал что-то новое, и, возможно, это когда-нибудь поможет какому-нибудь другому сбитому с толку syadmin.

Возможные решения:

  • Избавьтесь от плавающего IP
  • Адаптировать конфигурацию Snort (он выдавал много ложных срабатываний для этого трафика и заблокировал бы большую его часть)