이 문서는 유튜브 '널널한 개발자 TV'님의 강의를 토대로 작성되었습니다.
#1 (Application)Proxy 구조와 작동원리
프록시? 대리자
User mode, Application, Proxy : Socket, Stream
Inline, Out of path : Packet
다루는 데이터가 다르다 ( 계층이 다르다 )
#2 Proxy의 활용 1 : 우회
Tor Project : 인터넷에 자유를
프록시 서버에서 클라이언트의 모든 통신을 감청할 수 있다.
=> 소켓 통신내역을 전부 확인할 수 있다.
VPN과 연결된다. (VPN은 네트워크 수준, Proxy는 웹 수준)
#3 Proxy의 활용 2 : 분석
소켓 수준에서 SSL을 통해 Stream데이터를 암호화한다.
이 데이터를 Packet수준에서 분석하게 될 경우 많은 어려움과 비용이 발생할 수 있다. (wireshark로 분석 어려움)
(불가능한 것은 아니다.)
이럴 경우 프록시 서버를 로컬 서버로 설정한다.
이럴경우 Stream 데이터는 소켓에서 로컬 Proxy Process로 진입한다.
이후 Proxy Process의 소켓을 통해서 Kernel mode로 이동한다.
이럴 경우 암호화는 어디서???
Proxy process에서 암호화가 되기 떄문에, 암호화가 안된 데이터를 분석할 수 있다.
(Fiddler를 이용한 분석/ 개발)
#4 Proxy의 활용 3 : 감시와 보호
악성코드가 유입되는 경우, Proxy를 연결시켜놓은 상태 : Proxy서버에서 해당 악성코드를 막아줄 수 있다. (Virus wall)
혹은 Proxy 서버에서 클라이언트의 접속 정보를 확인하고 감시할 수 있다.
IPS와 연동하여 인터넷 접근을 제어할 수 있다.
#5 Proxy의 활용 4 : Reverse
WAF (Web Application Firewall) : 해커의 공격을 Proxy가 인지하고 차단
서버를 위한 Proxy를 전형적인 Reverse Proxy라고 한다.
Socket Stream을 감시한다. HTTP는 L7, Socket수준에서 Stream형태의 데이터.
즉, 대용량 데이터를 서버에서 감시하기에는 힘들기 때문에 Proxy 서버가 해준다.
#6 Proxy 정리
프록시 우회할 때 쓴다, 분석할 때도 쓴다, 감시와 보호를 위해서 쓴다 : 클라이언트를 위한 수준
서버를 보호하고 싶으면 > Reverse Proxy로 구조를 바꾸면 된다.
참고자료 :
https://www.cloudflare.com/ko-kr/learning/ssl/what-is-ssl/
긴 글 읽어주셔서 감사드립니다.
22.12.10
'TIL (Today I Learned) > 컴퓨터 시스템(CS)' 카테고리의 다른 글
[CS] 네트워크 기초, DNS #5 (0) | 2022.12.10 |
---|---|
[CS] 네트워크 기초, TCP연결? #4 (0) | 2022.12.10 |
[CS] 네트워크 기초, 네트워크 망 #2 (0) | 2022.12.10 |
[CS] 네트워크 기초, TCP/IP 4계층, #1 (1) | 2022.12.10 |
[CS] CS:APP #9 (1) | 2022.12.06 |
댓글