1

На моем сервере Ubuntu у меня запущено специальное программное обеспечение, которое подключается к серверу поставщика для поиска обновлений. Хотя в целом это полезно, программное обеспечение не должно обновляться по соображениям безопасности. Я обнаружил, что, если нет подключения к Интернету, программное обеспечение не может обновиться, но все равно запустится. Но я, очевидно, не могу закрыть связь. Файл hosts не является альтернативой, так как программное обеспечение должно подключаться к поставщику для проверки лицензии.

Поэтому мой вопрос: как я могу перенаправить или заблокировать исходящий HTTP-трафик для определенного URL.

tl; dr: http://www.vendor.com/license должен быть разрешен, но http://www.vendor.com/update должен быть заблокирован для исходящего трафика.

1 ответ1

2

Хорошо, что HTTP и его заголовки отправляются открытым текстом! Мы можем искать URL в заголовке HTTP с помощью строкового фильтра -m string .

пример

Мы хотим заблокировать: http://www.example.com/I/am/some/distinguishable/URL

iptables -A OUTPUT -p tcp -m string --string "/I/am/some/distinguishable/URL" --algo kmp -j REJECT --reject-with tcp-reset

Спасибо Деннису за подсказку --reject-with tcp-reset .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .