Web服务器安全学习笔记
一、Web核心基础(先搞懂“啥是Web”)
-
Web的构成:就像“用户(客户端)- 沟通语言(HTTP/HTTPS协议)- 仓库管理员(Web服务器)- 货物(Web资源,比如网页、图片、视频)”的组合。我们用浏览器(客户端)发请求,通过HTTP/HTTPS协议传送给服务器,服务器找出对应的资源返回,最后浏览器展示给我们看。
-
Web服务器是啥:核心“仓库管理员”,专门存Web资源,还能接收请求、返回资源,主流的有Apache、Nginx、IIS三种,各有擅长场景。
-
访问流程(记牢这4步):
-
输网址(URL):比如百度地址,DNS会把网址翻译成服务器的真实IP(就像查通讯录找手机号);
-
建连接:客户端和服务器通过“TCP三次握手”搭好稳定的通信通道;
-
发请求/给响应:客户端发HTTP/HTTPS请求,服务器处理后返回包含资源的响应;
-
浏览器渲染:把收到的资源变成我们能看懂的网页。
-
搭建Web服务器(两种常用方式):
-
Linux系统:用apache2(也叫httpd),装完启动服务,把网页文件放到/var/www/html目录,局域网内输服务器IP就能访问;
-
Windows系统:用PHPStudy(可视化工具,超简单),启动Apache服务,网页文件丢进WWW目录,同一WiFi下的手机、电脑输本机IPv4就能共享访问,80端口被占就换8080端口。
-
二、三大主流Web服务器(特点一眼分清)
| 服务器 | 出身/性质 | 适配系统 | 核心特点 | 常用场景 |
|---|---|---|---|---|
| Apache | 开源(Apache基金会) | 跨平台(Linux/Windows) | 灵活、兼容性强,支持多种脚本(PHP等) | 中小型网站(博客、企业官网)、需适配多种脚本的项目 |
| Nginx | 开源(Igor Sysoev团队) | 跨平台 | 轻量、省内存,高并发处理超厉害,擅长反向代理 | 高流量网站(电商、视频平台)、万级以上并发的场景 |
| IIS | 闭源(微软开发) | 仅Windows | 和.NET生态结合紧密,有图形化管理界面 | 企业内网Windows环境、部署ASP.NET/ASP项目 |
三、核心漏洞(重点防“解析漏洞”,最容易被攻击)
三大服务器的高频漏洞都是“解析漏洞”——简单说就是服务器认错文件类型,把黑客伪装的恶意脚本当成正常文件执行,后果超严重!
1. Apache解析漏洞(最经典)
-
漏洞原理:服务器认文件后缀时“从右往左看”,只要看到.php后缀(不管后面还有啥),就当成PHP脚本执行。比如黑客传“test.php.abc”,服务器忽略.abc,直接执行里面的恶意代码;
-
风险:黑客能绕过文件上传限制,传恶意脚本,拿到服务器权限,偷数据、装后门;
-
防御:让服务器只认纯.php后缀(改配置文件),上传文件只允许jpg/png等安全格式(白名单),上传目录设为“只能看不能执行”,及时更版本。
2. Nginx解析漏洞(高并发场景要重点防)
-
漏洞原理:两种情况会中招——一是URL里加“/.php”(比如1.jpg/.php),服务器会当成PHP脚本;二是配置文件里有空格导致解析出错;
-
风险:和Apache类似,黑客能控制服务器,影响整个业务系统(毕竟Nginx常用在高流量网站);
-
防御:改配置文件加严格的规则,禁止空字节解析,上传目录直接禁止访问,及时升级版本。
3. IIS 6.0解析漏洞(企业内网高频坑)
-
漏洞原理:服务器会忽略文件名里“;”后面的内容,比如“test.asp;.jpg”,会当成ASP脚本执行;还默认把.asa、.cer、.cdx这三个后缀当成ASP脚本;
-
风险:黑客轻松绕过上传限制,控制Windows服务器,拿管理员权限,危害极大;
-
防御:能升级就升级到IIS 7.0以上(直接修复漏洞),禁用.asa等危险后缀,上传时过滤“;”字符,上传目录设为只读。
四、通用安全防护(所有服务器都要遵守)
-
及时更版本:低版本最容易出漏洞,官方发新版本就赶紧更,相当于给服务器补“安全补丁”;
-
权限别给太满:服务器运行时别用管理员/root权限,就给“刚好能用的权限”,就算被攻击,损失也能降到最小;
-
上传文件要严审:只允许安全后缀(白名单),禁止php/asp等脚本后缀,上传的文件改个随机名字(让黑客伪装失效),上传目录单独放且禁止执行;
-
别泄露版本信息:别让黑客知道你用的服务器版本、中间件版本,不然他们会针对性攻击;
-
启用HTTPS:配置SSL证书,用HTTPS传输数据,防止数据被中途偷取、篡改(地址栏有小绿锁才安全)。
五、关键提醒(复习必看)
-
安全的核心是“层层防护”,只靠一种方法没用,版本升级+配置加固+权限控制+上传过滤,少一个都不行;
-
解析漏洞是重点,三个服务器的漏洞原理不一样,但防御思路相通——不让黑客的恶意脚本被解析执行;
-
搭建服务器时,端口放行、目录设置、防火墙配置是基础,弄错了可能导致访问不了或有安全隐患;
-
别搞非法攻击!网络安全法规定,侵入他人网络、偷数据、提供攻击工具都是违法的,学习只是为了防护。