SSH туннелирование?

13

У меня есть компьютер с SSH, к которому я хотел бы предоставить своим друзьям доступ, но я не хочу, чтобы они использовали мое интернет-соединение через туннелирование SSH (хотя я бы хотел сделать это сам). Есть ли способ вести журнал о том, когда создаются SSH-туннели и какими (локальными) пользователями или, если это невозможно, разрешить это делать только некоторым пользователям?

Frxstrem
источник
Вы хотите запретить всем пользователям доступ в Интернет или просто переадресацию портов?
JanC
1
Я только хочу запретить переадресацию портов и прокси SOCKS через SSH.
Frxstrem

Ответы:

10

Если ваши друзья могут использовать SSH на вашем компьютере, они используют часть вашей пропускной способности, и поэтому невозможно полностью заблокировать им доступ к вашему интернет-соединению.

При этом одним из решений было бы ограничить то, что ваши друзья могут делать с вашим соединением. Вы можете настроить брандмауэр, который вносит в белый список IP-адреса вашего друга и помещает в черный список все остальное. Таким образом, ваши друзья смогут использовать SSH на вашем компьютере, но оттуда не смогут получить доступ к любому другому IP, кроме их собственного.

Я никогда не настраивал брандмауэр для конкретного пользователя , но считаю, что этого можно добиться с помощью IPTables . Кроме того, имейте в виду, что ваши пользователи могут по-прежнему поглощать большую часть вашей пропускной способности, загружая большие файлы на ваш сервер. Если вы хотите предотвратить это, вам нужно ограничить пропускную способность для каждого пользователя .

Оливье Лалонд
источник
9

Вы хотите убедиться, что / etc / ssh / sshd_config содержит

AllowTcpForwarding no

а затем в конце файла положить

Match User yourusername
    AllowTcpForwarding yes

Это позволит вам и только вам перенаправить содержимое вашего сердца, но, как сказал Жоао, вы не сможете запретить им запускать свои собственные программы, если вы не отключите доступ к оболочке.


источник
8

Обратите внимание, что хотя вы можете отключить пересылку TCP с помощью sshd, вам нужно пойти гораздо дальше, чтобы ограничить исходящую активность ваших пользователей. Дать им скорлупу - значит дать им много сил.

Например, если они могут scp файлы на сервер и выполнять файлы в / home, они могут просто загрузить двоичный файл pppd и использовать его для запуска PPP через SSH. Если вы разрешите входящие соединения, они могут просто запустить /usr/sbin/sshd -p 9999 -f special_sshd_configи использовать ваш сервер через этот sshd.

Возможно, вы захотите взглянуть на модуль владельца iptables (man iptables, search for owner) и тюрьмы chroot, но это действительно трудно решить, не испортив их оболочку.

SpamapS
источник
1

Единственный вариант, который мне нужен, - отключить туннелирование на системном уровне.

Отредактируйте / etc / ssh / sshd_config и измените / добавьте

AllowTcpForwarding no

Обратите внимание, что, имея доступ к оболочке, невозможно запретить пользователям использовать свои собственные двоичные файлы для пересылки соединений.

Жоау Пинту
источник
1
Это не приемлемое решение, так как я должен сам использовать SSH туннелирование (как я уже сказал в своем вопросе).
Frxstrem
Это фактически отключает его на уровне приложения.
Chiggsy
0

Первая итерация:

Отключите пересылку по ssh для них. в сш

Вы включаете IPSec для себя и VPN на свой сервер. IPSec является сетевым уровнем, поэтому не зависит от настроек приложения SSH.

chiggsy
источник