proxy는 '대리'라는 뜻을 갖고 있다. 클라이언트가 프록시를 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리 역할을 하는 서버를 말한다. 즉, 웹에서 클라이언트를 대신해서 데이터를 가져오는 서버.
프록시 서버의 기본 목적은 인터넷 클라이언트와 인터넷 리소스의 직접 연결을 보호하는 것이다. 또한 프록시 서버는 클라이언트가 다른 서버에 요청을 할 때 클라이언트의 IP 주소 식별을 방지한다.
캐시 데이터를 활용하기에도 좋다. 프록시 서버에 요청된 내용은 굳이 한번 더 서버를 거칠 필요가 없으므로 전송 시간을 아낄 수 있다.
하지만 어쨌든 프록시 서버는 컴퓨터 시스템 혹은 응용 프로그램이다. 응용 프로그램 수준에서만 동작하므로 프록시 서버에서 설정한 어플리케이션에서 발생하는 트래픽만 재라우팅할 수 있으며 사용자의 인터넷 트래픽을 암호화할 수는 없다.
HTTP 프록시
웹 페이지에서만 적합한 프록시. HTTP 프록시로 브라우저를 설정하면 모든 브라우저 트래픽이 해당 경로를 통해 라우팅한다.
SOCKS 프록시
웹 페이지 뿐만 아니라 응용 프로그램에서도 사용할 수 있는 프록시이다. SOCKS 프록시는 모든 종류의 트래픽을 처리할 수 있지만 보통 HTTP 프록시보다 연결 속도가 느리고 로딩 시간이 더 오래 걸린다.
투명(transparent) 프록시
유저들이 투명 프록시를 사용하고 있다는 사실 자체를 모르는 경우가 많다. 일반적으로 투명 프록시는 회사나 부모가 기기 사용자의 온라인 활동을 모니터링하고 특정 웹 사이트에 접근하지 못하도록 차단하고 싶은 경우에 사용되며, 호텔과 카페는 투명 프록시를 통해 공용 와이파이에서 사용자를 인증하고 엑세스 권한을 허용한다.
모든 컴퓨터에는 다른 노드와 통신하는 데 사용하는 고유 IP 주소가 있다. 마찬가지로 프록시 서버에는 컴퓨터가 알고 있는 IP 주소가 있다. 웹 요청이 전송되면 요청이 먼저 프록시 서버로 전송된다. 프록시는 유저(클라이언트)를 대신해서 인터넷에 요청을 보낸 다음 데이터를 수집해 유저(클라이언트)가 사용할 수 있도록 한다. 프록시는 유저(클라이언트)의 IP 주소를 변경할 수 있다. 따라서 웹 서버는 전 세계의 유저(클라이언트)의 location을 가져올 수 없다. 해킹으로부터 데이터를 보호하고, 일부 웹 페이지를 차단할 수도 있다.
Proxy Server Risks
프록시 서버가 위험할 수 있다. 특히 무료 프록시 서버를 설치하는 경우, 성능 문제 및 잠재적인 데이터 보안 문제가 발생할 수 있다. 무료 프록시 서버는 백엔드 하드웨어나 암호화에 많은 투자를 하지 않기 때문이다.
Browsing history log
프록시 서버는 클라이언트의 original IP 주소를 저장하고, 웹 요청 정보를 암호화되지 않은 형식으로 로컬에 저장할 수 있다. 프록시 서버의 데이터를 어떻게 다루는지에 대한 policies를 확인할 필요가 있다.
No encryption
No encryption이란 클라이언트의 요청을 plain text로 보내는 걸 말한다. 프록시가 전체 암호화를 제공하지 않으면, 누구나 유저의 이름과 암호, 계정 정보를 쉽게 가져올 수 있다.
VPN(Virtual Private Network, 가상 사설망)이란 프록시 서버와 마찬가지로 원격 서버를 통해 인터넷 트래픽을 재라우팅하고 실제 IP 주소를 가상 IP 주소로 대체함으로써 웹사이트 측에서 사용자의 실제 IP 주소와 위치를 확인할 수 없도록 한다.
하지만 프록시 서버(응용 프로그램 수준에서 동작)와 달리 VPN은 운영체제 수준에서 동작하므로 브라우저나 백그라운드 앱에서 발생하는 모든 트래픽을 리디렉션할 수 있다는 차이점이 있다.
VPN을 이용하면 Windows, Chrome을 포함한 다양한 플랫폼에서 인터넷과 기기 사이의 트래픽을 암호화할 수 있고 인터넷 업체가 사용자의 온라인 활동을 확인할 수 없도록 한다. 또한 VPN을 사용하면 정부 감시를 회피하고 사이버 범죄와 해킹 공격을 방지할 수 있으며 프라이버시와 보안도 확보할 수 있다.
What is Proxy Server?
프록시 VPN, 서로 어떻게 다를까?
What’s the Difference Between a VPN and a Proxy?