Добрый день!
В файле messages стали появляться множественные записи iptables:
Oct 1 15:10:37 ctx kernel: bad_tcp_packets:IN=eth0 OUT=eth0 SRC=192.168.15.254 DST=192.168.16.23 LEN=292 TOS=0x00 PREC=0x00 TTL=127 ID=13375 DF PROTO=TCP SPT=445 DPT=56330 WINDOW=513 RES=0x00 ACK PSH URGP=0
правило в iptables
LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x02/0x02 state NEW LOG flags 0 level 6 prefix `bad_tcp_packets:'
Причем и источники и получатели самые различные. Как можно выявить причину появления таких пакетов?
iptables: bad_packets
http://www.opennet.ru/docs/RUS/iptables/
Критерий --tcp-flags
Пример iptables -p tcp --tcp-flags SYN,FIN,ACK SYN
Описание Определяет маску и флаги tcp-пакета. Пакет считается удовлетворяющим критерию, если из перечисленных флагов в первом списке в единичное состояние установлены флаги из второго списка. Так для вышеуказанного примера под критерий подпадают пакеты у которых флаг SYN установлен, а флаги FIN и ACK сброшены. В качестве аргументов критерия могут выступать флаги SYN, ACK, FIN, RST, URG, PSH, а так же зарезервированные идентификаторы ALL и NONE. ALL -- значит ВСЕ флаги и NONE - НИ ОДИН флаг. Так, критерий --tcp-flags ALL NONE означает -- "все флаги в пакете должны быть сброшены". Как и ранее, символ ! означает инверсию критерия Важно: имена флагов в каждом списке должны разделяться запятыми, пробелы служат для разделения списков.
http://www.opennet.ru/docs/RUS/iptables/
Критерий --tcp-flags
Описание Определяет маску и флаги tcp-пакета.
С описанием понятно. Мне хотелось бы разобраться какой из этапов установления соединения подпадает под приведенное мной правило.
Если рассмотреть процесс установки TCP соединения
1. Запрашивающая сторона (которая, как правило, называется клиент) отправляет SYN сегмент, указывая номер порта сервера, к которому клиент хочет подсоединиться, и исходный номер последовательности клиента (в данном примере ISN, 1415531521). Это сегмент номер 1.
2. Сервер отвечает своим сегментом SYN, содержащим исходный номер последовательности сервера (сегмент 2). Сервер также подтверждает приход SYN клиента с использованием ACK (ISN клиента плюс один). На SYN используется один номер последовательности.
3. Клиент должен подтвердить приход SYN от сервера с использованием ACK (ISN сервера плюс один, сегмент 3).
Если я правильно понимаю, это пакеты, инициирующие установление соединения c хоста 192.168.15.254 на 192.168.16.23? Исходный порт 445, целевой 56330? Порт 445 это Microsoft-DS SMB file sharing. Или это подтверждение SYN с ACK?
это что-то непонятное, которое кто-то хочет отправить с этой системы в сетевую карточку, якобы с .254 на .23й адресЕсли я правильно понимаю, это пакеты, инициирующие установление соединения c хоста 192.168.15.254 на 192.168.16.23? Исходный порт 445, целевой 56330? Порт 445 это Microsoft-DS SMB file sharing. Или это подтверждение SYN с ACK?
причём в данном случае это НЕ syn от клиента к серверу (потому-что такие flags)
и НЕ ack от сервера (потому-что OUTPUT)
Возможно речь об этом: http://www.opennet.ru/docs/RUS/iptables/#NEWNOTSYN
это что-то непонятное, которое кто-то хочет отправить с этой системы в сетевую карточку, якобы с .254 на .23й адрес[quote="snarky"]Если я правильно понимаю, это пакеты, инициирующие установление соединения c хоста 192.168.15.254 на 192.168.16.23? Исходный порт 445, целевой 56330? Порт 445 это Microsoft-DS SMB file sharing. Или это подтверждение SYN с ACK?
причём в данном случае это НЕ syn от клиента к серверу (потому-что такие flags)
и НЕ ack от сервера (потому-что OUTPUT)
Возможно речь об этом: http://www.opennet.ru/docs/RUS/iptables/#NEWNOTSYN[/quote]
Каким образом возможно выявить истинный источник пакета и возможно ли просмотреть собственно пакет?
это что-то непонятное, которое кто-то хочет отправить с этой системы в сетевую карточку, якобы с .254 на .23й адрес[quote=drBatty][quote="snarky"]Если я правильно понимаю, это пакеты, инициирующие установление соединения c хоста 192.168.15.254 на 192.168.16.23? Исходный порт 445, целевой 56330? Порт 445 это Microsoft-DS SMB file sharing. Или это подтверждение SYN с ACK?
причём в данном случае это НЕ syn от клиента к серверу (потому-что такие flags)
и НЕ ack от сервера (потому-что OUTPUT)
Возможно речь об этом: http://www.opennet.ru/docs/RUS/iptables/#NEWNOTSYN[/quote]
Каким образом возможно выявить истинный источник пакета и возможно ли просмотреть собственно пакет?[/quote]
берем снифер тот же wireshark и анализируем пакеты
можно логгирование включить в iptablesКаким образом возможно выявить истинный источник пакета и возможно ли просмотреть собственно пакет?
ну и да, снифер.
можно логгирование включить в iptables[quote="snarky"]Каким образом возможно выявить истинный источник пакета и возможно ли просмотреть собственно пакет?
ну и да, снифер.[/quote]
Разобрался с проблемой. В общем-то проблема лежала на поверхности, но сразу внимание не обратил. Допущены ошибки в проектировании сети. IP пакеты отправлялись по разным маршрутам, соответственно и на маршрутизатор приходили те, которые попасть на него были не должны.
СПАСИБО!!!