Я пытаюсь разрешить подключение только к одному веб-сайту (только для одного домена). Например, www.mywebsite.com, с IP-адресом A.B.C.D.
Мое определение iptables выглядит следующим образом:
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -d A.B.C.D --dport 80 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
Проблема в том, что похоже, что подпапка этого сайта не находится на том же сервере. Поэтому, если он находится на www.mywebsite.com, пользователь должен иметь возможность доступа также к www.mywebsite.com/cobiss/, www.mywebsite.com/cobiss?param1=value1¶m2=value2.
Можете ли вы помочь мне, какие дополнительные правила мне нужны, чтобы разрешить доступ к связанным частям этого сайта?
Это не будет работать только с iptables
. iptables
работает на уровне OSI 3 + 4. Вы ищете для фильтрации уровня 7.
Я предлагаю вам настроить прокси-сервер для фильтрации. Я могу рекомендовать Dans Guardian для фильтрации веб-контента. Настройте брандмауэр так, чтобы он перенаправлял весь веб-трафик через веб-прокси (создавая прозрачный прокси-сервер), а затем фильтровал его там.
Посмотрите это руководство , как начать работу.
вы пытаетесь фильтровать исходящий трафик?
Если вы пользуетесь палочкой для управления доступом пользователей из вашей интрасети к интернет-сайтам, вы должны использовать прокси-сервер SQUID, а не брандмауэр.