본문 바로가기

AWS Design Pattern/네트워크 패턴

Web Proxy 패턴 - 고가의 Web Application Firewall 의 효율적 활용

ㅁ  풀어야 할 문제

전자상거래 사이트 등 중요한 개인정보(신용카드 정보 등)를 사용하는 웹 사이트는 보안 강화를 위해서 WAF(Web Application Firewall)를 도입하는 경우가 있다. 그러나 클라우드 에서의 시스템은 작은 규모로 구축된 시스템이 많고, 대부분의 경우 WAF 도입은 고려하지 않는다.

또한, 스케일 아웃/인에 따른 서버의 추가 및 삭제를 고려한 시스템이 많은데, 그런 때는 필요한 라이선스 수를 알 수 없기 때문에 WAF 도입은 어렵다.

 

ㅁ  해결/패턴

기존에는 서버 대수를 결정하고 준비하기 때문에 도입하는 WAF 대수도 정해져 있어 특별히 문제는 없었다. 그러나 시간 단위로 서버의 추가/삭제가 이루어질 수 있는 클라우드 환경에서는 그 서버에 WAF를 도입하는 것은 비현실적이고, 오히려 그 위에 프락시 서버를 도입하여 WAF를 설치하는 편이 효과적이다.

 WAF 기능만 하는 프락시 서버를 구축하면 적은 대수로 운영할 수 있어 최소한의 라이선스로도 운영이 가능하게 된다.

 

ㅁ  구현

EC ELB간에 WAF가 설치된 프락시 서버를 배치한다. 이중화를 위해 여러 대를 도입하는 것이 좋다.

-       ELB EC2사이에 WAF를 설치한 프락시 서버(EC2)를 준비한다.

-       프락시 서버에는 필요에 따라 HAProxy 등의 부하 분산을 하는 미들웨어도 도입한다.

 

ㅁ  장점

-       /AP 서버에 설정하지 않고 WAF 도입이 가능하다.

-       WAF에 필요한 라이선스 수가 웹/AP 서버 대수가 아닌 그보다 적은 프락시 서버 대수가 된다.

 

ㅁ  주의점

-       SPOF를 피하기 위해 프락시 서버를 여러 대 구성한다.

-       /AP 서버는 ELB에 대해 간접적으로 연결되어 있다. 따라서 서버 추가 및 삭제를 할 때는 AutoScaling ELB에 자동으로 EC2를 할당하는 기능을 사용할 수 없게 된다.