防御策略与安全加固

第四部分:防御策略与安全加固


4.1 漏洞防御

4.1.1 SQL注入防御(Impossible级别)

  • 核心策略

  • 参数化查询:使用预处理语句(如PreparedStatement)分离SQL逻辑与数据输入。


String sql = "SELECT * FROM users WHERE username = ? AND password = ?"; 

PreparedStatement stmt = connection.prepareStatement(sql); 

stmt.setString(1, userInput); 

stmt.setString(2, passInput); 

  • 输入白名单校验:限制输入格式(如仅允许字母数字)。

  • 最小权限原则:数据库账户仅赋予必要权限(禁用DROPFILE等高危操作)。

  • WAF规则增强

  • 配置正则表达式拦截常见Payload(如UNION SELECT' OR 1=1 --)。


4.1.2 命令执行漏洞防御(Low/High级别)

  • 输入过滤与转义

  • 禁止特殊字符(如;|&),使用白名单控制参数范围。

  • 示例(PHP安全函数):


$input = escapeshellarg($_GET['ip']); 

system("ping -c 3 " . $input); 

  • 沙盒隔离:通过容器(Docker)或低权限用户执行高危操作。

4.1.3 文件上传漏洞修复

  • 白名单校验:仅允许指定扩展名(如.jpg.png)。

  • 文件内容检测

  • 使用magic byte验证文件头(如FF D8 FF为JPEG)。

  • 示例(Python检测文件类型):


import magic 

file_type = magic.from_buffer(uploaded_file.read(), mime=True) 

if file_type not in ["image/jpeg", "image/png"]: 

raise Exception("Invalid file type!") 

  • 存储隔离:将上传文件存放到非Web目录,并通过代理访问。

4.2 系统安全

4.2.1 账户安全排查(隐藏账号、日志分析)

  • 检测隐藏账号

  • Windows


Get-WmiObject Win32_UserAccount | Select Name, SID, Disabled # 列出所有用户 

  • Linux

cat /etc/passwd | grep -v "nologin\|false" # 过滤无效用户 

  • 日志分析实战

  • 使用LogParser筛选异常登录事件:


SELECT * FROM Security WHERE EventID=4625 # 提取失败登录记录 


4.2.2 Webshell检测与清除

  • 检测方法

  • 静态扫描:使用工具D盾、河马查杀扫描可疑文件(如eval(base64_decode)。

  • 动态监控:监控Web目录文件变化(Linux工具inotifywait):


inotifywait -m /var/www/html -e create,modify 

  • 应急响应

  • 隔离服务器,保留攻击痕迹(如Webshell创建时间、攻击IP)。

  • 修复漏洞后重置服务器权限。


4.2.3 密码破解防御

  • SSH加固

  • 禁用密码登录,强制使用密钥认证:


# /etc/ssh/sshd_config 

PasswordAuthentication no 

PermitRootLogin no 

  • 限制IP访问:

AllowUsers [email protected]/24 

  • 数据库防护

  • MySQL启用失败登录锁定:


CREATE USER 'user'@'localhost' IDENTIFIED BY 'password' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1; 


防御加固流程图


漏洞识别 → 输入过滤 → 权限控制 → 日志监控 → 定期审计 → 应急响应 


4.3 补丁管理与安全基线
  • 补丁更新优先级

  • 高危漏洞(如Log4j、永恒之蓝)需24小时内修复。

  • 安全基线配置

  • Windows:禁用SMBv1、关闭高危端口(135/445)。

  • Linux


sysctl -w net.ipv4.icmp_echo_ignore_all=1 # 禁用Ping响应 

chmod 700 /etc/shadow # 限制敏感文件访问 


下期预告

第五部分将深入基础知识与协议,详解HTTP/HTTPS协议抓包分析、Cookie与Session安全机制,以及数据库联合查询注入的底层原理!

你可能感兴趣的:(网络安全,安全,网络安全)