Filebeat를 이용한 웹서버 로그 분석 사례
침해사고 분석을 진행하다보면 로그를 주의 깊게 살펴봐야할 상황이 많습니다. 특히 웹쉘 감염등으로 인해 서버가 침해를 당했을때 웹서버 로그를 분석해야하는데요. 예를들어 웹서버의 경우는 Apache, Nginx, IIS등 다양한 웹 어플리케이션이 서비스 중이며 기록되는 로그 포맷은 모두 다릅니다. 즉, 웹서버 로그 분석시 로그 파일을 수집이나 취합하여 좀더 쉽게 로그 분석을 할수 있는 방법에 대해 실제 실무에서는 어떤 방법으로 진행하는지 소개해 드리도록 하겠습니다.
결론부터 이야기 하자면, 제가 근무하는 보안팀에서는 filebeat라는 ELK 스택 Beat 에이전트를 사용하여 이기종 로그를 수집하여 Elastic에 색인하여 로그 분석을 진행하고 있습니다.
Filebeat란?
Elastic Stack의 Beats 제품군은 시스템 현황을 추적하고 데이터 전송을 간소화하기 위해 고안된 경량 도구의 집합을 제공합니다. 이 제품군 중 하나인 Filebeat는 특히 시스템에서 생성되는 로그 파일의 실시간 수집 및 전송 역할을 수행하며, 효율성과 간단함에 초점을 맞춘 설계로 주목받고 있습니다.
Filebeat의 주요 기능과 역할은 다음과 같이 요약할수 있습니다.
- 로그 수집: 서버에서 생성되는 로그 파일(예: Apache, Nginx, 시스템 로그 등)을 실시간으로 모니터링하며, 이를 중단 없이 궤적처럼 저장 및 처리합니다. 다양한 형식의 로그를 빠짐없이 수집하여 중앙 관리와 분석이 가능하도록 지원합니다.
- 로그 전송: 수집된 로그 데이터를 사용자 지정 대상, 예를 들어 Elasticsearch, Logstash 등의 분석 플랫폼으로 전송합니다. 이를 통해 분산된 데이터가 효과적으로 중앙에서 처리 및 활용될 수 있습니다.
- 모듈 지원: Filebeat는 Apache, MySQL, Nginx 등 널리 사용하는 서비스에 대해 미리 정의된 설정과 모듈을 제공합니다. 이러한 사전구성 요소를 활용하면 특정 로그 소스와의 통합이 더욱 쉽고 신속하게 이루어질 수 있습니다.
- 멀티 파이프라인 처리: 다양한 로그 소스를 동시에 관리하여 대량 데이터 처리에 적합한 성능을 제공합니다. 이를 통해 다중 서버 환경에서도 안정적인 로그 모니터링이 가능합니다.
- 효율적인 상태 관리: 이미 읽은 로그 데이터를 추적하여 중복 전송을 방지하므로, 데이터 관리 효율성이 극대화됩니다.
이러한 기능들은 Filebeat가 경량화된 로그 수집기(Log Shipper)로서 리소스를 최소한으로 사용하고도 최적의 성능을 보일 수 있도록 뒷받침합니다.
filebeat를 이용한 이기종 로그 수집 및 분석 사례
앞서 말씀드렸듯이 Filebeat는 필요한 기능만을 핵심적으로 제공함으로써 효율적이고 직관적인 로그 관리 경험을 제공하며, 다양한 IT 환경에서 신뢰받는 선택지로 자리 잡고 있습니다.
- 분산 환경 로그 통합: 여러 서버에서 발생하는 수많은 로그를 한곳에서 중앙 집중적으로 수집, 확인 및 분석해야 할 필요가 있을 때 유용합니다.
- 경량화된 솔루션 요구: 서버 자원의 소비를 최소화하면서도 효과적으로 로그를 관리할 수 있는 경량화된 도구를 선호할 때 적합합니다.
- 간단한 로그 처리: 로그 데이터를 단순히 전송하거나 비교적 간단한 변환 작업만 요구되는 경우 적합합니다. 복잡한 데이터 변환이 필요하지 않은 환경에서 특히 강점을 발휘합니다.
저희 팀에서는 침해사고 발생 시 로그를 효과적으로 분석하기 위해 다음과 같은 프로세스를 활용하고 있습니다.
Apache, IIS, Linux Audit 로그 분석을 위해 Filebeat를 이용 분석 대상 로그를 정해진 디렉토리에 업로드후 Elasticsearch에 색인 진행. Filebeat 데몬이 해당 파일을 자동으로 감지하여 Elasticsearch에 색인 진행하는 프로세스 입니다.
위와 같은 flow를 통해 로그 분석 절차를 보다 간단하고 효율적으로 진행하고 있습니다. 즉, 엘라스틱 스택으로 이기종 로그들을 모두 한곳으로 모아서 분석을 진행하고 있습니다. 매번 txt 형태의 이기종 로그를 각각 툴을 이용하여 여러개의 창을 띄워놓고 복잡하게 볼필요가 없다는 장점과 동시에 상관 관계 분석시에도 시간을 대폭 절감 할 수 있습니다.
이와 같이 침해사고가 발생하면 다양한 유형의 로그를 수집하여 Filebeat를 통해 Elasticsearch에 색인하고, Kibana 화면을 활용해 이를 자세히 분석하는 과정을 진행하고 있습니다.
댓글