服务器安全加固是网络安全防护的第一道防线,本文从身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范五大维度,详细讲解Windows和Linux系统的安全加固配置方法。
一、身份鉴别:第一道防线
Windows系统配置
1. 密码策略强化
打开路径:控制面板→所有控制面板项→windows工具→本地安全策略 → 账户策略 → 密码策略,如下图
2. 账户锁定策略
打开路径:控制面板→所有控制面板项→windows工具→本地安全策略 → 账户策略 → 账户锁定策略
效果:登录失败5次,锁定账户30分钟,有效防御暴力破解攻击。
3. 屏幕保护锁定
Linux系统配置
1. 密码复杂度配置
编辑 /etc/pam.d/system-auth:
password requisite pam_pwquality.so minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
参数说明:
2. 密码有效期配置
编辑 /etc/login.defs:
PASS_MAX_DAYS 90 # 密码最长有效期90天PASS_MIN_DAYS 0 # 密码最短使用天数PASS_WARN_AGE 7 # 提前7天警告
PS:此处改完不会修改已有账号的设置,需要用chage命令对已有账号进行逐个更新chage -d 0 用户名 # 强制单个用户下次登陆时修改密码
3. 登录失败锁定
编辑 /etc/pam.d/system-auth:
auth required pam_faillock.so preauth deny=5 unlock_time=300 even_deny_root root_unlock_time=300
效果:
4. 会话超时自动退出
编辑 /etc/profile,添加:
export TMOUT=3600
效果:空闲60分钟自动断开连接。
5. 禁用Telnet,启用SSH
# 停止Telnet服务systemctl stop telnet.socketsystemctl disable telnet.socket# 确保SSH运行systemctl enable sshdsystemctl start sshd
二、访问控制:最小权限原则
Windows系统配置
1. 禁用默认账户
# 禁用Guest账户net user guest /active:no# 重命名Administrator账户wmic useraccount where name='Administrator' call rename name='Admin_新名称'
2. 账户权限分离
禁用超级管理员账户,实现三权分立。
3. 远程登录限制
- 控制面板→所有控制面板项→windows工具→本地安全策略 → IP安全策略,限制RDP端口来源IP
Linux系统配置
1. 文件权限加固
# 关键文件权限chmod 644 /etc/passwdchmod 640 /etc/shadowchmod 644 /etc/rsyslog.conf
2. 禁止root远程登录
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
重启SSH服务:
systemctl restart sshd
3. 禁用多余默认账户
# 锁定无用账户usermod -L admusermod -L syncusermod -L shutdownusermod -L haltusermod -L mailusermod -L uucpusermod -L operatorusermod -L gamesusermod -L gopherusermod -L ftp
4. 账户权限分离
创建三权分立账户:
# 系统管理员useradd -m -G wheel sysadmin# 安全管理员useradd -m secadmin# 审计管理员useradd -m audadmin
5. 访问控制策略
# 保持 root 属主不动chown -R root:root /var/log/chmod 750 /var/log/# 审计管理员只读权限setfacl -R -m u:audadmin:r /var/log/
三、安全审计:留痕可追溯
Windows系统配置
1. 启用审核策略
打开路径:控制面板→所有控制面板项→windows工具→本地安全策略 → 本地策略 → 审核策略
2. 日志存储策略
3. 保护审计进程
配置普通账户无法终止审计进程,防止未经授权中断。
Linux系统配置
1. 启用auditd审计服务
# 安装auditdyum install audit -y # CentOS/RHELapt install auditd -y # Ubuntu/Debian# 启动并设置开机自启systemctl enable auditdsystemctl start auditd
2. 配置审计规则
编辑 /etc/audit/rules.d/audit.rules:
# 监控关键文件修改-w /etc/passwd -p wa -k passwd_changes-w /etc/shadow -p wa -k shadow_changes-w /etc/sudoers -p wa -k sudoers_changes# 监控用户切换-w /var/log/secure -p wa -k logins# 监控系统调用-a always,exit -F arch=b64 -S execve -k exec
重启auditd:
augenrules --loadsystemctl restart auditd
3. 启用rsyslog日志服务
systemctl enable rsyslogsystemctl start rsyslog
4. 日志保存策略
- 配置日志轮转
/etc/logrotate.conf
四、入侵防范:封堵攻击入口
Windows系统配置
1. 最小化安装原则
只安装业务必需的组件和应用软件,减少攻击面。
2. 关闭高危端口和服务
关闭默认共享:
net share C$ /deletenet share ADMIN$ /deletenet share IPC$ /delete
禁用Print Spooler服务:
sc stop Spoolersc config Spooler start= disabled
防火墙阻断高危端口:
netsh advfirewall firewall add rule name="Block_Telnet" dir=in action=block protocol=tcp localport=23netsh advfirewall firewall add rule name="Block_RPC" dir=in action=block protocol=tcp localport=135netsh advfirewall firewall add rule name="Block_SMB" dir=in action=block protocol=tcp localport=445
3. 限制管理地址
只允许特定IP访问管理端口,或只通过本地控制台管理。
Linux系统配置
1. 最小化安装
# 查看已安装软件包rpm -qa # CentOS/RHELdpkg -l # Ubuntu/Debian# 卸载非必需软件yum remove package_nameapt remove package_name
2. 关闭高危端口
# 查看监听端口ss -tlnp# 防火墙阻断(firewalld)firewall-cmd --permanent --add-port=22/tcpfirewall-cmd --permanent --remove-service=telnetfirewall-cmd --reload# 或使用iptablesiptables -A INPUT -p tcp --dport 23 -j DROPiptables -A INPUT -p tcp --dport 445 -j DROP
3. 关闭默认共享
Linux无Windows默认共享问题,但需检查Samba配置:
# 检查Samba共享smbclient -L localhost# 禁用不需要的共享vim /etc/samba/smb.conf
4. SSH安全加固
编辑 /etc/ssh/sshd_config:
Port 2222 # 修改默认端口PermitRootLogin no # 禁止root登录MaxAuthTries 3 # 最大认证尝试次数ClientAliveInterval 300 # 客户端存活检测ClientAliveCountMax 2 # 检测失败次数
五、恶意代码防范:终端防护
Windows系统
Linux系统
# ClamAV(开源免费)yum install clamav clamd -yfreshclam # 更新病毒库# 或使用企业版杀毒软件
# 全盘扫描clamscan -r / --move=/tmp/quarantine/# 定时任务扫描echo "0 2 * * * /usr/bin/clamscan -r / --move=/tmp/quarantine/" >> /var/spool/cron/root
六、加固检查清单
Windows检查项
Linux检查项
结语
服务器安全加固不是一次性工作,而是持续的安全运营过程。建议:
本文档基于等保2.0要求整理,适用于CentOS 7+/Ubuntu 18.04+/Windows Server 2016+系统。