이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.
네트워크 보안 솔루션에 대해 이야기 해보겠다. 네트워크 어떤 장치 애기가 나오면 그게 보안이든 뭐든 구조가 inline인지 out of path인지 proxy인지 확인해야 한다. 그런데 inline이나 out of path가 다루는 단위는 패킷 데이터 단위를 다룬다. proxy는 스트림 데이터 단위를 다루고 proxy는 user-mode application단에 있기에 socket 수준에서 스트림 데이터 단위를 다룬다. 즉, 조립이 된 데이터를 다룬다. 그래서 대표적인 보안 솔루션으로는 다음과 같다. 먼저 PC 방화벽이 있는데 이것은 일단 잘 아는 부분이니 넘어가자. 그 다음으로 NAC이라고 있다. 근데 NAC에는 여러 종류가 있는데 정말 제대로 된 NAC이 있고 비표준 형태의 NAC이 있다. NAC은 PC 방화벽 + probe같은 센서를 달고 다니는데 이때 probe은 무언가 탐지하는 방법론, 도구같은 것인데 probe은 out of path구조로 되어 있다. 그 다음으로 방화벽, IPS, NIDS 이런것들이 있는데 일단 여기서 방화벽이나 IPS는 기본적으로 inline장비이고 NIDS같은 경우는 out of path구조인데 애는 결국 무언갈 탐지하겠다는 것이다. UTM같은 경우는 이런걸 모두 섞은 애이다. 그래서 보안장비 기능들이 all in one으로 하나에 다 들어가져 있다. 그 다음으로 VPN같은 inline장비가 있고 망분리, 망연계같은 개념도 있는데 이런 개념들은 어떻게 보면 방화벽과 유사하고 어떻게 보면 망을 연계한다는 관점엣 VPN과 유사하다.
위 그림을 보면 OSI 7 Layer를 그림으로 나타낸건데 아래 계층부터 프로토콜을 보면 L2는 Ethernet, L3는 IP, L4는 TCP/UDP, L5는 SSL, L7는 HTTP로 되어 있다. 그러면 식별자와 단위로 L2는 MAC주소(Frame)이고 L3는 IP(Packet)이고 L4는 Port(Segment)이고 L5이후로는 소켓수준에서의 스트림 데이터를 다룬다. 근데 이 부분을 왜 다시 언급하냐면 보안 솔루션이 있을 때 어디서 무엇을 보느냐가 중요한데 그러니까 결국에 stream을 볼 것인지, segment를 볼것인지 packet을 볼것인지 frame을 볼것인지가 중요하다. 그래서 L2계층부터 그에 해당되는 보안솔루션에 대해 이야기해보겠다. L2~L3정도 수준에서 작동하는 장치가 있는데 바로 NAC이다. NAC은 L3의 IP주소와 L2의 MAC주소를 쌍으로 매핑해서 보겠다는 것이다. 즉, Frame데이터 단위와 IP packet을 확인하겠다는 것이다. 그래서 이 둘의 매핑의 쌍을 따져서 허용되지 않은 것들이 인지된다고 하면 그 호스트의 네트워크 access를 차단한다. 또 차단하는 방식이 여러가지 존재하는데 첫째로 L2 port interface를 다운시키는 방식이다. 그러니까 통신이 안 될것이다. 둘째로 ARP를 가지고 게이트웨이의 접근을 정상적으로 못하도록 방해를 한다. 그런데 이 방식은 생각보다 장애를 많이 일으켜서 잘 사용되지는 않는다. 마지막으로 이 방법이 가장 많이 쓰는 방식인데 HTTP를 redirect하는 방식이다. 이 방식을 쓰는 것은 유해사이트를 차단하듯이 NAC장비와 따라다니는 센서인 probe가 있는데 probe센서가 L2수준에서의 트래픽을 수집해서 보면서 만약 허용되지 않은 트래픽이 HTTP를 쓰려고 하면 redirect를 한다. 그리고 주로 Local LAN에서 운영되다 보니까 굉장히 빠른 속도로 응답할 수 있다. 그런데 일반적으로 NAC이라 하면 L2~L3수준에서 작동하는게 아닌 위의 그림처럼 L2수준 즉, 스위치 수준에서 뭔가 지원을 하고 여기서 이제 인증체계를 가져가고 NAC과 연결된 인증서버를 통해 인증을 해주는 방식이다.
💡 참고
인증서버에는 기본적으로 RADIUS가 있는데 RADIUS기반의 인증서버는 PC가 네트워크 접근을 하려할 때 이 인증서버가 OK해주면 인증이 되는 구조이고 아니면 접속을 끊는 방식이다. 이게 실질적인 NAC이다.
💡 참고
인증체계 서버는 RADIUS만 있는게 아니라 CISCO사에서 만든 TACACS+가 있다.
이제까지 이야기한 NAC은 유선에 관한 것이고 무선에 관한 것도 있는데 wireless수준에서 어떤 내용을 보고 탐지해서 차단하는 접근제어체계가 있는데 바로 WIPS이다. WIPS는 쉽게 말해 무선 네트워크를 차단하는 것이다. 그럼 왜 무선 네트워크를 차단하는 것일까? 회사의 보안때문에 무선을 못쓰게 하는 민감한 조직들이 있는데 그럼에도 불구하고 누가 몰래 무선 LAN카드를 쓴다거나 이런것을을 인지하고 차단하기 위한 솔루션이다. 결론적으로 유선쪽에서는 NAC + probe와 연동해서 IP주소와 MAC주소쌍을 보고 판단하는 경우이다.
그 다음 확인해봐야 할 솔루션은 L3~L4수준 보안 솔루션이 있다. 즉, IP주소와 Port번호를 보는 솔루션이다. 그중에 하나가 보안 솔루션은 아니지만 NAT가 여기에 속하고 다음으로 이 수준의 정보를 보고 뭔가 허용할건지 말건지 즉, Inline형태로 작동하는 device들이 있는데 그 중에 가장 대표적인 애가 packet filtering F/W이다. 방화벽이라 하는 것은 L3~L4수준에서만 작동하는 건 아니고 이 수준 외에 L5~L7수준에서의 방화벽이 있다. 그래서 이 방화벽을 구조적으로 보면 proxy형태로 되어 있는데 이 방화벽이 WAF이다. 그래서 WAF와 Packet Filtering F/W를 합쳐서 같이 가지고 있다고 하면 Hybrid F/W이라고 한다. 근데 여기서 중요한게 Packet Filtering F/W이 나오면 따라다니는 용어가 있는데 바로 Stateful Inspection이다. Stateful Inspection이란 TCP 연결상태의 전이를 모니터링해서 비정상적인 전이가 있다면 그걸 잘못된거라 인지하는 것이다. 그래서 이런걸 하려면 TCP Session을 추적할 수 있어야 하는데 그래서 Packet Filtering F/W이든 뭐든 Session을 동시에 몇개 관리할 수 있냐 이런것이 성능을 애기하는 근거가 되기도 한다. 그런데 WAF는 socket stream을 보겠다는건데 그래서 HTTP 트래픽을 모니터링 해가지고 문제가 있는지 없는지 확인하고 대응하는 방화벽이다.
그런데 이런 웹 방화벽 말고 L3~L4수준에서 작동하는게 또 있다. 바로 VPN이다. GtoG VPN은 inline형태, 게이트웨이 형태로 작동한다. 이런 packet filtering F/W, WAF, VPN을 다 모아서 하나의 장비에 넣는 경우도 있는데 이런 것을 UTM이라고 한다. UTM은 온갖 기능들이 한번에 다 들어간다. 그러다보니까 기능이 많아서 좋긴 한데 거꾸로 이도저도 아닐 수가 있다. 즉, 성능이 떨어진다. 고성능을 내기 어렵기 때문에 UTM같은 경우 중/소형 환경에 사용된다.
그리고 애와 또 다른 체계로 작동하는 보안체계가 있는데 그 중에 VPN계열에서 같이 알아둬야 할께 있다. 바로 SSL VPN이다. SSL VPN은 VPN인데 기존 VPN과 달리 특정 웹 서비스로 구현된데만 VPN이 적용되는 Application단의 VPN이다.
L3~L4수준에서 packet filtering F/W처럼 작동할 수 있는 솔루션이 있는데 그게 바로 Screening Router가 있다. Router는 Router인데 이 경우에는 ACL이라 해서 rule이 있는데 이 rule로 뭐는 되고 안되고 이런 간단한 제어를 할 수 있다.
그래서 지금까지 설명한 보안 솔루션은 한마디로 infra structure이다. 그러니까 보안 인프라이다. 보안 인프라는 수동적이고 자동화되는게 별로 없는 인프라이다. 그래서 이 부분에서 중요한 것은 정책이다. 정책적으로 무엇은 되고 안되고를 따진다. 그런데 문제는 뭐냐면 이것만으로 부족하니까 그 다음 보안체계가 나왔는데 그 다음부터 나온게 능동체계이다. 그래서 쳐다보는 부분이 L3~L7까지 전체를 확인한다. 즉, 패킷을 보기는 하는데 DPI까지 하겠다는 것이다. 결국 payload까지 다 뜯어서 시그니쳐를 보는건데 여기에 해당되는 보안장비가 IPS, NIDS가 있다. IPS는 기본적으로 inline장비이고 NIDS는 Out of path구조이다. 그러면 능동체계에서 중요한게 뭐일까? 바로 Rule이다. 그러니까 패킷의 header를 봐서 IP주소, 포트, 상태를 다 확인하고 DPI를 통해서 시그니쳐 검색까지 진행한다. 그러니까 어떤 패턴이라는게 있는지 조사해서 따지겠다는 것이다. 그래서 다양한 대응이 능동적으로 가능은 한데 파일 안에 악성코드를 막을 수 없어서 또 발생하여 새로운 체계가 등장했다. IPS에다가 Sandbox같은 기술을 집어넣는 체계로 발전한다. 이 기술은 가상화 기술이고 네트워크로 실행파일이 유입되면 악성코드를 sandbox라는 가상체계에 집어넣고 실행같은 것도 해봐서 이상행위 모니터링을 해서 알려지지 않는 것까지 막는 이런 개념이 탄생하는데 그래서 등장한게 MPS이다. 하지만 이 MPS도 완벽하지는 못했다. 그래서 이런 MPS도 cloud와 연결이 되었다. 그래서 악성파일이 오면 가상체계인 sandbox에도 집어넣어서 분석도 하지만 cloud에 보내서 평판을 따지는 작업도 한다. 그런데 여기서 문제가 발생한다. 이렇게 분석 및 작업을 하다보면 Rule기반으로 Log들이 엄청 나오는데 이런 보안장비들을 관리해주는 보안장치가 등장했고 이것이 바로 ESM이다. ESM이 이런 보안장비들의 로그관리, health-check등 여러가지를 해준다. 그래도 로그들의 양이 많아지다 보니 로그를 분석하는 것도 필요해졌고 그래서 등장한게 SIEM이다.
우리가 네트워크 공부를 하면서 갑자기 이번에 보안솔루션 이야기를 했다. 왜냐하면 네트워크에 장애가 발생했을 때 이런 보안솔루션들을 확인할 필요성이 있을수 있기에 이번에 한번 정리하기 진행했다.