감사 로그를 디코딩하는 방법

감사 로그를 디코딩하는 방법

nfs 공유의 파일을 감사하고 있습니다. 감사 로그를 보기 위해 명령을 사용하면 ausearch -f /var/nfs/general다음과 같은 로그가 표시됩니다.

time->Tue Jun 12 16:23:34 2018
type=PROCTITLE msg=audit(1528800814.660:2782): proctitle=636174002F7661722F6E66732F67656E6572616C2F6E6673312E747874
type=PATH msg=audit(1528800814.660:2782): item=0 name="/var/nfs/general/nfs1.txt" inode=4063539 dev=08:01 mode=0100664 ouid=1001 ogid=1001 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1528800814.660:2782):  cwd="/home/test"
type=SYSCALL msg=audit(1528800814.660:2782): arch=c000003e syscall=2 success=yes exit=3 a0=7ffc2c53c824 a1=0 a2=20000 a3=69d items=1 ppid=31104 pid=7295 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts18 ses=4294967295 comm="cat" exe="/bin/cat" key=(null)

이제 nfs 공유 파일에 액세스하는 클라이언트의 IP 주소와 호스트 이름을 어떻게 얻을 수 있습니까?

이러한 세부정보를 찾을 수 있는 다른 방법이 있나요?

시간, 날짜, 클라이언트 IP 주소, 클라이언트 호스트 이름, 발생한 이벤트(읽기, 쓰기, 이름 바꾸기, 파일 소유권 변경, nfs 폴더에서 파일 삭제 또는 생성 등)와 같은 세부 정보를 수집하고 싶습니다.

수집된 세부정보는 별도의 파일에 저장되어 향후 용도로 사용될 수 있습니다.

어떻게 해야 하나요?

답변1

유감스럽게도 표준 커널 NFS 서버를 사용하면 이 작업을 수행할 수 없습니다. 감사 하위 시스템은 시스템 호출(사용자 공간에서 커널로의 호출)을 감사하며, NFS 서버는 커널 내에서 직접 실행되기 때문에 NFS는 이러한 I/O 작업에 대한 시스템 호출을 수행하지 않습니다.

NFS 작업 로그를 얻는 몇 가지 가능한 방법은 다음과 같습니다.

  • rpcdebugNFS 디버그 로깅을 사용하여 결과 로그를 활성화 하고 처리합니다.
  • 이 프레임워크를 사용하여 흥미로운 NFS 작업을 추적하십시오 ftrace.
  • Ganesha와 같은 사용자 공간 NFS 서버로 전환합니다. (액세스 로그가 가능한지 잘 모르겠습니다. 그렇지 않은 경우 직접 구현해야 합니다.)

궁금한 점이 있으시면 언급한 감사 로깅은 NFS와 아무 관련이 없으며 cat /var/nfs/general/nfs1.txtNFS를 로컬에서 실행하는 것뿐입니다.

관련 정보