Audit Review 권한 프로파일이 지정된 관리자는 praudit 명령을 사용하여 이진 감사 파일의 컨텐츠를 볼 수 있습니다.
# praudit options
다음은 일부 옵션 목록입니다. 이러한 옵션 중 하나를 –l 옵션과 결합하여 각 레코드를 한 행에 표시할 수 있습니다.
행당 토큰 하나씩 짧은 형식으로 감사 레코드를 표시합니다.
행당 토큰 하나씩 원시 형식으로 감사 레코드를 표시합니다.
행당 토큰 하나씩 XML 형식으로 감사 레코드를 표시합니다. 이 옵션은 추가 처리에 유용합니다.
또한 auditreduce 명령의 praudit 출력을 파이프하여 auditreduce 및 praudit 명령을 함께 사용할 수 있습니다.
예 5-7 짧은 형식으로 감사 레코드 표시이 예제에서는 auditreduce 명령으로 추출된 로그인 및 로그아웃 이벤트가 짧은 형식으로 표시됩니다.
# auditreduce -c lo | praudit -s header,69,2,AUE_screenlock,,mach1,2010-10-14 08:02:56.348 -07:00 subject,jdoe,root,staff,jdoe,staff,856,50036632,82 0 mach1 return,success,0 sequence,1298예 5-8 원시 형식으로 감사 레코드 표시
이 예제에서는 auditreduce 명령으로 추출된 로그인 및 로그아웃 이벤트가 원시 형식으로 표시됩니다.
# auditreduce -c lo | praudit -r 21,69,2,6222,0x0000,10.132.136.45,1287070091,698391050 36,26700,0,10,26700,10,856,50036632,82 0 10.132.136.45 39,0,0 47,1298예 5-9 감사 레코드를 XML 형식으로 표시
이 예에서는 감사 레코드가 XML 형식으로 변환됩니다.
# praudit -x 20100827183214.20100827215318.logins > 20100827.logins.xml
마찬가지로, auditreduce 명령으로 필터링된 감사 레코드를 XML 형식으로 표시할 수 있습니다.
# auditreduce -c lo | praudit -x <record version="2" event="screenlock - unlock" host="mach1" iso8601="2010-10-14 08:28:11.698 -07:00"> <subject audit-uid="jdoe" uid="root" gid="staff" ruid="jdoe rgid="staff" pid="856" sid="50036632" tid="82 0 mach1"/> <return errval="success" retval="0"/> <sequence seq-num="1298"/> </record>
파일의 내용은 스크립트로 관련 정보를 추출하여 작업할 수 있습니다.
예 5-10 XML 형식의 감사 레코드를 브라우저에서 읽을 수 있도록 설정xsltproc 도구를 사용해서 모든 브라우저에서 읽을 수 있도록 XML 파일의 레코드 형식을 조정할 수 있습니다. 이 도구는 스타일시트 정의를 파일 컨텐츠에 적용합니다. 형식이 조정된 컨텐츠를 별도의 파일로 저장하려면 다음을 입력합니다.
# auditreduce -c lo | praudit -x | xsltproc - > logins.html
브라우저에서 logins.html 컨텐츠는 다음과 비슷한 형식으로 표시됩니다.
Audit Trail Data File: time: 2013-11-04 12:54:28.000 -08:00 Event: login - local time: 2013-11-04 12:54:28.418 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jdoe uid: jdoe gid: staff ruid: jdoe rgid: staff pid: 1534 sid: 3583012893 tid: 0 0 host RETURN errval: success retval: 0 Event: connect to RAD time: 2013-11-04 12:54:52.029 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jdoe uid: jdoe gid: staff ruid: jdoe rgid: staff pid: 1835 sid: 3583012893 tid: 0 0 host RETURN errval: success retval: 0 Event: role login time: 2013-11-08 08:42:52.286 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jdoe uid: root gid: root ruid: root rgid: root pid: 4265 sid: 3583012893 tid: 0 0 host RETURN errval: success retval: 0 Event: role logout time: 2013-11-08 08:43:37.125 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jdoe uid: root gid: root ruid: root rgid: root pid: 4265 sid: 3583012893 tid: 0 0 host RETURN errval: success retval: 0 Event: login - ssh time: 2013-12-23 12:24:37.292 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jsmith uid: jsmith gid: staff ruid: jsmith rgid: staff pid: 2002 sid: 39351741 tid: 14632 202240 host.example.com RETURN errval: success retval: 0 Event: role login time: 2013-12-23 12:25:07.345 -08:00 vers: 2 mod: fe host: host SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root pid: 2023 sid: 39351741 tid: 14632 202240 host.example.com RETURN errval: failure retval: Permission denied Event: su time: 2013-12-23 17:19:24.031 -08:00 vers: 2 mod: na host: host RETURN errval: success retval: 0 Event: su logout time: 2013-12-23 17:19:24.362 -08:00 vers: 2 mod: na host: host RETURN errval: success retval: 0 Event: login - ssh time: 2013-12-23 17:27:21.306 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jsmith uid: jsmith gid: staff ruid: jsmith rgid: staff pid: 2583 sid: 3401970889 tid: 13861 5632 host.example.com RETURN errval: success retval: 0 Event: role login time: 2013-12-23 17:27:28.361 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root pid: 2593 sid: 3401970889 tid: 13861 5632 host.example.com RETURN errval: success retval: 0 Event: role logout time: 2013-12-23 17:30:39.029 -08:00 vers: 2 mod: host: host SUBJECT audit-uid: jsmith uid: root gid: root ruid: root rgid: root pid: 2593 sid: 3401970889 tid: 13861 5632 host.example.com RETURN errval: success retval: 0 Other events예 5-11 pfedit 레코드만 표시
필터를 사용해서 감사 추적에서 특정 레코드만 추출하고 표시할 수 있습니다. 이 예제에서는 pfedit 명령 사용을 캡처하는 레코드가 필터링됩니다. 여기에서는 요약 파일이 20130827183936.20130827232326.logins라고 가정합니다. pfedit 명령을 사용하면 AUE_admin_edit 이벤트가 생성됩니다. 따라서 pfedit 레코드를 추출하려면 다음 명령을 실행합니다.
auditreduce -m AUE_admin_edit 20130827183936.20130827232326.logins | praudit예 5-12 전체 감사 추적 인쇄
인쇄 명령에 파이프를 사용하면 전체 감사 추적이 프린터로 출력됩니다. 보안상 이유로 프린터는 제한적인 액세스 권한을 가집니다.
# auditreduce | praudit | lp -d example.protected.printer예 5-13 특정 감사 파일 보기
이 예에서는 요약 로그인 파일이 터미널 창에서 검사됩니다.
# cd /var/audit/audit_summary/logins # praudit 20100827183936.20100827232326.logins | more예 5-14 스크립트를 사용하여 praudit 출력 처리
praudit 명령의 출력을 텍스트 행으로 처리하고자 할 수 있습니다. 예를 들어, auditreduce 명령에서 선택할 수 없는 레코드를 선택하고자 할 수 있습니다. 간단한 셸 스크립트를 사용하여 praudit 명령의 출력을 처리할 수 있습니다. 다음 샘플 스크립트는 하나의 감사 레코드를 한 행에 표시하고 사용자 지정 문자열을 검색한 다음 감사 파일을 원래 형식으로 반환합니다.
#!/bin/sh # ## This script takes an argument of a user-specified string. # The sed command prefixes the header tokens with Control-A # The first tr command puts the audit tokens for one record # onto one line while preserving the line breaks as Control-A # praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' \\ | tr '\\012\\001' '\\002\\012' \\ | grep "$1" \\ Finds the user-specified string | tr '\\002' '\\012' Restores the original newline breaks
스크립트의 ^a는 ^과 a의 두 문자가 아닌 Ctrl-A입니다. 접두어는 텍스트로 나타날 수 있는 header 문자열에서 header 토큰을 구분합니다.
다음과 유사한 메시지는 praudit 명령을 사용할 수 있는 충분한 권한이 없음을 나타냅니다.
praudit: Can't assign 20090408164827.20090408171614.sys1.1 to stdin.
프로파일 셸에서 praudit 명령을 실행합니다. Audit Review 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.