1. 개요
과거에는 Linux 운영체제가 Windows 운영체제에 비해 상대적으로 보안 위협에서 안전하다는 인식이 많았다. 그러나, Action1의 '2025 Software Vulnerability Ratings' 보고서에 따르면, 2024년 Linux 시스템의 취약점 수가 2023년 대비 967% 증가해 공격자들이 악용할 수 있는 공격 표면이 넓어졌음을 알 수 있다. 또한, 이스트시큐리티의 '2024년 3분기 주요 랜섬웨어 동향'에 따르면, 가상화 환경(ESXi)과 Linux 시스템을 목표로 하는 랜섬웨어 공격이 급증하고 있는 것으로 나타났다.
Linux 운영체제에서 기본적으로 남기는 시스템 로그(syslog, messages, secure 등)는 "무슨 일이 일어났는가?"에 대해서는 알려주지만, "누가, 어떻게, 왜"에 대한 정보가 부족하다. 또한, 공격자가 정상적인 시스템 프로세스를 활용해 악성 행위를 수행하는 경우가 많아, 기본 로그만으로는 공격 행위를 모두 파악하기 어렵다.
Sysmon(System Monitor)은 Microsoft의 Sysinternals suite에 포함된 시스템 모니터링 도구로, 시스템에서 일어나는 다양한 이벤트 행위(프로세스 생성, 네트워크 연결 등)를 상세하게 기록한다. Sysmon에 대한 설명은 이전 'A Practical guide for Sysmon : Concept and install' 글에서 확인할 수 있다.
Microsoft에서는 Linux 시스템에서도 동일하게 시스템 활동을 모니터링할 수 있도록 별도 Linux 버전의 Sysmon을 제공하고 있다.
Linux Sysmon은 단순히 프로세스 생성 정보만 기록하는 것이 아니라, 전체 명령줄(Command Line), 프로세스 및 부모 프로세스의 PID와 해시값 등을 함께 기록해 공격자가 어떤 명령을 수행했는지 파악할 수 있다. 또한, 프로세스가 수행한 네트워크 연결을 기록해 악성 C2(Command & Control) 서버와의 통신이나, 내부 이동(Lateral Movement)을 수행하는 것을 식별할 수 있다.
Linux Sysmon을 활용하면 시스템 내 동작 중인 프로세스가 수행하는 행위(프로세스 생성, 네트워크 연결 등)를 별도의 로그로 기록할 수 있기 때문에, 기존 로그의 한계를 극복하고 분석가에게 가시성을 제공해 공격자가 수행한 악성 행위를 식별하는 데 많은 도움을 줄 수 있다.
2. Linux Sysmon 설치 및 삭제
2.1. Linux Sysmon 패키지 설치
Linux Sysmon을 설치하기 위해서는 현재 시스템 배포판에 맞게 패키지를 설치해야 한다. 패키지 설치 도구(yum 등)를 통해 패키지를 설치하기 위해서는 외부 인터넷과 통신이 가능한 환경이어야 하며, 배포판에 따라 추가 설정(Microsoft Key 및 Feed 등록)이 존재한다. 외부 인터넷과 통신이 불가능한 환경에서는 공식 Github에서 소스코드와 종속성 패키지들을 다운로드 받아 직접 빌드해야 한다.
본 글에서는 일부 배포판에 대한 패키지 설치 방법을 설명하며, 다른 Linux 배포판에서의 패키지 설치 방법은 아래 링크에서 확인 가능하다.
RHEL 계열(CentOS)
- Microsoft Key와 Feed 등록
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/$(. /etc/os-release && echo ${VERSION_ID%%.*})/packages-microsoft-prod.rpm
- Linux Sysmon 패키지 설치
sudo yum install sysmonforlinux
Ubuntu
- Microsoft Key와 Feed 등록
sudo wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
- Linux Sysmon 패키지 설치
sudo apt-get install sysmonforlinux
Azure Linux 3
- Linux Sysmon 패키지 설치
sudo dnf install sysmonforlinux
수동 설치
- SysinternalsEBPF의 종속성 패키지 설치
sudo apt install build-essential gcc g++ make cmake libelf-dev llvm clang libzstd1 git libjson-glib-dev
- SysinternalsEBPF 패키지 다운로드 및 설치
sudo git clone https://github.com/Sysinternals/SysinternalsEBPF.git
cd SysinternalsEBPF
sudo ./libsysinternalsEBPFinstaller
- Linux Sysmon의 종속성 패키지 설치
sudo apt install build-essential gcc g++ make cmake libelf-dev llvm clang libxml2 libxml2-dev libzstd1 git libgtest-dev apt-transport-https dirmngr monodevelop googletest google-mock libjson-glib-dev
- Linux Sysmon 소스코드 다운로드 및 빌드
sudo git clone --recurse-submodules https://github.com/Microsoft/SysmonForLinux.git
cd SysmonForLinux
sudo mkdir build
cd build
sudo cmake ..
sudo make
2.2. Linux Sysmon 서비스 설치
Linux Sysmon 패키지 설치 시 바이너리 파일과 구성 파일들이 생성되지만, 자동으로 서비스 설치가 되지 않기 때문에 사용자가 명령어를 통해 서비스를 설치해야 한다.
Linux Sysmon 설치
Linux Sysmon 서비스 설치 전에 패키지가 정상적으로 설치되었는지 아래 명령어를 통해 확인한다.
sudo sysmon -h

