Перейти к содержимому

Drop invalid packets что это

  • автор:

Почему так много -m state —state INVALID пакетов в легитимных соединениях?

Я читал много статей по настройке iptables, там говорилось, что INVALID пакеты какие-то неправильные и их надо блокировать через -j DROP. Когда я это сделал, заметил, что легитивные соединения начали обрываться и посыпались жалобы о проблемах с соединением. Действительно, я обнаружил, что INVALID пакетов много бывает в легитимных соединениях, и, если их дропать, то соединение может оборваться. Вот примеры этих пакетов из лога, это 100% легитимные пакеты от белого айпи:

Jun 7 16:49:23 host5 kernel: Iptables: Invalid: IN=eno1 OUT= MAC=1c:b7:2c:ab:e1:a7:e4:c7:22:73:da:a1:08:00 SRC=194.44.28.67 DST=151.80.251.135 LEN=40 TOS=0x00 PREC=0x00 TTL=118 DF PROTO=TCP SPT=51655 DPT=25565 WINDOW=513 RES=0x00 ACK URGP=0 Jun 7 16:49:23 host5 kernel: Iptables: Invalid: IN=eno1 OUT= MAC=1c:b7:2c:ab:e1:a7:e4:c7:22:73:da:a1:08:00 SRC=194.44.28.67 DST=151.80.251.135 LEN=40 TOS=0x00 PREC=0x00 TTL=118 DF PROTO=TCP SPT=51655 DPT=25565 WINDOW=513 RES=0x00 ACK URGP=0 Jun 7 19:09:50 host5 kernel: Iptables: Invalid: IN=eno1 OUT= MAC=1c:b7:2c:ab:e1:a7:e4:c7:22:73:da:a1:08:00 SRC=194.44.28.67 DST=151.80.251.135 LEN=40 TOS=0x00 PREC=0x00 TTL=118 DF PROTO=TCP SPT=63174 DPT=25565 WINDOW=513 RES=0x00 ACK URGP=0 

Почему они возникают? И что же все таки с ними делать?
Дропать я их не могу, но и не дропать я тоже не могу, потому что иногда бывают tcp атаки с кучей INVALID пакетов 🙁

Почему после применения правил IPTABLES в Debian 10 всё блокируется?

Перепробовал множество правил и в итоге всё приводит к полной блокировке. Помогает только reboot, не один порт после применения правил не работает. Исходя из логики, всё как бы должно работать, как быть?

#!/bin/bash # Flush rules and delete custom chains iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X # Define chain to allow particular source addresses iptables -N chain-incoming-ssh # iptables -A chain-incoming-ssh -s 192.168.1.148 -j ACCEPT # iptables -A chain-incoming-ssh -s 192.168.1.149 -j ACCEPT iptables -A chain-incoming-ssh -j DROP # Define chain to allow particular services iptables -N chain-outgoing-services iptables -A chain-outgoing-services -p tcp --dport 53 -j ACCEPT iptables -A chain-outgoing-services -p udp --dport 53 -j ACCEPT iptables -A chain-outgoing-services -p tcp --dport 123 -j ACCEPT iptables -A chain-outgoing-services -p udp --dport 123 -j ACCEPT iptables -A chain-outgoing-services -p tcp --dport 80 -j ACCEPT iptables -A chain-outgoing-services -p tcp --dport 443 -j ACCEPT iptables -A chain-outgoing-services -p tcp --dport 22 -j ACCEPT iptables -A chain-outgoing-services -p icmp -j ACCEPT iptables -A chain-outgoing-services -j DROP # Define chain to allow established connections iptables -N chain-states iptables -A chain-states -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A chain-states -p udp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A chain-states -p icmp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A chain-states -j RETURN # Drop invalid packets iptables -A INPUT -m conntrack --ctstate INVALID -j DROP # Accept everything on loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Accept incoming/outgoing packets for established connections iptables -A INPUT -j chain-states iptables -A OUTPUT -j chain-states # Accept incoming ICMP iptables -A INPUT -p icmp -j ACCEPT # Accept incoming SSH iptables -A INPUT -p tcp --dport 22 -j chain-incoming-ssh # Accept outgoing iptables -A OUTPUT -j chain-outgoing-services ## Drop everything else iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
  • Вопрос задан более трёх лет назад
  • 250 просмотров

12 комментариев

Средний 12 комментариев

Drop invalid packets что это

Когда мы говорим о «Drop invalid packets», мы имеем в виду процесс отбрасывания недопустимых пакетов в сети. В сетевых коммуникациях, пакеты являются основными единицами передачи информации. Каждый пакет содержит информацию о его отправителе, получателе и саму полезную нагрузку.

Однако, некоторые пакеты могут быть недопустимыми или иметь ошибки. Это может произойти из-за различных причин, таких как повреждение данных во время передачи, попытка несанкционированного доступа или просто ошибки программного обеспечения. В любом случае, недопустимые пакеты не могут быть обработаны или доставлены правильно, и поэтому от них нужно избавиться.

