반응형
참고서적 : 성공과 실패를 결정하는 1%의 네트워크 원리
방화벽이 필요한 이유
- 사내 LAN에 직접 웹 서버를 설치했을 때 문제점 발생
- IP 주소의 부족
- 인터넷에서 액세스할 때 패킷을 차단할 수 없다.
- 따라서 데이터 센터에 방화벽을 설치한다.
- 데이터 센터는 프로바이더가 전문적으로 운영하고 있는 서버(내진 설계, 24시간 감시)로 고속 회선으로 접속되어있어 액세스 속도가 빠르다.
- 웹 서버에 액세스하는 패킷을 필터링한다.
방화벽의 원리와 동작
- 가장 보급화된 패킷 필터링형으로 패킷을 차단하여 방화벽을 구성한다.
- 패킷 필터링형은 다음과 같이 동작한다.
- 인터넷에서 웹 서버로 들어오는 패킷의 종점이 웹 서버의 IP 주소(수신처 IP)와 일치하다면 통과시킨다.
- 수신처 IP 주소만을 가지고 필터링을 했을 때 웹 서버 내의 다른 애플리케이션에 액세스하면 악용을 할 수 있기 때문에 애플리케이션을 구분짓기위해 포트 번호도 필터링 조건으로 추가한다.
- 웹 서버에서 방화벽에 직접 액세스하는 것을 막아야한다. 이를 위해 TCP 헤더에있는 컨트롤 비트로 패킷의 방향을 검사한다.
- 컨트롤 비트 내에서 SYN, ACK(최초 SYN:1, ACK:0)를 차단하고 이후부터 SYN:1 ACK:1인 패킷을 통과시킨다. (추후 수정)
- 즉, ①수신처의 IP 주소, ② 수신처 포트 번호(앱 구분), ③ 컨트롤비트(패킷의 방향)
방화벽으로 막을 수 없는 공격
- 방화벽은 패킷의 시점과 종점으로만 판단하여 차단하기 때문에 패킷에 특수한 데이터가 포함되어있더라도 통과시킨다.
- 이를 해결하기 위해 웹 서버 내의 소프트웨어 버그를 고치거나 버그의 내용을 알 경우 해당 패킷을 차단할 수 있도록 별도의 장치나 소프트웨어를 준비한다.
서버의 부하를 분산하는 방법
- 서버의 부하를 분산하기 위해 여러 대의 웹 서버를 설치하여 웹 서버 한 대가 담당하는 사용자의 수를 줄인다.
- DNS 서버에 부하 분산 장치(로드 밸런서)를 설치하면 웹 서버에 문제가 발생해도 다른 웹 서버에 리퀘스트 메시지를 보낼 수 있다.
캐시 서버를 이용한 서버의 부하 분산
- 캐시 서버는 프록시라는 구조를 사용하여 데이터를 캐시에 저장하는 서버이다. 프록시는 웹 서버와 클라이언트 사이에서 웹 서버에 대한 액세스 동작을 중개한다.
- 캐시 서버내에 데이터가 있는 경우와 없는 경우에 따라 다르게 동작한다.
- 데이터가 없는 경우
- URI를 통해 어느 웹 서버에 리퀘스트 메시지를 보낼지 판단하고 웹 서버에서 데이터를 받아 캐시서버에 저장한다. 캐시 서버는 받은 데이터를 클라이언트에 전송한다.
- 데이터가 있는 경우
- 캐시 서버 내의 데이터가 변경되었는지 조사하여 변경되지 않았다면 클라이언트에 전송하고 변경되었다면 데이터가 없는 경우와 같게 동작한다.
- 데이터가 없는 경우
- 클라이언트가 웹 서버에 직접 보내는 요청이 줄어들기 때문에 부하가 감소된다.
프록시에 대해서
- 포워드 프록시 : 클라이언트 측에 캐시 서버를 두는 구조이며 클라이언트측의 부하를 줄이고 브라우저에 대한 설정이 필요하다.
- 리버스 프록시 : 서버측에 캐시 서버를 두는 구조이며 웹 서버의 부하를 줄인다.
- 트랜스페어런트 프록시 : 포워드와 리버스 프록시의 장점을 모아둔 것으로 클라이언트나 서버에 서버를 두지않기 때문에 브라우저에서 웹 서버로 리퀘스트 메시지가 흘러가는 길에 트랜스페어런트 프록시를 설치한다.
콘텐츠 배포 서비스
- 캐시 서버를 놓는 위치에 따른 장점들을 프로바이더와 계약하여 캐시 서버를 클라이언트측의 프로바이더에 두는 방법으로써 제공하는 서비스이다.
반응형
'CS > Network' 카테고리의 다른 글
[CS Network] 서버와 클라이언트의 동작 차이 주요 용어 정리 (0) | 2021.06.22 |
---|---|
[CS Network] 액세스 회선 ADSL FTTH 주요 용어 정리 (0) | 2021.06.22 |
[CS Network] LAN 라우터 이더넷 등 주요 용어 정리 (0) | 2021.06.22 |
[CS Network] TCP/IP 클라이언트-서버 통신 주요 용어 정리 (0) | 2021.06.22 |
[CS Network] 웹 브라우저와 메시지 주요 용어 정리 (0) | 2021.06.22 |