1. 禁用不必要的文件系統
CentOS默認安裝的某些文件系統(如CramFS、freevxfs、jffs2、hfs、hfsplus、squashfs、udf、FAT等)并非系統運行必需,且可能存在安全風險(如缺乏安全特性)。通過創建/etc/modprobe.d/CIS.conf
文件,添加install <文件系統名> /bin/true
指令禁止加載對應內核模塊;使用lsmod | grep <文件系統名>
命令檢測是否已禁用。
2. 配置安全的掛載選項
對/tmp
、/var/tmp
、/dev/shm
等臨時目錄及可移動介質(如U盤)分區,設置nodev
(禁止掛載特殊設備文件)、nosuid
(忽略setuid/setgid權限)、noexec
(禁止執行二進制文件)選項,防止惡意代碼通過掛載點執行。編輯/etc/fstab
文件,在對應掛載行添加nodev,nosuid,noexec
選項,執行mount -o remount,<選項> <目錄>
重新掛載并生效。
3. 使用chattr命令鎖定關鍵文件/目錄
通過chattr
命令設置文件/目錄的不可修改屬性,防止未授權修改。例如:對/bin
、/boot
、/lib
、/sbin
等系統核心目錄添加i
屬性(不可修改、重命名、刪除);對/var/log/messages
等日志文件添加a
屬性(僅允許追加內容,禁止修改或刪除)。執行chattr +i /bin
、chattr +a /var/log/messages
設置,用lsattr <路徑>
驗證屬性是否生效。
4. 強化文件/目錄權限管理
合理設置文件/目錄權限,減少未授權訪問風險。使用chmod
命令調整權限:例如將/etc/passwd
設為644
(所有者可讀寫,組和其他用戶只讀),/etc/shadow
設為600
(僅所有者可讀寫);使用chown
命令修正所有者:確保系統文件歸root:root
所有。對于敏感目錄(如/root
、/etc
),限制為僅root用戶可訪問。
5. 配置SELinux增強安全
SELinux(安全增強型Linux)通過強制訪問控制(MAC)限制進程權限,默認處于permissive
模式(僅記錄違規不阻止)。編輯/etc/selinux/config
文件,將SELINUX=enforcing
(啟用強制模式);使用restorecon -Rv /
恢復默認SELinux上下文;通過semanage
命令調整布爾值(如允許httpd訪問網絡:setsebool -P httpd_can_network_connect on
),滿足業務需求的同時強化安全。
6. 設置合理的umask值
umask決定了新建文件/目錄的默認權限,降低未授權訪問風險。編輯/etc/profile
或~/.bashrc
文件,將umask設置為027
(新建文件權限為640
,目錄權限為750
),限制組和其他用戶的訪問權限。執行source /etc/profile
使設置生效。
7. 保護關鍵口令文件
對/etc/passwd
、/etc/shadow
、/etc/group
、/etc/gshadow
等口令文件添加不可更改屬性,防止被篡改。執行chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
設置,用lsattr <文件路徑>
驗證。如需修改(如添加用戶),可先使用chattr -i <文件>
臨時取消屬性,修改完成后再恢復。
8. 定期更新系統及軟件包
及時修補系統及軟件包漏洞,減少被攻擊的風險。使用yum update -y
命令更新所有可更新的軟件包;安裝yum-cron
工具(yum install -y yum-cron
),配置自動更新(編輯/etc/yum/pluginconf.d/subscription-manager.conf
,設置enabled=1
),確保系統持續安全。