服务器安全加固是分层、务实、可落地的系统性动作,核心逻辑为先收口子、再锁权限、最后留痕迹,覆盖系统层(禁root远程、改默认端口、删无用服务、强密码策略)、应用层(进程降权、隐藏版本、防恶意请求、限流)、运维层(统一时钟、审计留痕、验证备份、节奏化补丁)及合规要求(等保+CIS基准)。

一、系统层:关掉默认敞开的门
新服务器就像刚交房的毛坯房——开发商留了太多“便利通道”,得自己封堵。
-
禁用root远程登录:Linux下修改
/etc/ssh/sshd_config,设PermitRootLogin no,再配一个普通管理账号并用sudo授权;Windows则重命名Administrator、禁用Guest。 - 改掉默认端口:SSH别守22,RDP别守3389,哪怕改成2222或3390,就能过滤掉80%以上的自动化扫描。
-
删服务、关端口:用
systemctl list-unit-files --state=enabled查开机自启项,把telnet、rpcbind、cups这些用不到的服务全干掉;再用firewalld或云安全组,只放行HTTP/HTTPS、业务端口,其余一律拒绝。 -
强制强密码策略:CentOS改
/etc/security/pwquality.conf,设最小长度12位、含大小写字母+数字+特殊字符;Windows用组策略设密码最短14位、90天更换、5次输错锁定15分钟。
二、应用层:不让Web服务成突破口
nginx或Apache这类前端服务,常年直面公网,配置稍松一点,就可能被当跳板。
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
-
进程降权运行:确认worker进程不是以root跑的(
ps -ef | grep nginx),应是www-data或nginx这类低权限用户。 -
关版本号、禁危险头:nginx加
server_tokens off;;再加add_header X-Content-Type-Options nosniff;和X-XSS-Protection "1; mode=block"。 -
防恶意请求:用
if+ 正则拦截含select|union|script|等关键词的URI,直接return 403。 -
限流防CC:配置
limit_req_zone $binary_remote_addr zone=burst:10m rate=10r/s,单IP超频就排队或拒绝。
三、运维层:让操作可查、备份可用、时间不飘
再好的配置,没日志、没备份、时间乱跳,出事照样抓瞎。
-
统一时间源:CentOS装
chrony,Ubuntu开timedatectl set-ntp true,至少配3个NTP服务器,避免证书失效或日志错乱。 -
关键操作留痕:开启
auditd审计,记录谁在什么时候执行了sudo、修改了/etc/passwd或重启了服务。 -
备份要验证:别只写
rsync脚本就完事,每月至少一次手动恢复测试——很多企业备份做了三年,真出事才发现压缩包损坏或路径写错。 - 补丁有节奏:高危漏洞72小时内评估上线,中低危按月批量更新;更新前必须在测试机跑通业务,别让补丁变故障源。
四、合规视角:等保和CIS不是负担,是检查清单
等保三级要求“身份鉴别”“访问控制”“安全审计”,CIS Benchmark给出具体数值(比如密码14位、锁定5次)。两者合起来,就是一份清晰的加固验收表:
- 密码策略是否满足等保“复杂度+定期更换”+ CIS “≥14位+90天”?
- 日志是否集中留存6个月以上,并能关联到具体操作人?
- 数据库、中间件是否禁用默认账号、关闭远程管理接口?
- SSL/TLS是否已停用SSLv3/TLS1.0,强制TLS1.2+?

















