Мне нужно заблокировать мой сервер от инициирование любые подключения к удаленному серверу.
Однако я все еще хочу, чтобы сервер мог отвечать на соединения, инициированные через подключенных клиентов.
Другими словами, я хочу, чтобы другие могли подключаться к серверу, но чтобы сервер не мог инициировать удаленные подключения к другим серверам.
Как я могу это сделать?
Я использую Ubuntu.
Ответы:
Блокировка всех исходящих подключений - плохая идея, так как это помешает вам устанавливать программное обеспечение из онлайн-репозиториев, выполнять поиск DNS (что было бы ужасно в большинстве сред), обновлять время с помощью NTP и т. Д. В любом случае, если вы все еще хотите это сделать, попробуйте это:
Вы можете сделать правила умнее, разрешив определенный трафик, например DNS. Вы можете достичь этого двумя способами:
Сделайте спички более сложными. Было бы хорошо для одного или двух «белых» пунктов. Пример:
Предшествующие правила, которые соответствуют некоторым из желаемых сервисов, которые могут быть инициированы с локального хоста с целью "-j ПРИНЯТЬ". Пример:
источник
iptables -t filter -I OUTPUT 1 -m state --state NEW -j DROP; iptables -t filter -I OUTPUT 1 -m state --state NEW -m limit --limit 1/minute -j ACCEPT
, Обратите внимание, что это может не работать для определенных протоколов, таких как те, которые должны инициировать более одного соединения для завершения функциональности (например, FTP в режиме PASV).Встроенный брандмауэр Ubuntu - это UFW. Вы можете управлять им, используя графический интерфейс Gufw. На главной панели Gufw просто нажмите Outgoing: Deny.
источник