Linux에서 감사

Linux에서 감사

Centos 6.x 상자에 강력한 감사 메커니즘을 설정하려고 합니다. 나는 다음과 같은 다양한 감사 도구를 시도하고 테스트했습니다.

  • 감사
  • 보좌관
  • psacct

하지만 내 요구 사항을 완전히 충족하는 사람은 없습니다. 내 요구 사항은 매우 간단하며 하나의 감사 시스템이 모든 서비스를 제공할 수 없으며 서로 다른 감사 시스템을 모두 함께 사용해야 할 수도 있다는 것을 알고 있습니다. 나는하고 싶다

  • 사용자가 실행하는 모든 명령을 모니터링합니다.

psacct는 이 작업을 완벽하게 수행하지만 사용자가 실행한 명령만 알려주고 명령에 전달된 인수는 알려주지 않습니다. 즉 vim /erc/passwd, 사용자가 실행하면 lastcomm <username>vim 명령이 실행되었다는 것만 알려주고 어떤 파일이 실제로 편집되었는지는 알려주지 않습니다.

그리고 auditd는 예를 들어 vim 명령이 실행되었고 특정 파일이 편집되었음을 알려 주지만 누가 파일을 편집했는지는 알려주지 않습니다.

sudo 사용자로 명령을 실행한다고 가정하면 gid와 uid가 명령 출력에서 ​​슈퍼유저이므로 10명의 sudo 사용자가 있는 경우 특정 파일을 편집한 사용자가 누구인지 알려주지 않습니다.

time->Sat Jun 20 15:52:45 2015
type=PATH msg=audit(1434795765.057:54685): item=4 name="/etc/passwd" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE
type=PATH msg=audit(1434795765.057:54685): item=3 name="/etc/passwd" inode=152786 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=2 name="/etc/passwd+" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=1 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1434795765.057:54685): item=0 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1434795765.057:54685):  cwd="/etc"
type=SYSCALL msg=audit(1434795765.057:54685): arch=c000003e syscall=82 success=yes exit=0 a0=7fffba897300 a1=7fd7cc94ece0 a2=7fffba8971c0 a3=0 items=5 ppid=14041 pid=14043 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=8494 comm="useradd" exe="/usr/sbin/useradd" key=(null)
  • 파일에 대한 실제 변경 사항을 추적하고 싶습니다.

보조 도구에서는 파일이 수정되었다고 알려주는데, 실제로 수정된 내용과 수정한 사용자에 대한 세부 정보는 어떻게 알 수 있나요?

답변1

auditd 및 pam 모듈을 사용하여 이를 구현할 수 있습니다. pam_tty_audit다음과 같은 세션에서 pam 모듈을 로드해야 합니다 .

session required pam_tty_audit.so disable=testuser1 enable=testuser,root

/etc/pam.d/password-auth및 파일 모두에서 /etc/pam.d/system-auth.

그러면 활성화된 사용자의 키 입력이 감사 로그에 기록됩니다.

감사 보고서를 생성할 때 aureport와 함께 -i 옵션을 사용하여 사용자 이름을 정확하게 가져옵니다.

예:aureport --tty -i -ts today

이 방법의 한 가지 단점은 터미널에 입력된 비밀번호를 포함하여 모든 키 입력이 기록된다는 것입니다.

파일 추적을 위해 변경된 보좌관을 사용할 수 있습니다. 이는 체크섬 확인 방법을 사용합니다. 하지만 파일에서 변경된 정확한 행은 추적할 수 없습니다.

관련 정보