Назад | Перейти на главную страницу

Запретить с localhost с помощью ufw

У меня есть служба, работающая на порту 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.