본문 바로가기

리눅스

우분투 24.04에서 AIDE를 설치하고 사용하는 방법

반응형

우분투 24.04에서 AIDE(Advanced Intrusion Detection Environment)를 설치하고 사용하는 방법

AIDE는 시스템 파일의 무결성을 검사하여 무단 변경을 탐지하는 데 유용한 도구입니다.

1. AIDE 설치

sudo apt update
sudo apt install -y aide

 

기본 설정 파일 위치 : /etc/aide/aide.conf

더보기

---

$ sudo apt install -y aide
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  aide-common bsd-mailx liblockfile-bin liblockfile1 libmhash2 libnsl2 postfix ssl-cert
Suggested packages:
  figlet postfix-cdb postfix-doc postfix-ldap postfix-lmdb postfix-mta-sts-resolver postfix-mysql postfix-pcre postfix-pgsql postfix-sqlite procmail
  sasl2-bin | dovecot-common
The following NEW packages will be installed:
  aide aide-common bsd-mailx liblockfile-bin liblockfile1 libmhash2 libnsl2 postfix ssl-cert
0 upgraded, 9 newly installed, 0 to remove and 177 not upgraded.

---

aide 버전 정보 확인

aide --version | head -n1
AIDE 0.18.6

2. 초기 데이터베이스 생성

초기 무결성 DB는 시스템 상태를 기준으로 만들어야 합니다.

sudo aideinit
더보기

---

$ sudo aideinit
Running aide --init...

---

$ ls -l /var/lib/aide
-rw------- 1 root  root  481538189 May  1 20:54 aide.db
-rw------- 1 _aide _aide 481538189 May  1 20:54 aide.db.new
  • 생성된 DB는 보통 /var/lib/aide/aide.db.new에 저장됩니다.
  • 기본 DB 위치 : /var/lib/aide/aide.db

기존 DB로 복사

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

3. 무결성 검사 실행

이제 시스템의 변경 여부를 확인할 수 있습니다.

sudo aide --check --config /etc/aide/aide.conf
AIDE found differences between database and filesystem!!
(...)
Added entries:
(...)
Changed entries:
(...)
Removed entries:
(...)

변경 사항이 없다면 "AIDE found no differences"라고 출력됩니다.

4. 커스텀 설정: 웹 디렉토리 감시 추가 (예: /var/www)

sudo vim /etc/aide/aide.conf
/etc		p+i+u+g+s+b+m+c+sha512
/bin		p+i+u+g+s+b+m+c+sha512
/sbin		NORMAL
/usr/bin	NORMAL
/usr/sbin	NORMAL
# /var/www 내 특정 확장자 파일만 감시
#/var/www	FIPSR+sha512
/var/www.*\.(php|sh|py|js|cgi|pl)$	FIPSR+sha512
!/var/log

감시 항목 종류는 설정 파일 상단에서 NORMAL, FIPSR(더 민감) 등이 정의되어 있습니다.

  • 주요 감시 속성
    • p : 권한 (permissions)
    • i : inode
    • u : 사용자 (user)
    • g : 그룹 (group)
    • s : 크기 (size)
    • b : 블록 수 (number of blocks)
    • m : 수정 시간 (mtime)
    • a : 접근 시간 (atime)
    • c : ctime (inode 변경 시간)
    • sha512 : SHA512 해시 값
    • NORMAL : 디렉토리의 권한(p), inode(i), 링크 수(n), 사용자 ID(u), 그룹 ID(g), 크기(s), 수정 시간(m) 등의 변경 여부를 감시
    • FIPSR : NORMAL 규칙에 더하여 SHA-512 해시 값(FIPS 140-2에서 승인된 해시 알고리즘)을 포함하여 파일 내용의 무결성을 더욱 강력하게 검시
FIPS : Federal Information Processing Standards

5. AIDE 데이터베이스 업데이트

시스템 변경 사항이 정상적인 업데이트나 설치로 인해 발생한 경우 기준 데이터베이스를 현재 상태로 업데이트해야 합니다.

sudo aide --update
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
더보기

---

DB 재생성 및 적용

  • AIDE는 설정 변경 후 반드시 DB를 재생성해야 적용됩니다.
sudo aideinit
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

---

6. 자동화 (Cron 작업)

크론 작업으로 매일 무결성 검사를 할 수 있습니다.

 

로그 파일로 결과 저장

sudo mkdir -p /var/log/aide
sudo touch /var/log/aide/aide_check.log
sudo chown root:root /var/log/aide/aide_check.log
sudo chmod 600 /var/log/aide/aide_check.log
sudo crontab -e
0 1,8,13,20 * * * /usr/bin/aide --check >> /var/log/aide/aide_check.log 2>&1
#0 1,8,13,20 * * * echo "[AIDE check on $(date)]" >> /var/log/aide/aide_check.log && /usr/bin/aide --check >> /var/log/aide/aide_check.log 2>&1

메일 전송

sudo crontab -e
매일 1시, 8시, 13시, 20시 검사
0 1,8,13,20 * * * /usr/bin/aide --check | mail -s "AIDE Integrity Check" sadmin@scbyun.com

 

보안 요구 사항에 따라 적절한 규칙 세트를 선택하여 AIDE를 설정하는 것이 중요합니다. 높은 수준의 무결성 검증이 필요한 환경에서는 FIPSR과 같은 규칙을 사용하는 것이 좋습니다.

 

참고URL

- ubuntu manuals : aide - Advanced Intrusion Detection Environment

- ubuntu manuals : aide.conf - The configuration file for Advanced Intrusion Detection Environment

 

Sudo Aide -Config /etc/aide/aide.conf
 
728x90
반응형