温馨提示×

centos虚拟机安全设置怎么做

小樊
45
2025-10-19 15:01:51
栏目: 云计算

CentOS虚拟机安全设置关键步骤

1. 账户安全及权限管理

  • 禁用不必要的超级用户:通过/etc/passwd文件检测并锁定非必需的超级账户(如admlpsync等),防止未授权访问。
  • 强化用户口令策略:设置包含大写字母、小写字母、数字和特殊字符的复杂口令(长度≥10位),可通过修改/etc/login.defs文件强制执行。
  • 保护口令文件:使用chattr +i命令给/etc/passwd/etc/shadow/etc/group/etc/gshadow等文件添加不可更改属性,避免未授权修改。
  • 设置root自动注销:修改/etc/profile文件中的TMOUT参数(如TMOUT=300),设置root账户无操作5分钟后自动注销。

2. 防火墙配置(firewalld)

  • 启动并启用firewalld:运行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),减少攻击面。

3. SELinux配置

  • 启用SELinux:通过getenforce命令检查状态(若为Disabled需修改),编辑/etc/selinux/config文件,将SELINUX=permissive改为SELINUX=enforcing,重启系统生效。
  • 临时调整模式:使用setenforce 1开启强制模式(0为宽容模式),宽容模式下SELinux仅记录违规行为而不阻止。

4. 服务与端口管理

  • 关闭不必要服务:使用systemctl disable命令禁用未使用的服务(如postfix邮件服务、bluetooth蓝牙服务等),减少系统漏洞。
  • 优化SSH服务:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no禁止root直接登录,Protocol 2强制使用SSH2协议(更安全),MaxAuthTries 3限制密码错误次数(最多3次),修改后重启SSH服务systemctl restart sshd

5. 文件系统安全

  • 设置umask值:修改/etc/profile或用户配置文件(如~/.bashrc),将umask设为027,确保新创建文件属主有读写执行权限(7),同组用户有读执行权限(5),其他用户无权限(0)。
  • 保护关键文件:使用chattr +i命令锁定/etc/passwd/etc/shadow等关键系统文件,防止恶意篡改。

6. 日志管理与审计

  • 启用详细日志:确保/var/log/secure(SSH登录日志)、/var/log/messages(系统日志)等文件记录所有用户操作和系统事件。
  • 定期审计日志:使用ausearchjournalctl工具分析日志,查找异常行为(如频繁的登录失败、未授权的进程启动),及时响应安全事件。

7. 软件更新与补丁管理

  • 定期更新系统:使用yum update -y命令更新系统和所有已安装的软件包,修复已知漏洞。
  • 自动更新安全补丁:安装yum-cron工具(yum install -y yum-cron),配置自动下载并安装安全更新,保持系统最新状态。

8. 虚拟化环境额外安全

  • 宿主机安全:确保宿主机操作系统(如Windows或Linux)安装最新补丁,启用宿主机防火墙,限制对虚拟机管理接口(如VMware的vCenter)的访问。
  • 虚拟机隔离:配置虚拟机网络为“NAT”或“仅主机”模式,避免与其他虚拟机或外部网络直接暴露;使用VirtualBox的“快照”功能定期保存虚拟机状态,便于在安全事件发生时快速恢复。

0