본문 바로가기

AWS Design Pattern/네트워크 패턴

Functional Firewall 패턴 - 단계적 액세스 제한

ㅁ  풀어야 할 문제

방화벽을 이용한 계층적 액세스 제한은 기존 시스템에서도 통상 해왔던 보안 대책이다. 그러나 액세스 제한 룰이 많아지면 방화벽의 설정도 많아져 복잡해지고 거기에 따른 운영 비용도 높아진다.

또한 방화벽 룰의 그룹화가 불가능한 경우 유지보수도 복잡해지고 실수할 가능성도 높아진다.

 

ㅁ  해결/패턴

기존 방화벽은 전용 장비를 사용해 그룹화하지 않고 룰을 관리하는 경우가 많았다. 그룹화가 가능하다고 해도 서버 단위로 쉽게 적용하기는 어려웠다. 

클라우드에서는 방화벽에 대해서도 가상화 되어 있어 보다 유연하게 설정할 수 있게 되어 있다. 그리고 룰을 그룹화하여 그룹 단위의 설정이나 각 서버로의 적용이 가능한 것도 있다. 이 그룹 단위를 기능별(웹이 DB )로 하게 되면 기능에 관한 설정을 그룹 내에서 통합 관리가 가능하게 된다.

가상 서버로의 적용도 기능 그룹 단위로 할 수 있어 액세스 제한의 유지보수도 쉽게 할 수 있고 작업 실수도 적어진다.

 

ㅁ  구현

AWS에서는 보안 그룹이라고 불리는 가상 방화벽을 이용할 수 있다. 기능별로 보안 그룹을 만들고 룰을 통합 관리한다. 설정하려는 보안 그룹을 기능 단위로 나누어 EC2 인스턴스에 적용하여 기능별로 그룹화한다.

-       기능별(웹 단, 애플리케이션 단, DB 단 등) EC2를 그룹화한다.

-       EC2의 그룹별로 보안 그룹을 만들고 EC2에 설정한다.

-       IP 어드레스나 포트 번호 등의 보안 그룹 설정을 한다.

 

ㅁ  장점

-       계층화 한 액세스 제한이 가능하여 보안이 향상된다.

-       기능별로 EC2 가상 서버를 그룹화하기 때문에 Scale Out 패턴을 적용하는 경우에도 가상 방화벽 설정이 필요 없다.

 

ㅁ  주의점

-       가상 방화벽은 논리적으로 구현된 것으로 몇 개라도 정의가 가능하지만, 많이 만들게 되면 가독성이 나빠지기 때문에 기능 그룹 세부화에 주의가 필요하다.