Вот скрипт создания правил iptables:
#!/бин/ш
ФВВЕР=0,01
#
# ask1368071 Smythies 2021.10.08 Версия: 0.01
# Глянь сюда:
# https://askubuntu.com/questions/1368071/iptables-that-only-allow-incoming-traffic-to-openssh-and-block-all-other-traffic
# запустить как sudo на s19.
# записи журнала только для каждого НОВОГО пакета ssh. Кажется неразумным регистрировать каждый пакет ssh, но это можно сделать.
#
echo "Загружается версия набора правил ask1368071 $FWVER..\n"
# Расположение программы iptables
#
IPTABLES=/sbin/iptables
#Установка ВНЕШНИХ и ВНУТРЕННИХ интерфейсов и адресов для сети
#
# Набор для компьютера Smythies s19 (для тестирования). Изменить для компьютера ask1368071.
EXTIF="br0"
EXTIP="192.168.111.136"
СЕТЬ = "192.168.111.0/24"
ВСЕЛЕННАЯ="0.0.0.0/0"
# Очистка любой предыдущей конфигурации
# Будьте осторожны. Я могу сделать это на s19, но не знаю
# о компьютере Найджела.
#
echo "Очистка существующих правил и установка политик по умолчанию.."
$IPTABLES -P ВХОД DROP
$IPTABLES -F ВВОД
$IPTABLES -P ПРИНЯТЬ ВЫВОД
$IPTABLES -F ВЫВОД
$IPTABLES -P ПЕРЕДАТЬ ПРИНЯТЬ
$IPTABLES -F ВПЕРЕД
$IPTABLES -t физ -F
# Удалить пользовательские цепочки
$IPTABLE -X
# Сбросить все счетчики IPTABLES
$IPTABLES -Z
# Smythies: Хотя в моих ссылках этого нет, я думаю, что это необходимо.
$IPTABLES -t физ -Z
# петлевые интерфейсы допустимы.
#
$IPTABLES -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ПРИНЯТЬ
# Разрешить любой связанный трафик, возвращающийся на сервер.
# (Найджел не просил об этом, но я предполагаю, что это необходимо.)
$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m состояние --state УСТАНОВЛЕНО,СВЯЗАННО -j ПРИНЯТЬ
# Разрешить и регистрировать новые подключения SSH
#
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp -s $UNIVERSE -d $EXTIP --dport 22 -j LOG --log-prefix "ssh traffic:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp -s $UNIVERSE -d $EXTIP --dport 22 -j ACCEPT
# Не позволяйте больше ничего
# Также здесь можно просто отказаться от политики по умолчанию, но иногда также желательно правило ведения журнала.
#
$IPTABLES -A INPUT -i $EXTIF -j LOG --log-prefix "заблокированный трафик:" --информация на уровне журнала
$IPTABLES -A INPUT -i $EXTIF -j DROP
# Выполнено.
#
echo ask1368071 версия набора правил $FWVER выполнена.
Вот список после запуска нового сеанса ssh:
doug@s19:~/iptables/misc$ sudo iptables -xvnL
Цепочка INPUT (политика DROP 0 пакетов, 0 байт)
pkts bytes target prot opt in out source target
0 0 ПРИНЯТЬ все -- lo * 0.0.0.0/0 0.0.0.0/0
66 5465 ПРИНЯТЬ все -- br0 * 0.0.0.0/0 192.168.111.136 состояние СВЯЗАННО,УСТАНОВЛЕНО
1 52 LOG tcp -- br0 * 0.0.0.0/0 192.168.111.136 состояние NEW tcp dpt:22 LOG flags 0 уровень 6 префикс "ssh traffic:"
1 52 ACCEPT TCP -- br0 * 0.0.0.0/0 192.168.111.136 состояние NEW TCP dpt:22
18 1382 LOG all -- br0 * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 уровень 6 префикс "заблокированный трафик:"
18 1382 УДАЛИТЬ все -- br0 * 0.0.0.0/0 0.0.0.0/0
Цепочка FORWARD (политика ACCEPT 0 пакетов, 0 байт)
pkts bytes target prot opt in out source target
Цепочка OUTPUT (политика ACCEPT 56 пакетов, 8793 байта)
pkts bytes target prot opt in out source target
Вот некоторые записи журнала. Упс, я сломал свою долю самбы:
8 октября 08:07:15 ядро s19: [249075.860342] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53951 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:16 ядро s19: [249076.878329] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53957 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:17 ядро s19: [249077.896198] заблокирован трафик: IN = br0 OUT = MAC = 3c: 7c: 3f: 0d: 99: 83: 04: d4: c4: 93: f4: 55: 08: 00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53959 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:18 ядро s19: [249078.914012] заблокирован трафик: IN = br0 OUT = MAC = 3c: 7c: 3f: 0d: 99: 83: 04: d4: c4: 93: f4: 55: 08: 00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53960 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:19 ядро s19: [249079.931823] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53961 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:20 ядро s19: [249080.934176] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53962 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:20 ядро s19: [249081.115999] заблокирован трафик: IN=br0 OUT= MAC=ff:ff:ff:ff:ff:ff:80:7d:3a:19:ea:59:08:00 SRC=0.0.0.0 DST=255.255.255.255 LEN=336 TOS=0x00 PREC=0x00 TTL=128 ID=0 PROTO=UDP SPT=68 DPT=67 LEN=316
8 октября 08:07:20 ядро s19: [249081.132297] заблокирован трафик: IN=br0 OUT= MAC=ff:ff:ff:ff:ff:ff:80:7d:3a:19:ea:59:08:00 SRC=0.0.0.0 DST=255.255.255.255 LEN=336 TOS=0x00 PREC=0x00 TTL=128 ID=1 PROTO=UDP SPT=68 DPT=67 LEN=316
8 октября 08:07:21 ядро s19: [249081.936134] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53964 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:22 ядро s19: [249082.938594] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53965 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:23 ядро s19: [249083.956556] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53966 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:24 ядро s19: [249084.958914] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=41 TOS=0x00 PREC=0x00 TTL=128 ID=53967 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=8209 RES=0x00 ACK URGP=0
8 октября 08:07:25 ядро s19: [249085.976907] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=53968 DF PROTO=TCP SPT=50044 DPT=445 WINDOW=0 RES=0x00 ACK RST URGP=0
8 октября 08:07:25 ядро s19: [249085.981353] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53969 DF PROTO=TCP SPT=61348 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:26 ядро s19: [249086.985732] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53970 DF PROTO=TCP SPT=61348 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:28 ядро s19: [249089.005970] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53971 DF PROTO=TCP SPT=61348 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:32 ядро s19: [249093.012998] заблокирован трафик: IN = br0 OUT = MAC = 3c: 7c: 3f: 0d: 99: 83: 04: d4: c4: 93: f4: 55: 08: 00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53973 DF PROTO=TCP SPT=61348 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября, 08:07:35, ядро s19: [249096.205252] ssh traffic: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53974 DF PROTO=TCP SPT=61351 DPT=22 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября, 08:07:40 s19 systemd[1]: запущен сеанс 222 пользователя doug.
8 октября 08:07:40 ядро s19: [249101.031397] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53989 DF PROTO=TCP SPT=61348 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:46 ядро s19: [249107.046666] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53997 DF PROTO=TCP SPT=61352 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:47 ядро s19: [249108.061299] заблокирован трафик: IN = br0 OUT = MAC = 3c: 7c: 3f: 0d: 99: 83: 04: d4: c4: 93: f4: 55: 08: 00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53998 DF PROTO=TCP SPT=61352 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:49 ядро s19: [249110.065547] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=53999 DF PROTO=TCP SPT=61352 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:07:53 ядро s19: [249114.090375] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=54001 DF PROTO=TCP SPT=61352 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0
8 октября 08:08:01 ядро s19: [249122.092377] заблокирован трафик: IN=br0 OUT= MAC=3c:7c:3f:0d:99:83:04:d4:c4:93:f4:55:08:00 SRC=192.168.111.122 DST=192.168.111.136 LEN=52 TOS=0x00 PREC=0x00 TTL=128 ID=54021 DF PROTO=TCP SPT=61352 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0