CentOS環境下的安全策略
cat /etc/passwd | awk -F: '{print $1, $3}' | grep ' 0$'
檢測UID=0的非root用戶,使用passwd -l <用戶名>
鎖定或修改shell為/sbin/nologin
禁止登錄。adm
、lp
、sync
等),使用userdel <用戶名>
、groupdel <組名>
清理,降低攻擊面。/etc/login.defs
設置PASS_MIN_LEN 10
(密碼最小長度),要求包含大小寫字母、數字和特殊字符;檢查空口令賬戶awk -F: '($2 == "") {print $1}' /etc/shadow
并強制設置密碼。chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
設置不可更改屬性,防止未授權修改。/etc/pam.d/su
添加auth required pam_wheel.so use_uid
,僅允許wheel
組成員使用su切換root,降低權限濫用風險。systemctl start firewalld && systemctl enable firewalld
啟動并設為開機自啟。drop
(拒絕所有未明確允許的流量),使用firewall-cmd --set-default-zone=drop
,僅開放必要端口(如SSH 22、HTTP 80)。firewall-cmd --zone=public --add-port=22/tcp --permanent
(SSH),--reload
生效;避免開放高危端口(如3389、135)。firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port port=22 protocol='tcp' accept"
限制特定IP訪問關鍵服務,提升安全性。firewall-cmd --set-log-denied=xml
,通過journalctl -u firewalld
或/var/log/messages
監控異常流量,及時發現攻擊行為。sestatus
檢查狀態(需顯示enforcing
),修改/etc/selinux/config
中SELINUX=enforcing
并重啟,確保強制訪問控制生效。ls -Z
查看文件/進程上下文,semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
定義持久化規則,restorecon -Rv /var/www/html
應用,確保服務進程僅能訪問授權資源。ausearch -m avc -ts today
查看SELinux拒絕日志,使用audit2allow -M mypolicy
生成自定義策略(最小化權限),semodule -i mypolicy.pp
加載,解決服務運行時的權限問題。httpd_t
而非unconfined_t
),避免過度授權;定期審查SELinux策略,禁用不必要的布爾值(如setsebool -P httpd_can_network_connect=0
)。/etc/ssh/sshd_config
,設置PermitRootLogin no
,防止root賬戶被暴力破解。ssh-keygen -t rsa
),將公鑰復制到服務器ssh-copy-id user@ip
,修改/etc/ssh/sshd_config
設置PasswordAuthentication no
,替代密碼認證,提升登錄安全性。/etc/ssh/sshd_config
中添加AllowUsers <username1> <username2>
,僅允許指定用戶通過SSH登錄,減少攻擊入口。Port 2222
),降低自動化掃描攻擊概率;需同步修改防火墻規則允許新端口。yum update -y
或dnf update -y
定期更新操作系統及軟件包,修復已知安全漏洞(如內核、OpenSSL漏洞)。centos-announce
郵件列表),及時獲取高危漏洞補丁,避免延遲修復導致系統暴露。auditd
(yum install auditd -y
),啟動并設為開機自啟(systemctl start auditd && systemctl enable auditd
),記錄用戶操作(如sudo
使用)、文件修改等關鍵事件。/var/log/secure
(認證日志)、/var/log/messages
(系統日志)、/var/log/audit/audit.log
(審計日志),使用grep "Failed password" /var/log/secure
查找暴力破解嘗試,及時響應異常。/etc/inittab
,注釋ca::ctrlaltdel:/sbin/shutdown -t3 -r now
行,防止物理接觸或誤操作導致系統意外重啟。/etc/profile
,添加TMOUT=300
(300秒無操作自動注銷),減少未授權訪問風險;需執行source /etc/profile
激活。/etc
)、數據庫(如MySQL的/var/lib/mysql
)、用戶數據(/home
)到異地或云存儲,使用rsync
或tar
工具,確保數據可恢復。yum install fail2ban -y
)防止SSH暴力破解,通過clamav
(yum install clamav -y
)掃描惡意軟件,提升系統整體安全性。