CentOS/RHEL 6 및 이전 버전에서 파일 변경 사항을 감사하는 방법을 알고 있지만 /etc/sysconfig/iptables
실행 중인 구성에만 적용된 변경 사항을 감사하는 방법은 무엇입니까?
답변1
다음 auditctl
규칙이면 충분합니다.
[root@vh-app2 audit]# auditctl -a exit,always -F arch=b64 -F a2=64 -S setsockopt -k iptablesChange
테스트 변경사항:
[root@vh-app2 audit]# iptables -A INPUT -j ACCEPT
[root@vh-app2 audit]# ausearch -k iptablesChange
----
time->Mon Jun 1 15:46:45 2015
type=CONFIG_CHANGE msg=audit(1433188005.842:122): auid=90328 ses=3 op="add rule" key="iptablesChange" list=4 res=1
----
time->Mon Jun 1 15:47:22 2015
type=SYSCALL msg=audit(1433188042.907:123): arch=c000003e syscall=54 success=yes exit=0 a0=3 a1=0 a2=40 a3=7dff50 items=0 ppid=55654 pid=65141 auid=90328 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="iptables" exe="/sbin/iptables-multi-1.4.7" key="iptablesChange"
type=NETFILTER_CFG msg=audit(1433188042.907:123): table=filter family=2 entries=6
[root@vh-app2 audit]# ps -p 55654
PID TTY TIME CMD
55654 pts/0 00:00:00 bash
[root@vh-app2 audit]# tty
/dev/pts/0
[root@vh-app2 audit]# cat /proc/$$/loginuid
90328
[root@vh-app2 audit]#
위 출력에서 볼 수 있듯이 ( 필드)가 (Linux 커널 소스 코드에 따라 10진수임 ) setsockopt
호출 을 감사한 후 실행 중인 구성에 대한 변경 사항을 기록할 수 있습니다 .optname
a2
IPT_SO_SET_REPLACE
64
iptables
그런 다음 사용자 정보 ( 방화벽을 업데이트하기 전에 루트 권한을 얻었을 loginuid
수 있으므로 ) 및 호출 프로그램의 PID와 같은 관련 감사 정보를 캡처할 수 있었습니다.sudo