如何監控對 EC2 Linux 執行個體上的檔案系統做出的安全相關變更?
我想開啟 Linux Audit 系統以監控對 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上檔案系統的變更。
簡短說明
Linux Audit 系統可追蹤對重要檔案的存取,並在發生檔案損毀或其他意外變更時建立稽核軌跡。您可以使用 Linux Audit 系統追蹤對 Amazon Elastic File System (Amazon EFS) 或任何其他檔案系統類型中檔案的變更。如果您將稽核系統設定為記錄多種類型的資訊,則可能會影響本機系統的效能。在系統上安裝 Linux Audit 系統之後,您可以建立規則來監控檔案系統上的活動。
若要追蹤對檔案系統的所有變更,請在掛載檔案系統的每個用戶端上開啟 Linux Audit 系統。
**注意:**執行 auditd 元件時,可能會影響系統的效能。如需詳細資訊,請參閱 Red Hat 網站上的啟用稽核功能是否有任何系統效能損失?。
解決方法
-
以 ec2-user/ubuntu/root user 身分使用 SSH 連接至 EC2 執行個體。用 AMI 的使用者名稱取代 ubuntu。
-
安裝稽核套件:
RHEL 和 CentOS
# sudo yum install audit
SUSE Linux
# sudo zypper install audit
Ubuntu
# sudo apt install auditd
-
建立 Linux Audit 系統的規則。若要在一開始測試規則,請使用 auditctl 命令立即新增或移除規則。
**注意:**下列範例顯示 EFS 檔案系統的規則。
使用下列命令來監控檔案系統掛載位置的所有活動:
$ auditctl -w /home/ec2-user/efs -k efs_changes
以下是可以將稽核系統設定為日誌的動作範例:
$ mkdir dir1 $ touch file1 $ touch file2 $ mv file1 file3 $ rm -f file2 $ chmod 600 file3 $ rmdir dir1 $ rm -f file3
-
執行 ausearch -k efs_changes 命令來檢視稽核日誌。下列範例會根據步驟 3 的範例作業顯示 mkdir 命令的稽核日誌:
time->Thu Jan 9 21:30:59 2020 type=PROCTITLE msg=audit(1578605459.080:127433): proctitle=6D6B6469720064697231 type=PATH msg=audit(1578605459.080:127433): item=1 name="dir1" inode=4989235361872937641 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=PATH msg=audit(1578605459.080:127433): item=0 name="/home/ec2-user/efs/audit" inode=12759736523397539955 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=CWD msg=audit(1578605459.080:127433): cwd="/home/ec2-user/efs/audit" type=SYSCALL msg=audit(1578605459.080:127433): arch=c000003e syscall=83 success=yes exit=0 a0=7fffe6aca6e1 a1=1ff a2=1ff a3=7fffe6ac7720 items=2 ppid=18661 pid=2948 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=18369 comm="mkdir" exe="/bin/mkdir" key="efs_changes"
此範例顯示了原始稽核日誌。稽核日誌包含每個操作的大量資訊。
若要在稽核日誌中建立較短的輸出,請執行 aureport 命令。此版本仍然顯示所有操作:
$ ausearch -k efs_changes | aureport -f -i 10118. 01/09/2020 21:36:29 file1 open yes /bin/touch ec2-user 127450 10119. 01/09/2020 21:36:29 dir1 mkdir yes /bin/mkdir ec2-user 127449 10120. 01/09/2020 21:36:29 file2 open yes /bin/touch ec2-user 127451 10121. 01/09/2020 21:36:29 file3 rename yes /bin/mv ec2-user 127452 10122. 01/09/2020 21:36:29 file2 unlinkat yes /bin/rm ec2-user 127453 10123. 01/09/2020 21:36:29 file3 fchmodat yes /bin/chmod ec2-user 127454 10124. 01/09/2020 21:36:29 dir1 rmdir yes /bin/rmdir ec2-user 127455 10125. 01/09/2020 21:36:35 file3 unlinkat yes /bin/rm ec2-user 127456
請記住,您不必記錄所有操作。例如,您可以建立規則來僅記錄與刪除相關的動作:
auditctl -a always,exit -F arch=b64 -F dir=/home/ec2-user/efs -S unlink -S unlinkat -S rename -S renameat -S rmdir -k efs_changes
如果您從步驟 3 執行範例命令,則只有指定的刪除相關命令會出現在日誌中:
10126. 01/09/2020 22:17:08 file3 rename yes /bin/mv ec2-user 127519 10127. 01/09/2020 22:17:08 file2 unlinkat yes /bin/rm ec2-user 127520 10128. 01/09/2020 22:17:08 dir1 rmdir yes /bin/rmdir ec2-user 127521 10129. 01/09/2020 22:17:09 file3 unlinkat yes /bin/rm ec2-user 127522
-
若要使規則持續存在,請在 /etc/audit/audit.rules 檔案中設定這些規則。如需詳細資訊,請參閱 Red Hat 網站上的在 /etc/audit/audit.rules 檔案中定義持續稽核規則和控制項。
相關資訊
Red Hat 網站上的系統稽核
Red Hat 網站上的使用 Auditd 進行自訂檔案監控
相關內容
- 已提問 9 個月前lg...
- 已提問 6 個月前lg...
- 已提問 6 個月前lg...
- 已提問 1 年前lg...
- 已提問 10 個月前lg...
- AWS 官方已更新 9 個月前
- AWS 官方已更新 7 個月前
- AWS 官方已更新 9 個月前