7장. 시스템 감사
Linux 감사 시스템은 시스템에서 보안 관련 정보를 추적하는 방법을 제공합니다. 사전 구성된 규칙에 따라 감사는 시스템에서 발생하는 이벤트에 대한 정보를 가능한 한 많이 기록하는 로그 항목을 생성합니다. 이 정보는 미션 크리티컬한 환경과 보안 정책의 위반 및 수행 조치를 결정하는 데 중요합니다. 감사는 시스템에 추가 보안을 제공하지 않습니다. 오히려 시스템에서 사용되는 보안 정책의 위반을 탐지하는 데 사용할 수 있습니다. 이러한 위반은 SELinux와 같은 추가 보안 조치로 인해 추가로 방지할 수 있습니다.
다음 목록에는 감사가 로그 파일에 기록할 수 있는 몇 가지 정보가 요약되어 있습니다.
- 날짜 및 시간, 유형 및 이벤트 결과.
- 제목 및 오브젝트의 민감도 레이블입니다.
- 이벤트를 트리거한 사용자의 ID와 이벤트 연결입니다.
- 감사 구성에 대한 모든 수정 및 감사 로그 파일에 액세스하려고 시도합니다.
- SSH, Kerberos 등의 인증 메커니즘의 모든 용도.
- 신뢰할 수 있는 데이터베이스(예:
/etc/passwd
)의 변경 사항. - 시스템 안으로 또는 시스템에서 정보를 가져오거나 내보내려고 합니다.
- 사용자 ID, 주체 및 오브젝트 레이블 및 기타 속성을 기반으로 이벤트를 포함하거나 제외합니다.
감사 시스템을 사용하는 것도 여러 보안 관련 인증에 대한 요구 사항입니다. 감사는 다음 인증 또는 컴플라이언스 가이드의 요구사항을 충족하거나 초과하도록 설계되었습니다.
- Controled Access Protection Profile (CAPP)
- 레이블이 지정된 보안 보호 프로필(LSPP)
- 규칙 세트 기본 액세스 제어(RSBAC)
- 국제 산업 보안 프로그램 운영 설명서 (NISPOM)
- 연방 정보 보안 관리 법률 (FISMA)
- 결제 카드 산업 - PCI-DSS(Data Security Standard)
- STIG(Security Technical Implementation Guides)
감사 또한 다음과 같습니다.
- NIAP(National Information Assurance Partnership) 및 BSI( Best Security Industrys)에 의해 평가됨.
- Red Hat Enterprise Linux 5에서 LSPP/CAPP/RSBAC/EAL4+ 인증.
- Red Hat Enterprise Linux 6에서 운영 체제 보호 프로파일 / 평가 보장 수준 4 이상(OSPP/EAL4+) 인증.
사용 사례
- 파일 액세스 감시
- 감사에서는 파일 또는 디렉터리에 액세스, 수정, 실행 또는 파일의 속성이 변경되었는지 추적할 수 있습니다. 예를 들어 중요한 파일에 대한 액세스를 감지하고 이러한 파일 중 하나가 손상된 경우 감사 추적을 사용할 수 있는 데 유용합니다.
- 시스템 호출 모니터링
- 특정 시스템 호출을 사용할 때마다 로그 항목을 생성하도록 감사를 구성할 수 있습니다. 예를 들어
settimeofday
,clock_adjtime
및 기타 시간 관련 시스템 호출을 모니터링하여 시스템 시간 변경 사항을 추적하는 데 사용할 수 있습니다. - 사용자가 실행한 명령 기록
- 감사는 파일이 실행되었는지 여부를 추적하므로 특정 명령의 모든 실행을 기록하도록 규칙을 정의할 수 있습니다. 예를 들어
/bin
디렉터리의 모든 실행 파일에 대해 규칙을 정의할 수 있습니다. 그런 다음 결과 로그 항목을 사용자 ID로 검색하여 사용자당 실행된 명령의 감사 추적을 생성할 수 있습니다. - 시스템 경로의 실행 기록
- 규칙 호출 시 경로를 inode로 변환하는 파일 액세스를 감시하는 것 외에도 감사에서는 규칙 호출 시 존재하지 않는 경로 실행 또는 규칙 호출 후 파일을 교체한 경우에도 경로 실행을 조사할 수 있습니다. 이를 통해 프로그램 실행 파일을 업그레이드하거나 설치되기 전에 규칙이 계속 작동할 수 있습니다.
- 보안 이벤트 기록
pam_ceilometer
인증 모듈은 실패한 로그인 시도를 기록할 수 있습니다. 감사는 실패한 로그인 시도를 기록하도록 설정할 수 있으며 로그인을 시도한 사용자에 대한 추가 정보를 제공합니다.- 이벤트 검색
- 감사에서는 로그 항목을 필터링하고 여러 조건에 따라 전체 감사 추적을 제공하는 ausearch 유틸리티를 제공합니다.
- 요약 보고서 실행
- aureport 유틸리티는 기록된 이벤트의 일일 보고서를 생성하는 데 사용할 수 있습니다. 그런 다음 시스템 관리자는 이러한 보고서를 분석하고 의심스런 활동을 추가로 조사할 수 있습니다.
- 네트워크 액세스 모니터링
- 시스템 관리자가 네트워크 액세스를 모니터링할 수 있도록 iptables 및 ebtables 유틸리티를 구성하여 감사 이벤트를 트리거할 수 있습니다.
참고
감사에서 수집하는 정보의 양에 따라 시스템 성능이 영향을 받을 수 있습니다.
7.1. 감사 시스템 아키텍처
감사 시스템은 사용자 공간 애플리케이션과 유틸리티와 커널 측 시스템 호출 처리의 두 가지 주요 부분으로 구성됩니다. 커널 구성 요소는 사용자 공간 애플리케이션에서 시스템 호출을 수신하고 사용자,작업,fstype 또는 종료 필터 중 하나를 통해 필터링합니다.
시스템 호출이 제외 필터를 통과하면 앞서 언급한 필터 중 하나를 통해 전송됩니다. 감사 규칙 구성에 따라 추가 처리를 위해 감사 데몬으로 전송합니다.
사용자 공간 감사 데몬은 커널에서 정보를 수집하고 로그 파일에 항목을 생성합니다. 기타 감사 사용자 공간 유틸리티는 감사 데몬, 커널 감사 구성 요소 또는 감사 로그 파일과 상호 작용합니다.
- Audi sp - 감사 디스패처 데몬은 감사 데몬과 상호 작용하고 추가 처리를 위해 이벤트를 다른 애플리케이션에 보냅니다. 이 데몬의 목적은 실시간 분석 프로그램이 감사 이벤트와 상호 작용할 수 있도록 플러그인 메커니즘을 제공하는 것입니다.
- auditctl - 감사 제어 유틸리티는 커널 감사 구성 요소와 상호 작용하여 규칙을 관리하고 이벤트 생성 프로세스의 여러 설정 및 매개 변수를 제어합니다.
- 나머지 감사 유틸리티는 감사 로그 파일의 내용을 입력으로 사용하고 사용자 요구 사항에 따라 출력을 생성합니다. 예를 들어 aureport 유틸리티는 기록된 모든 이벤트에 대한 보고서를 생성합니다.