ssh 터널링 예제

이 터널링 방법을 이해하면 로컬 개발 서버, 특히 보안 터널을 통해 인터넷에 NAT 및 방화벽 뒤에 쉽고 안전하게 노출할 수 있습니다. Ngrok, 페이지 카이트, 로컬 터널 및 많은 다른 사람과 같은 터널은 비슷한 방식으로 작동합니다. 또 다른 예는 Tip 7의 ssh-copy-id 바로 가기와 동일한 기능을 수행합니다. SSH 터널링만큼 유용한 것은 기업 IT 보안 팀에서 해결해야 하는 위험도 포함합니다. SSH 연결은 강력한 암호화로 보호됩니다. 따라서 대부분의 배포된 네트워크 모니터링 및 트래픽 필터링 솔루션에는 해당 콘텐츠가 보이지 않습니다. 이러한 투명성은 데이터 유출과 같은 악의적인 목적으로 사용되는 경우 상당한 위험 잠재력을 수반합니다. 사이버 범죄자 나 악성 코드는 SSH를 악용하여 승인되지 않은 통신을 숨기거나 대상 네트워크에서 도난당한 데이터를 유출 할 수 있습니다. 이 예제에서는 터널을 원격 서버에서 10.10.10.10에서 실행되는 웹 서버로 전달합니다.

원격 서버 -> 10.10.10.10의 트래픽이 더 이상 ssh 터널 내에 있지 않습니다. 10.10.10.10의 웹 서버는 원격 서버를 웹 요청의 소스로 볼 수 있습니다. 단점은 서버에 로그인할 수 있는 모든 사용자가 포트 포워딩을 활성화할 수 있다는 것입니다. 이는 내부 IT 인력이 클라우드의 홈 컴퓨터 나 서버에 로그인하여 서버에서 엔터프라이즈 인트라넷으로 작업 컴퓨터 또는 적합한 서버로 포트를 전달하는 데 널리 악용됩니다. 해커와 맬웨어도 마찬가지로 이를 사용하여 내부 네트워크에 백도어를 남길 수 있습니다. 또한 제어되지 않은 터널링을 허용하는 여러 장치를 통해 공격을 boucing하여 공격자의 흔적을 숨기는 데 사용할 수 있습니다. 자세한 구성 지침은 구성 예제 페이지를 참조하십시오. SSH 명령줄 옵션과 SSH 서버 구성 파일 페이지도 유용할 수 있습니다. 이렇게 하려면 SSH 서버와 SSH 연결을 설정하고 클라이언트에게 로컬 PC(예: 포트 1234)에서 데이터베이스 서버의 주소와 사무실 네트워크의 포트로 특정 포트에서 트래픽을 전달하도록 지시합니다.

따라서 포트 1234에서 현재 PC인 „localhost”에서 데이터베이스 서버에 액세스하려고 하면 해당 트래픽이 SSH 연결을 통해 자동으로 „터널”되어 데이터베이스 서버로 전송됩니다. SSH 서버는 중간에 앉아 트래픽을 앞뒤로 전달합니다. 모든 명령줄 또는 그래픽 도구를 사용하여 로컬 PC에서 실행 중인 것처럼 데이터베이스 서버에 액세스할 수 있습니다. SSH 프록시 기능은 좋은 이유로 1 위에 배치되었습니다. 거의 모든 응용 프로그램을 사용하여 원격 서버가 도달 할 수있는 모든 시스템에 액세스 할 수 있다는 것을 많은 사용자가 깨닫는 것보다 더 강력합니다. ssh 클라이언트는 빠른 하나의 라이너로 SOCKS 프록시 서버를 사용하여 연결을 통해 트래픽을 터널로 만들 수 있습니다. 이해해야 할 중요한 점은 원격 시스템에 대한 트래픽에 원격 서버의 소스가 있다는 것입니다. 예를 들어 웹 서버 로그 파일입니다.

SSH 세션은 기본적으로 터널링 네트워크 연결을 허용하며 로컬, 원격 및 동적 포트 포워딩의 세 가지 유형의 SSH 포트 포워딩이 있습니다. 또한 터널링 공격은 SSH에만 국한되지 않습니다 – 유능한 프로그래머는 몇 시간 안에 터널 포트에 도구를 작성하고 내부 네트워크의 모든 컴퓨터에서 실행할 수 있습니다.