当前位置: 首页 > backend >正文

防御策略与安全加固

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


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 user@192.168.1.0/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安全机制,以及数据库联合查询注入的底层原理!

http://www.xdnf.cn/news/7584.html

相关文章:

  • 电子科技大学软件工程实践期末
  • OK536N-C测评:开箱体验以及在Linux下如何管理开发板
  • MacBook Air A2179(Intel版)安装macOS Catalina所需时间
  • 谷歌云服务器稳不稳?
  • femap许可与云计算集成
  • 人工智能如何做主题班会PPT?
  • LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II
  • 【华为OD- B卷 - 书籍叠放 200分(python、java、c、c++、js)】
  • (05)数字化转型之生产制造:从通常的离散制造到柔性化生产的全景指南
  • 使用 OpenCV 实现万花筒效果
  • python实战项目70:如何给一个空的DataFrame添加行
  • Centos上搭建 OpenResty
  • python 提交命令 到远程windows中
  • Conda环境管理:确保Python项目精准复现
  • 十四、面向对象底层逻辑-BeanFactoryPostProcessor接口设计
  • std::vector<>.emplace_back
  • 演示:【WPF-WinCC3D】 3D工业组态监控平台源代码
  • 02 基本介绍及Pod基础排错
  • 企业网站架构部署与优化-Nginx网站服务
  • Flink并行数据源:ClickSource实现详解
  • 【C++】vector:容器的别样风采
  • 基于Spring Boot与jQuery的用户管理系统开发实践✨
  • 基于NLP技术的客户投诉与需求文本分类方法研究
  • Java中的集合详解
  • 如何进行燃气泄漏检测?
  • 针对 CSDN高质量博文发布 的详细指南
  • Javascript 编程基础(2)基础知识 | 2.2、变量
  • Day31
  • 阿里云服务器Ubuntu的git clone失败问题解决方案
  • C++中的宏