iT邦幫忙

0

iptables異動紀錄

目前專案用的系統是CentOS6,使用iptables做防火牆
資安稽核時候被要求提出 防火牆異動紀錄
就我知道 iptables異動本身沒有logger紀錄。
有甚麼替代方法呢?

James iT邦大師 7 級 ‧ 2019-04-09 12:01:18 檢舉
防火牆規則異動頻率不大,應該用人工紀錄就可以了吧!

2 個回答

6
raytracy
iT邦大神 1 級 ‧ 2019-04-09 11:40:27
最佳解答

大部分 Linux command 應該都可以被 auditd 服務給記錄到, 先確認你的 auditd 服務已經在執行, 然後開啟針對 iptables 的 audit 監視:

auditctl -a exit,always -F arch=b64 -F a2=64 -S setsockopt -k iptablesChange

然後隨便改個 iptables 設定, 例如:

iptables -A INPUT -j ACCEPT

再用 audit 工具去搜尋:

ausearch -k iptablesChange

應該就可以看到 iptables 變更被記錄下來:

----
time->Mon Apr  9 15:46:45 2019
type=CONFIG_CHANGE msg=audit(1433188005.842:122): auid=90328 ses=3 op="add rule" key="iptablesChange" list=4 res=1
----
time->Mon Apr  9 15:47:22 2019
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

如需要更詳細的內容, 請深入研究 audit 工具, 他可以記錄到你指令後面下的參數有哪些....例如, 像這個規則可以將 uid=0 所執行的每一條指令都記錄下來:

auditctl -a exit,always -F arch=b64 -F uid=0 -S execve -k auditcmd
haoming iT邦好手 1 級 ‧ 2019-04-09 13:54:58 檢舉

謝謝您的教學,收穫非常大。

學習到了~

lisans iT邦新手 4 級 ‧ 2019-04-10 16:55:57 檢舉

我也順便學到一招,感謝

0
stratus
iT邦新手 4 級 ‧ 2019-04-10 13:21:22

謝謝您的教學,學習到了。

我要發表回答

立即登入回答