Показать полную графическую версию : IPtables - при изменении политики входящего подключения не работают исходящие
__sa__nya
28-07-2022, 09:28
Доброе время суток. Ubuntu 20.04 Server. Меняю политику входящих подключений с ACCEPT на DROP. Политика исходящих подключений - ACCEPT. После изменения не работают исходящие подключения. Связи с чем это связано ?
Я ориентируюсь на логику Windows-систем. Там, если входящие подключения по умолчанию запрещены, а исходящие разрешены - то соответственно, комп может делать любое исходящее соединение и получать ответ на него. В Linux видимо не так ?
А что делаете с этими состояниями ESTABLISHED, RELATED?
Тоже дропаете?
__sa__nya
28-07-2022, 11:27
А что делаете с этими состояниями ESTABLISHED, RELATED?
Тоже дропаете? »
Эти состояния вообще не менял.
Т.е., что у меня происходит.
Очистил все настройки iptables. После перезагрузки вывод Iptables --line-number -L -v -n такой:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destina tion
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destina tion
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destina tion
Т.е. в цепочках пусто, все исходящие и входящие работают.
Хочу чтобы по умолчанию входящие были закрыты, меняю для Input ACCEPT на DROP:
iptables -P INPUT DROP
После этого исходящие отваливаются.
При этом, что интересно когда я в цепочку INPUT добавляю разрешающе правило на ping - комп начинает пинговаться, НО даже если я в цепочку OUTPUT прописываю исходящее правило, на ping - комп по прежнему никого пинговать не может.
Попробуйте так, в INPUT:
-P ACCEPT
-f -j DROP
-m state --state ESTABLISHED,RELATED -j ACCEPT
-j DROP
__sa__nya
03-08-2022, 14:39
NickM, был занят сильно другими заданиями. Возвращаюсь к теме. Так если поменять политику на ACCEPT по умолчанию - значит все входящие будут допускаться ? - 1-я строчка в вашем коде.
Так если поменять политику на ACCEPT по умолчанию - значит все входящие будут допускаться ? - 1-я строчка в вашем коде. »
-P ACCEPT »
Нет, не совсем так.
Первая строка разрешает передачу цели по цепочке, где применяются правила.
Если соответствий правилам не было, последняя строка отбрасывает все цели.
__sa__nya
04-08-2022, 07:13
Первая строка разрешает передачу цели по цепочке, где применяются правила. »
Разве первая строчка не меняет политику цепочки INPUT на ACCEPT по умолчанию ?
Разве первая строчка не меняет политику цепочки INPUT на ACCEPT по умолчанию ? »
Вы можете проверить это у Себя на файрволле.
__sa__nya
04-08-2022, 10:05
NickM, сделал. Команды:
iptables -P INPUT ACCEPT
iptables -A INPUT -f -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP
Сейчас ситуация, что точно пускает ping, хотя явного разрешающего правила нет. Почему так ?
iptables -P INPUT ACCEPT »
iptables -A INPUT -P ACCEPT
__sa__nya
04-08-2022, 12:48
Сейчас ситуация, что точно пускает ping, хотя явного разрешающего правила нет. Почему так ? »
А сейчас не пускает... Видимо активная сессия была на момент применения команд, и ее не рубануло сразу ?
Видимо активная сессия была на момент применения команд, и ее не рубануло сразу? »
После изменения правил файрволла, полезным бывает перезапускать сетевые интерфейсы.
Но Вам, сначала, надо увидеть разницу в приведённых и введённых правилах.
__sa__nya
27-08-2022, 13:38
Здравствуйте. Вернулся к по-прежнему актуальной для меня теме.
Цитата __sa__nya:
iptables -P INPUT ACCEPT »
Код:
iptables -A INPUT -P ACCEPT »
- Не работает такая команда:
https://i.ibb.co/8mC8yL9/sudo-iptables.jpg (https://imgbb.com/)
как вставить картинку на сайт (https://ru.imgbb.com/)
__sa__nya
31-08-2022, 14:48
NickM, можете мне объяснить суть команды "iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT " ? Я по описанию понял что она нужна для соединений ESTABLISHED, RELATED, но, как написано в справке, например здесь (https://selectel.ru/blog/setup-iptables-linux/):
ESTABLISHED — соединение установлено, пришел уже не первый пакет в рамках этого сеанса. При правильной настройке iptables — такие пакеты проходят по системе без фильтрации, поскольку она уже была выполнена для первого пакета соединения;
Т.е., я понял это так, что если правила правильно настроены, то без этой команды никуда. Я не смог настроить с помощью тех команд которые вы прислали, т.к. после них по-прежнему нет исходящих соединений. Вернулся обратно к тому, что поставил политику для INPUT в DROP. Далее, как я понимаю, чтобы правильно все заработало, мне нужно для каждого, нужного исходящего соединения на серверер, прописать правило для входящего соединения ( когда сервер получает ответ, чтобы этот ответ не отбрасывался). Вопрос: как это сделать ? Например, как сделать соединения для возможности исходящих соединений для DNS, ping, http, https ?
можете мне объяснить суть команды »
Объяснять Своими словами наверное не стоит, а прочитать, о том, что писал чуть выше можно, например, здесь (https://www.galkov.pro/ru/configure_iptables_on_ubuntu_and_centos/).
Отмечу, что у Себя использую отличную от указанной в сабже системы и в Моём случае все правила iptables статичные и лежат/ настраиваются через файлы, а не ввод команд.
__sa__nya
05-09-2022, 09:41
Объяснять Своими словами наверное не стоит, а прочитать, о том, что писал чуть выше можно, например, здесь. »
- Ясно. Пойду учиться :-)
Про настройку через файлы. Я сейчас просто имею нулевой опыт в Linux'е. И, как говорится - какую справку нашел, по такой и пробую :-). Но буду иметь ввиду что через файлы можно.
__sa__nya
08-09-2022, 12:34
Решил вопрос следующим образом.
1. Меняю политику по умолчанию в цепочке INPUT с ACCEPT на DROP: iptables --policy INPUT DROP
2. Делаю правило разрешения соединений с состояниями established, related: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3. Для каждого неработающего исходящего подключения, делаю разрешающее правило входящего подключения. Например, для успешного получения компом ДНС-запросов делаю:
Iptables -A INPUT -p tcp --dport 53 -j ACCEPT
Iptables -A INPUT -p udp --dport 53 -j ACCEPT
И т.д. по другим соединениям. Исходящие http и https например работают сразу.
4. Сохраняю правила.
Apt install iptables-persistent
Service netfilter-persistent save
После этой настройки все на сервере работает как мне надо.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.