SSH 터널 보안

SSH 터널 보안

NAT 뒤에는 클러스터(현재 10개 머신)가 있습니다. 개인 네트워크와 일반 기업 네트워크 사이에는 NAT 게이트웨이/점프 호스트가 있습니다.

사용자는 ssh호스트로 점프한 다음 NAT 뒤에 있는 다른 컴퓨터에 액세스할 수 있습니다.

저는 NAT 뒤의 웹 인터페이스를 로컬 시스템으로 터널링하는 데 도움이 되는 간단한 스크립트를 제공하고 싶었습니다.

그래서 내 첫 번째 제안은 SSHocks 프록시를 사용하고 인터페이스를 localhost로 터널링하는 것입니다.

그래서 내 질문은: 이 두 개의 터널(동료의 로컬 컴퓨터에서 점프 호스트로 하나, 점프 호스트에서 NAT 뒤의 해당 컴퓨터로 하나)을 생성하는 경우 이 터널은 얼마나 안전합니까?

worker1누가 이 일을 하는지 상상해보세요 :

ssh -t [email protected] -L 10001:localhost:33388 ssh -t hostxyz.behindnat.tld

점프 호스트에는 루프백 인터페이스를 수신하는 개방형 포트 33388이 있습니다. 점프호스트에 로그인 만 worker2하고 로컬호스트 포트 33388과 이미 설정된 터널 연결을 사용한다면 다시 인증을 하면 안 되겠죠 hostxyz.behindnat.tld?

이것은 나에게 큰 보안 허점처럼 보입니다. 더 나은 해결책이 있습니까?

답변1

귀하의 시나리오는 Jumphost와 Hostxyz 사이에 기존 SSH 세션이 있다는 것을 의미한다고 가정합니다. 이 세션은 Jumphost 수신 포트에 액세스할 수 있는 모든 사람에게 공개됩니다.

기술적으로 서로 다른 두 가지인 양말과 터널을 언급하셨습니다.

작업자1의 양말 프록시를 다음과 같이 설정합니다. ssh [email protected] -D 127.0.0.1:10001

localhost:10001jumphost.tld를 탐색하기 위해 양말을 사용하도록 작업자1의 브라우저를 설정합니다.

Worker1에서 Hostxyz로 직접 SSH를 수행하려면 다음을 수행할 수 있습니다.

  ssh [email protected] -L localhost:10001:hostxyz:22
  ssh user@localhost:10001

이것이 제가하는 것입니다. 나는 .ssh/config 파일을 사용하여 모든 것을 정리합니다. 구성 파일 및 터널에 대한 정보는 다음을 읽어 보는 것이 좋습니다.https://man.openbsd.org/ssh_config또 다른 훌륭한 소개를 보려면 openssh에 대한 Michael W Lucas의 강연을 시청하세요.

관련 정보