프록시(Proxy)
프록시란 네트워크 통신에서 중계 역할을 하는 개념적인 메커니즘을 의미하며, 특정 기능을 제공하는 기술적 용어이다.
포워드 프록시 (Forward Proxy)
포워드 프록시는 클라이언트(사용자)가 외부 서버에 접근할 때 중간에서 대리 역할을 한다.. 클라이언트의 요청을 받아서 외부 서버에 전달하고, 그 응답을 다시 클라이언트에게 전달하는 방식으로 작동한다.
특징
- 익명성: 클라이언트의 IP 주소를 숨기고 프록시 서버의 IP 주소로 대체하여 익명성을 제공한다.
- 접근 제어: 특정 웹사이트에 대한 접근을 제한하거나 허용하는 데 사용된다. 예를 들어, 회사나 학교에서 특정 사이트를 차단할 때 유용하다.
- 캐싱: 자주 요청되는 데이터를 캐싱하여 응답 시간을 단축하고 네트워크 대역폭을 절약할 수 있다.
- 우회: 인터넷 검열을 우회하거나 지리적으로 제한된 콘텐츠에 접근할 수 있도록 도와준다.
리버스 프록시 (Reverse Proxy)
리버스 프록시는 외부 클라이언트의 요청을 받아 내부 서버로 전달하고, 내부 서버의 응답을 클라이언트에게 전달하는 방식으로 작동한다. 리버스 프록시는 보통 클라이언트의 존재를 알리지 않으며, 사용자는 요청이 리버스 프록시를 거쳐 갔다는 사실을 인지하지 못한다.
특징:
- 로드 밸런싱: 여러 서버에 걸쳐 트래픽을 분산시켜 서버의 부하를 줄이고, 웹사이트의 성능과 안정성을 높인다.
- 보안: 내부 서버의 구조와 위치를 감추어 외부 공격으로부터 보호한다. 또한 SSL/TLS 종료(암호화 해제)를 통해 보안을 강화할 수 있다.
- 캐싱: 웹 콘텐츠를 캐싱하여 응답 시간을 줄이고 서버의 부하를 줄일 수 있다.
- SSL 가속화: SSL/TLS 암호화 및 복호화 작업을 리버스 프록시에서 처리하여 백엔드 서버의 부담을 줄인다.
포워드 프록시는 클라이언트 측에서 사용되며, 클라이언트의 요청을 대신하여 외부 서버에 접근한다. 반면 리버스 프록시는 서버 측에서 사용되며, 클라이언트의 요청을 받아 내부 서버로 전달하는 차이가 있다.
웹 프록시 툴
웹 프록시 툴은 사용자가 특정 웹사이트에 접근할 때 프록시 서버를 통해 접근하게 해주는 도구이다. 브라우저 확장 프로그램, 웹사이트, 소프트웨어 형태로 제공된다.
프록시 서버
이러한 프록시 기능을 실제로 수행하는 하드웨어나 소프트웨어 시스템을 의미한다. 프록시 서버는 물리적 서버일 수도 있고, 가상화된 서버일 수도 있다.
VPN (Virtual Private Network)
VPN이란 인터넷과 같은 공용 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. VPN은 데이터가 공용 네트워크를 통해 전송되더라도 안전하고 비공개적으로 통신할 수 있도록 한다. 이는 원격지 사용자나 지사들이 본사 네트워크에 안전하게 접속할 수 있도록 하며, 개인 사용자의 경우 온라인 프라이버시를 보호하는 데 사용된다.
동작과정
- VPN 클라이언트와 서버의 연결
- 사용자가 VPN 클라이언트를 실행하고 VPN 서버에 접속을 요청한다. 이 과정에서 사용자의 인증 정보가 사용된다.
- VPN 서버는 사용자의 요청을 받아 인증을 확인한 후, 암호화된 연결을 설정한다.
- 암호화된 터널 생성
- 암호화: VPN 클라이언트와 서버 간의 모든 데이터 트래픽은 암호화된다.
- 터널링 : 터널링이란 두 지점 간에 보안 채널을 형성하여 데이터를 전송하는 기술이다. 암호화된 데이터 패킷을 공용 네트워크를 통해 전송할 때 사용된다.
- 데이터 전송 과정
- 사용자가 VPN을 통해 웹사이트에 접속하거나 데이터를 전송하려고 할 때, VPN 클라이언트는 사용자의 데이터를 암호화한다.
- 암호화된 데이터는 공용 네트워크를 통해 VPN 서버로 전송된다. 이 과정에서 데이터는 보안된 터널을 통해 이동하므로 데이터를 도청을 하더라도 내용 해독이 불가능하다.
- VPN 서버는 암호화된 데이터를 수신한 후, 이를 복호화한다. 복호화된 데이터는 원래 목적지(예: 웹사이트, 서버)로 전송된다.
- 원격 서버나 웹사이트에서의 응답 또한 VPN 서버를 통해 전달된다. 응답 데이터는 VPN 서버에서 암호화되어 사용자의 VPN 클라이언트로 전송되고, 클라이언트는 이를 복호화하여 사용자에게 제공한다.
VPN와 프록시(Proxy)의 차이점
VPN(가상 사설망)과 프록시는 모두 사용자의 네트워크 트래픽을 중개하는 역할을 하지만, 그 방식과 보안 수준에서 차이가 있다.
- 보안 수준: VPN은 프록시보다 더 높은 수준의 암호화를 제공하며, 전체 트래픽을 보호한다. 반면, 프록시는 특정 애플리케이션의 트래픽만 처리할 수 있다.
- 사용 범위: VPN은 운영 체제 수준에서 모든 네트워크 트래픽을 처리하지만, 프록시는 보통 특정 애플리케이션(예: 웹 브라우저)의 트래픽만 처리한다.
- 기능성: VPN은 보안 연결 외에도 IP 주소 변경, 위치 숨기기, 지리적 제한 우회 등의 기능을 제공한다.
참고
https://velog.io/@younghyun/%ED%94%84%EB%A1%9D%EC%8B%9CProxy%EB%9E%80
https://engineer-mole.tistory.com/288
https://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81%EC%82%AC%EC%84%A4%EB%A7%9D
https://velog.io/@younghyun/VPN%EC%9D%B4%EB%9E%80
'KnockOn Bootcamp' 카테고리의 다른 글
[2주차 TIL] KnockOn Bootcamp(HTML) (0) | 2024.08.08 |
---|---|
[1주차 TIL] KnockOn Bootcamp(HTML,CSS,JS) (0) | 2024.08.06 |
[1주차 TIL] KnockOn Bootcamp(패킷-Packet) (0) | 2024.08.06 |
[1주차 TIL] KnockOn Bootcamp(쿠키-Cookie,세션-Session,JWT) (0) | 2024.08.06 |
[1주차 TIL] KnockOn Bootcamp(HTTP,HTTPS,SSL) (0) | 2024.08.06 |