Механизм «Drop invalid packets» работает так: когда сетевое устройство, такое как маршрутизатор или брандмауэр, получает пакет, оно анализирует его содержимое и проверяет его правильность. Если пакет является недопустимым, устройство принимает решение отбросить его, то есть удалить из памяти и не передавать дальше по сети. Таким образом, недопустимые пакеты не засоряют сеть и не вызывают ненужного трафика.

Важно отметить, что процесс «Drop invalid packets» является одним из способов обеспечить безопасность и эффективность сети. Он помогает избежать возможных атак и проблем в сети, связанных с ошибочными данными. Его использование может быть особенно полезно в сетях с высоким уровнем трафика и уязвимостей.

В конечном итоге, «Drop invalid packets» является важным элементом общей стратегии безопасности и оптимизации сети. Правильное настройка сетевых устройств и программного обеспечения может гарантировать, что только допустимые пакеты будут обработаны и доставлены, что повышает надежность и эффективность сети в целом.

Роль функции «Drop invalid packets» в сетевой безопасности

У пакетов, передаваемых в сети, есть определенная структура, которая определяет их правильность. Однако возможны ситуации, когда пакеты имеют неправильную структуру или содержат ошибки. Это может быть вызвано как неполадками в работе сетевого оборудования, так и внешними факторами, такими как злонамеренные атаки.

Функция «Drop invalid packets» сканирует все пакеты, проходящие через сетевое устройство, и проверяет их на соответствие определенным правилам и стандартам. Если пакет не соответствует этим правилам или содержит ошибки, функция «Drop invalid packets» принимает решение об их удалении, что позволяет предотвратить негативное влияние некорректных пакетов на работу сети.

Роль функции «Drop invalid packets» в сетевой безопасности заключается в том, что она помогает предотвратить различные угрозы и атаки, связанные с некорректными пакетами. Некорректные пакеты могут использоваться злоумышленниками для проведения атак на сеть или ее устройства, например, для передачи вредоносных программ или для получения несанкционированного доступа к системе.

Защита от некорректных пакетов с помощью функции «Drop invalid packets» помогает повысить безопасность сети и предотвратить возможные угрозы. Эта функция является одним из множества мер, предпринимаемых в целях обеспечения сетевой безопасности, и существенно повышает надежность и стабильность работы сети в целом.

Определение и назначение механизма «Drop invalid packets»

При обнаружении недействительных пакетов механизм «Drop invalid packets» решает, что делать с такими пакетами, в зависимости от настроек и политик безопасности сети. Одним из наиболее распространенных вариантов является отбрасывание таких пакетов, то есть уничтожение их и предотвращение их дальнейшей передачи в сети. Это позволяет предотвратить возможные уязвимости или атаки, которые могут быть связаны с недействительными пакетами.

Механизм «Drop invalid packets» широко применяется в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы или межсетевые экраны (брандмауэры). Он играет ключевую роль в обеспечении безопасности и эффективности сети, а также помогает предотвратить возможные уязвимости или атаки, связанные с недействительными пакетами.

Преимущества Недостатки
1. Предотвращение уязвимостей и атак, связанных с недействительными пакетами. 1. Возможная потеря полезных данных, если пакет ошибочно классифицируется как недействительный.
2. Обеспечение безопасности и надежности передачи данных в сети. 2. Необходимость корректной настройки и поддержки механизма «Drop invalid packets».
3. Увеличение производительности сети за счет отбрасывания недействительных пакетов. 3. Возможность блокирования полезных пакетов, если основываться только на механизме «Drop invalid packets».

Принцип работы функции «Drop invalid packets»

Функция «Drop invalid packets» (или «Отбросить недействительные пакеты») в контексте сетевых устройств и протоколов относится к механизму, который позволяет отбросить или отклонить пакеты данных, которые не проходят проверку на валидность или соответствие определенным правилам.

Системы сетевой безопасности, например, могут использовать эту функцию для защиты сети от внешних атак или аномальной активности. После применения данной функции, недействительные пакеты данных не будут доставлены до назначения и проигнорированы, что помогает поддерживать целостность и безопасность сети.

Функция «Drop invalid packets» обычно работает на основе определенных правил и фильтров, которые задаются администратором сети или на основе настроек устройства. Эти правила определяют, какие пакеты считать недействительными или несоответствующими установленным стандартам, и как с ними следует обращаться.

Во время обработки пакета данных система проверяет его заголовки, контрольные суммы, метаданные и другие атрибуты, чтобы определить его валидность. Если пакет не соответствует установленным правилам, он считается недействительным, и функция «Drop invalid packets» обрабатывает его соответствующим образом.

Действия, которые функция «Drop invalid packets» может предпринять с недействительными пакетами, могут варьироваться в зависимости от конкретной конфигурации системы или устройства. Некоторые варианты включают блокирование доступа к недействительным пакетам, прекращение передачи данных или отправку сообщений об ошибке в источник пакета.

Key takeaways:

  1. Функция «Drop invalid packets» отвечает за отбрасывание недействительных пакетов данных.
  2. Она является механизмом защиты сети от внешних угроз и аномальной активности.
  3. Функция работает на основе заданных администратором правил и фильтров.
  4. Недействительные пакеты обрабатываются различными способами, в зависимости от настроек системы или устройства.

Ручная Настройка Default Firewall Filer Rules

В данной статье попробуем настроить дефолтный Firewall с объяснениями. Сделаем это самостоятельно без использования дефолтного Firewall из конфигурации SOHO роутера.
Для начала удалим все правила и начнем с оптимизации нашего Firewall.

Первое, что хотелось бы сказать — правила связанные с established, related и untracked. Они дают зеленый свет трафику, проходящему через роутер. Его не будем проверять по 10 раз нашим Firewal. Established, related, untraked мы будем пропускать action=accept.

IP/Firewall/Firewall Rules/New Firewall Rule

В комментарий добавляем: Established/Related.

IP/Firewall/Firewall Rules/Comment for Firewall Rule

После создания первого правила можно его скопировать и заменить цепочку на input.

IP/Firewall/Firewall Rules/New Firewall Rule

В цепочке output в данной конфигурации правил не будет.

/ip firewall filter add chain=forward connection-state=established,related,untracked action=accept comment=Established/Related
/ip firewall filter add chain=input connection-state=established,related,untracked action=accept comment=Established/Related

Дальше мы должны отбрасывать пакеты, которые, по мнению нашего фаервола, по какой-то причине неправильные (Например, пришли не с того интерфейса, с которого мы их отправляли). Для этого мы создаем правило:

IP/Firewall/Firewall Rules/Firewall Rule

IP/Firewall/Firewall Rules/Firewall Rule

/ip firewall filter add chain=forward in-interface-list=WAN connection-state=invalid action=drop comment=Invalid

Но в такой ситуации мы можем попасть на проблему в локальной сети. Если там у нас используется маршрутизация, то она в локальной сети может быть асинхронной и в этот момент мы можем поймать проблему с ней.

Поэтому большой вам совет:
Используйте Interface List внешнего порядка для дропа этих пакетов. То есть внутри локальной сети мы invalid оставляем. Не в локальной сети там, где нам это не требуется, мы invalid как раз таки уничтожаем.

Добавляем комментарий и копируем для цепочки input, тем самым будем дропать неправильные пакеты, направляемые к роутеру.

/ip firewall filter add chain=input in-interface-list=WAN connection-state=invalid action=drop comment=Invalid

Далее нам потребуется настройка доступа к роутеру с внешней сети. Например, нам необходимо иметь возможность пинговатьь наш роутер по icmp протоколу.
Создаем правило указывая внешний интерфейс лист:

IP/Firewall/Firewall Rules/New Firewall Rule

IP/Firewall/Firewall Rules/Firewall Rule

/ip firewall filter add chain=input protocol=icmp in-interface-list=WAN packet-size=0-128 action=accept comment=ICMP

Packet-size – указывает какого размера могут быть пакеты. Это позволит пинговать наш роутер только маленькими пакетами.

Дальше, если мы говорим про использование в корпоративной сети нашего роутера, мы очень часто применяем технологию VPN для доступа к нашей сети. Поэтому может понадобиться открытие доступа к VPN-серверу, работающему на нашем роутере.

Создадим правило в цепочке input потому, что VPN-сервер работает у нас на роутере. По этой причине мы будем открывать доступ именно к нашему роутеру, то есть в цепочку input.
Допустим откроем доступ к OpenVPN:

IP/Firewall/Firewall Rules/Firewall Rule

/ip firewall filter add chain=input protocol=tcp dst-port=1194 in-interface-list=WAN action=accept comment=OpenVPN

Если вы, например, работаете удаленно и вам по какой-то причине необходимо получить доступ к Winbox или ssh, не используя VPN.

IP/Firewall/Firewall Rules/Firewall Rule

/ip firewall filter add chain=input src-address-list=admin protocol=tcp dst-port=22,8192 in-interface-list=WAN action=accept comment=«SSH & Winbox»

Важно, что Address List нужно заполнять отдельно в ip/firewall/address-list. Без него давать всем доступ для управления роутером это небезопасно.

IP/Firewall/Address Lists/New Firewall Address List

После всех разрешающих правил необходимо закрыть всему остальному доступ с помощью правила:

/ip firewall filter add chain=input in-interface-list=WAN action=drop comment=Drop

Если это правило сразу скопировать для forward, у нас могут появиться некоторые проблемы с пробросом портов через dst nat (О нем поговорим в другом уроке).

Есть способы облегчения нашей дальнейшей работы и стоит их сразу использовать:

Connection State/new

/ip firewall filter add chain=forward in-interface-list=WAN connection-state=new connection-nat-state=!dstnat action=drop comment=Drop

На этом наша настройка дефолтного firewall окончена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *