웹사이트 검색

CentOS/RHEL에서 'ausearch' 도구를 사용하여 감사 로그를 쿼리하는 방법


지난 기사에서는 auditd 유틸리티를 사용하여 RHEL 또는 CentOS 시스템을 감사하는 방법을 설명했습니다. 감사 시스템(auditd)은 포괄적인 로깅 시스템이며 해당 문제에 대해 syslog를 사용하지 않습니다. 또한 커널 감사 시스템을 관리하고 로그 파일의 정보에서 보고서를 검색하고 생성하기 위한 도구 세트도 함께 제공됩니다.

이 튜토리얼에서는 ausearch 도구를 사용하여 RHEL 및 CentOS 기반 Linux 배포판의 auditd 로그 파일에서 데이터를 검색하는 방법을 설명합니다.

참고 자료: Linux용 좋은 오픈 소스 로그 모니터링 및 관리 도구 4가지

앞서 언급했듯이 감사 시스템에는 미리 구성된 규칙에 따라 보안 관련 정보를 커널에서 수집하는 사용자 공간 감사 데몬(auditd)과 로그 파일에 항목을 생성합니다.

오서치란 무엇인가요?

ausearch는 이벤트 및 이벤트 식별자, 키 식별자, CPU 아키텍처, 명령 이름, 호스트 이름, 그룹 이름 또는 그룹 ID와 같은 다양한 검색 기준을 기반으로 감사 데몬 로그 파일을 검색하는 데 사용되는 간단한 명령줄 도구입니다. , syscall, 메시지 등. 또한 stdin의 원시 데이터도 허용합니다.

기본적으로 ausearch는 다른 텍스트 파일처럼 볼 수 있는 /var/log/audit/audit.log 파일을 쿼리합니다.

cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less

위 스크린샷에서 로그 파일의 많은 데이터를 볼 수 있으므로 관심 있는 특정 정보를 얻기가 어렵습니다.

따라서 다음 구문을 사용하여 보다 강력하고 효율적인 방법으로 정보를 검색할 수 있는 ausearch가 필요합니다.

ausearch [options]

Auditd 로그 파일에서 실행 중인 프로세스 로그 확인

-p 플래그는 프로세스 ID를 전달하는 데 사용됩니다.

ausearch -p 2317

감사 로그 파일에서 실패한 로그인 시도 확인

여기서는 -m 옵션을 사용하여 특정 메시지를 식별하고 -sv를 사용하여 성공 값을 정의해야 합니다.

ausearch -m USER_LOGIN -sv no 

감사 로그 파일에서 사용자 활동 찾기

-ua사용자 이름을 전달하는 데 사용됩니다.

ausearch -ua tecmint
OR
ausearch -ua tecmint -i	# enable interpreting of numeric entities into text.

특정 기간 동안 특정 사용자가 수행한 작업을 쿼리하려면 다음과 같이 시작 날짜/시간에 -ts를 사용하고 종료 날짜/시간을 지정하려면 -te를 사용합니다. 실제 시간 형식 대신 지금, 최근, 오늘, 어제, 이번 주, 일주일 전, 이번 달, 올해 및 체크포인트와 같은 단어를 사용할 수 있습니다.

ausearch -ua tecmint -ts yesterday -te now -i 

시스템에서 특정 사용자의 작업 검색에 대한 추가 예입니다.

ausearch -ua 1000 -ts this-week -i
ausearch -ua tecmint -m USER_LOGIN -sv no -i

감사 로그에서 사용자 계정, 그룹 및 역할에 대한 수정 사항 찾기

사용자 계정, 그룹 및 역할과 관련된 모든 시스템 변경 사항을 검토하려는 경우 아래 명령과 같이 다양한 쉼표로 구분된 메시지 유형을 지정합니다(쉼표로 구분된 목록을 주의하고 쉼표와 다음 항목 사이에 공백을 두지 마십시오).

ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE  -i

키 값을 사용하여 감사 로그 파일 검색

/etc/passwd 사용자 계정 데이터베이스에 액세스하거나 수정하려는 시도를 기록하는 아래 감사 규칙을 고려하세요.

auditctl -w /etc/passwd -p rwa -k passwd_changes

이제 다음과 같이 편집을 위해 위 파일을 열고 닫아보세요.

vi /etc/passwd

이에 대한 로그 항목이 기록되었다는 것을 알고 있기 때문에 다음과 같이 tail 명령을 사용하여 로그 파일의 마지막 부분을 볼 수 있습니다.

tail /var/log/audit/audit.log

최근에 여러 가지 다른 이벤트가 기록된 경우 특정 정보를 찾는 것이 너무 어려울 수 있지만 ausearch를 사용하면 지정한 키 값과 함께 -k 플래그를 전달할 수 있습니다. /etc/passwd 파일 액세스 또는 수정과 관련된 이벤트와 관련된 모든 로그 메시지를 보려면 감사 규칙에서

또한 감사 규칙을 정의하는 구성 변경 사항도 표시됩니다.

ausearch -k passwd_changes | less

더 많은 정보와 사용 옵션을 보려면 ausearch 매뉴얼 페이지를 읽어보세요:

man ausearch

Linux 시스템 감사 및 로그 관리에 대해 자세히 알아보려면 다음 관련 문서를 읽어보세요.

  1. Petiti – Linux SysAdmins용 오픈 소스 로그 분석 도구
  2. RHEL/CentOS 7/6에서 "Log.io" 도구를 사용하여 실시간으로 서버 로그 모니터링
  3. Linux에서 Logrotate를 사용하여 로그 회전을 설정하고 관리하는 방법
  4. lnav – Linux 터미널에서 Apache 로그 보기 및 분석

이 튜토리얼에서는 ausearch를 사용하여 RHEL 및 CentOS의 auditd 로그 파일에서 데이터를 검색하는 방법을 설명했습니다. 질문이나 공유하고 싶은 생각이 있으면 댓글 섹션을 사용하여 저희에게 연락하세요.

다음 문서에서는 RHEL/CentOS/Fedora에서 aureport를 사용하여 감사 로그 파일에서 보고서를 생성하는 방법을 설명하겠습니다.