CentOS/RHEL에서 'autrace'를 사용하여 Linux 프로세스를 감사하는 방법
이 문서는 Linux 감사에 대한 지속적인 시리즈입니다. 지난 세 개의 문서에서는 Linux 시스템(CentOS 및 RHEL)을 감사하는 방법, ausearch를 사용하여 감사 로그를 쿼리하고 생성하는 방법을 설명했습니다. aureport 유틸리티를 사용하여 보고합니다.
이 문서에서는 autrace 유틸리티를 사용하여 특정 프로세스를 감사하는 방법을 설명합니다. 여기서는 프로세스가 수행하는 시스템 호출을 추적하여 프로세스를 분석합니다.
추가 읽기: 쉘 추적을 사용하여 쉘 스크립트에서 명령 실행을 추적하는 방법
아우트레이스란 무엇인가요?
autrace는 strace와 마찬가지로 프로그램이 종료될 때까지 실행하는 명령줄 유틸리티입니다. 프로세스를 추적하기 위한 감사 규칙을 추가하고 감사 정보를 /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를 전달합니다.
추적 세부정보에 대한 보고서를 생성하려면 다음과 같이 ausearch 및 aureport 명령줄을 작성할 수 있습니다.
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 프로세스를 추적하고 감사할 수 있습니다. 자세한 내용은 매뉴얼 페이지를 확인하세요.
다음과 같은 관련 유용한 가이드를 읽어볼 수도 있습니다.
- Sysdig - Linux용 강력한 시스템 모니터링 및 문제 해결 도구
- BCC – Linux 성능 모니터링, 네트워킹 등을 위한 동적 추적 도구
- Linux 프로세스 모니터링을 위한 30가지 유용한 'ps 명령' 예제
- CPUTool - Linux에서 모든 프로세스의 CPU 사용률을 제한하고 제어합니다.
- Linux에서 메모리 및 CPU 사용량이 가장 높은 상위 실행 프로세스 찾기
지금은 여기까지입니다! 아래 댓글을 통해 이 기사에 대한 질문을 하거나 생각을 공유할 수 있습니다. 다음 기사에서는 지정된 사용자 CentOS/RHEL에 대한 TTY 입력을 감사하기 위해 PAM(플러그형 인증 모듈)을 구성하는 방법을 설명합니다.