信息安全工程师软考(22):网站安全
网站安全威胁与需求分析
网站安全威胁
- 非授权访问: 由于网站认证机制缺陷导致服务及信息被非法访问,常见攻击手段包括口令猜测和"撞库"攻击。
- 网页篡改: 网站组件存在安全隐患时,攻击者可利用漏洞恶意修改网页内容,政府和企业门户网站常成为目标。
- 数据泄露: 访问控制措施不当会导致敏感数据被外部用户获取,包括文件非法拷贝和未授权读取。
- 恶意代码: 典型表现为网页木马(含有恶意功能的网页文件),能诱导用户下载执行恶意程序,导致账户信息泄露和终端被控制。
- 网站假冒: 通过域名欺骗、劫持或中间人攻击等手段诱骗用户访问钓鱼网站,获取敏感信息。
- 拒绝服务: 常见攻击类型包括UDP Flood、ICMP Flood、SYN Flood和HTTP Flood等洪水攻击。
- 后台管理威胁: 涉及管理员账号安全、后台程序安全和内部权限安全,后台暴露有可能导致网站完全失控。
网站安全需求分析
- 技术层面: 需要防护物理环境、网络通信、操作系统、数据库、应用服务器、Web服务软件、应用程序和数据等多层次安全威胁。
- 管理层面: 需建立组织管理体系和配套的安全运维工具平台,符合等级保护2.0对技术和管理双重要求。
- 合规要求: 业务运行必须满足内容安全审查、等级保护测评、数据存储规范等国家法律法规要求,特别需注意非法言论过滤。
Apache安全分析与增强
Apache主要配置文件
- httpd.conf:主配置文件,设定服务器一般的数学、端口、执行者身份等。
- conf/srm.conf:数据配置文件。不是必须的,可完全被httpd.conf替代。
- conf/access.conf:负责基本的读取文件控制,限制目录所能执行的功能及访问目录的权限。
- conf/mine.conf:设定Apache所能辨别的MIME格式。
Apache面临的主要威胁
- 程序漏洞威胁:
- 缓冲区溢出等软件自身漏洞
- 攻击者可执行恶意指令
- 配置威胁:
- 目录索引暴露(Directory Indexing)
- 资源位置预测(Predictable Resource Location)
- 信息泄露(Information Leakage)
- 安全机制威胁:
- 口令暴力攻击(Brute Force)
- 授权不当(Insufficient Authorization)
- 弱口令恢复验证(Weak Password Recovery)
- 通信威胁:
- HTTP明文传输易被监听
- 内容威胁:
- 网页篡改
- 网络钓鱼
- 拒绝服务威胁:
- 消耗CPU/内存资源
- 典型攻击:DoS/DDoS
Apache安全机制
本地文件安全
- 默认设置: 安装后文件属主和权限配置合理
- 修改方式: 可通过chmod命令调整文件权限
模块管理机制
- 模块化结构: 功能可灵活配置
- 安全原则: 禁用不需要的模块(类似操作系统服务最小化原则)
认证机制
- 特点: 提供简单用户认证功能
- 应用场景: 多数网页仍采用公开访问模式
连接耗尽应对机制
- 攻击特征:
- 大量HTTP连接不发送数据
- 日志出现408错误记录
- 防护措施:
- 缩短Timeout值(如设为30)
- 增大MaxClients值(如256)
- 限制单IP最大连接数
- 禁止多线程下载工具(通过User Agent识别)
自带的访问控制机制
- 配置文件: access.conf
审计和日志
- access.log: 记录所有访问请求
- error.log: 记录错误状态请求
服务器防范DoS
- 防护模块: Apache DosEvasive Maneuvers Module
- 原理: 通过Hash表检测重复URL请求
- 局限性: 仅能防御基础DoS攻击
Apache安全增强
- 补丁管理: 及时安装安全补丁
- 文件保护: 启用.htaccess文件
- 权限控制:
- 设置专用用户/组
- 遵循最小特权原则
- 信息隐藏: 隐藏版本号
- 目录安全:
- 禁用目录索引列表
- 删除默认目录(如CGI样例、默认HTML文件)
- 第三方防护: 使用WAF等安全设备增强防护
IIS安全分析与增强
IIS概述
- 服务功能:
- 主要提供Web服务(默认80端口,HTTPS为443端口)
- 同时支持SMTP邮件服务(TCP 25端口)和FTP文件传输服务(控制端口21,数据端口20)
- 典型威胁:
- 非授权访问:通过配置失误或系统漏洞(如弱口令)非法访问资源,影响机密性
- 网络蠕虫:利用缓冲区溢出漏洞构造蠕虫攻击,属于恶意代码攻击的一类
- 网页篡改:典型案例包括政治性篡改
- 拒绝服务:通过DDoS耗尽服务器资源(内存/CPU/带宽),导致服务瘫痪
- 软件漏洞:涉及CVE漏洞包括代码执行、特权提升、XSS等8大类漏洞类型
IIS安全机制
- 认证机制:
- 匿名认证:开放访问
- 基本认证:用户名/密码验证
- 双证书认证:基于活动目录和IIS配置的两种证书认证
- 数字签名认证:采用数字签名技术
- Windows认证:集成NTLM身份验证
- 访问控制:
- 请求过滤:类似防火墙功能(实际项目多由专业设备实现)
- URL授权:精细化权限管理
- IP限制:基于源IP的访问控制
- 日志审计:
- 记录Web访问日志
- 关联审计包含操作系统/数据库/应用服务日志
- 实际应用中多采用专业日志审计设备进行集中分析
IIS安全增强
- 补丁管理:及时安装安全补丁(所有系统的首要增强措施)
- 动态IP限制:
- 防御DoS攻击:限制单个IP连接数
- 防暴力破解:错误尝试锁定机制(如5次错误锁定10分钟)
- URLScan:过滤危险HTTP请求
- Web应用防火墙:
- 防御SQL注入/XSS/CSRF等OWASP TOP10威胁
- 提供基于行为的入侵防护
- SSL加密:
- 解决明文传输风险
- 实现HTTPS安全通信(端口443)
Web应用漏洞分析与防护
常见的Web安全漏洞
技术安全漏洞
- 典型漏洞:SQL注入漏洞、跨站脚本(XSS)、恶意文件执行等
- 产生原因:主要由于技术处理不当而产生的安全隐患
业务逻辑安全漏洞
- 典型漏洞:用户找回密码缺陷、短信炸弹漏洞、业务凭证验证绕过等
- 密码找回缺陷:若允许输入新手机号找回密码,将绕过原注册手机号的验证机制
- 短信炸弹原理:未限制验证码获取次数时,攻击者可恶意消耗企业短信资费(如1分钟发送10万条)
- 设计要点:网站规划时需考虑业务流程的完整安全性,如验证码间隔时间和次数限制
OWASP Top 10
- 注入漏洞
- 攻击原理:构造恶意数据诱使解析器执行非预期命令(如SELECT * FROM users)
- 常见类型:SQL注入、NoSQL注入、OS注入、LDAP注入
- 考试重点:SQL注入是最常考查的注入类型
- 遭受破坏的认证
- 典型问题:
- 无认证尝试限制
- 会话令牌泄露
- 会话超时设置不当
- 口令策略缺陷
- 典型问题:
- 敏感数据暴露漏洞
- 防护措施:
- 传输/存储数据加密
- 使用哈希存储密码
- 避免明文存储用户名等敏感信息
- 防护措施:
- XML外部实体引用漏洞
- 攻击方式:通过修改实体引用(如
<!ENTITY xxe SYSTEM "file:///etc/passwd">]
)探测服务器 - 危害:可窃取内部文件、执行远程代码或实施拒绝服务攻击
- 攻击方式:通过修改实体引用(如
- 受损害的访问控制漏洞
- 典型案例:普通用户能访问管理员专属功能/数据
- 防护要点:需建立严格的权限分级机制
- 安全配置错误
- 错误类型:
- 目录列表未禁用(暴露服务器文件结构)
- 显示详细错误信息(含服务器版本等敏感数据)
- 不安全的默认配置
- 防护建议:隐藏目录结构、服务器版本和关键配置
- 错误类型:
- 跨站脚本漏洞
- 攻击原理:在网页中插入恶意脚本
- 主要危害:
- 劫持用户会话
- 破坏网站完整性
- 重定向到恶意网站
- 非安全反序列化漏洞
- 序列化概念:将内存状态信息写入文件
- 反序列化风险:执行恶意构造的文件可能引发重播攻击、注入攻击等
- 使用含有已知漏洞的组件
- 典型案例:SSL加密模块、PGP安全组件曾出现漏洞
- 防护建议:及时更新组件版本,禁用存在漏洞的模块
- 非充分的日志记录和监控
- 风险后果:
- 无法追溯攻击来源
- 攻击持续性增强
- 数据篡改/销毁风险增加
- 防护要求:建立完整的日志记录和实时监控系统
- 风险后果:
Web应用漏洞防护
SQL注入
- 输入过滤:对网站应用程序的输入变量进行安全过滤与参数验证,禁止非预期参数传递到数据库服务器。包含两种方法:建立黑名单拒绝已知恶意输入(如insert、update、delete、or、drop等);建立白名单只接收已知正常输入(如表单中仅允许数字和大小写字母)。
- 最小权限原则:SQL注入利用Web应用权限操作数据库,应最小化设置数据库和Web应用的执行权限,建立独立账号使用最小权限执行操作,避免以DBA身份连接数据库。
- 安全设备部署:部署数据库防火墙/审计系统可过滤用户敏感输入和操作。
- 错误信息屏蔽:默认错误信息会暴露ODBC类型、数据库引擎、表结构等敏感信息,应屏蔽错误信息显示到浏览器,防止攻击者推断数据库内部结构。
- 开源程序改造:对开源Web应用进行安全增强改造,避免攻击者利用已知表结构轻易实施注入攻击。
文件上传漏洞
- 目录权限控制:将上传目录设置为不可执行状态,即使黑客上传木马文件也无法触发执行,如.php文件无法在不可执行目录中运行。
- 文件安全检查:通过内容检测机制阻断恶意文件上传,当检测到文件包含木马、病毒等恶意代码时立即终止上传过程。
跨站脚本攻击
- 攻击形式:通过URL注入恶意脚本实现三种典型攻击:HTML内容替换(如将银行页面替换为钓鱼页面)、嵌入脚本内容(插入
<script>
标签)、强制加载外部脚本(引入恶意.js文件)。 - 输入验证:与SQL注入类似,严格检查用户输入内容,过滤非法字符和脚本标签。
- WAF部署:使用Web应用防火墙过滤恶意脚本内容,阻断XSS攻击链。
- 数据备份:建立定期备份机制,确保被攻击后可快速恢复原始数据。
网站安全保护机制与技术方案
网站安全保护机制
- 身份鉴别
- 访问控制
- 内容安全
- 数据安全
- 安全防护
- 安全审计与监控
- 应急响应
- 合规管理
- 安全评测
- 安全管理机制
网站构成组件安全加固
- 防火墙
- 类型:包过滤防火墙(IP层过滤)、Web应用防火墙(针对80/443端口)
- 定位:网站安全的第一道技术屏障
- 功能:限制特定IP连接、阻止Web应用攻击
- 漏洞扫描
- 网站防篡改
- 检测技术:操作系统文件调用事件监测、密码学单向函数(Hash值比对)
- 恢复机制:检测到篡改后自动用正常页面替换被破坏页面
- 实现方式:在Web服务器部署专用防篡改系统
- 网络流量清洗
- 工作原理:通过分光器复制流量→检测设备识别攻击→清洗设备过滤恶意流量→回注正常流量
- 防护对象:主要针对DDoS等拒绝服务攻击
- 部署位置:网站与互联网边界处
- 网站安全监测
- 监测内容:漏洞、挂马、ICP备案、合规性、性能、DNS、入侵行为
- 技术手段:漏洞扫描、网页爬虫、关键词匹配、日志分析、IDS/IPS