У меня есть коробка, которая запускает и ssh-сервер, и веб-сервер.
Так например:
ssh -D1234 myhost.com
myhost.com
через этот прокси должно работатьЯ предполагаю, что это можно было бы сделать грубо, просто закрыв исходящий порт 80, но это (а) не помешало бы людям туннелировать не-веб-трафик и (б) запретить любому пользователю на коробке доступ к веб-сайтам. Возможен ли более тонкий способ сделать это, в идеале, ограничив то, что sshd будет разрешать туннелировать?
Вы можете ограничить количество хостов, доступных через туннель, с помощью параметра PermitOpen в файле sshd_config.
PermitOpen <TheIPYourWebServerListensOn>:80
Если вы используете localhost
так как TheIPYourWebServerListensOn
вам, вероятно, потребуется указать вашему прокси-клиенту использовать его даже для запросов, адресованных localhost
. Что-то, что может сбивать с толку.
Также, пожалуйста, имейте в виду, что в SOCKS5 разрешение DNS происходит / может происходить на стороне прокси, что позволяет очень удобные настройки, такие как определение локальных псевдонимов для сервера в файле hosts.
Забыл сказать, что вы можете добавить несколько комбинаций хост: порт. Вам просто нужно разделить их пробелами. Ссылка на страницу руководства sshd_config. Надеюсь это поможет!
С участием PermitOpen
в sshd_config вы, безусловно, можете добиться такой настройки.
Однако имейте в виду, что отключение перенаправления портов само по себе не улучшит безопасность, если вы по-прежнему разрешаете пользователям вход в систему через оболочку: они могут напрямую выходить в Интернет с сервера и даже устанавливать свои собственные серверы пересылки. В любом случае вы должны доверять своим пользователям оболочки.
Если вам нужно запретить пользователям доступ к определенным диапазонам портов или даже ко всему Интернету напрямую (разрешить использовать только локальные службы, например, отправлять и получать почту), вы можете использовать iptables'расширенные модули согласования пакетов, именно модуль владелец, что позволяет фильтровать пакеты по uid или gid владельца и даже по имени процесса.