Technical Architecture Studio

방화벽, 로드벨런스, 데이터관리, 로그규칙(1/2)

Tech Studio 2020. 1. 14. 23:09

#12 방화벽, 로드벨런스

 방화벽은 White List, Black List 로 관리되며, Routing이 없는 Bridge Mode (L2), Routing이 가능한 Routing Mode (L3) 가 있다. 

 그 외에도 실제 Switch 기능이 있기때문에 Protocol 이나, VPN, L7스위치와 같은 어플리케이션 처리가 되기도 한다. 기능은 많지만 F/W, IPS, IDS 등 으로 구분된다. 추가로 DDOS 방어용 장비들도 존재한다. 

 

 

 그림의 노란색 부분은 방화벽으로 접근하는 설정을 얘기하며 주로 Router 혹은 방화벽의 Routing Table 를 기준으로 작동하게 된다. 

 파란색 부분은 방화벽을 통과하여 외부로 접근하게 되며, 주로 서버의 직접적인 IP Address 가 아닌 NAT IP Address 혹은 PAT IP Address 를 사용하여 외부로 접근하게 된다. 외부에서는 NAT/PAT IP Address에서의 접근으로 인지되고 이 IP Address 는 접근용 IP Address 가 아니기에 접근은 불가능하게된다. 

 주로 OutBound 는 ANY to ANY 로 구성 할 수 있지만 외부로의 유출이 있을 수 있으므로 특정 Site 로 접근만을 정책 설정한다. 

 Inbound 는 WEB Server 로의 접근을 위한 LB의 VIP의 특정 Port 만 접근이 가능한 정책을 구성하게 된다.  

 서로 다른 방향의 설정으로 인해 정책의 관리또한 별도로 관리한다. 예를 들면 아래의 표와 같다. 

 기본적으로 필요한 설정은 출발지의 IP Address, 도착지의 IP Address, Port 그리고 해당 정책의 상세 정보이다. 정책은 Routing Table 처럼 우선순위가 있으며, 같은 우선순위더라도 상단에 있을경우 우선 적용을 한다. 또한 방화벽은 성능에 많은 제한을 받기때문에 시스템 구성시 방화벽의 처리량과 대역폭을 반드시 고려해야 한다. 또한 SSL의 방화벽 적용과 VPN 그리고 Routing Protocol 의 적용시 많은 자원의 소비가 발생하므로 주의 한다. 2중화 또한 문제가 될경우가 많은데 특성상 Active / Active 의 구성이 아닌 Active / Backup 의 구성으로 작동한다. 


 로드 벨런싱은 한가지 프로세서를 다중처리하기 위해 대형 처리 시스템을 분산 했을때 좀더 효율적이고 처리가 빠르기에 구성을 한다. 또한 여러 서버에 업무를 분산시켜 다중 서버를 이용해 업무를 분산 처리 할 수 있게 해준다.  주로 WEB Server에 접근할때 로드벨런서를 통해 다중화 처리를 처리한다. 

 로드 벨런서의 VIP의 특정 Port 로 접근할때 로드 벨런서는 등록되어 있는 서버그룹에 특정 Port 로 포트를 분산 시켜주게 된다. 이때 반드시 :80 에서 :80 으로 분배는 하지 않아도 되며, 필요시에 성능을 최대한 내기 위해 다중 Port 를 구성하여 사용 해도 무방하다. 

 로드벨런서는 VIP:Port 그리고 서버의 IP Address:Port 를 필요로 한다. VIP:Port 에 서버들의 그룹으로 설정을 하며, 벨런싱의 방법에 따라 RR(Round Robin), LC(Least Connection), WLC(Weight Least Connection), HASH 등이 있고 주로 RR 의 방식으로 컨트롤 한다. 이중 HASH 방식 혹은 Memory 방식을 사용한다면 한번 접속한 클라이언트는 기억되어 해당 인스턴스로 접속한다. 

 정책은 다음과 같이 정리된다. 

 이중 VIP는 외부에서 접근이 되어야 할 시, Public IP Address 로 내부에서 사용할 시, Private IP Address 를 사용한다. Port 는 동일하게 혹은 다중으로 적용이 가능하고, Server IP Address 는 특정 서버 혹은 Subnet을 이용해 그룹으로 등록이 가능하다. 추가로 설정의 정보를 정리한다.