지난번, 방화벽의 개념설명과 주요기능들을 간단히 다루었습니다.

이번에는 방화벽의 세부 기능들에 대해 조금 더 다뤄보고자 하며, 차세대 방화벽(Next Generation Firewall)이라는 주제로도 부가적으로 알아보겠습니다.

--------------------------------------------------------------------------------------------------

[방화벽의 세부기능]

1) Stateful Packet Inspection(상태기반 검사) 방식 

Stateful Inspection은 1세대의 Packet filtering 방식과 2세대의 Application Gateway 방식의 장점을 혼합한 3세대 방화벽 기술로, 네트워크 트래픽과 관련된 모든 통신채널을 상태목록에 유지시킨 후 누가, 언제 사용하였는지 또는 거부당했는지, 어떤 경로를 통해 외부에 접속하였으며 돌아왔는지 분석하고 패킷의 액세스 여부를 결정하는 기능입니다.

이 방식은 패킷으로부터 받은 정보와 전송상태, 연결상태, 타 Application들과의 관계 및 패킷의 Layer를 면밀하게 검사하는 구조를 가집니다.

2) Black & White list 기반 Filtering 

화이트리스트 방식은 안전하다고 증명된 것만을 정책적으로 허용하고 나머지는 차단함으로써 내부 네트워크를 안전하게 유지시키는 방식이며, 

블랙리스트 방식은 위협으로 인증된 것만을 관리자가 지정 및 차단하여 내부 네트워크를 안전하게 유지시키는 보안 방식 입니다. 

어느것이 더 좋다라고는 말할 수 없지만(상황에 따라 다를 수 있음), 대체적으로 화이트리스트 기반의 정책을 적용하는 것이 이후 추가적인 방화벽 정책 수립 시 관리자의 실수로 인한 추가적인 보안홀(Hole)을 막을 수 있습니다.

3) NAT(Network Address Translation) 기능 지원 : Static/ Dynamic NAT, Excluded NAT, NAT Traversal 

NAT 기능은 네트워크에서 외부망과 내부망을 나눠주는 기능을 가능하게 합니다. 내부망 그대로의 주소를 외부망으로 가져갈 수 없으므로 이 NAT를 통해 외부망 주소로 바꿔서 나가게 됩니다.

즉 네트워크의 주소를 변환하는 기능으로 방화벽의 대표적인(주요) 기능중 하나로 볼 수 있습니다.

이 NAT기능의 장점은 1) 인터넷의 공인IP 주소를 절약할 수 있으며(공인IP 한개로 내부망에서 여러 IP를 사용할 수 있음), 2) 공공네트워크(인터넷)에 연결되는 사용자들의 고유한 개인 사설망을 외부위협으로부터 보호할 수 있게 됩니다.

> NAT에 대한 보다 자세한 설명은 다음의 블로그에서 잘 나와있는 것 같아 아래의 링크를 참고하면 좋을 것 같습니다. 

참고(NAT): https://darksoulstory.tistory.com/72 , https://dany-it.tistory.com/36

4) Schedule 기반의 정책 설정 (회/일/주/월/년/특정기간 등) 

방화벽에서 스케줄링을 통해 일/주/월/년 등 다양한 시간단위로 정책을 스케줄링할 수 있도록 하는 기능입니다.

방화벽 정책 수립 시, 대부분 일반적으로는 차단정책(ANY-ANY-DENY)을 기반으로 만들게 됩니다.

(action은 ALLOW(허가)/DENY(부인) 으로 구분)

위의 ANY-ANY-DENY로 하게되면 일반적으로 ACL(Access Control List)의 가장 하단에 위치하여, 상단 방화벽 정책 외의 나머지는 전부 막도록 합니다.

왜냐하면 위의 2) 에서 잠깐 언급했던것과 같이, 블랙리스트 기반의 위협 IP에 대한 보안정책을 실시간으로 만들기에는 관리자가 제약이 따르기 때문인데요. 이를 위해 대부분은 처음부터 전부 차단을 해놓고, 예외적으로 필요한 부분만을 열어주는 화이트리스트 기반의 정책을 수립하게 됩니다.

이 때, 잠깐 하루정도만 예외적으로 열었다가 다음날 다시 닫아야 하는 정책이 생기는 경우도 있습니다. 이런 경우에는 관리자가 기억해주면 좋겠지만 혹여 다시 차단하는것을 기억하지 못하여 깜빡한채로 남겨질 수도 있기 때문에 보안홀로 발생할 수 있게됩니다. 이러한 부분을 커버하기 위해 일/주/월/년 등 시간단위로 스케줄링하여 정책을 만들 수 있게하는 것이 방화벽에서 지원하는 기능 중 하나입니다.

5) 가용성 보장 : Active-Active, Active-Standby HA (with/without L4 switch) 

이 기능들을 설명하기 전에, 방화벽의 또 하나 중요하게 다루는 부분이 이중화에 대한 개념입니다.

사실 방화벽 뿐만 아니라 다른 보안장비들도 이중화하는것은 필요한데요, 우선 이 이중화에 대해 간단히 설명하고 기능들을 설명하도록 하겠습니다.

이중화를 간단히 설명하면, 동일한 보안장비(방화벽) 2대를 두고 운용하다가, 그 중 1개의 방화벽이 어떤 장애로 인하여 기능을 상실하게 되면 이중화된(연결된) 다른 방화벽이 대신하여 그 기능을 수행하는 것입니다.

이렇게 이중화를 하는 방식에는 기본적으로 Active-Active, Active-Standby 등이 있는데요.

Active/Active는 양쪽 장비 모두가 트래픽을 처리하고 부하 분산이 가능하며, Security Context 에서만 지원됩니다.

