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