SSH HTTP 터널

SSH HTTP 터널

내 서버의 누군가를 위해 SSH 계정을 설정하려고 하는데, 그 사람에게 터널링된 인터넷 트래픽에 대한 액세스 권한을 부여하고 싶습니다. 나는 사용자의 "쉘"을 /bin/true로 설정했으므로 이제 그들이 SSH를 사용하고 -N을 사용할 때 터널은 쉘 없이 작동합니다(이것이 바로 내가 원하는 것입니다).

이제 웹 브라우징 트래픽만 통과하도록 허용하는 방법이 있는지 궁금합니다(BitTorrent, 이메일 등은 통과하지 않음). sshd_config에서 다음을 시도했습니다.

PermitTunnel yes
PermitOpen any:80

그러나 어떤 이유로 인해 트래픽이 통과하는 것을 허용하지 않습니다. 사람들이 내 터널을 통해 웹 브라우저 등만 사용하도록 허용하는 방법이 있나요?

감사합니다. 필요한 정보를 제공해 드릴 수 있습니다.

서버는 페도라 15를 돌리고 있고, 리눅스도 쓸 줄 알기 때문에 아이 돌볼 필요도 없어요.

추신: SSH 터널의 활동을 기록하는 것도 가능합니까? 예를 들어, 어떤 메시지를 전달하나요? /var/log/secure에는 로그인 로그가 있지만(/bin/bash 대신 /bin/true를 사용하면 로그인이 표시되지 않음) 활동 로그가 없다는 것을 알고 있습니다.

답변1

PermitOpenany유일한 매개변수 인 경우 승인됩니다. 즉, 받아들인다는 뜻입니다 PermitOpen any.
내가 생각할 수 있는 유일한 방법은 iptables 규칙을 사용하는 것입니다.

iptables -I OUTPUT -p tcp ! --dport 80 -m owner --uid-owner 1000 -j REJECT

그러면 포트 80으로 이동하지 않는 사용자 UID=1000의 모든 아웃바운드 트래픽이 거부됩니다.

관련 정보