Я обнаружил странную проблему и надеюсь, что кто-нибудь поможет мне ее исправить. Если я захватываю IP-пакеты на сетевом интерфейсе em1 на порте 53 с "tcpdump -i em1 -vvv -s 0 -l -n порт 53"Я получаю странный результат (ниже приведен их фрагмент), непрерывно приходят пакеты с неизвестных IP-адресов (4-5 IP-адресов постоянно). На сервере работает DNS-сервер centos7 и Bind9. Если я включаю именованную службу или сетевая служба отключена, пакеты все еще приходят. Я изменил частный IP-адрес сервера с 10.10.10.100 на 10.10.10.xxx, и проблема все еще жива, ip-пакеты постоянно поступают на исходный IP-адрес 10.10.10.100. У меня есть несколько раз перезагружал сервер, безрезультатно.
Мой вопрос в том, могу ли я игнорировать это? Это ддос-атака? Исходя из того факта, что при отключенном сетевом сервисе проблема все еще сохраняется, я думаю, что это может быть ошибка или вирус. Это?
09:13:28.941958 IP (tos 0x20, ttl 105, id 12674, offset 0, flags [DF], proto TCP (6), length 52) 107.167.18.163.32902 > 10.10.10.100.domain: Flags [S], cksum 0x9538 (correct), seq 2019438094, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 09:13:28.942006 IP (tos 0x20, ttl 64, id 41456, offset 0, flags [DF], proto TCP (6), length 40) 10.10.10.100.domain > 107.167.18.163.32902: Flags [.], cksum 0x328e (correct), seq 0, ack 1, win 14600, length 0 09:13:29.128215 IP (tos 0x20, ttl 103, id 54720, offset 0, flags [DF], proto TCP (6), length 52) 107.167.18.163.32902 > 10.10.10.100.domain: Flags [S], cksum 0x35d2 (correct), seq 2106165321, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
Сервер находится за маршрутизатором cisco, и на маршрутизаторе действует правило NAT (86.34.156.51 <-> 10.10.10.100). На DNS-сервере BIND мне пришлось настроить локальный частный IP-адрес, в противном случае, если привязка была настроена с общедоступным IP-адресом, пакеты DNS никогда не поступали на хост, который сделал запрос (вероятно, маршрутизатор интерпретировал, что 86.34.156.51 должен маршрутизировать обратно к хосту (10.10.10.100)). Другая проблема, связанная с этим, заключается в том, что значение TTL пакета DNS всегда равно 0, когда оно поступает на хост назначения.
Вот результат с флагом -A "tcpdump -i em1 -A -vvv -s 0 -l -n порт 53"
11:16:22.681589 IP (tos 0x20, ttl 77, id 55139, offset 0, flags [DF], proto TCP (6), length 52) 107.167.22.93.59026 > 10.10.10.100.domain: Flags [S], cksum 0x47a6 (correct), seq 1337080454, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 E .4.c@.M...k..] d...5O.:....... .G............... 11:16:22.681638 IP (tos 0x20, ttl 64, id 28261, offset 0, flags [DF], proto TCP (6), length 40) 10.10.10.100.domain > 107.167.22.93.59026: Flags [.], cksum 0xd525 (correct), seq 0, ack 1, win 14600, length 0 E .(ne@.@.5. dk..].5..kT na.7|P.9..%..
Вы заметили, что пакеты прибывают из-за пределов вашей организации через правило NAT в вашем маршрутизаторе, которое преобразует 86.34.156.51
<-> 10.10.10.100
. Я реверсирую этот адрес и получаю ns1.style2take.ro.
. Ясно, что этот компьютер рекламируется миру как сервер имен. Отключение службы BIND на этом хосте не остановит прохождение запросов; он должен изменить то, что вы отправляете обратно (например, какая-то ошибка сброса / недоступности, когда служба не работает), но вы не говорите, tcpdump
s работали, когда служба была включена или выключена, поэтому дальнейшие комментарии затруднены.
Это не безумие, что серверы имен получают запросы поиска DNS. Часто люди ищут открытые резолверы, поскольку они полезны как для законных (разрешение имен), так и для ненадлежащих (усиление DDoS) целей.
Если вы предполагаете, что этот компьютер должен быть опубликованным сервером имен, убедитесь, что вы правильно настроили BIND (только для ответа на запросы в его авторитетных доменах, а не для рекурсивного разрешения для Интернета в целом), не отставайте от ваши патчи BIND, и не беспокойтесь об этом трафике. Другими словами, пусть приложение выполняет фильтрацию на уровне приложения; правильно настроенный BIND будет лучше решать, на какие запросы отвечать, а на какие игнорировать, чем любое фильтрующее устройство, которое вы можете поставить перед ним.
Если вы не хотите, чтобы этот компьютер был опубликованным сервером имен, избавьтесь от этого правила NAT и убедитесь, что адрес и имя не отображаются ни в каких связующих записях или файлах живых зон.
Что касается просмотра содержимого полезной нагрузки, любая современная версия tcpdump
вообще без дополнительных флагов должны заглядывать внутрь пакетов DNS. Вот пример вывода с моего сервера имен, ns.teaparty.net
:
[me@lory mail]$ sudo tcpdump port 53
[...]
09:37:23.613422 IP nrdns08.fibertel.com.ar.57799 > ns.teaparty.net.domain: 62409 MX? enjura.com. (28)
[ and many, many more ]