Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

웜, 바이러스, 맬웨어, 그리고 무서운 루트킷은 모든 서버 관리자에게 악몽과 같은 존재입니다. 시스템 아키텍처에 따라 공격자가 감염된 서버에서 민감한 정보를 수집하거나 조직에 막대한 금전적 손실을 입힐 수 있는 경로는 헤아릴 수 없이 많습니다.

다행히도 이런 사이버 위협 앞에서 항복할 필요는 없습니다. 서버에서 이들을 탐지하는 것은 충분히 가능하며, 리눅스 서버의 맬웨어와 루트킷을 검사할 때 활용할 수 있는 도구도 다양합니다. 게다가 이 도구들 중 상당수는 무료로 사용할 수 있습니다.

1. ClamAV

ClamAV는 메일 서버와의 연동을 염두에 두고 설계된 명령줄 기반 백신 프로그램으로, SuSE, Fedora, Ubuntu 등 주요 리눅스 배포판을 포함한 다양한 운영체제에서 사용할 수 있습니다.

Ubuntu에서는 다음 명령어 한 줄로 간단히 설치할 수 있습니다.

sudo apt install clamav clamav-daemon

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

설치가 완료되면 터미널에서 ClamAV를 실행해 시스템 전체를 꼼꼼히 점검하고 감염된 파일을 치료할 수 있습니다. 또한 강력한 실시간 검사와 리소스 모니터링 유틸리티도 함께 제공됩니다.

서버 파일시스템을 간단히 검사하려면 루트 디렉터리에서 다음 명령어를 실행하세요.

clamscan -r -i

위 명령은 재귀적 검사(파일 내부의 파일까지 확인)를 수행하고, 감염된 파일만 터미널에 출력하도록 지시합니다. 단, 이 명령을 실행하기 전에 ClamAV가 바이러스 시그니처 데이터베이스를 설치할 충분한 시간을 확보해야 합니다. 진행 상황을 확인하려면 서비스를 중지한 후 수동으로 재시작할 수 있습니다.

sudo systemctl stop clamav-freshclam.service

이어서 다음 명령을 실행합니다.

sudo freshclam

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

검사 중 감염된 파일을 자동으로 삭제하려면 다음 명령어를 사용하세요. (주의해서 사용하세요!)

clamscan -r -i --remove

2. chkrootkit

chkrootkit은 악성 로더블 커널 모듈, 웜, 그리고 본격적인 루트킷을 탐지하기 위한 여러 가지 검사를 수행하는 도구입니다.

Ubuntu에서는 공식 저장소에서 이 도구를 제공하므로 다음 명령어로 설치할 수 있습니다.

sudo apt install chkrootkit

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

ClamAV와 달리 chkrootkit은 수동적(passive) 도구로, 탐지된 위협에 직접 대응하는 기능은 없습니다. 따라서 서버 파일시스템에서 발견된 의심스러운 항목은 직접 조사하고 제거해야 하므로, 나중에 참고할 수 있도록 출력 결과를 복사해 두는 것이 좋습니다.

도구를 실행하려면 다음 명령어를 사용하세요.

sudo chkrootkit

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

chkrootkit이 출력하는 목록은 추가 진단을 위한 좋은 출발점이 됩니다.

3. AIDE

AIDE는 "Advanced Intrusion Detection Environment(고급 침입 탐지 환경)"의 약자로, Tripwire라는 유사 도구를 완전히 무료로 대체할 수 있는 솔루션입니다.

AIDE를 사용하면 시스템 파일을 면밀히 감시하여 언제, 어떻게 수정되거나 접근되었는지 추적할 수 있습니다. Ubuntu 공식 저장소에서 apt로 손쉽게 설치할 수 있습니다.

sudo apt install aide

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

설치 과정을 마치려면 화면에 표시되는 옵션을 통해 Postfix를 구성해야 합니다. Tab 키나 방향키로 옵션 사이를 이동한 후 원하는 항목에서 Enter 키를 누르면 됩니다. Postfix는 사용자가 설정한 주기에 따라 정보를 이메일 주소로 전송하는 데 사용됩니다.

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

AIDE 설정에는 약간의 파일 작업이 필요합니다. 다음 위치의 파일들을 다뤄야 합니다.

/var/lib/aide
/etc/aide

먼저 다음 명령어를 실행해 데이터베이스와 설정 파일을 생성합니다.

sudo aideinit

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

완료되면 이 과정에서 생성된 데이터베이스와 설정 파일이 "/var/lib/aide/" 디렉터리에 각각 "aide.db.new"와 "aide.conf.autogenerated"라는 이름으로 저장됩니다. 정상적으로 동작하려면 두 파일을 각각 "aide.db"와 "aide.conf"로 복사해야 합니다.

다음 명령어로 데이터베이스 파일을 새 이름으로 복사할 수 있습니다.

sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

설정 파일의 이름을 변경하고 복사하기 전에 먼저 다음 명령어로 파일을 업데이트합니다.

sudo update-aide.conf

리눅스 서버 맬웨어·루트킷 검사 방법 총정리: ClamAV, chkrootkit, AIDE

설정 파일을 업데이트했다면 다음 명령어로 올바른 폴더에 복사합니다.

sudo cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf

이제 AIDE가 서버에서 정상적으로 작동하며, 생성해 둔 파일시스템의 해시(HASHED) 표현을 기반으로 시스템을 감시하게 됩니다.

설정 파일을 수정하면 특정 폴더를 제외하거나 주기적으로 검사를 실행하는 등 다양한 구성이 가능하지만, 다음 명령어만으로도 시스템 검사 결과를 확인할 수 있습니다.

aide -c /etc/aide/aide.conf -C

AIDE는 설정 파일을 읽기 전용 위치에서 참조할 때 가장 효과적입니다. 루트킷이 공격자에게 설정 파일 변조를 허용할 수 있기 때문입니다. 최상의 결과를 얻으려면 이러한 구성을 적용해 보세요.

이번 글에서 소개한 도구들은 다양한 기법을 활용해 리눅스 서버의 맬웨어와 루트킷을 검사하는 데 큰 도움이 될 것입니다. 루트킷은 디지털 위협 중 가장 다루기 까다로운 존재지만, 꾸준한 관리와 성실한 점검으로 충분히 예방할 수 있습니다.