Proxy ( Forward proxy, Reverse proxy )와 Client-Proxy MitM(Man-in-the-middle)
Proxy = 대신/대리 네트워크에서 proxy는 client나 server를 대신하여/대리하여 요청을 전달한다. 물리적인 위치는 사용자의 컴퓨터일 수도 있고 사용자의 컴퓨터 - 목적지 중간의 한 지점일 수 있다. 왜 대신하는가? 캐싱 자주 요청되는 리소스 or 자주 변하지 않는 리소스의 경우 proxy 서버에 리소스를 저장할 수 있다. - (본 목적지까지 전달했던) network hop을 줄일 수 있다. - 리소스가 캐싱된 스토리지에 따라 더 빠른 응답 시간를 얻을 수 있다. 보안 내부망과 인터넷이 소통하는 지점인 게이트웨이로서 작동. 로그 물리적인 서버, 또는 로컬 컴퓨터에 쌓인 기록을 바탕으로 보안 정책을 구성할 수 있음. 우회 보안과 공통적인 면이 있다. 자신의 실제 IP가 아닌 프록시가 대신 요청을 수행하고 응답을 대신 받아서 본인에게로 전송해준다. 목적 리소스가 있는 컴퓨터에서는 프록시가 요청을 수행한 것으로 인식하고 프록시에게 응답을 돌려준다. Forward proxy 대 Reverse proxy Forward proxy(= gateway, proxy) 1. 클라이언트, 클라이언트 풀에서 나가는 요청 에 대한 제어 수행. 클라이언트는 요청의 출발지 주소를 프록시 주소로 대신 사용함으로서 클라이언트의 원 정보를 숨길 수 있으며 우회 기능을 사용할 수 있음. ex) Tor의 여러 프록시 서버 노드를 경유하는 proxy chaining 요청에 대한 들어오는 응답 에 대한 제어 또한 수행하며 클라이언트 풀의 각각의 클라이언트에게 응답을 돌려준다. 2. HTTP 터널링을 통한 암호화 프록시 서버가 클라이언트 대신 인터넷을 연결한다. TLS를 지원하는 웹 서버에 proxy 서버를 사용하여 연결한다. (http1.1부터 connect method로 TLS tunnel을 사용할 수 있음) connect method가 평문 형태의 http proxy를 ssl 암호화된 요청을 tcp/ip 터널로 전환한다. - client가 http proxy 서버에게 t...