2d3k / CS-Study

기본을 소홀히 하지 말자!!
0 stars 1 forks source link

[Network] 프록시 #13

Open 2d3k opened 1 year ago

2d3k commented 1 year ago

1. 프록시에 대해 설명하시오.

2. 포워드 프록시에 대해 설명하시오.

3. 리버스 프록시에 대해 설명하시오.

2d3k commented 1 year ago

1 프록시(Proxy)란, 클라이언트와 서버 사이에서 중개 역할을 수행하는 서버입니다. 클라이언트는 프록시 서버를 경유하여 원격 서버에 접속하고, 원격 서버는 프록시 서버를 통해 클라이언트와 통신합니다.

프록시 서버를 사용하는 이유는 다양합니다. 그 중 대표적인 이유는 보안과 성능 개선입니다.

먼저 보안 측면에서, 프록시 서버는 클라이언트와 서버 사이에 위치하여 중간에서 통신을 가로챌 수 있습니다. 이를 이용하여 웹 필터링, 악성 코드 차단 등의 보안 기능을 수행할 수 있습니다. 또한, 클라이언트의 IP 주소를 숨기고 대신 프록시 서버의 IP 주소를 사용함으로써 익명성을 제공할 수 있습니다.

또한, 성능 측면에서는 프록시 서버가 캐시를 이용하여 서버의 응답을 저장해둘 수 있습니다. 이렇게 저장된 응답은 다른 클라이언트가 동일한 요청을 할 때 재사용될 수 있으므로, 서버의 부하를 줄이고 응답 시간을 단축할 수 있습니다.

마지막으로, 프록시 서버는 네트워크를 분석하고 제어할 수 있는 다양한 기능을 제공합니다. 예를 들어, 업무용으로 사용되는 네트워크에서는 프록시 서버를 이용하여 인터넷 사용 제한, 악성 코드 차단, 파일 다운로드 제한 등의 정책을 설정할 수 있습니다.

2d3k commented 1 year ago

2 포워드 프록시(Forward Proxy)는 클라이언트가 인터넷에 접속하기 위해 사용하는 프록시 서버입니다. 클라이언트는 포워드 프록시 서버를 경유하여 인터넷에 접속하고, 포워드 프록시 서버는 클라이언트 대신 인터넷과 통신합니다.

포워드 프록시 서버는 클라이언트의 요청을 대신하여 인터넷 상의 다른 서버에 요청을 전달하고, 서버의 응답을 클라이언트에게 반환합니다. 이 때, 클라이언트는 포워드 프록시 서버를 거쳐가므로, 인터넷에 직접 접속하는 것보다 안전하고 보안적으로 더욱 신뢰성 있는 접속이 가능합니다.

포워드 프록시는 다음과 같은 기능을 수행합니다.

익명성 제공: 클라이언트의 IP 주소를 숨기고 프록시 서버의 IP 주소를 사용함으로써 익명성을 제공합니다.

캐싱 기능: 프록시 서버는 클라이언트가 요청한 웹 페이지를 캐시에 저장하여 다음에 동일한 요청이 있을 때 서버에서 다시 가져오는 것이 아니라 캐시에서 바로 제공함으로써 서버의 부하를 줄이고 응답 시간을 단축합니다.

필터링 기능: 포워드 프록시는 클라이언트가 접근하는 웹 사이트의 내용을 검사하고, 일부 웹 사이트를 차단하거나 제한할 수 있습니다. 이를 이용하여 악성 웹 사이트나 부적절한 컨텐츠를 차단할 수 있습니다.

트래픽 제어: 포워드 프록시는 클라이언트가 인터넷으로 전송하는 트래픽 양을 제어할 수 있습니다. 이를 이용하여 업무용 네트워크에서 개인적인 용도로 인터넷을 사용하는 것을 방지하거나, 대역폭을 분배하여 서버의 부하를 조절할 수 있습니다.

2d3k commented 1 year ago

