프록시(Proxy)란?
'대리'나 '대신'의 의미로 클라이언트와 서버 사이에 존재하여 중계기 역할로 통신을 수행하는 것을 말합니다
세부적으로 설명하자면 클라이언트가 프록시 서버로 데이터를 전달 > 프록시 서버는 전달받은 데이터를 서버에 요청 > 서버는 요청받은 데이터를 다시 프록시 서버로 전달 > 프록시 서버는 서버로 받은 데이터를 클라이언트에게 전달하는 순서로 진행됩니다
🔧 프록시의 특징
1. 프록시 서버를 통해 데이터를 주고받는 이유는 보안적인 문제가 있습니다
- 예를 들어 프록시 서버를 사용하지 않고 사용자 쪽에서 해당 서버로 정보를 요청하게 되면 서버의 주소가 쉽게 노출되기 쉽고, 이를 통해 다른 사용자가 서버로 접근할 수 있다
- 프록시 서버를 사용하면 다른 사용자가 서버의 위치의 접근하기가 어려워집니다 이처럼 서버의 IP를 숨기는 게 가능하고, 외부로부터 위험을 막아주는 역할을 한다
2. 프록시 서버를 통해 사이트를 우회할 수 있다
- 서버의 IP 주소를 숨길 수 있기 때문에 언제 어디서 접속했는지 숨길 수 있습니다
- 결과적으로 IP를 통해 접속을 감지하는 사이트를 프록시 서버를 이용하여 우회할 수 있다
🔧 프록시 종류
프록시(Proxy)는 포워드 프록시와 리버스 프록시로 나뉘어져 있습니다
포워드 프록시는 클라이언트가 서버에 데이터를 요청할 때 데이터가 서버로 바로 요청되는 것이 아닌 프록시 서버로 데이터가 거치는 과정을 말합니다
포워드 프록시의 장점은 서버에 캐시 데이터를 저장할 수 있다는 점입니다 해당 서버로 다시 데이터를 요청할 때 캐시에 남아있는 데이터를 클라이언트에게 전달하기 때문에 사이트에 접속하는 속도가 빨라집니다
리버스 프록시는 포워드 프록시와 반대로 서버에서 클라이언트에게 정보를 전달하지 않고 프록시 서버를 거치는 과정을 말합니다 리버스 프록시의 장점은 포워드 프록시와 동일하게 서버에 캐시 데이터를 저장할 수 있고, 웹 서버에 부정 액세스나 사용을 방지할 수 있습니다
이렇게 간단히 프록시 서버에 대해 살펴봤는데 웹 프록시 툴인 버프 스위트(Burp Suite), 피들러(Fiddler)와 같은 툴을 이용하여 웹 요청이나 응답 값을 중간에 변조할 수 있습니다 이번 프록시 개념을 바탕으로 피들러(Fiddler)라는 웹 프록시 툴의 기능과 간단한 실습을 진행할 예정입니다
[ 참고 자료 ]
[ 참고 사이트 ]