CentOS虚拟机安全设置关键步骤
/etc/passwd文件检测并锁定非必要的超级账户(如adm、lp、sync等),防止未授权访问。/etc/login.defs文件强制执行。chattr +i命令给/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow等文件添加不可更改属性,防止非法修改。/etc/profile文件中的TMOUT参数(如TMOUT=300),设置root账户无操作5分钟后自动注销。systemctl start firewalld启动防火墙,systemctl enable firewalld设置开机自启。public区域,通过firewall-cmd --zone=public --add-port=22/tcp --permanent开放必要端口(如SSH的22端口),firewall-cmd --reload应用更改。--add-source参数限制允许访问的IP段(如firewall-cmd --zone=public --add-source=192.168.1.0/24 --permanent),减少非法访问风险。systemctl disable命令禁用不需要的服务(如acpid、autofs、bluetooth等),减少系统漏洞和攻击面。systemctl disable 服务名禁止非必要服务开机自启,降低系统启动时的潜在风险。/etc/ssh/sshd_config,设置PermitRootLogin no禁止root用户直接登录,Protocol 2强制使用SSH2协议(更安全)。AllowUsers参数指定允许登录的用户(如AllowUsers admin),或通过AllowGroups限制用户组。Port 2222),降低被扫描攻击的概率(需同步修改防火墙规则放行新端口)。setenforce 1临时启用(重启后失效),修改/etc/selinux/config文件中的SELINUX=enforcing永久启用(需重启系统)。audit2allow工具生成自定义策略(如grep "avc: denied" /var/log/audit/audit.log | audit2allow -M mypolicy),而非直接禁用SELinux。/etc/profile或用户配置文件(如~/.bashrc),设置umask 027,使新创建的文件属主拥有读写执行权限(7),同组用户拥有读和执行权限(5),其他用户无权限(0)。chattr +i命令锁定/etc/passwd、/etc/shadow、/etc/fstab等关键系统文件,防止未授权修改(需用chattr -i解锁)。/var/log/secure(SSH登录日志)、/var/log/messages(系统日志)等日志文件正常记录用户操作和系统事件。ausearch、last、who等工具定期检查日志,关注异常登录(如频繁失败的密码尝试)、未授权访问等行为,及时响应安全事件。yum update命令更新系统和软件包,修复已知漏洞;可配置yum-cron工具实现自动更新。tar、rsync等工具定期备份关键数据(如/etc、/home、数据库文件),建议采用异地存储或云存储,防止数据丢失或被破坏。