1

Я создал прокси-сервер на основе nginx, который перенаправляет трафик на несколько машин, чтобы они могли иметь один фильтр безопасности, который я могу поддерживать. Ничего сумасшедшего, просто достаточно, чтобы заблокировать несколько агентств по отслеживанию рекламы и сэкономить на моих ограниченных тарифных планах.

В любом случае, nginx был идеален с точки зрения производительности и фактически ускорил работу нескольких моих устройств при использовании Интернета. Тем не менее, решения по фильтрации для nginx были непростыми, поэтому мне пришлось поработать с Ubuntu, чтобы узнать, где еще может существовать фильтр.

Я добавил несколько файлов с открытым исходным кодом вредоносных списков IP-адресов и списков анти-трекинга в файл hosts и обнаружил, что иногда nginx будет работать прямо над файлом hosts, так что все пошло не так, и я начал искать решение на основе брандмауэра.

Хотя я знаю, что ufw не был предназначен для блокировки доменов, он был единственным, кто смог полностью заблокировать nginx от запроса нежелательной ссылки, поэтому я собрал сценарий оболочки, который имеет ip всех перечисленных доменов вместе с зарегистрированными вредоносными программами. IP-адреса, через которые сейчас работает мой компьютер.

# Example of the script
ufw deny out to 1.2.3.4;
ufw deny out to 1.2.3.5;
ufw deny out to 1.2.3.6;

У меня вопрос к вам, ребята, поскольку сценарий занимает очень много времени в моей не очень загруженной диплоте digitalocean, замечу ли я снижение производительности, так как будет очень много правил IPtables? Или UFW - это просто уровень установки, который не влияет на работу IPtables и может быть немного громоздким, учитывая, что это приложение, ориентированное на пользовательский интерфейс? Я понимаю, насколько зрелыми являются IP-таблицы, это не приведет к большим накладным расходам и не возражает против однократного ожидания, но меня немного беспокоит только то, как долго скрипт загружает каждое правило в правила ,

Я полагаю, что я мог бы просто передать это в один из файлов конфигурации, но я чувствовал, что запуск его через простое в использовании командное взаимодействие был стабильным и безопасным решением. Что, вы парни, думаете?

0