프록시 서버는 리소스를 요청하는 클라이언트와 해당 리소스를 제공하는 서버 사이에서 중개자 역을 한다.
파일이나 웹페이지, 요청된 리소스를 처리할 수 있는 서버에 직접 연결하는대신
클라이언트는 요청을 평가하고 필요한 네트워크 트랜잭션을 수행하는 프록시 서버로 요청을 보낸다.
이는 복잡성을 단순화 또는 제어하거나 로드 밸런싱 , 개인 정보 보호 또는 보안과 같은 추가 이점을 제공하는 방법으로 사용. 프록시는 분산시스템 구조와 캡슐화를 추가하기 위해 고안되었습니다.
프록시는 클라이언트와 서버 사이에 어느 지점에 있다.
요청과 응답을 전달하는 서버를 게이트웨이 또는 터널링 프록시라 한다.
정방향 프록시는 광범위한 소스 ( 대부분의 경우 인터넷의 모든 위체 ) 에서 데이터를 검색하는 데 사용되는 인터넷 연결 프록시.
역방향 프록시는 일반적으로 개인 네트워크 서버에 대한 액세스를 제어하고 보호하기 위한 프런트 엔드로 사용되는 내부 연결 프록시
유형
1. 오픈 프록시
2. 역방향 프록시
오픈 프록시는 모든 인터넷 사용자가 액세스 할 수 있는 프록시다.
전세계의 수십만개의 프록시가 있다.
익명 프록시 - 이 서버는 프록시 서버로 자신의 ID를 표시하지만, 클라이언트의 원래 IP 주소를 공개하지 않습니다.
투명 프록시 - 이 서버는 프록시 서버로 자신을 식별할 뿐만 아니라, http 헤더 필더도 지원하여 원래 IP 주소도 검색할 수 있다. 주요 이점은 더 빠른 검색을 위해 웹사이트 캐시
역방향 프록시는 서버 앞에서의 프록시 서버입니다. 요청을 처리하는 하나 이상의 일반 서버로 요청을 전달한다. 서버의 응답은 원래 서버에서 직접 온 것처럼 반환되어 클라이언트는 원래 서버에 대해 알지 못한다. 모든 트래픽은 프록시 서버를 통과한다.
역방향 프록시 사용 이유는 아래와 같다.
암호화/SSL 가속 : 보안 웹사이트가 생성될 때, SSL ( secure sockets layer ) 암호화는 웹 서버 자체가 아닌 SSL 가속 하드웨어가 장착된 역방향 프록시에 의해 수행되는 경우가 많다.
로드 밸런싱 : 리버스 프록시는 로드를 여러 웹 서버에 분산할 수 있다. 각 웹 서버 자체는 애플리케이션 영역을 제공한다. 이러한 경우 역방향 프록시는 각 웹 페이지의 URL을 다시 작성해야한다.
정적 콘텐츠 제공/캐시 : 역방향 프록시는 그림 및 기타 정적 그래픽 캐싱하여 웹서버의 부담을 줄일 수 있다.
압축 : 프록시 서버는 콘텐츠를 최적화하고 압축하여 로드 시간을 단축한다.
스푼 피딩 : 웹 서버가 전송한 콘텐츠를 캐싱하고 이를 클라이언트가 천천히 스푼 피딩하여 웹 서버에 느린 클라이언트로 인한 리소스 사용량을 줄인다. 이는 특히 동적으로 생성된 페이지에 유용하다.
보안 : 프록시 서버는 추가 방어 계층이며 일부 OS 및 웹 서버 관련 공격으로부터 보호할 수 있다. 그러나 일반적으로 더 큰 위협으로 간주되는 웹 애플리케이션 또는 서비스 자체에 대한 공격으로부터 보호 기능 제공하지 않는다.
엑스트라넷 게시 : 인터넷에 연결된 역방향 프록시 서버를 사용하여 조직 내부의 방화벽 서버와 통신할 수 있으며 서버를 방화벽 뒤에 유지하면서 일부 기능에 대한 엑스트라넷 액세스를 제공할 수 있습니다. 이러한 방식으로 사용하는 경우 웹 응용 프로그램이 인터넷 공격에 노출되기 때문에 이 서버가 손상된 경우 인프라 나머지 부분을 보호하기 위한 보안 조치 고려
모니터링 및 필터링 - 콘텐츠 필터링 웹 프록시 서버는 프록시를 통해 한 방향 또는 양방향으로 중계될 수 있는 기능 제공.
인터넷 사용이 허용 가능한 사용 정책을 준수하는지 확인하기
콘텐츠 필터링 프록시 서버는 종종 웹 액세스를 제어하기 위해 사용자 인증을 지원한다.
일반적으로 특정 사용자가 액세스한 URL에 대한 자세한 정보를 제공하거나, 대역폭 사용 통계를 모니터링 하기 위해 로그를 생성한다. 또한, 데몬 기반 및 또는 icap 기반 바이러스 백신 소프트웨어와 통신하여 콘텐츠에 들어오기 전에 실시간으로 검색하여 바이러스 실시간 보안 제공 가능하다.
많은 직장 학교 및 건물에서 엑세스 할 수 있고 사용할 수 있는 서비스 제한
정부는 바람직하지않은 콘텐츠를 검열한다. 이것은 콘텐츠 필터 라고 하는 특수 프록시를 사용하거나 개방형 캐싱 아키텍처에 대한 플로그인 확장을 허용하는 icap와 같은 캐시 확장 프로토콜을 사용하여 수행됩니다.
필터를 우회하고 차단된 콘텐츠에 액세스하기 위해 학생들이 일반적으로 사용하는 웹 사이트에는 프록시가 포함되어있는 경우가 많다. 이를 통해 사용자는 필터가 차단하려는 웹 사이트에 엑세스 할 수 있다.
요청은 URL DNS 블랙리스트 URL 정규식 필터링, MIME(전송되는 타입) 필터링
콘텐츠 키워드 필터링과같은 여러 방법으로 필터링 될 수 있다.
요청된 URL이 수락 가능하다고 가정하면 프록시에서 콘텐츠를 가져옵니다. 이때 반환 경로에 동적 필터가 적용될 수 있다. 예를 들어, JPEG 파일은 플레시톤 기반으로 차단하거나 원치 않는 언어를 동적으로 감지 가능, 콘텐츠가 거부되면 HTTP 가져오기 오류가 사용자에게 반환된다.
대부분의 웹 필터링 회사는 콘텐츠가 특정 유형일 가능성을 평가하는 인터넷 크롤링 봇을 사용. 데이타베이스는 콘텐츠 일치 알고리즘으로 알려진 결함 또는 불만 사항을 기반으로 수작업으로 수정된다.
일부 프록시는 예를 들어 데이터 손실을 방지하기 위해 아웃바운드 콘텐츠를 스캔한다.
또는 콘텐츠에 악성 소프트웨어가 있는지 검사
- 암호화된 데이타 필터링
웹 필터링 프록시는 SSL /TLS ( 전송 계층 보안 ) 의 신뢰 체인이 변조되지 않았다고 가정할 떄 보안 소켓 HTTP 트랜잭션 내부를 피어링 할 수 없다. SSL / TLS 신뢰 체인은 신뢰할 수 있는 루트, 인증 기관에 의존한다.
클라이언트가 조직에서 관리하는 직장 설정에서 장치는 개인 키가 프록시에 알려진 루트 인증서를 신뢰하도록 구성 될 수 있다. 이러한 상황에서 SSL / TLS 트랜잭션의 내용에 대한 프록시 분석이 가능해진다. 프록시는 프록시가 소유한 루트 인증서에 대한 클라이언트의 신뢰에 의해 허용되는 중간자 공격을 효과적으로 운영하고 있다.
- 필터 및 검열 우회
대상 서버가 요청의 출처를 기반으로 콘텐츠를 필터링하는 경우 프록시를 사용하면 이 필터를 우회할 수 있다.
예를 들어 IP 기반 지리적 위치가 특정 국가가 제한된다면, 서비스에 액세스하기위한 다른 나라 프록시를 사용해 엑세스 가능.
웹 프록시는 일반적인 수단이지만, 인터넷 사용의 3%만이 우회 도구를 사용
일부 프록시 서비스 공급자는 비즈니스 목적으로 트래픽을 재라우팅하기 위해 기업이 프록시 네트워크에 엑세스 할 수 있도록 허용한다.
경우에 따라 블랙리스트에 포함되지 않는 위치의 정보를 프록시하도록 설계된 서비스를 사용하여 블랙리스트를 필터링하는 프록시를 우회할 수 있다.
- 기록 및 도청
클라이언트 시스템과 웹 간의 데이터 흐름을 도청하기 위해 프록시를 설치할 수 있다.
전송되거나 액세스되는 모든 콘텐츠, 제출된 비밀번호 및 ( 쿠키 포함) 프록시 운영자가 캡처 및 분석 가능하다. 이러한 이유로 온라인 서비스는 항상 SSL과 같은 암호화 보안 연결을 통해 교환해야한다.
원래 요청자에 대한 대이터를 공개하지 않는 프록시를 연결하여 사용자 대상의 눈에서 활동을 난독화 가능하다. 그러나 중간 호벵 더많은 흔적이 남게 되며, 이는 ㅏ용자 활동을 추적하는데 사용할 수 있다.
이러한 다른 프록시의 정책과 관리자를 알 수 없는 경우 , 사용자는 해당 세부 정보가 눈에 보이지 않는다는 잘못된 보안 의식에 희생양이 될 수 잇다. 특정 웹 사이트에서 차단되는 자신을 발견, 스팸이라던가 프록시 수신 거부는 개인정보를 지키는데 활용 가능
캐싱 프록시, 서버는 동일한 클라이언트 또는 다른 클라이언트가 이전에 요청한 저장된 컨텐츠를 검색하여 서비스 요청 가속화한다. 캐싱 프록시는 자주 요청되는 리소스의 로컬 복사본을 유지하므로 대규모 조직에서 업스트림 대역폭 사용량과 비용을 크게 줄이는것과 동시에 성능을 크게 높일 수 있다. 대부분의 ISP ( 방화벽 ) 과 대기업엔 캐싱 프록시가 있다. 웹 프록시는 일반적으로 웹 서버에서 웹 페이지를 캐시 하는데 사용된다. 제대로 구현되지 않은 캐싱 프록시는 사용자 인증을 못하는것과 같은 문제를 일으킨다.
특정 링크 관련 문제 또는 성능 저하를 완화하도록 설계된 프록시는 PEP ( 성능 향상 프록시) 입니다. 일반적으로 높은 왕복시간, 높은 패킷이 있는 경우 TCP 성능을 개선하는데 사용한다.
PEP는 예를 들어, TCP ACK ( 승인)를 병합하거나 애플리케이션 계층에서 전송된 데이터를 압축하여 네트워크를 보다 효율적으로 사용 가능
- 번역
번역 프록시는 다양한 시장에서 웹 사이트 경험을 현지화하는데 사용하는 프록시 서버다. 전 세계 사용자의 트래픽은 번역 프록시를 통해 원본 웹 사이트로 라우팅된다. 방문자가 프록시 사이트를 탐색할 떄, 요청은 페이지가 렌더링되는 소스 사이트로 돌아간다.
응답은 번역된 콘텐츠로 대체된다.
- 오류 복구
프록시를 사용하여 프록시된 콘텐츠의 오류를 자동으로 복구할 수 있다. 예를 들어 브로우저에 발생하는 오류를 감지하고 복구하기 위해 js 코드를 즉석에서 계층하고, 접근성 문제를 해결하는것.
- 익명으로 서비스 접근.
익명 프록시 서버는 일반적으로 웹 서핑을 익명화하려고 시도한다. 익명화 장치는 여로 종류로 구분 가능. 목적지 서버는 익명 프록시 서버로부터 요청을 수신하므로 최종 사용자의 주소에 대한 정보를 수신하지않는다.
그러나 요청은 익명화 프록시 서버에 익명이 아니므로 프록시 서버와 프록시 서버와 사용자 사이에 어느정도 신뢰가 있어야한다.
- 엑세스 제어
일부 프록시 서버는 로그온 요구 사항을 구현한다. 대규모 조직에서 승인된 사용자는 웹에 엑세스하려면 로그온해야한다. 일부 익명 프록시 서버는 데이터 패킷을 전달할 수 있으며 이는 클라이언트 ip 주소를 드러낼 수 있다. 엘리트 또는 익명성 프록시로 알려진 다른 익명 프록시 서버는 프록시 서버가 클라이언트로 보이게 한다. 클라이언트가 높은 익명성 프록시 서버는 사용하지 않은 이전 방문 쿠키가 포함된 패킷을 보내는 경우, 웹사이트는 여전히 프록시가 사용된다고 의심할수 있다.
- QA 지역 타겟팅 광고
광고주는 지역 타겟팅 광고의 유효성 검사, 확인 및 품질 보증을 위해 프록시 서버를 사용한다. 지역 타겟팅 광고 서버는 요청 소스 ip 주소를 확인하고 지역 ip 데이타베이스를 사용하여 요청의 지리적 소스를 결정한다 .
- 보안
프록시는 내부 네트워크의 보안에 도움이 될 수 있는 네트워크 주소 변환을 사용하여 회사 내부의 네트워크 구조를 비밀로 유지할 수 있다. 이것은 로컬 네트워크에 있는 시스템과 사용자의 요청을 익명으로 만든다.
- 도메인 간 리소스
프록시를 사용하면 도메인 간 제한으로 인해 웹 사이트가 외부 도메인에 직접 연결되지 않는 경우 웹 사이트에서 외부 리소스에 대한 요청을 할 수 있다. 외부 호스팅 컨텐츠를 요청할 수 있다.
- 2차 시장 중개인
웹 프록시 서버를 사용하여 제한된 운동화 또는 티켓 같은 제품의 대량 주식을 구매합니다.
- 웹 프록시 서버
웹 프록시는 HTTP 요청을 전달한다. 클라이언트의 요청은 결로가 아닌 전체 URL이 전달된다는 점을 제외하고 일반 HTTP 요청과 동일하다.
- SOCKS 프록시
sock 는 연결 단계 후에 임의의 데이터를 전달하며 웹 프록시 http connect와 유사하다.
- 투명 프록시
가로채기 프록시, 인라인 프록시 또는 강제 프록시라고 하는 투명 프록시는 일반 응용 프로그램 계층 통신을 가로챈다. 클라이언트는 프록시의 존재를 알 필요가 없다. 일반적으로 인터넷과 클라이언트 사이에 위치하며 게이트웨이 또는 라우터의 일부 기능을 수행한다.
투명 프록시는 프록시 인증 및 식별에 필요한 것 이상으로 요청 또는 응답을 수정하지 않는 프록시. 목적 - 가로채기 프록시는 일반적으로 기업에서 허용 가능한 사용 정책을 시행하고 클라이언트 브라우저 구성이 필요하지 않기 때문에 관리 오버헤드를 완하는데 사용된다. 가로채는 프록시는 일부 국가의 ISP에서 일반적으로 사용하여 업스트립 대역폭을 절약하고 캐싱을 통해 고객 응답 시간을 개선.
문제 -> TCP 연결의 전환 차단은 몇가지 문제를 생성한다. 먼저 원래 대상 ip와 포트가 어떻게든 프록시에 전달되어야 한다. 항상 가능한게 아니다. 가로채는 프록시의 특정 동작에 의존하는 사이트 간 공격 클래스가 있다. 이 문제는 패킷 처리기와 프록시 간에 이 정보를 전달할 수 있는 통합된 패킷 수준 및 응용 프로그램 수준 기기 또는 소프트웨어를 사용하여 해결 할 수 있다.
가로채는 것은 또한 HTTP 인증, 특히 NTLM과 같은 연결 지향 인증에 대한 문제를 생성한다. 클라이언트 브라우저는 프록시가 아닌 서버와 통신하고 있다고 생각하기 때문입니다.
구현 방법. 라우터/ 방화벽이 프록시와 동일한 호스트에 있는 통합 방화벽 / 프록시 서버에서 원래 대상 정보 통신은 차단은 cisco wccp를 사용하여 수행할 수 있다. 이 독점 프로토콜은 라우터에 상주하고 캐시에서 구성되어서 캐시가 라우터에서 투명한 리디렉션을 통해 전송되는 포트와 트래픽을 결정할 수 있다.
트래픽이 프록시 시스템 자체에 도달하면 일반적으로 NAT를 사용하여 가로채기가 수행된다.
탐지
가로채는 프록시 서버의 존재를 감지하기 위해 여러 가지 방법을 사용할 수 있다.
클라이언트의 외부 IP 주소를 외부 웹 서버에서 볼수 있는 주소와 비교하거나 때때로 서버에서 수신한 HTTP 헤더를 검사한다.
대부분의 가로채는 프록시가 SSL을 가로채지 않기 때문에 Http와 http를 사용하여 액세스할 떄, 온라인 IP 검사기의 결과를 비교한다. 서버가 없는 것으로 알려진 IP 주소에 연결을 시도한다. 프록시는 연결을 수락한 다음 프록시를 시도한다.
프록시가 연결을 수락할 서버를 찾지 못하면 오류 메시지를 반환하거나 단순히 클아이언트에 대한 연결을 닫을 수 있다.
- cgi 웹 프록시 는 사용자의 브로우저 창에서
웹 양식을 사용하여 대상 URL을 수락하고 요청을 처리하고 진정한 프록시 설정을 변경할 수 없는 장치나 네트워크에서 사용가능 펄, php로 작성됨.
- 접미사 프록시를 사용하면 URL에 프록시 서버 이름을 추가하여 사용자가 웹 콘텐츠에 액세스 할 수 있다.
"Tor 양파 프록시" 소프트웨어 누군가로부터 사용자의 컴퓨터 위치 또는 사용량을 숨기기 위해 전세계 자원 봉사 서버 네트워크를 통해 인터넷 트래픽을 라우팅합니다.
I2P 익명 네트워크 온라인 익명성을 목표로 하는 프록시 네트워크입니다. TOR의 양파 라우팅을 향상 시킨 마늘 라우팅을 구현합니다.
네트워크 주소 변환기와 비교 , 프록시 개념은 OSI 참조 보델의 계층 7응용 프로그램을 나타냅니다. NAT Network Address Translation 는 프록시와 유사하지만 레이어 3에서 작동합니다.
DNS 프록시, DNS 쿼리를 받아 인터넷 도메인 이름 서버로 전달합니다. DNS 레코드를 캐시할 수 있다.
대리자 - 일부 클라이언트 프로그램은 특정 유형의 프록시 서버, 를 통해 외부 네트워크에 연결하기 위해 네트워크로 연결된 소프트웨어의 적응을 허용하는 SOCKS 요청을 프로그램함
주거용 프록시 - 주거용 프록시는 최종 사용자의 모바일 및 추적 도구가 사용자의 재할당을 식별하도록 허용하지 않습니다. 인터넷 서비스 공급자가 제공하는 실제 IP 주소를 사용하는 중개자입니다. 서버에 직접 연결하는 대신 주거용 프록시는 주거용 IP 주소를 통해 대상에 연결한다. 그런 다음 대상은 그들을 유기적으로 인터넷 사용자로 식별. 추적 도구가 사용자의 재할당을 식별하도록 허용하지 않는다. 모든 주거용 프록시는 여러 동시 요청을 보낼 수 있다. IP 주소는 특정 지역과 직접적으로 관련되어 있다. 사용자의 실제 IP 주소를 다른 IP 주소 뒤에 숨기는 일반 주거용 프록시와 달리 백커넥트 프록시라고 하는 순환 주거용 프록시는 프록시 풀 뒤에 실제 IP 주소를 숨기고, 프록시는 세션마다 정기적으로 전환된다.
'IT이론 > 기초' 카테고리의 다른 글
HTTP란? (0) | 2022.04.05 |
---|---|
자료구조 정리 (0) | 2022.03.09 |
기타 이론 (sql 확장, 암호화, 쿠키, 웹서버) (0) | 2022.03.05 |
OSI 7계층, tcpip 4계층 (0) | 2022.03.05 |
레이드란? (0) | 2022.03.05 |
댓글