煮酒听雨
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册
防止常见的几种网络攻击防护
编辑时间:2020-09-18
编辑:忘尘
阅读:295
###常见的几种网络攻击 - 跨站脚本攻击(xss) - 跨站请求伪造(crsf) - SQL注入 - 流量攻击(分布式拒绝服务,简称ddos) <hr> ###常见的防护方法 #####1、跨站脚本攻击(xss) - 输入检查 >使用htmlspecialchars 将特殊字符转换为 HTML 实体。检查用户输入的数据中是否包含一些特殊字符,如<、>、'、"等,如果发现存在特殊字符,则将这些字符过滤或者编码 - 输出检查 >使用htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符 - 尽量采用POST,而非GET提交表单 - 对于用户提交信息的中的img 等link,检查是否有重定向、不是真的图片等可疑操作 >在Web Server端进行 过滤、检测、限制等策略,接受在你所规定长度范围内、采用适当格式、所希望的字符 XSS防御的总体思路:对用户的输入(和URL参数)进行过滤,对输出进行html编码。也就是对用户提交的所有内容进行过滤,对url中的参数进行过滤,过滤掉会导致脚本执行的相关内容;然后对动态输出到页面的内容进行html编码,使脚本无法在浏览器中执行。 <br> #####2、跨站请求伪造(crsf) - 验证HTTP头中Referer来源地址 - 在请求地址中添加 token并验证 >CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie 来通过安全验证。要抵御CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。 - 在 HTTP 头中自定义属性并验证 >这种方法也是使用 token 并进行验证,和上一种方法不同的是,这里并不是把 token以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP头中自定义的属性里。通过 XMLHttpRequest这个类,可以一次性给所有该类请求加上 csrftoken 这个 HTTP头属性,并把 token 值放入其中。这样解决了上种方法在请求中加入token 的不便,同时,通过 XMLHttpRequest请求的地址不会被记录到浏览器的地址栏,也不用担心 token 会透过Referer 泄露到其他网站中去 <br> #####3、SQL注入 - 检查变量数据类型和格式 - 过滤特殊符号 >对于无法确定固定格式的变量,一定要进行特殊符号过滤或转义处理。以PHP为例,通常是采用addslashes函数,它会在指定的预定义字符前添加反斜杠转义,这些预定义的字符是:单引号(') 双 引号 (") 反斜杠 (\) NULL - 绑定变量,使用预编译语句 >绑定变量使用预编译语句是预防SQL注入的最佳方式,使用预编译的SQL语句语义不会发生改变,在SQL 语句中,变量用问号?表示 <br> #####4、分布式拒绝服务(ddos攻击) - 缩小暴露面,隔离资源和不相关的业务,降低被攻击的风险 - 配置安全组 >尽量避免将非业务必须的服务端口暴露在公网上,从而避免与业务无关的请求和访问。通过配置安全组可以有效防止系统被扫描或者意外暴露 - 使用专有网络VPC - 服务器安全加固,提升服务器自身的连接数等性能 - 对所有服务器主机进行检查,清楚访问者的来源。 - 过滤不必要的服务和端口。例如,对于WWW服务器,只开放80端口,将其他所有端口关闭,或在防火墙上设置阻止策略。 - 通过iptable之类的软件防火墙限制疑似恶意IP的TCP新建连接,限制疑似恶意IP的连接、传输速率。 - 做好业务监控和应急响应 - 选择合适的商业安全方案。阿里云既提供了免费的基础DDoS防护,也提供了商业安全方案 >对服务器上的操作系统、软件服务进行安全加固,减少可被攻击的点,增大攻击方的攻击成本 <br> ######常见的DDoS攻击包括以下几类: - 网络层攻击 - 比较典型的攻击类型是UDP反射攻击,例如NTP Flood攻击。这类攻击主要利用大流量拥塞被攻击者的网络带宽,导致被攻击者的业务无法正常响应客户访问。 - 传输层攻击 - 比较典型的攻击类型包括SYN Flood攻击、连接数攻击等。这类攻击通过占用服务器的连接池资源从而达到拒绝服务的目的。 - 会话层攻击 - 比较典型的攻击类型是SSL连接攻击。这类攻击占用服务器的SSL会话资源从而达到拒绝服务的目的。 - 应用层攻击 - 比较典型的攻击类型包括DNS flood攻击、HTTP flood攻击(即CC攻击)、游戏假人攻击等。这类攻击占用服务器的应用处理资源,极大地消耗服务器计算资源,从而达到拒绝服务的目的。
来说两句吧
提交评论
最新评论
我的标签
函数
面试
REDIS
LNMP
验证
时间
JS
LINUX
CPA
常量
MYSQL
备份
微信
文件
压缩
优化
SVN
PHP
集合
数组
HTML
收藏
NGINX
配置
日志
性能
加密
下载
FORM
WEB
样式
SQL
表单
配置,面试,REDIS
编码
ARRAY
替换
截取
密码
版本
进程
定时
测试
事务
数据
权限
安全
防火墙
索引
设计模式
安全,面试
缓存
热文排行
LNMP状态管理命令
navicat for mysql 导入xlsx,
(置顶)开发中常用功能知识点笔记
(置顶)收藏优秀分享文章集合
PHP加密解密算法(Discuz!经典代码)
PHP 获取数组第一个元素或最后一个值
Nginx配置 nginx.conf 文件中常用配
MySQL错误日志 [Warning] IP ad
Redis持久化:快照(RDB)和AOF简解
浅析SQLmap
随机文章
友情链接
官方手册
thinkphp
php扩展
Linux命令
lnmp
PHP中文网
鸟哥Linux私房
Nginx中文文档
json格式化
Redis手册
composer中文文档
CentOS下载
流程图
VPN代理
菜鸟网
奇淼教程
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册