3 리버스 프록시(Reverse Proxy)는 클라이언트와 서버 사이에 위치한 서버입니다. 클라이언트는 리버스 프록시 서버에 요청을 보내고, 리버스 프록시 서버는 요청을 받아 인터넷 상의 다른 서버에 전달하고, 서버의 응답을 클라이언트에게 반환합니다.

리버스 프록시는 다음과 같은 기능을 수행합니다.

보안 기능: 리버스 프록시는 클라이언트의 요청을 받아들이고, 해당 요청이 유효한지, 정당한 요청인지 검증하는 보안 기능을 수행합니다. 또한, 인터넷 상의 서버에 직접 연결하지 않고 리버스 프록시를 거쳐가므로, 서버의 IP 주소를 숨길 수 있습니다.

부하 분산 기능: 리버스 프록시는 여러 대의 서버에 요청을 분산하여 처리할 수 있습니다. 이를 이용하여 웹 서버에 부하가 집중되는 것을 방지하고, 대규모 트래픽 처리를 보다 안정적으로 처리할 수 있습니다.

캐싱 기능: 리버스 프록시는 서버에서 받은 응답을 캐시에 저장하여, 다음에 동일한 요청이 있을 때 서버에서 다시 가져오는 것이 아니라 캐시에서 바로 제공함으로써 응답 시간을 단축합니다.

웹 필터링 기능: 리버스 프록시는 인터넷 상의 다양한 웹 서비스에 대한 요청을 중개하고 검증할 수 있습니다. 이를 이용하여 웹 필터링을 수행하거나, 웹 서비스에 대한 액세스 권한을 관리할 수 있습니다.

hyeonayou commented 1 year ago
  1. Proxy는 사전적 의미로 "대리" 하는 것을 뜻하며 프로토콜 상에서 무엇인가를 대신하는 것을 뜻힙니다. 프록시 서버는 클라이언트에서 서버로 접속할 때 직접적으로 접속하지 않고 중간에 대신 전달해주는 서버를 의미합니다.

프록시 서버를 사용하는 이유에는 크게 세 가지 이유가 존재합니다.

  1. 보안 서버의 주소 노출을 막아 사용자가 서버로 접근하는 위험을 막아 준다.

  2. 캐시 속도를 빠르게 해준다. -> 이전에 했던 요청들을 프록시 서버에 저장(캐시) 해두어 재요청시 서버를 거치지 않고 데이터를 주고 받을 수 있다.

  3. 우회 ip 주소를 감출 수 있기에 어느 곳에서 접속한지 숨길 수 있음. -> ip를 통해 접속을 감지하는 사이트를 프록시 서버를 통해 우회 할 수 있다.

hyeonayou commented 1 year ago
  1. 보안을 위해 사용되는 방식으로 클라이언트에서 요청을 할 때 직접 요청하는 것이 아닌 프록시 서버를 거치는 방식입니다. -> 포워드 프록시 서버는 기관에 속한 유저가 특정 컨텐츠에 접근하는 것을 방지하는데 사용되며, 유저의 정체를 숨겨 ip 주소를 역추적해도 정체를 파악하기 어렵게 할 수 있습니다.

  2. 서버에서 클라이언트에 직접 데이터를 전달하지 않고 프록시 서버를 거치는 방식입니다. -> 로드 밸런싱에 사용되며 서버 과부화를 방지하기 위해 리버스 프록시 서버를 여러개의 서버 앞에 두며 스위칭 방식으로 트래픽을 처리합니다. 또한 리버스 프록시를 사용하면 ip 노출을 시킬 필요가 없어서 DDoS 공격과 같은 공격을 막는데 활용될 수 있습니다.

또한 캐시데이터를 저장할 수 있으며 , 리버스 프록시를 사용하면 들어오는 요청을 모두 복호화하고 나가는 응답을 암호화해주므로 클라이언트와 안전한 통신을 할 수 있습니다.