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端口),--permanent参数使规则永久生效,修改后需firewall-cmd --reload重新加载。firewall-cmd --zone=public --remove-service=telnet --permanent关闭不必要的服务(如Telnet),减少攻击面。getenforce命令检查状态(若为Disabled需修改),编辑/etc/selinux/config文件,将SELINUX=permissive改为SELINUX=enforcing,重启系统生效。setenforce 1开启强制模式(0为宽容模式),宽容模式下SELinux仅记录违规行为而不阻止。systemctl disable命令禁用未使用的服务(如postfix邮件服务、bluetooth蓝牙服务等),减少系统漏洞。/etc/ssh/sshd_config文件,设置PermitRootLogin no禁止root直接登录,Protocol 2强制使用SSH2协议(更安全),MaxAuthTries 3限制密码错误次数(最多3次),修改后重启SSH服务systemctl restart sshd。/etc/profile或用户配置文件(如~/.bashrc),将umask设为027,确保新创建文件属主有读写执行权限(7),同组用户有读执行权限(5),其他用户无权限(0)。chattr +i命令锁定/etc/passwd、/etc/shadow等关键系统文件,防止恶意篡改。/var/log/secure(SSH登录日志)、/var/log/messages(系统日志)等文件记录所有用户操作和系统事件。ausearch或journalctl工具分析日志,查找异常行为(如频繁的登录失败、未授权的进程启动),及时响应安全事件。yum update -y命令更新系统和所有已安装的软件包,修复已知漏洞。yum-cron工具(yum install -y yum-cron),配置自动下载并安装安全更新,保持系统最新状态。