
Я хочу заблокировать все исходящие соединения от определенного пользователя user
после того, как он подключился по ssh к моему серверу (работающему под управлением RHEL 7.4), то есть он user
не должен иметь возможности подключаться по ssh к другим серверам в сети или отправлять им команды ping.
Изначально я настроил следующее firewall-cmd
правило, и оно работало.
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user -j DROP
Однако user
теперь необходимо получить доступ к Jupyter Notebook, также запущенному на том же сервере ( http://localhost:8888
), но не удалось. Произошла ошибка в веб-сокете. После удаления правила брандмауэра выше, user
можно получить доступ к Notebook.
Я не уверен, почему user
не удалось получить доступ localhost
, потому что я думал, что правило блокирует только исходящие соединения.
Как разрешить user
доступ localhost
к любому порту или определенному диапазону портов, при этом заблокировав сетевой доступ ко всем остальным портам?
решение1
Как сказал djdomi, вы хотели бы добавить исключение перед тем правилом DROP, которое у вас уже есть. Это может сработать
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 -m owner --uid-owner user --dport=8888 -j ACCEPT
Поместите его перед правилом, которое у вас уже есть.
БР