Co je promiskuitní režim
Promiskuitní režim nebo režim promisc je funkce, díky které ethernetová karta přenáší veškerý přijatý provoz do jádra. Obvykle je používán programem pro čichání paketů, jako je Wireshark a tcpdump. Pokud by takový program záměrně běžel nebo překlenul síť pro virtualizaci hardwaru, zpráva „promiskuitního režimu“ by mohla být jednoduše ignorována. V opačném případě bude nutné provést důkladné prozkoumání tohoto systému kvůli bezpečnostnímu problému.
Pokud v systému neběží žádný auditní démon, zpráva „audit“ bude přihlášena do souboru /var/log/messages místo / var/log/audit/audit.log. Jsou to informační zprávy pro audit jádra.
Možnost PROMISC byl zcela zastaralý z initscriptů v RHEL 7.
# grep PROMISC -B 1 /usr/share/doc/initscripts-9.49.41/sysconfig.txt No longer supported: PROMISC=yes|no (enable or disable promiscuous mode)
Chcete-li tedy trvale nakonfigurovat rozhraní v promiskuitním režimu, postupujte podle níže uvedených kroků.
Konfigurace promiskuitního režimu na rozhraní v CentOS/RHEL 7
1. Vytvořte vlastní soubor systemd unit pomocí editoru, jako je vi nebo vim.
# vi /etc/systemd/system/promisc.service
2. Lze použít oneshot pomocí příkazu oneline.
Příklad jednoho rozhraní
V níže uvedeném příkladu je do promiskuitního režimu uvedeno pouze jedno rozhraní:
# cat /etc/systemd/system/promisc.service [Unit] Description=Bring up an interface in promiscuous mode during boot After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip link set dev ens9 promisc on TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
Příklad více rozhraní
Níže uvedený příklad je nastavení více než jednoho rozhraní do promiskuitního režimu:
# cat /etc/systemd/system/promisc.service [Unit] Description=Makes an interface run in promiscuous mode at boot After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip link set dev ens9 promisc on ExecStart=/usr/sbin/ip link set dev ens12 promisc on TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
3. Ujistěte se, že systemd nyní ví o nové službě:
# systemctl daemon-reload
Ověření
Restartujte server a zkontrolujte, zda je rozhraní v promiskuitním režimu:
# reboot
# ip addr 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens9: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:fe:7d:f2 brd ff:ff:ff:ff:ff:ff inet 192.168.122.203/24 brd 192.168.122.255 scope global dynamic ens9 valid_lft 3398sec preferred_lft 3398sec 3: ens12: [BROADCAST,MULTICAST] mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:9f:37:9e brd ff:ff:ff:ff:ff:ff 4: ens10: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff 5: ens11: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff 6: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff inet 192.168.122.95/24 brd 192.168.122.255 scope global dynamic bond0 valid_lft 3396sec preferred_lft 3396sec
Rozhraní ens9 je nyní po spuštění v promiskuitním režimu.