CentOS Message安全使用指南
/etc/ssh/sshd_config
文件,設置PermitRootLogin no
,禁止root用戶通過SSH遠程登錄,降低賬戶被暴力破解的風險;修改完成后重啟SSH服務(systemctl restart sshd
)使配置生效。ssh-keygen -t rsa
),將公鑰(id_rsa.pub
)復制到服務器~/.ssh/authorized_keys
文件中,修改/etc/ssh/sshd_config
設置PasswordAuthentication no
,禁用密碼登錄,避免密碼泄露導致的賬戶入侵。firewalld
(CentOS 7及以上默認防火墻)限制服務器訪問,僅開放必要端口(如SSH的22端口、Web服務的80/443端口)。例如,添加22端口規則:firewall-cmd --permanent --zone=public --add-port=22/tcp
,然后重載防火墻(firewall-cmd --reload
)。systemctl list-unit-files --type=service
查看所有服務,禁用未使用的服務(如FTP、Telnet等),使用systemctl disable <服務名>
命令停止服務,并設置為開機不啟動,減少系統攻擊面。logrotate
工具自動管理日志文件大小和保留數量,避免日志文件過大占用磁盤空間或被篡改。編輯/etc/logrotate.d/rsyslog
文件,添加以下配置(針對/var/log/messages
):/var/log/messages { weekly rotate 4 create 0664 root utmp missingok notifempty compress delaycompress sharedscripts }
/etc/rsyslog.conf
文件,將安全相關日志(如認證、授權)分離到獨立文件。例如,添加authpriv.* /var/log/secure
規則,使認證日志單獨存儲,便于后續審計和分析。journalctl
命令實時查看系統日志(journalctl -f
),或通過tail -f /var/log/messages
跟蹤messages
文件的實時變化,及時發現異常行為(如頻繁的登錄失敗、服務崩潰)。last
命令查看用戶登錄記錄(last
顯示成功登錄,lastb
顯示失敗登錄),檢查是否有異常登錄行為;通過grep "Failed password" /var/log/secure
篩選認證失敗的日志,快速定位潛在的暴力破解嘗試。chmod
命令限制日志文件的訪問權限,例如將/var/log/messages
的權限設置為0640
(屬主root可讀寫,屬組utmp可讀,其他用戶無權限):chmod 0640 /var/log/messages
;避免使用chmod 777
等過度開放的權限。chown
命令將日志文件的所有者設為root
,屬組設為utmp
(或其他專用組),例如:chown root:utmp /var/log/messages
,確保只有授權用戶和組能訪問日志。admin
用戶讀寫/var/log/messages
:setfacl -m u:admin:rw /var/log/messages
;查看ACL規則:getfacl /var/log/messages
。/etc/selinux/config
文件,設置SELINUX=enforcing
(永久啟用);臨時啟用命令:setenforce 1
。若需自定義策略,可使用audit2allow
工具生成策略模塊(例如,根據ausearch -m avc
輸出的拒絕日志生成策略)。yum install apparmor apparmor-utils
;啟用服務:systemctl enable apparmor && systemctl start apparmor
;為特定應用(如Apache)創建自定義配置文件:aa-enforce /etc/apparmor.d/usr.sbin.httpd
。yum install fail2ban
;編輯配置文件/etc/fail2ban/jail.local
,啟用SSH防護:[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/secure maxretry = 3
systemctl start fail2ban && systemctl enable fail2ban
。