(생필) 보안 이야기

프락시(Proxy) 한방에 이해하기 (왜 프락시는 위험할까?)

생활IT 2024. 4. 10. 12:56
반응형

 

프락시? 아마도 한번 정도는 들어보셨을 듯 한데요.

아시는 분들은 의도적으로 나의 IP 주소를 숨기기 위해 또는 특정 국가에서 접속이 허락되지 않는 사이트에 접속하기 위해  "프락시 서비스(Proxy)"를 이용하기도 하십니다.

 

간단히 그림으로 표현하면 아래와 같습니다. 어떤 웹 서버에 접속할 때 나의 IP 주소로 연결되는 것이 아니라 Proxy 서버의 주소로 접속이 되는데요. 이런 이유로 인해 내 IP 주소가 숨겨지게 됩니다.

 

그럼 이 Proxy 서버가 어떻게 동작하는지, 그리고, 또 어떠한 "위협"이 있을 수 있는지 자세히 설명드려볼께요~ 

 

자, 우선 내 PC가 프락시 서버에 연결되기 위해서는 브라우저에서 설정을 먼저 해줘야 합니다. 

(그 이유는 모든 요청을 "프락시 서버"로 전달해야 하기 때문입니다.)

 

브라우저의 "시스템" 설정에서 보시면 "컴퓨터 프록시 설정 열기" 란 항목이 있어요. "프록시 서버 사용"으로 하시고, 프락시 서버의 IP 주소와 포트 번호를 입력하시면 설정 끝! 입니다. 설정은 참 쉽죠? ^^

자 이제부터는 모든 웹 접속은 이 곳에 입력하신 프락시 서버로 전달되게 됩니다.

 

그리고, 프락시 서버는 내 PC의 입장에서는 하나의 웹 서버처럼 동작하고, 내 모든 연결은 프락시 서버로만 연결되는데요.

프락시 서버는 내가 요청한 사이트를 대신 접속하고 그 데이터를 받아서 나에게 전달하는 구조가 됩니다. 

 

내가 만약 HTTP 사이트에 접속을 시도할 경우에는 프락시 서버 등록 전/후 차이가 전혀 없습니다. 

 

하지만, HTTPS 사잍에 접속하실 때는 "프락시 서버"도 HTTPS 서버로 동작해야 하기에 "인증서"가 필요하고, 이 인증서가 "공인기관에서 발급받은 인증서"가 아니라면 인증서 경고창이 나타나게 됩니다.

(왜 경고창이 뜨는지 궁금하신 분들은 제 다른글 https://donotfear.tistory.com/52 참고 부탁드려요 )

계속 연결을 위해 "고급"을 누르고, 이동 링크를 클릭하시면 되는데요.

 

이 경우, 프락시 서버를 통해서 HTTPS 사이트에도 정상적으로 접속할 수 있게 됩니다. 

 

결국, 내가 요청한 패킷을 받아서, 그것을 프락시 서버가 원래 내가 접속하고자 했던 서버로 그것을 전달하고, 다시 그것을 받아서 나에게 전달하는 구조가 되는거죠.

 

자 그럼 여기서 부터 중요한 부분인데요.

 

우리는 웹 서버와 연결될 때 보통 HTTPS, 즉, 암호화 된 통신을 수행하는데요.

 

하지만, 중간에 프락시가 있을 경우 이것을 복호화해서 나의 패킷을 볼 수 있게 됩니다. (MITM : Man In The Middle)

그럼 제가 접속한 HTTPS 사이트가 어떻게 복호화 되서 보이는 지 보여드리겠습니다.

 

복호화 한 패킷을 와이어샤크로 실행하여 필터링 한 화면인데요. 내가 요청한 것들과 쿠키 정보까지 모두 보여집니다.

 

 

모든 프락시 서비스를 운영하는 업체가 이러한 패킷을 수집하는 지는 알 수는 없습니다. 

 

하지만, 그들은 이러한 일을 어렵지 않게 할 수 있다! 는 것이 중요하겠죠 ^^

 

어쩔 수 없이 프락시 서비스를 이용하시더라도 이러한 내용들을 충분히 이해하고 사용하셨으면 좋겠습니다. 

 

반응형