Linux Sysmon은 아래 표와 같이 Windows Sysmon에 비해 적은 옵션을 지원하고 있다.
옵션 | 설명 |
---|---|
-i | Sysmon 서비스 설치(필요한 경우 설정파일 호출) |
-c | 설치된 Sysmon의 구성을 업데이트 하거나, 다른 인수가 제공되지 않은 경우 현재 구성을 삭제(필요한 경우 설정파일 호출) |
-s | Sysmon Schema 정보 출력 |
-u | Sysmon 서비스 삭제 |
옵션을 사용해 설치하려면 아래 명령어로 설치한다.
sudo sysmon -i [options]

이미 Sysmon이 설치되어 있는데 옵션을 변경하기 위해서는 재설치하거나, sysmon -c [options] 명령어를 이용해 설정을 업데이트할 수 있다. 또한, sysmon -c 명령어를 사용하면 현재 설정된 값을 확인할 수 있다.
2.3. Linux Sysmon 설치 확인
Linux Sysmon 설치를 확인하기 위해서는 세 가지 방법이 있다.
1) 서비스로 확인
Linux Sysmon 설치 시 시스템에 sysmon.service 서비스가 등록되어 자동 실행된다.

2) 파일로 확인
Linux Sysmon 설치 시 /opt/sysmon 경로에 관련 구성 파일들이 생성된다.

3) 로그로 확인
Linux Sysmon 이벤트는 기본적으로 /var/log 경로에 syslog 또는 messages에 저장된다.

2.4. Linux Sysmon 삭제
Linux Sysmon은 아래 명령어로 서비스를 중지시킬 수 있다.
sudo sysmon -u

Linux Sysmon을 완전히 삭제하기 위해서는 아래 경로의 파일들을 삭제한다.
- Sysmon 구성 파일 경로: /opt/sysmon/*
본 글에서는 Linux Sysmon이 무엇이며, 어떻게 설치할 수 있는지 알아봤다. 다음 글은 'Practical guide for Linux Sysmon : Event and Utilization'으로 Linux Sysmon이 지원하는 이벤트와 활용 방안에 대해 알아본다.
Reference
- Action1, 2025 Software Vulnerability Ratings Report https://www.action1.com/software-vulnerability-ratings-report-2025/
- 이스트시큐리티, 2024년 3분기 주요 랜섬웨어 동향 https://www.estsecurity.com/public/security-info/column/view/832583
- Microsoft, Sysmon - Sysinternals https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon?ref=blog.plainbit.co.kr
- Microsoft, SysmonForLinux: Sysmon for Linux https://github.com/microsoft/SysmonForLinux