자체 전달자 AllowTCPFowarding=no를 설치하여 sshd를 우회합니까?

자체 전달자 AllowTCPFowarding=no를 설치하여 sshd를 우회합니까?

sshd_configAllowTCPForwarding옵션 에 대한 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.

Tcp 전달 허용

TCP 전달이 허용되는지 여부를 지정합니다. 기본값은 "예"입니다. 사용자는 언제든지 자체 전달자를 설치할 수 있으므로 TCP 전달을 비활성화해도 사용자가 셸 액세스를 거부하지 않는 한 보안이 향상되지 않습니다.

누군가 이것에 대해 자세히 설명해 주시겠습니까? TcpForwarding을 우회하기 위해 누군가 자신의 전달자를 어떻게 설치할 수 있는지 이해할 수 없습니다. 일종의 프록시 서버를 설치한 다음 원격 프록시 서버에 대한 터널을 만들어야 합니까?

답변1

음, SSH 전달은 프록시 서버입니다. 한쪽에서 연결을 수락한 다음 다른 쪽에서 연결을 설정하고 둘 사이에 데이터를 전달하는 방식으로 작동합니다.

이것도 쉽게 할 수 있습니다. 예를 들어 netcat을 사용하면 다음과 같습니다.

nc -l -p 1234 ⇆ ssh user@remote 'nc remote2 80'

설립을 상징하는 것입니다 .양방향 튜브. 이것은 어느 정도 트릭을 수행해야 합니다(버퍼링 문제를 무시함).

내장된 것만큼 좋지는 않지만 물론 선택한 스크립팅 언어에 대해 약간의 작업을 수행하면 괜찮을 것입니다.

답변2

셸 액세스 권한이 있는 사용자는 sshd자신의 구성(예: TCP 전달 허용)을 사용하여 권한이 없는 포트에서 쉽게 실행할 수 있습니다. 따라서 일반 시스템 데몬에 대해 이를 비활성화하는 것은 다른 강화 작업을 많이 수행하지 않는 한 별 의미가 없습니다.

관련 정보