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)扫描恶意软件,提升系统整体安全性。