Oracle® Solaris 11.2의 감사 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

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

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

시작하기 전에

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

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

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

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

    % 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. loex 클래스를 감사합니다.
    • 관리 역할에 대해 이러한 클래스를 감사하려면 역할의 보안 속성을 수정합니다.

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

      # 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