웹사이트 검색

CentOS/RHEL에서 'autrace'를 사용하여 Linux 프로세스를 감사하는 방법


이 문서는 Linux 감사에 대한 지속적인 시리즈입니다. 지난 세 개의 문서에서는 Linux 시스템(CentOSRHEL)을 감사하는 방법, ausearch를 사용하여 감사 로그를 쿼리하고 생성하는 방법을 설명했습니다. aureport 유틸리티를 사용하여 보고합니다.

이 문서에서는 autrace 유틸리티를 사용하여 특정 프로세스를 감사하는 방법을 설명합니다. 여기서는 프로세스가 수행하는 시스템 호출을 추적하여 프로세스를 분석합니다.

추가 읽기: 쉘 추적을 사용하여 쉘 스크립트에서 명령 실행을 추적하는 방법

아우트레이스란 무엇인가요?

autracestrace와 마찬가지로 프로그램이 종료될 때까지 실행하는 명령줄 유틸리티입니다. 프로세스를 추적하기 위한 감사 규칙을 추가하고 감사 정보를 /var/www/audit/audit.log 파일에 저장합니다. 작동하려면(즉, 선택한 프로그램을 실행하기 전에) 먼저 기존 감사 규칙을 모두 삭제해야 합니다.

autrace를 사용하기 위한 구문은 아래에 나와 있으며 수집된 syscall을 프로세스의 리소스 사용량을 평가하는 데 필요한 것으로 제한하는 -r 옵션 하나만 허용합니다.

autrace -r program program-args

주의: autrace 매뉴얼 페이지에 다음과 같은 구문이 있는데, 이는 실제로 문서상의 실수입니다. 이 양식을 사용하면 실행하는 프로그램은 내부 옵션 중 하나를 사용하여 오류가 발생하거나 옵션에 의해 활성화된 기본 작업을 수행한다고 가정합니다.

autrace program -r program-args

감사 규칙이 있는 경우 autrace는 다음 오류를 표시합니다.

autrace /usr/bin/df

먼저 다음 명령을 사용하여 모든 auditd 규칙을 삭제합니다.

auditctl -D

그런 다음 대상 프로그램으로 autrace를 실행하세요. 이 예에서는 파일 시스템 사용량을 보여주는 df 명령의 실행을 추적하고 있습니다.

autrace /usr/bin/df -h

위 스크린샷에서 다음과 같이 ausearch 유틸리티를 사용하여 감사 로그 파일에서 추적과 관련된 모든 로그 항목을 찾을 수 있습니다.

ausearch -i -p 2678

옵션은 다음과 같습니다.

  • -i – 숫자 값을 텍스트로 해석할 수 있습니다.
  • -p – 검색할 프로세스 ID를 전달합니다.

추적 세부정보에 대한 보고서를 생성하려면 다음과 같이 ausearchaureport 명령줄을 작성할 수 있습니다.

ausearch -p 2678 --raw | aureport -i -f

어디 :

  • --raw – aureport에 원시 입력을 전달하도록 ausearch에 지시합니다.
  • -f – 파일 및 af_unix 소켓에 대한 보고를 활성화합니다.
  • -i – 숫자 값을 텍스트로 해석할 수 있습니다.

그리고 아래 명령을 사용하여 수집되는 syscall을 df 프로세스의 리소스 사용량을 분석하는 데 필요한 것으로 제한합니다.

autrace -r /usr/bin/df -h

지난 일주일 동안 프로그램을 추적했다고 가정합니다. 이는 감사 로그에 많은 정보가 덤프되어 있음을 의미합니다. 오늘의 기록에 대해서만 보고서를 생성하려면 -ts ausearch 플래그를 사용하여 검색 시작 날짜/시간을 지정하세요.

ausearch -ts today -p 2678 --raw | aureport -i -f

그게 다야! 이렇게 하면 autrace 도구를 사용하여 특정 Linux 프로세스를 추적하고 감사할 수 있습니다. 자세한 내용은 매뉴얼 페이지를 확인하세요.

다음과 같은 관련 유용한 가이드를 읽어볼 수도 있습니다.

  1. Sysdig - Linux용 강력한 시스템 모니터링 및 문제 해결 도구
  2. BCC – Linux 성능 모니터링, 네트워킹 등을 위한 동적 추적 도구
  3. Linux 프로세스 모니터링을 위한 30가지 유용한 'ps 명령' 예제
  4. CPUTool - Linux에서 모든 프로세스의 CPU 사용률을 제한하고 제어합니다.
  5. Linux에서 메모리 및 CPU 사용량이 가장 높은 상위 실행 프로세스 찾기

지금은 여기까지입니다! 아래 댓글을 통해 이 기사에 대한 질문을 하거나 생각을 공유할 수 있습니다. 다음 기사에서는 지정된 사용자 CentOS/RHEL에 대한 TTY 입력을 감사하기 위해 PAM(플러그형 인증 모듈)을 구성하는 방법을 설명합니다.