Как заблокировать входящий трафик ESP с помощью ip6tables

Я хотел бы протестировать конфигурацию моего брандмауэра, когда трафик IPsec принимается на моем хосте, и я также хотел бы знать, как его обрабатывать (сначала отбросьте).

Для тестирования я развернул два контейнера (с включенным ipv6), а затем я создаю пакет ESP с использованием scapy (взято из: https://github.com/secdev/scapy/blob/master /test/ipsec.uts#L2730):1275 impression Я хотел бы добавить правило брандмауэра, которое отбрасывает этот пакет.

Моя текущая конфигурация:

 # ip6tables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -d fe80::42:acff:fe10:ee04/64 -i eth0 -p esp -j DROP
-A INPUT -d fe80::/64 -i eth0 -p esp -j DROP
-A INPUT -m ipv6header --header esp --soft -j DROP

Я также пробовал это, но это не удалось:

# ip6tables -A INPUT -m esp --espspi 546 -j DROP
ip6tables: Invalid argument. Run `dmesg' for more information.

Однако я еще не нашел способа сделать это. Мой tcpdump показывает, что пакет получен:

# tcpdump -i eth0 dst fe80::42:acff:fe10:ee04 -vvv
14:16:33.971545 IP6 (hlim 64, next-header ESP (50) payload length: 40) fe80::42:acff:fe10:ee03 > b4f9f118b0e7: ESP(spi=0x00000222,seq=0x1), length 40

Некоторая важная информация:

# uname -r
5.0.8-1.el7.elrepo.x86_64
# cat /etc/system-release
CentOS Linux release 7.5.1804 (Core)
# ip6tables -V
ip6tables v1.4.21
0
задан 23 April 2019 в 17:39
1 ответ

Вы не можете использовать tcpdump, чтобы определить, работает ли межсетевой экран, потому что он принимает пакеты до того, как iptables их обрабатывает.

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

2
ответ дан 4 December 2019 в 13:20

Теги

Похожие вопросы