Oracle® Solaris 11.2의 감사 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

사용자의 모든 명령을 감사하는 방법

보안 정책의 일부로 일부 사이트에서는 root 계정 및 관리 역할에서 실행하는 모든 명령의 감사 레코드를 요구합니다. 일부 사이트에서는 모든 사용자가 실행하는 모든 명령에 대한 감사 레코드를 요구할 수 있습니다. 또한 사이트에서는 명령 인수 및 환경이 기록되도록 요구할 수 있습니다.

시작하기 전에

감사 클래스를 사전 선택하고 감사 정책을 설정하려면 Audit Configuration 권한 프로파일이 지정된 관리자여야 합니다. 감사 플래그를 사용자, 역할, 권한 프로파일에 지정하려면 root 역할을 맡아야 합니다.

  1. lo 및 ex 클래스에 대한 사용자 레벨 이벤트 정보를 표시합니다.

    ex 클래스는 exec() 및 execve() 함수에 대한 모든 호출을 감사합니다.

    lo 클래스는 로그인, 로그아웃 및 화면 잠금을 감사합니다. 다음 출력은 ex 및 lo 클래스의 모든 이벤트를 나열합니다.

    % auditconfig -lsevent | grep " lo "
    AUE_login                       6152 lo login - local
    AUE_logout                      6153 lo logout
    AUE_telnet                      6154 lo login - telnet
    AUE_rlogin                      6155 lo login - rlogin
    AUE_rshd                        6158 lo rsh access
    AUE_su                          6159 lo su
    AUE_rexecd                      6162 lo rexecd
    AUE_passwd                      6163 lo passwd
    AUE_rexd                        6164 lo rexd
    AUE_ftpd                        6165 lo ftp access
    AUE_ftpd_logout                 6171 lo ftp logout
    AUE_ssh                         6172 lo login - ssh
    AUE_role_login                  6173 lo role login
    AUE_newgrp_login                6212 lo newgrp login
    AUE_admin_authenticate          6213 lo admin login
    AUE_screenlock                  6221 lo screenlock - lock
    AUE_screenunlock                6222 lo screenlock - unlock
    AUE_zlogin                      6227 lo login - zlogin
    AUE_su_logout                   6228 lo su logout
    AUE_role_logout                 6229 lo role logout
    AUE_smbd_session                6244 lo smbd(1m) session setup
    AUE_smbd_logoff                 6245 lo smbd(1m) session logoff
    AUE_ClientConnect               9101 lo client connection to x server
    AUE_ClientDisconnect            9102 lo client disconn. from x server
    
    % auditconfig -lsevent | egrep " ex |,ex |ex,"
    AUE_EXECVE                        23 ex,ps execve(2)
  2. lo 및 ex 클래스를 감사합니다.
    • 관리 역할에 대해 이러한 클래스를 감사하려면 역할의 보안 속성을 수정합니다.

      다음 예에서 root는 역할입니다. 사이트에서는 sysadm, auditadm 및 netadm의 세 역할을 만들었습니다. 모든 역할은 ex 및 lo 클래스에 있는 이벤트의 성공 및 실패에 대해 감사됩니다.

      # rolemod -K audit_flags=lo,ex:no root
      
      # rolemod -K audit_flags=lo,ex:no sysadm
      
      # rolemod -K audit_flags=lo,ex:no auditadm
      
      # rolemod -K audit_flags=lo,ex:no netadm
      
    • 모든 사용자에 대해 이러한 클래스를 감사하려면 시스템 전역 플래그를 설정합니다.
      # auditconfig -setflags lo,ex
      

      출력은 다음과 유사하게 나타납니다.

      header,129,2,AUE_EXECVE,,mach1,2010-10-14 12:17:12.616 -07:00
      path,/usr/bin/ls
      attribute,100555,root,bin,21,320271,18446744073709551615
      subject,jdoe,root,root,root,root,2486,50036632,82 0 mach1
      return,success,0
      
  3. 명령 사용에 대해 기록할 추가 정보를 지정합니다.
    • 명령에 대한 인수를 기록하려면 argv 정책을 추가합니다.
      # auditconfig -setpolicy +argv

      exec_args 토큰은 명령 인수를 기록합니다.

      header,151,2,AUE_EXECVE,,mach1,2010-10-14 12:26:17.373 -07:00
      path,/usr/bin/ls
      attribute,100555,root,bin,21,320271,18446744073709551615
      exec_args
      ,2,ls,/etc/security
      subject,jdoe,root,root,root,root,2494,50036632,82 0 mach1
      return,success,0
    • 명령이 실행되는 환경을 기록하려면 arge 정책을 추가합니다.
      # auditconfig -setpolicy +arge
      

      exec_env 토큰은 명령 환경을 기록합니다.

      header,1460,2,AUE_EXECVE,,mach1,2010-10-14 12:29:39.679 -07:00
      path,/usr/bin/ls
      attribute,100555,root,bin,21,320271,18446744073709551615
      exec_args,2,ls,/etc/security
      exec_env
      ,49,MANPATH=/usr/share/man,USER=jdoe,GDM_KEYBOARD_LAYOUT=us,EDITOR=gedit,
      LANG=en_US.UTF-8,GDM_LANG=en_US.UTF-8,PS1=#,GDMSESSION=gnome,SESSIONTYPE=1,SHLVL=2,
      HOME=/home/jdoe,LOGNAME=jdoe,G_FILENAME_ENCODING=@locale,UTF-8,
      PRINTER=example-dbl,...,_=/usr/bin/ls
      subject,jdoe,root,root,root,root,2502,50036632,82 0 mach1
      return,success,0