LINUX.ORG.RU
решено ФорумAdmin

Dynamic ssh proxy

 , ,


0

1

Добрый день!

Пытаюсь сделать юзера для dynamic forwarding.

Пока что получилось вот что:

Match User proxyssh #for proxy only
	X11Forwarding no
	AllowTcpForwarding local
        #TODO: deny local by mask 127/8
	ForceCommand false

Остался один важный момент: он не должен иметь возможность подключатся к портам на loopback (напр 127.0.0.1:80). Те я ищу возможность заблокировать форвардинг по маске 127/8.

Кто нибудь знает, как реализовать чтото подобное?

Примерно так:

iptables -I OUTPUT -m owner --uid-owner proxyssh -d 127/8 -jREJECT

(-p tcp и тонкая настройка по вкусу; )

Может, через ip rule add... uidrange тоже можно (но тогда придётся подвинуть rule для table local, так что даже проверять не буду).

AllowStreamLocalForwarding вам, наверное, тоже лучше отключить.

Варианты с извращениями:

1. Пропатчить в sshd channels.c: connect_to_helper (выкосить ненужное из результатов getaddrinfo, если ничего не осталось - вернуть ошибку). Можно даже опцию запилить, DenyLocalByMask назвать и в upstream отправить.

2. Подгрузить в sshd через LD_PRELOAD какой-нибудь соксификатор, а его уже настраивать на предмет кого-куда пускать.

LeninGad ()
Ответ на: комментарий от LeninGad

AllowStreamLocalForwarding

Прошляпил.

Забавно, что до сих пор никто не добавил опцию типа

DenyLocalByMask

Именно ее и не хватает.

Спасибо за наводки.

Скорее всего буду патчить sshd, как появится время )

cyber_eagle ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.