bioid
@bioid

Безопасны ли такие настройки nftables?

Удаленный по отношению к микротику сервер на линуксе.
Между микротиком и сервером туннель. Трафик из локальной сети микротика заворачивается через этот туннель и натится с сервера в мир.
То есть: LAN ---> Микротик ---> туннель ---> Linux ---> NAT ---> дикий интернет.
Адрес LAN: 192.168.7.0/24
Адрес внешнего интерфейса микротика: 198.51.100.1
Адрес внешнего интерфейса линукса 203.0.113.1.
На линуксе правила nftables такие:
#!/usr/sbin/nft -f
flush ruleset
table ip FIREWALL_IPv4 {
	chain PREROUTING {
                type nat hook prerouting priority dstnat; policy accept;
        }
	chain input {
		type filter hook input priority 0; 
		iifname "lo" counter accept;
		ct state invalid drop comment "Drop invalid connections";
		ct state established,related counter accept;
		ip saddr 198.51.100.1 counter accept comment "Allow Mikrotik";
		policy drop;
	}
	chain forward {
		type filter hook forward priority 0; policy accept;
	}
	chain output {
		type filter hook output priority 0;
		
	}
	chain POSTROUTING {
                type nat hook postrouting priority srcnat; policy accept;
                ip saddr 192.168.7.0/24 oif "ens3" masquerade
		 }
}
table ip6 FIREWALL_IPv6 {
        chain INCOMING {
                type filter hook input priority 0; policy drop;
		counter drop;
        }

        chain FORWARDING {
                type filter hook forward priority 0; policy drop;
		counter drop;
        }

        chain OUTGOING {
                type filter hook output priority 0; policy drop;
		counter drop;
        }
}


Всё работает, однако вопрос в безопасности правил. Не смогут ли посторонние лица эксплуатировать сервер в качестве маршрутизатора?
Как усилить правила? Или тех, что есть, достаточно?
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
ValdikSS
@ValdikSS
Не смогут ли посторонние лица эксплуатировать сервер в качестве маршрутизатора?
Могут, у вас же в IPv4 FORWARD-таблице policy accept без каких-либо запрещающих правил.
Добавьте разрешающее правило для интерфейса туннеля, а остальное заблокируйте.
Также блокировка всех исходящих и входящих IPv6-пакетов создаст проблемы программам, рассчитывающим на доступность IPv6-связности (хотя бы внутри хоста). Разрешите пакеты с/до lo.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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