Назад | Перейти на главную страницу

Iptables - блокировать только ответ https

Я новичок в Linux и использую iptables. Вот чего я пытаюсь достичь:

  1. У меня есть клиент ASP.net, который общается с веб-сервисом, размещенным через веб-логику в Linux. Связь осуществляется через SSL.

  2. То, что я пытаюсь выполнить, используя iptables только блокирует ответ клиенту.

  3. Таким образом, клиент выполняет вызов веб-службы, веб-служба обрабатывает запрос и отвечает клиенту.

  4. Я хочу, чтобы веб-служба получила запрос, но заблокировала ответ клиенту.

В тестовых целях я убрал все правила из iptables. Я создал политики по умолчанию для ACCEPT на INPUT, OUTPUT и FORWARD цепи. Затем я добавил правило в OUTPUT цепь к DROP все, что имеет исходный IP-адрес клиента.

iptables -A OUTPUT -s client_ip_address -j DROP

По-видимому, это не имело значения. Я могу вызвать веб-службу из клиента и все равно получить ответ.

Любая помощь приветствуется?

Это зависит от того, чего именно вы хотите добиться. Если вы хотите имитировать тайм-аут сети, используйте это:

iptables -A OUTPUT -d clientip  -j DROP

он автоматически отбрасывает все пакеты с сервера клиенту.

Если вы хотите, чтобы произошло рукопожатие tcp, а затем уничтожить соединение (может быть полезно, или вы можете просто активировать указанное выше правило позже), используйте это:

iptables -A OUTPUT -d clientip -p tcp --tcp-flags SYN,ACK SYN,ACK -j ACCEPT
iptables -A OUTPUT -d clientip  -j DROP

Если вы хотите имитировать закрытый порт (служба не запущена), используйте:

iptables -A INPUT -s clientip  -j REJECT

он отправит клиенту сообщение о недоступности пункта назначения ICMP.

Надеюсь, поможет.

Возможно, у вас есть правило ранее в цепочке OUTPUT, которое разрешает все УСТАНОВЛЕННЫЕ и СВЯЗАННЫЕ соединения - это довольно часто. Если такое правило существует, оно будет сопоставлено перед правилом DROP, которое вы добавите с помощью -A. Попытайтесь поместить свое правило DROP как можно раньше в цепочку OUTPUT:

iptables -I OUTPUT -d clientip  -j DROP

поместит правило в самый верх цепочки.