2021-04-18 06:45:20
满足等保要求的Windows系统和Linux系统安全加固脚本,通常需要涵盖系统配置、账户安全、服务管理、日志审计等多个方面。以下是一个综合性的安全加固脚本示例,分别针对Windows和Linux系统。
Windows系统安全加固脚本# Windows安全加固脚本# 需要以管理员身份运行# 1. 修改远程桌面服务端口(示例为修改为3390,实际使用时请根据需求调整)# 注意:修改端口后需在防火墙中放行新端口,并可能需要更新组策略或注册表# 此处仅为示例,实际修改端口需更复杂的步骤# netsh advfirewall firewall add rule name="远程桌面服务tcp" dir=in action=allow enable=yes profile=any localport=3390 protocol=tcp remoteip=any# 2. 密码策略加强# 设置密码最小长度为8位net accounts /minpwlen:8# 开启密码复杂性要求(通过修改注册表或组策略实现,此处为示意)# 实际应使用secedit或组策略编辑器# 3. 清理共享文件夹(示例为删除admin$共享,实际使用时请谨慎)# net share admin$ /delete# 4. 服务和用户管理# 停止并禁用不必要的服务(如Server服务)Stop-Service -Name LanmanServer -ForceSet-Service -Name LanmanServer -StartupType Disabled# 禁用guest用户net user guest /active:no# 5. 安全审核策略(通过组策略或secedit配置)# 此处仅为示意,实际应使用组策略编辑器或secedit命令# 6. 屏幕保护设置(通过组策略或注册表配置)# 此处仅为示意# 7. 防火墙设置(放行必要端口,阻止高危端口)netsh advfirewall firewall add rule name="阻止高危端口" dir=in action=block enable=yes profile=any localport=135-139,445 protocol=tcp remoteip=any# 8. 其他安全配置(如禁用不必要的协议、更新系统补丁等)# 此处省略具体命令,实际应根据等保要求配置Write-Host "Windows安全加固完成,请根据实际需求调整配置并重启系统。"Linux系统安全加固脚本#!/bin/bash# Linux安全加固脚本# 需要以root用户运行# 1. 密码策略加固# 修改密码最小长度为12位,启用字典检查等sed -i 's/^PASS_MIN_LEN.*/PASS_MIN_LEN 12/' /etc/login.defs# 启用密码复杂度检查(需安装libpam-pwquality或类似包)# echo "password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=" >> /etc/pam.d/common-password# 2. 登录策略加固# 设置登录尝试失败次数限制和超时时间sed -i 's/^# auth.*required.*pam_tally2.so.*/auth required pam_tally2.so deny=5 unlock_time=300/' /etc/pam.d/loginsed -i 's/^# auth.*required.*pam_deny.so.*/auth required pam_deny.so/' /etc/pam.d/login# 设置登录超时时间(通过TMOUT环境变量或/etc/profile配置)echo "export TMOUT=300" >> /etc/profile# 3. 审计服务配置# 确保auditd服务已安装并启用if ! systemctl is-active --quiet auditd; then systemctl start auditd systemctl enable auditdfi# 配置审计规则(示例)echo "-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change" >> /etc/audit/rules.d/audit.rules# 重启auditd服务以应用新规则systemctl restart auditd# 4. SSH配置加固# 禁止root用户直接登录sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config# 限制SSH访问来源(示例)# echo "AllowUsers user1@192.168.1.*" >> /etc/ssh/sshd_config# 重启SSH服务以应用新配置systemctl restart sshd# 5. 日志管理配置# 配置日志轮转(确保logrotate已安装并配置正确)# 此处省略具体配置,实际应根据需求配置# 6. 服务管理# 确保必要服务已启用(如rsyslog)if ! systemctl is-active --quiet rsyslog; then systemctl start rsyslog systemctl enable rsyslogfi# 禁用不必要的服务(示例)# systemctl disable postfix# 7. 其他安全配置(如文件权限设置、SELinux配置等)# 此处省略具体命令,实际应根据等保要求配置echo "Linux安全加固完成,请根据实际需求调整配置并重启系统。"注意事项由于等保要求可能因版本和具体场景而异,上述脚本仅为示例,实际使用时需根据具体情况进行调整。