У меня есть служба, работающая на порту 1339. Можно ли отклонить запросы от localhost к этому порту? В настоящее время у меня есть правило ufw, разрешающее запросы с указанного IP-адреса, но localhost также может получить доступ к порту. Я не хочу, чтобы пользователи, вошедшие на сервер, получали доступ к URL-адресу с помощью curl или wget, порт должен быть доступен только с указанного IP-адреса. Это возможно?
Согласно тому, что я пробовал, использование ufw невозможно.
Ufw хранит определенные пользователем правила в отдельной цепочке iptables (ufw-пользовательский ввод для цепочки INPUT и так далее).
К сожалению, если вы проверите цепочку INPUT, ufw-пользовательский ввод subchain - последняя. Первый называется ufw-before-input и содержит правило, которое принимает все коммуникации localhost. Благодаря этому iptables никогда не попадает в ваше правило localhost, которое, если оно определено в ufw-пользовательский ввод.
В конце я отключил связь localhost, вставив это правило как первое правило в цепочку INPUT напрямую. Это можно сделать примерно так:
sudo iptables -I INPUT -p tcp -i lo --dport 5702 -j DROP
Это отбросит все пакеты, которые поступают на TCP-порт 5702 на локальном хосте.
Если вы хотите проверить все цепочки в iptables, используйте:
sudo iptables -nvL
Я думаю, это должно быть возможно примерно так:
ufw deny from 127.0.0.1 to any port 1339
Согласно синтаксису ufw, именно так вы блокируете определенный порт на определенном IP.