> 패키지 및 시스템 관리 > auditctl

auditctl: Linux 감사 규칙 관리

auditctl은 Linux 커널의 감사(auditing) 시스템을 제어하는 데 사용되는 명령줄 도구입니다. 이를 통해 시스템에서 발생하는 특정 이벤트(파일 접근, 시스템 호출 등)를 감시하고 기록하는 규칙을 추가, 삭제, 나열할 수 있습니다. 보안 감사 및 규정 준수를 위해 중요한 시스템 활동을 모니터링하는 데 필수적입니다.

개요

auditctl은 Linux 감사 시스템의 규칙을 동적으로 관리합니다. 이 규칙들은 커널 수준에서 정의되며, 특정 파일 접근, 시스템 호출, 사용자 활동 등 다양한 이벤트를 기록하도록 설정할 수 있습니다. 감사 로그는 주로 /var/log/audit/audit.log 파일에 저장됩니다.

주요 기능

  • 감사 규칙 추가 및 삭제
  • 현재 활성화된 감사 규칙 목록 조회
  • 파일 및 디렉토리 접근 감시
  • 특정 시스템 호출 감시
  • 사용자 및 그룹 기반 감사 규칙 설정

설치

auditctl은 'audit' 또는 'auditd' 패키지의 일부로 제공됩니다. 대부분의 Linux 배포판에 기본적으로 설치되어 있지 않다면 다음 명령어를 사용하여 설치할 수 있습니다.

Debian/Ubuntu

sudo apt update
sudo apt install auditd

Debian 또는 Ubuntu 기반 시스템에서 auditctl을 설치합니다.

RHEL/CentOS/Fedora

sudo yum install audit
# 또는
sudo dnf install audit

RHEL, CentOS 또는 Fedora 기반 시스템에서 auditctl을 설치합니다.

설치 후에는 auditd 서비스를 시작하고 활성화해야 합니다: `sudo systemctl enable auditd --now`

주요 옵션

auditctl 명령어는 다양한 옵션을 통해 감사 규칙을 정의하고 관리합니다.

규칙 관리

규칙 정의

생성된 명령어:

명령어를 조합해 보세요.

설명:

`auditctl` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

auditctl을 사용하여 감사 규칙을 설정하는 다양한 예시입니다.

현재 모든 감사 규칙 나열

sudo auditctl -l

현재 커널에 로드된 모든 감사 규칙을 확인합니다.

/etc/passwd 파일 변경 감시

sudo auditctl -w /etc/passwd -p wa -k passwd_changes

/etc/passwd 파일에 대한 모든 쓰기(w) 및 속성 변경(a) 접근을 감시하고, 'passwd_changes' 키를 할당합니다.

/etc/shadow 파일 읽기 시도 감시

sudo auditctl -w /etc/shadow -p r -k shadow_read

/etc/shadow 파일에 대한 읽기(r) 시도를 감시하고, 'shadow_read' 키를 할당합니다.

/var/log 디렉토리 내 파일 생성/삭제 감시

sudo auditctl -a always,exit -F dir=/var/log -F perm=wa -S creat,unlink -k log_dir_changes

/var/log 디렉토리 내에서 파일 생성(creat) 및 삭제(unlink) 시스템 호출을 감시합니다. 'log_dir_changes' 키를 할당합니다.

특정 사용자(UID)의 파일 삭제 시도 감시

sudo auditctl -a always,exit -F arch=b64 -S unlink -F auid=1000 -k user_file_delete

UID 1000인 사용자가 파일을 삭제(unlink)하는 시스템 호출을 감시합니다. 64비트 시스템 아키텍처를 명시합니다.

모든 감사 규칙 삭제

sudo auditctl -D

현재 로드된 모든 감사 규칙을 삭제합니다. (주의: 신중하게 사용해야 합니다.)

특정 키를 가진 규칙 삭제

sudo auditctl -w /etc/passwd -p wa -k passwd_changes -d

'passwd_changes' 키를 가진 규칙을 삭제합니다. 규칙을 추가할 때와 동일한 옵션을 사용해야 합니다.

팁 & 주의사항

auditctl 사용 시 유용한 팁과 주의해야 할 사항입니다.

규칙 영구 저장

auditctl로 추가된 규칙은 시스템 재부팅 시 사라집니다. 규칙을 영구적으로 유지하려면 /etc/audit/rules.d/audit.rules 파일에 규칙을 추가하고, 'augenrules --load' 또는 'systemctl restart auditd' 명령으로 적용해야 합니다.

  • 규칙 파일: /etc/audit/rules.d/audit.rules
  • 규칙 적용: sudo augenrules --load

성능 영향

너무 많은 감사 규칙을 설정하거나 광범위한 디렉토리를 감시하면 시스템 성능에 영향을 줄 수 있습니다. 필요한 최소한의 규칙만 설정하고, 중요한 경로에 집중하는 것이 좋습니다.

로그 파일 확인

감사 이벤트는 /var/log/audit/audit.log 파일에 기록됩니다. 이 로그를 확인하려면 ausearch 및 aureport 명령어를 사용하는 것이 효율적입니다.

아키텍처 지정 (-F arch=b64/b32)

시스템 호출을 감시할 때, 64비트 시스템에서는 '-F arch=b64'를, 32비트 시스템에서는 '-F arch=b32'를 명시적으로 지정하는 것이 좋습니다. 이는 시스템 호출 번호가 아키텍처마다 다를 수 있기 때문입니다.


동일 카테고리 명령어