상세 컨텐츠

본문 제목

멀티 클라우드 통합 모니터링 시스템 구축 프로젝트 일지 (개요).

정보/개발

by 전설의백호 2021. 7. 13. 11:09

본문

이번 포스트에서는 예전에 진행했던 프로젝트 중 하나인 멀티 클라우드 통합 모니터링 시스템 구축에 대해 작성해보겠습니다.

 

 프로젝트 진행할 때 멀티 클라우드 통합 모니터링 시스템(Multi cloud Monitoring System)의 영문 약자인 MMS라고 임의로 불렀는데, 여기서도 편의를 위해 MMS라고 지칭하겠습니다.

참고로 내용이 많아 개략적인 부분만 정리했으며, 모든 내용이 들어가 있지는 않으니 실질적인 구축이 궁금하신 분들은 여기 나오는 단어들을 참고해서 검색해 보시는 것을 추천해 드립니다.

 

 먼저 MMS를 구축하기 전에 이미 모니터링 시스템도 많고, 이들 중 멀티 클라우드를 통합해서 로그를 추적하고, 관제가 가능한 시스템이나 프로그램들도 많습니다. 여기서는 특정 프로그램을 지칭하지는 않겠지만 관련된 단어 몇 가지를 먼저 짚어보고 시작해 보겠습니다.

 

