프록시 서버 (Proxy Server) !?
- 인터넷에서 유저를 대신해서 데이터를 가져오는 서버이다.
- 원래라면 클라이언트가 직접 서버에 접근해서 데이터를 가져와야 하지만 이를 프록시 서버가 대신 해준다.
- ex) 클라이언트가 naver의 주소를 입력하고 접속을 기다린다. 프록시 서버가 이 요청을 받아서 네이버의 서버에 도착해서 웹페이지를 가져다가 클라이언트에게 보내준다.
- 프록시는 '대리'라는 뜻이 있다.
프록시 서버 사용 이유
- 개인 정보 보호가 가능하다.
: 프록시 서버 없이 네이버의 서버에 요청시엔 나의 IP 주소도 전달이 되게 된다. 프록시 서버를 사용하면 프록시 서버의 IP가 전달된다.
- 캐시 사용 - 속도 향상
: 프록시 서버가 웹 페이지를 가져올 때 자신의 DB에 최근 데이터를 저장해 놓는다. 이것을 캐시라고 한다.
: 다른 클라이언트가 접속 시에 캐시된 웹페이지가 있다면 서버에서 바로 클라이언트에 전송함으로써 속도를 향상 시킬 수 있다.
: 캐시 기능을 사용하면 인터넷으로 데이터를 수집하러 나갈 필요가 없어서 대역폭을 줄이는 효과도 있다.
- 로그 기록 관리
: 서버로의 개인 정보는 보호되지만 프록시 서버는 클라이언트의 로그 기록을 확인할 수 있다. 프록시 서버가 방문할 수 있는 웹사이트를 제한한다.
- 방화벽
: 프락시 서버와 방화벽은 다른 것이지만 보안을 위해 함께 일한다.
: 프락시는 요청을 방화벽은 네트워크 패킷을 제어한다.
- 접속 우회
: 프록시 서버는 여러 대 연결 가능하다.
: 클라이언트 -> 프록시 서버1 -> 프록시 서버2 -> 서버
: 클라이언트의 IP를 숨기기 위해 여러 프록시 서버를 경유하는 기술을 Proxy Chaining 이라고 합니다.
: 흔히 해커들의 IP 주소를 숨기고 공격할 때 쓰는 수법으로 알려져 있습니다.
🔗 Proxy Chaining
Proxy Chaining이 완벽한 기술은 아니다. 어쨋듯 서버에는 프록시 서버의 주소가 남을테니 추적을 거듭하면 클라이언트를 알아낼 수 있다. 여러 국가를 우회한다면 힘들 수도 있따.
🖇 암호화 문제
프록시 서버에서는 데이터를 암호화 하지 않는다.
프록시 서버가 사용하는 네트워크는 기본적으로 공용망이기에 장비만 갖춘다면 해커나 공공기관 ISP에서도 클라이언트가 보내는 데이터를 탈취 할 수 있다.
정보 암호화를 위해선 VPN을 사용하여야 한다.
VPN은 가상 사설 네트워크로 서버와 클라이언트 간 보안 처리 된 터널을 만들어둔다. 이 터널에서 암호화된 데이터를 주고 받기에 보안이 유지된다.
Reference