Как мне установить правило iptables (например, в цепочке ввода), которое проверяет содержимое http-пакета и блокирует те, которые содержат мой код html, css или javascript? Например: блокировать сайты, которые возвращают в своем ответе
<div id="helloworld"></div>
решение1
Используйте модуль сопоставления строк, например
iptables -I INPUT -m string --string '<div id="helloworld"></div>' -j DROP
решение2
iptables (инструмент пользовательского пространства) или netfilter (брандмауэр Linux) не предназначены для фильтрации HTTP-контента. В любом случае, вы можете использовать string
module для сопоставления определенного значения в полезной нагрузке пакета.
Лучшим подходом будет перенаправление HTTP-трафика на прокси-сервер, напримеркальмари делайте фильтрацию/кэширование и все, что хотите. Обратите внимание, что сам по себе squid не поддерживает фильтрацию контента с помощью ACL. Вам нужно использовать другое программное обеспечение, которое поддерживает фильтрацию, напримерdansguardian.