Active/Standby에서는 한 장비(Active)에서만 트래픽을 처리하다가 문제발생시, Standby 장비가 Active장비의 기능을 대체하여 사용하는 방식입니다.

Stateful 이중화: 주 장비(Active)가 현재의 세션정보를 Standby 장비에게 전달하고, 장애가 발생해도 사용자들의 접속이 끊어지지 않는다고 합니다.

이렇게 이중화 관련하여 failover, loadbalancing 등의 개념들이 있는데요.

방화벽, 서버 등 이중화를 위해서는 failover-link로 연결되는데 이 Failover(시스템 대체 작동)는 평소 사용하는(Active) 방화벽과 이중화된 Standby 방화벽을 가지고 있다가 사용중이던 방화벽이 장애로 사용이 어렵게 되었을 경우 Standby방화벽으로 그 일을 대신 처리하게 해서 무정지 시스템을 구축하게 해주는 것을 의미합니다.

loadbalancing(부하균형)은 이렇게 두 개 이상의 방화벽이 일을 분담처리 해 방화벽에 가해지는 네트워크 트래픽을 분산시켜주는 것을 말합니다. 병렬로 트래픽을 처리하도록 하여 방화벽에 걸리는 부하의 정도 균형을 잡아줍니다.

한 방화벽에 너무 많은 트래픽 과부하가 걸리거나 너무 적게 걸려 낭비되지 않도록 작업을 적절히 분배하고, 필요한 경우에는 작업을 한 방화벽에서 다른 방화벽으로 이동시키기도 합니다.

보통은 사용자가 방화벽에 부하가 걸릴만한 상황을 고려하여 조건을 설정하고 조건이 충족된 상황에서 다른 방화벽이 트래픽을 분담처리하도록 합니다.

6) 중복정책 검색 기능

관리자가 방화벽 정책을 수립하다가 관리하는 정책이 너무 많아지거나 혹은 관리자가 변경되는 경우처럼,

이전에 정책을 만들어 놓고 똑같은 정책(혹은 범위만 다른 유사한)을 만들게 되기도 합니다. 이는 쓸데없이 방화벽정책의 수만 증가시켜 관리자로 하여금 정책 모니터링에 어려움이 있을 수 있으므로 방화벽 자체적으로 중복되는 정책에 대해서는 검색하는 기능이 있어 관리자에게 알려줄 수 있는 기능이 있습니다. (확인하고 지우는 건 관리자 몫이겠죠?

--------------------------------------------------------------------------------------------------

[차세대방화벽 주요기능]

이렇게 위의 일부 기능에 대해 세부적으로 살펴보았는데 이 외에도 방화벽의 기능들은 훨씬 많으니 관심이 있다면 방화벽 솔루션 기업들의 세부 규격이나 성능, 기능사항들을 직접 보시는걸 추천드립니다.

여기에 차세대 방화벽의 추가적인 기능은 아래와 같다고 보입니다. 

1) Application 제어 : 이전 세대의 UTM 방화벽은 IP, PORT 를 기반으로 차단하는 정책을 수립했다면, 이제는 특정 애플리케이션(트위터, 페이스북, G마켓, 쿠팡 등) 기반으로도 차단하는 것이 가능합니다.

이 애플리케이션 제어기능은 세부적으로도 나눌 수 있는데, 예를 들어 페이스북 페이지까지만 볼 수 있게 정책을 만드는것도 가능하며, 사용자의 로그인까지 가능하게 하거나, 글쓰는 것을 막는 기능까지도 가능합니다.

2) 사용자 ID 기반 정책 :  위에서 정의한 것처럼 방화벽 정책을 만들 때, IP, PORT 등으로 만드는 정책이 기본적이나 이는 내부 기업에서 인사이동 등으로 인한 사용자의 IP가 변하거나 할 때 유동적이지 못합니다. 하여, 사용자의 ID는 기업 내부에서는 어떻게보면 고유한 값이므로, 이 사용자ID를 기반으로 정책을 수립하여 세분화된 보안정책을 만드는 것도 가능합니다.

3) DLP(Data Loss Prevention) :  내부 정보 유출방지에 대한 기능으로, 데이터의 흐름을 감시해서 기업내부의 중요한 정보가 외부로 유출되는 것을 막는 기능인데, 이제 방화벽에도 이런 기능이 추가되었나봅니다..

이 DLP 와 관련되어서는 기존에 이미 DLP솔루션이라 하여 다양한 제품들이 있으니 참고하시면 좋을듯합니다.

--------------------------------------------------------------------------------------------------

이 외에도 IPS, 웹 필터링 기능, SSL Inspection 등 추가적인 기능들이 차세대방화벽에서 가능하다고 합니다.

결론적으로 차세대방화벽에서는 방화벽의 기본 기능에서 일부 추가적인 기능이 부가적으로 더 제공되고 있으며,

예를 들어 Application제어 기능과 사용자ID 기반 정책 기능을 혼합하거나, 여기에 또 기존 기능들을 융합함으로써 조금 더 다양하고 기관 환경에 맞는 세부적인 정책수립이 가능하게 되었다고 보여집니다.

방화벽이 없는 취약한 구간에 도입해야하는데, 비용이 부담스럽다면 일반적인 방화벽으로도 문제없이 가능할 것 같습니다. 

하지만 차세대방화벽 기능 중 필요하거나 쓰고싶은 기능, 조금 더 세부적인 기관 내부정책 수립이 필요하다면, 비싸더라도 차세대라고 불리우는 최신 방화벽 모델을 구입하는것이 아무래도 편의성이나 성능, 보안을 위해서도 더 좋겠죠?

'Security > 보안장비' 카테고리의 다른 글

방화벽(firewall) 소개 및 정의  (0) 2020.03.20

WRITTEN BY
SiriusJ

,