카테고리 없음

SSH 터널링

Lawmin 2011. 1. 11. 09:36
서버 - 클라이언트간 통신을 암호화하여 강화된 보안 레벨로 이용할 수 있게 해주는데 목적이 있다.
실제로 암호화 하지 않은 FTP 프로토콜 같은 경우 중간에서 ID / PASSWORD 를 평문으로 확인가능하다.

준비물
1. SSH Tunnel 역할을 할 중간 클라이언트 (한가지만 있어도 됨)
1) Bitvise Tunnelier
- GUI를 지원하며, 개인 사용자의 경우 무료이다.
- 사용하기 쉽다는 점, 트레이에 상주하여 창을 번거롭게 띄워놓을 필요가 없다는 것, 지속적인 연결 모니터링이 가능하다는 것에 큰 점수를 주고 싶다.
2) Putty
- 용량이 작고, 개조되지 않은 버전의 경우 별도 설치가 필요없다.

2. SSH 서버
1) WinSSHD
- Bitvise Tunnelier 를 만든 곳과 같은 회사에서 만든 개인 사용자 무료 SSH 서버이다.
Windows 에서 사용할 수 있는 SSH 서버중 괜찮은 것 같다.

3. 포트 포워드 설정의 기본 지식
1) SSH(22번 포트)를 통해 서버에 연결을 해놓고 로컬에 프로그램을 위한 각각의 포트(입구)를 만들어두고 대기
2) 해당 로컬 포트에 연결하면 22번 포트를 통해 서버의 관련 포트로 연결해주는 방식이다.

[Client]                                      [Server]
11521 ---]                                 [--- 1521
13389 ---|---?번---------22번---|--- 3389
18080 ---]                                 [--- 8080

따라서 서버측은 외부 방화벽에서 22번 포트만 열어 놓으면 되며, 클라이언트는 각 포트 mapping을 해두면 된다.
위와 같은 설정에서는, telnet localhost 11521 이라 하면 서버의 1521 포트에 접속 가능하게 된다.

참고로, 반대로도 이용가능한 것 같은데(VPN 같은건가?) 필요시 사용해보고 내용 추가해봐야 겠다.