Ubuntu 서버용 AIDE 설치 및 설정 매뉴얼

AIDE(Advanced Intrusion Detection Environment)는 파일 시스템의 무결성을 검사해 침입, 변조, 백도어 설치와 같은 이상 행위를 탐지하는 보안 도구입니다.

AIDE의 사용 목적

AIDE는 호스트 기반 침입 탐지 시스템(IDS)으로, 시스템의 무결성을 모니터링하고 보호하는 데 사용됩니다.
주요 목적과 기능은 다음과 같습니다.

  • 시스템 파일 및 자원을 검사하여 해당 정보를 데이터베이스에 저장합니다.
  • 파일 해시, 크기, 소유자, 수정 일시, 생성 일시 등의 주요 파일 속성을 기록합니다.
  • 시스템 스냅샷을 만들고 각 스냅샷의 내용을 비교하여 무단 변경된 파일을 탐지합니다.
  • 공격자가 시스템을 손상시킬 때 흔히 시도하는 파일 권한 변경, 루트 계정 에스컬레이션, 시스템 파일 수정 등을 감지할 수 있습니다.
  • 모든 무단 변경을 모니터링하고 식별하여 시스템의 보안을 강화합니다.

AIDE는 침입자를 탐지하기만 할 뿐, 적극적으로 차단하지는 않는다는 점에서 침입 방지 시스템(IPS)과는 구별됩니다.

1. AIDE 설치
sudo apt update
sudo apt install aide

설치가 완료되면 설정 파일(/etc/aide/aide.conf)과
초기 설정 디렉터리(/etc/aide/aide.conf.d/)가 생성됩니다.

※ 설치 중에 메일 서버 구성(Postfix Configuration) 설정을 입력하라는 메시지가 나타날 수 있습니다. 이는 AIDE가 침입을 감지했을 때 관리자에게 이메일을 보내기 위한 것입니다. 구성이 필요 없다면 “No Configuration”을 선택해도 됩니다.

2. 설치 확인

설치가 완료되면 버전을 확인하여 성공적으로 설치되었는지 확인합니다.

aide -v
3. 설정 파일 준비 & 그룹 정의 추가

◼️ 설정 추가

기본 설정이 부족하다면 항목들을 직접 보강합니다.
/etc/aide/aide.conf 하단에 내용을 추가합니다.

# 감시할 주요 경로 #
/etc            NORMAL
/bin            NORMAL
/sbin          NORMAL
/usr            NORMAL
/boot         NORMAL
/lib             NORMAL
/lib64         NORMAL
/root          NORMAL
/var/log     LOG
/var/www  NORMAL
/home        NORMAL

# 감시 제외 경로 #
!/proc
!/sys
!/run
!/dev
!/tmp
!/var/cache
!/var/tmp
!/var/lib/apt
!/var/lib/dpkg
!/var/lib/systemd
!/var/lib/snapd
!/var/log/journal
!/home/*/cache
!/home/*/.local/share/Trash

◼️ 그룹 정의 추가(NORMAL, LOG 등)

/etc/aide/aide.conf 파일 중간 또는 상단에 다음을 추가:

NORMAL = p+i+n+u+g+s+m+c+sha512
LOG = p+i+n+u+g+s+m+c+sha512
항목의미
p퍼미션
iinode 번호
n링크 수
u소유자
g그룹
s크기
m수정 시간
c생성 시간
sha512해시 방식
4. 설정 검증
sudo aide -c /etc/aide/aide.conf --config-check

오류가 발생하면 줄 번호와 함께 알려주므로, 해당 라인 점검 후 수정하세요.

5. 초기 데이터베이스 생성
sudo aideinit

완료되면 /var/lib/aide/aide.db.new 파일이 생성됩니다.

◼️ aideinit 실행 시 오류가 발생한 경우 주요 원인 및 점검 사항

  • 디스크 공간 부족
    • 스냅샷(데이터베이스) 파일을 생성할 충분한 디스크 공간이 없을 때 발생할 수 있습니다.
      df -h 명령어로 /var 또는 전체 디스크 용량을 확인하세요.
  • 파일 및 디렉터리 권한 문제
    • /var/lib/aide/ 디렉터리 또는 해당 파일에 쓰기 권한이 없으면 오류가 발생할 수 있습니다.
      ls -ld /var/lib/aide 및 ls -l /var/lib/aide/로 권한을 확인하고, 필요시 sudo chown root:root /var/lib/aide 및 sudo chmod 700 /var/lib/aide로 권한을 수정하세요.
  • 설정 파일(aide.conf)오류
    • /etc/aide/aide.conf 파일에 잘못된 경로나 존재하지 않는 파일, 디렉터리가 포함되어 있으면 오류가 발생할 수 있습니다.
      설정 파일에서 감시 대상 경로에 오타가 없는지, 실제로 존재하는지 확인하세요.
  • 시스템 리소스 부족
    • 메모리 부족 등 시스템 리소스가 부족할 때도 스냅샷 생성이 실패할 수 있습니다.
      free -h 로 메모리 상황을 확인하세요.
  • 이전 스냅샷 파일 충돌
    • 기존에 생성된 /var/lib/aide/aide.db.new 파일이 손상되었거나, 제대로 삭제되지 않은 경우에도 문제가 발생할 수 있습니다.
      필요하다면 해당 파일을 수동으로 삭제 후 다시 시도하세요.
6. 기준 DB로 복사
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

이제부터 이 DB를 기준으로 시스템 변경 여부를 비교합니다.

7. 무결성 검사 실행
sudo aide -c /etc/aide/aide.conf --check

변경 사항이 있을 경우 상세한 보고가 출력됩니다.
출력이 길다면 파일로 저장해 확인할 수 있습니다.

sudo aide -c /etc/aide/aide.conf --check > /tmp/aide-report.txt
less /tmp/aide-report.txt
8. 변경사항 반영(정상 변경일 경우)

시스템 업데이트나 사용자 변경으로 인해 발생한 정상적인 변경은 DB에 반영해야 합니다.

sudo aide -c /etc/aide/aide.conf --update
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
자동화(선택 사항)

크론을 사용해 정기적으로 검사:

sudo crontab -e

추가 예시(매일 새벽 2시에 검사 결과를 이메일로 전송):

0 2 * * * /usr/bin/aide -c /etc/aide/aide.conf --check | mail -s "AIDE Report" you@example.com

또는 로그 파일에 저장:

0 2 * * * /usr/bin/aide -c /etc/aide/aide.conf --check >> /var/log/aide/aide.log 2>&1

AIDE는 간단하게 설정할 수 있지만 시스템 보안을 크게 향상시킬 수 있는 강력한 도구입니다.