Ubuntu 및 OpenSSH 데몬을 실행하는 서버가 있습니다. S1이라고합시다.
원격 포트 전달을 사용하여 SSH 역방향 터널을 수행하기 위해 클라이언트 컴퓨터에서이 서버를 사용합니다 (C1이라고합시다).
ssh -R 1234:localhost:23 login@S1
S1에서는 기본 sshd_config 파일을 사용합니다. 내가 볼 수 있듯이 S1에서 올바른 자격 증명 {login, pwd}를 가진 사람은 S1에 로그인하여 원격 포트 전달 및 로컬 포트 전달을 수행 할 수 있습니다 . 이러한 자격 증명은 미래에 인증서가 될 수 있으므로 인증서를 획득 한 사람은 누구나 다른 곳 (반드시 C1이 아님)에서 S1에 로그인하여 로컬 포트 포워딩을 생성 할 수 있습니다.
나에게 로컬 포트 포워딩을 허용하는 것은 일종의 공용 프록시를 만들 수 있기 때문에 너무 위험합니다. -L 전달 만 비활성화하는 방법을 찾고 있습니다.
다음을 시도했지만 이것은 로컬 및 원격 전달을 모두 비활성화합니다.
AllowTcpForwarding No
나는 또한 다음을 시도했는데, 이것은 -L to SX : 1 만 허용합니다. 아무것도없는 것보다 낫지 만 "없음"옵션 인 내가 필요한 것은 아닙니다.
PermitOpen SX:1
그래서 나는 모든 로컬 포트 포워드가 다음과 같은 것을 작성하는 것을 금지 할 수있는 방법이 있는지 궁금합니다.
PermitOpen none:none
다음은 좋은 생각입니까?
PermitOpen localhost:1
로그인 자격 증명을 가진 사람은 누구나 임의의 포트에서 실행되는 자체 sshd 인스턴스를 가져와 -L 로컬 포워딩을 포함하여 원하는 모든 것을 허용 할 수 있습니다.
% /usr/sbin/sshd -d -f mysshd.config -p 12345
사용자가 귀하의 컴퓨터로 작업을 수행하는 것을 신뢰하지 않는 경우 처음에 로그인을 허용해서는 안됩니다.
(btw, -D 플래그도 일종의 "프록시 문제"입니다.)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다