(출처: 픽사베이, https://pixabay.com/)

 

SOC(Security Operation Center): SOC는 보안 관제 센터를 지칭하는 단어로, 규모가 있는 곳은 보안 관제 센터가 아닌 다른 관제 센터 사진이긴 하지만 위에 사진과 비슷하게 생겼습니다. 이 SOC에서는 주로 이번 프로젝트에서 구축하는 시스템을 사용하는 곳으로, 물론 실무에서는 이런 모니터링 툴 외에도 다양한 툴을 사용하여 관제하고 있습니다.

 

SIEM(Security information and event management): SIEM은 '심'이라고 불리며, 보안 정보 관리(SIM)와 보안 이벤트 관리(SEM)를 결합한 단어로 네트워크 보안에 필수적인 부분입니다. 이번에 구축하는 프로젝트인 MMS가 실제로는 이 SEIM을 만들어보는 프로젝트라고 할 수 있습니다.

 

IDS(Intrusion Detection System): IDS는 침입 탐지 시스템의 약자로 네트워크를 통해 이뤄지는 침입과 공격을 탐지하는데 사용됩니다. 방식은 크게 호스트 기반과 네트워크 기반으로 나눌 수 있으며, 이번 구축하는 프로젝트에서도 일부 사용되게 됩니다.


 이제 어떻게 구축했는지 살펴보겠습니다.

 

 먼저 클라우드는 AWS와 GCP, AZURE를 사용했고, 클라우드 외 레거시 환경으로 컴퓨터 5대를 이용해 윈도우와 리눅스(CentOS) 환경을 구축했습니다.

 

 AWS와 GCP에는 웹 서버가 구축되어 있으며, AZURE에는 ELK가 설치하여 로그 분석부터 시각화까지 처리합니다.

참고로 웹 서버에는 DVWA(Damn Vulnerable Web Application)를 설치, 구동됩니다.

 

 레거시 환경에 있는 PC 중 2대는 모니터링 겸 사무에, 1대는 개발에 배치하고, 나머지 2대는 테스트에 사용되었습니다.

자세한 구축에 관한 부분은 바로 아래 토폴로지를 참고하시길 바랍니다.

 

(프로젝트 토폴로지, 각 로고 출처: 구글 검색)

 

 분석에는 ELK가 사용됐으며, 여기서 E는 Elasticsearch(엘라스틱 서치)를, L은 Logstash(로그스테쉬)를 K는 Kibana(키바나)를 의미합니다. L 대신에 Fluentd를 의미하는 F를 넣어 EFK를 사용하기도 합니다만, 기능면에서 크게 차이는 없습니다. ELK에서 사용될 로그 전송은 Filebeat나 Winlogbeat 등 beats 관련 프로그램들을 사용했습니다.

 

 IDS는 Snort를 사용했는데, 아무래도 Snort가 룰 기반 탐지여서 프로젝트에서 원하는 부분을 즉각 탐지하고, 분류할 수 있다는 점이 해당 프로그램을 선정한 가장 큰 이유였습니다.

 

 위와 같이 전체적인 구축이 끝나면, 평소에는 Kibana를 통해 아래 자료와 같이 시각화한 자료를 기반으로 모니터링이 가능합니다.

 

(모니터링 화면, 출처: 자체 구성한 Kibana 화면 에서 발췌)

 여기에서 각 부분이 어떤 역할을 하는지 다 설명해 드릴 수는 없고, 보안이나 자원의 한계 등 다양한 이유로 인해 전체 모니터링 화면이 나온 것이 아니라 일부로 저화질로 일부 화면만 발췌했기 때문에 실제로는 위에 자료에서 보이는 것보다 다양한 정보를 사용자에게 알려줍니다. 

 

 예를 들어 아래 자료는 ICMP Flooding 공격을 시행했을 때 탐지한 자료로, 어떤 IP에서 공격이 들어왔고, 어느 시스템으로 들어왔으며, 언제 들어왔는지 등 다양한 정보들을 직접 시스템에 접속하지 않고도 대략적으로 확인이 가능합니다.

 

(모니터링 화면, 출처: 자체 구성한 Kibana 화면 에서 발췌)

 

 탐지와 경고는 Snort를 통해 이뤄지며, ICMP Flooding 외에도 몇 가지 룰이 추가되어 있고, 해당 룰과 동일한 패턴이 감지되면 4단계에 해당되는 경고 중 하나를 띄우는 원리입니다.

참고로 위에 자료에는 안 나와 있지만, 다른 화면에 보면 ICMP Flooding은 Warning 단계에 해당되는 공격으로 Warning 알람과 ICMP Flooding이라는 공격 형태를 같이 보여주게 됩니다.

그럼 사용자는 해당 IP를 차단하거나, 서비스가 마비되지 않도록 보수하는 등 해당 공격에 맞는 대처를 하게 됩니다.

 

 다른 예시를 하나 더 보여드리자면, 아래 자료는 윈도우 기반 PC에서 발생한 랜섬웨어를 탐지하는 화면으로 우측에 있는 라인 그래프를 보면 갑자기 치솟는 것을 확인할 수 있습니다.

 

(모니터링 화면, 출처: 자체 구성한 Kibana 화면 에서 발췌)

 

 구체적으로는 해당 그래프는 윈도우 로그를 보여주는 그래프로, 치솟은 부분은 파일의 생성(11번)과 삭제(13번) 관련 로그입니다. 테스트용으로 제작했던 랜섬웨어의 경우 파일을 복사하면서 암호화하고, 원본 파일을 삭제시키는 랜섬웨어로, 사용자가 별다른 작업을 하지 않았는데도 비이상적으로 파일이 생성되는 것을 확인할 수 있고, 이를 통해 이상 분석을 한 결과 랜섬웨어로 판별된 경우입니다.

 이 경우에는 피해 확산을 막기 위해 파일을 변경시키는 프로세스를 해당 모니터링 시스템이나 다른 방법을 통해 찾아 죽이거나, 감염되지 않은 파일을 백업하는 등의 대처가 가능합니다만 요즘 성능 좋은 백신이라면 자동으로 프로세스 탐지와 차단까지 실행합니다.

 

 이 외에도 SYN Flooding 같은 추가적인 네트워크 공격이나 DVWA를 이용한 웹 해킹 등 몇 가지 시나리오를 가지고 MMS를 실험해 봤는데 해당 내용을 여기에다 적기에는 양이 많기 때문에 구축 과정과 동일하게 생략하겠습니다.


 

 이상 이번 포스트에서는 ' 멀티 클라우드 통합 모니터링 시스템 구축 '에 대해 알아보았습니다.

 여기서는 구축부터 탐지까지 대략적으로만 작성했고, 실제로 어떻게 구축했는지에 대해서는 아직 작성할 예정이 없지만, 추후 상황을 보고 각 환경, 프로그램별로 올릴 수 있으면 별도 포스팅하도록 하겠습니다.

다만, 이번 프로젝트 외에도 라즈베리 파이나 아두이노 등을 이용한 프로젝트들도 포스팅이 밀려 있어 포스팅이 어렵거나 작성되지 않을 확률이 높다는 점 양해 바랍니다.

 

- 연관 포스트 바로가기 -

1. [정보/개발] - 라즈베리 시리즈(1) - 라즈베리 파이4에 os 설치하기(라즈비안)

2. [학습/IT] - IT 관련 프로토콜(1) - 전송계층 중 TCP와 UDP 설명 (3 way handshake 포함)


3. [정보] - 특허 알아보기(3) - 지식재산보호 종합포털로 보는 지재권 분쟁과 K-브랜드 침해 신고방법

 

 본 포스트는 광고나 쿠팡 파트너스 등을 통해 소정의 대가를 제공받을 수 있다는 점을 알려드리며, 다음에도 다양한 소식으로 찾아뵙겠습니다.

다음, 네이버, 빙, 구글에서 전설의 백호 집◁ 를 검색하시면 블로그/웹사이트에서 만나 볼 수 있어요!

더보기

댓글 영역