Я исследую некоторые аномалии, обнаруженные на сервере, которым управляю, после установки Snort IDS.
У меня есть ~ 10 производственных веб-серверов Ubuntu, которые настроены с помощью Ansible и регулярно подготавливаются. Один из них - очень странная маршрутизация запросов.
Допустим, публичный IP-адрес сервера 111.1.1.11
.
ifconfig
показывает NIC с публичным IP 111.1.1.11
.Когда я смотрю логи в Snort, а также когда я отслеживаю сетевой трафик с помощью iftop Я вижу это:
10.0.0.0
-10.255.255.255
ассортимент. Допустим, это: 10.20.0.10
. 111.1.1.11
.Если я посмотрю 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.
Возможные решения: