Как избежать повторного ввода сообщений «promiscuous mode» в /var/log/messages

by itisgood

Как убрать сообщения типа  “… entered promiscuous mode” or “… left promiscuous mode” ?

Например:

устройство eth3 повторно вводит / оставляет беспорядочный режим в syslog – / var / log / messages:

Aug 14 12:01:29 ol6-server kernel: [56113.819404] device eth3 entered promiscuous mode
Aug 14 12:53:01 ol6-server kernel: [59198.608207] device eth3 left promiscuous mode
Aug 14 12:53:03 ol6-server kernel: [59200.722148] device eth3 entered promiscuous mode
Aug 14 16:01:51 ol6-server kernel: [70501.544489] device eth3 left promiscuous mode

Решение

– При нормальной работе сетевой интерфейс отфильтровывает полученный одноадресный трафик, который напрямую не адресован хосту. Таким образом, ОС хоста не видит нежелательного трафика и, следовательно, не тратит время на его обработку.
– Когда сетевой интерфейс находится в беспорядочном режиме, все фильтры удаляются, поэтому ОС видит каждый пакет, полученный интерфейсом, независимо от того, как он адресован.
– Программы захвата пакетов обычно вводят интерфейс в беспорядочный режим во время их запуска. Для tcpdump эту функцию можно отключить, запустив ее с помощью параметра -p.
– Режим Promiscuous означает, что сетевой интерфейс не отменяет трафик, где MAC-адрес назначения не является собственным MAC-адресом NIC. Этот режим используется для захвата пакетов или мониторинга сети.
– Если вы проверите интерфейс, для которого эти сообщения регистрируются в команде ip или ifconfig, вы увидите флаг «PROMISC», установленный на нем.

Например:

# ip link show eth3
2: eth0: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 52:54:00:4b:72:87 brd ff:ff:ff:ff:ff:ff

Чтобы избежать регистрации этих сообщений, существует несколько вариантов:

1. Фильтрация сообщений журнала

1. Чтобы избежать записи сообщений в / var / log / messages, отфильтруйте сообщения с помощью строки в /etc/rsyslog.conf, например:

# cat /etc/rsyslog.conf
:msg, contains, "promiscuous mode"    ~

# тильда в указанном выше фильтре игнорирует сообщение в файле / var / log / messages.

2. Теперь перезапустите службу rsyslog, чтобы изменения вступили в силу.

# service rsyslog restart        ### For CentOS/RHEL 6
# systemctl restart rsyslog      ### For CentOS/RHEL 7

2. Убрать повторный лог ввода и вывода из режима Promisc

Команда «ip link set dev ethX promisc on» может использоваться для включения беспорядочного режима, и вы можете подтвердить его с помощью ip-ссылки. Устройство будет иметь флаг PROMISC:

2: ethX: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 2: ethX: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500

Вы можете применить это при загрузке и ifup, написав / sbin / ifup-local, как описано ниже:

#!/bin/bash
if [ "$1" == "eth4" ] || [ "$1" == "eth5" ] || [ "$1" == "bond0" ]; then
  /sbin/ip link set dev "$1" promisc on
fi

3. Предотвращение пользовательских настроек интерфейса Promisc

Определите приложение, в результате чего устройство переходит в режим неразборчивости.

Остановите программу или скрипт, вызывающий вызовы сокетов, которые позволяют использовать режим promisc, или прекратите использование программы или скрипта.

Это чаще всего программа захвата пакетов, такая как tcpdump, tshark или Wireshark, однако некоторые утилиты мониторинга сети также активируют этот режим.

 

You may also like

Leave a Comment