감사 기능은 기본적으로 사용으로 설정됩니다. 감사가 사용 안함으로 설정되지 않았는데 감사 레코드가 활성 플러그인으로 전송되지 않는다고 여겨질 경우 문제 원인은 이 절에 설명된 다음 요소 중 하나 또는 이러한 요소의 조합으로 인한 것일 수 있습니다. 파일 시스템을 수정하려면 사용자에게 solaris.admin.edit/path-to-system-file 권한 부여가 지정되어 있어야 합니다. 기본적으로 root 역할에는 이 권한 부여가 있습니다.
감사가 실행 중인지 확인하려면 다음 방법 중 하나를 사용합니다.
현재 감사 조건을 확인합니다.
다음 출력은 감사가 실행 중이 아님을 나타냅니다.
# auditconfig -getcond audit condition = noaudit
다음 출력은 감사가 실행 중임을 나타냅니다.
# auditconfig -getcond audit condition = auditing
감사 서비스가 실행 중인지 확인합니다.
다음 출력은 감사가 실행 중이 아님을 나타냅니다.
# svcs -x auditd svc:/system/auditd:default (Solaris audit daemon) State: disabled since Sun Oct 10 10:10:10 2010 Reason: Disabled by an administrator. See: http://support.oracle.com/msg/SMF-8000-05 See: auditd(1M) See: audit(1M) See: auditconfig(1M) See: audit_flags(5) See: audit_binfile(5) See: audit_syslog(5) See: audit_remote(5) See: /var/svc/log/system-auditd:default.log Impact: This service is not running.
다음 출력은 감사 서비스가 실행 중임을 나타냅니다.
# svcs auditd STATE STIME FMRI online 10:10:10 svc:/system/auditd:default
감사 서비스가 실행 중이 아닌 경우 사용으로 설정합니다. 절차는 감사 서비스를 사용/사용 안함으로 설정을 참조하십시오.
다음 명령을 사용해서 플러그인이 활성 상태인지 확인합니다. 감사 서비스가 작동하려면 하나 이상의 플러그인이 활성 상태여야 합니다.
# audit -v audit: no active plugin found
활성화된 플러그인이 없는 경우 활성화합니다.
# auditconfig -setplugin audit_binfile active # audit -v configuration ok
정의되지 않은 감사 클래스를 사용하려고 시도하는 중일 수 있습니다. pf 클래스를 만드는 자세한 내용은 감사 클래스를 추가하는 방법을 참조하십시오.
예를 들어, 다음 플래그 목록은 Oracle Solaris 소프트웨어에서 제공하지 않은 pf 클래스를 포함합니다.
# auditconfig -getflags active user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000) configured user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000)
클래스를 정의하지 않으려면 auditconfig -setflags 명령을 유효한 값과 함께 실행하여 현재 플래그를 재설정합니다. 그렇지 않으면 클래스를 정의할 때 다음을 확인합니다.
감사 클래스가 audit_class 파일에 정의되어 있습니다.
# grep pf /etc/security/audit_class Verify class exists 0x0100000000000000:pf:profile
마스크가 고유합니다. 고유하지 않으면 마스크를 바꿉니다.
# grep 0x0100000000000000 /etc/security/audit_class Ensure mask is unique 0x0100000000000000:pf:profile
사용 중인 사용자 정의된 클래스는 정의되었다 해도 클래스에 지정된 이벤트가 없을 수 있습니다.
이벤트가 사용자 정의된 클래스에 지정되었는지 여부를 확인하려면 다음 방법 중 하나를 사용합니다.
# auditconfig -lsevent | egrep " pf|,pf|pf," AUE_PFEXEC 116 pf execve(2) with pfexec enabled
# auditrecord -c pf List of audit events assigned to pf class
이벤트가 클래스에 지정되지 않은 경우 적당한 이벤트를 이 클래스에 지정합니다.