sshd_config
이 AllowTCPForwarding
옵션 에 대한 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.
Tcp 전달 허용
TCP 전달이 허용되는지 여부를 지정합니다. 기본값은 "예"입니다. 사용자는 언제든지 자체 전달자를 설치할 수 있으므로 TCP 전달을 비활성화해도 사용자가 셸 액세스를 거부하지 않는 한 보안이 향상되지 않습니다.
누군가 이것에 대해 자세히 설명해 주시겠습니까? TcpForwarding을 우회하기 위해 누군가 자신의 전달자를 어떻게 설치할 수 있는지 이해할 수 없습니다. 일종의 프록시 서버를 설치한 다음 원격 프록시 서버에 대한 터널을 만들어야 합니까?
답변1
음, SSH 전달은 프록시 서버입니다. 한쪽에서 연결을 수락한 다음 다른 쪽에서 연결을 설정하고 둘 사이에 데이터를 전달하는 방식으로 작동합니다.
이것도 쉽게 할 수 있습니다. 예를 들어 netcat을 사용하면 다음과 같습니다.
nc -l -p 1234 ⇆ ssh user@remote 'nc remote2 80'
⇆
설립을 상징하는 것입니다 .양방향 튜브. 이것은 어느 정도 트릭을 수행해야 합니다(버퍼링 문제를 무시함).
내장된 것만큼 좋지는 않지만 물론 선택한 스크립팅 언어에 대해 약간의 작업을 수행하면 괜찮을 것입니다.
답변2
셸 액세스 권한이 있는 사용자는 sshd
자신의 구성(예: TCP 전달 허용)을 사용하여 권한이 없는 포트에서 쉽게 실행할 수 있습니다. 따라서 일반 시스템 데몬에 대해 이를 비활성화하는 것은 다른 강화 작업을 많이 수행하지 않는 한 별 의미가 없습니다.