草庐IT

常见的网络安全攻击及防御技术概述

中云时代-防御可测试-小余 2023-04-04 原文

网络安全技术涉及从物理层到业务层的各个层面,贯穿产品设计到产品上线运营的全流程。现阶段网络攻击的方式和种类也随着互联网技术的发展而不断迭代,做好网络安全防护的前提是我们要对网络攻击有充分的了解。下文将抛砖引玉对常见的网络安全攻击及防御技术进行简单介绍。

1、防拒绝服务攻击

拒绝服务攻击可以理解为攻击者以消耗被攻击者可用资源为手段,以达到网络资源和系统资源消耗殆尽为目的,从而使被攻击者无法响应正常的业务请求。拒绝服务攻击是黑客常用的攻击手段之一,一般我们把拒绝服务攻击分为网络资源类和系统资源类。

网络资源类攻击是攻击者发起大量耗费网络资源的请求,使被攻击者网络资源耗尽,致使合法用户无法正常请求。一般攻击者会控制成千上万的“肉鸡”(傀儡机,即可以被黑客远程控制的机器)在同一时间发起如批量下载等耗费网络带宽资源的请求,以达到攻击目的。

系统资源类攻击指攻击者消耗大量计算机系统资源,致使系统无足够资源响应正常的合法请求。常用攻击手段有 SYN Flood、死亡之 PING、Teardrop 泪滴攻击、Land 攻击、Finger 炸弹、Smurf 攻击和 UDP 攻击等。

对于拒绝服务攻击的防护:一是使用电信运营商 DDoS 服务,运营商具有互联网高带宽,配合流量清洗设备,可以在运营商侧抵御来自互联网的各种拒绝服务攻击;二是在互联网前置区域内部部署抗 DDoS 防火墙、黑洞等设备对恶意攻击进行流量清洗,防御 Flood 等攻击;三是优化系统层参数限制,调整可使用的最大内存,增强操作系统 TCP/IP 栈及可以生成的最大文件数等。另外,对于网站类应用,通过把静态内容部署到 CDN,也可以抵御部分 DDoS 攻击。

2、网络入侵检测系统

在互联网前置区域部署全流量入侵检测系统,可对互联网入口和出口的所有访问进行通信数据流的实时检测、分析,特别是对报文中涉及的敏感字段和网络活动中的异常情况进行检测。通过全网的实时检测、分析,能够及时发现违规行为并及时处理。网络入侵检测系统 IDS 系统可实现以下功能。

应用层攻击特诊检测

应用层攻击通常会在请求 URL、请求报文中带上攻击请求。通过应用协议分析技术可以实现应用层特诊检测,实时检测数据流中符合 IDS 攻击特诊库的攻击行为;通过匹配可以识别为应用层攻击,从而进行检测通知、主动防护。为确保能够检测到最新的攻击事件,IDS 特征库需要定期更新。

异常检测

通过对特定时间间隔内出现的超流量、超链接的数据包进行检测,实现对 DDoS、扫描等异常攻击事件的检测。

SSL 加密通信攻击检测

通过卸载 SSL 证书、解码通信数据,对加密报文进行分析、检测基于 SSL 加密通信的攻击行为,可以保护基于 SSL 加密访问的前置服务器的安全性。需要注意的是,在部署 IDS 设备时,需要考虑合适的网络位置。为分析 SSL 加密后的通信数据,入口 IDS 部署可以放置在 SSL 卸载设备之后;为追溯攻击者源 IP 地址,建议部署在 NAT 地址转换设备之前。

3、入侵防御系统

在生产前置区与核心区之间部署入侵防御系统(IPS),可作为防火墙的安全补充。防火墙可以通过 IP、端口五元组进行访问控制,但无法识别和阻隔对合法 IP 地址和端口的攻击行为。IPS 工作在第 2~7 层,深入网络数据内部,通常使用特征库匹配和异常分析等方法来识别网络攻击行为,能够及时中断、调整和隔离具有攻击性的网络行为,并产生日志报告报警信息。

4、漏洞扫描系统

漏洞扫描系统主动进行网络探测、主机探测、端口探测扫描和硬件特性及版本信息检测。通过漏洞扫描可以了解主机操作系统、网络设备版本和配置,以及安全设备、数据库、中间件和应用组件等资产的安全状态信息。通过匹配在线最新漏洞库,可检测并匹配内网环境 CVE、OWASP 等漏洞类型,并提供相应解决方案。

5、数据库审计系统

数据库审计系统主要用于监视并记录对数据库服务器的各类操作行为,通过对网络数据的分析,实时、智能地解析对数据库服务器的各种操作,并记入审计数据库中以便日后查询、分析、过滤,实现对目标数据库系统用户操作的监控和审计。

6、防篡改系统

针对 Web 应用及静态资源部署防篡改系统,可避免因应用权限配置不当、恶意程序失察、脆弱方案控制等因素带来的风险。防篡改系统一般分为管理服务、发布服务、客户端服务,可防止静态文件被发布服务以外的任何方式修改,即使被修改也能被检测和立刻恢复。防篡改系统一般作为网站、H5 页面等面向互联网应用系统的重要防护手段,可以有效阻止安全事件的发生。

7、威胁态势感知系统

在完成以上基础性防护、被动式响应安全体系建设后,需要建立完整的信息安全防护体系,需要化被动为主动,建立以大数据平台为基础的态势感知系统,从全局视角对安全威胁进行发现识别、理解分析和响应处理,做到安全风险预测。

有关常见的网络安全攻击及防御技术概述的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  4. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  5. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  6. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  7. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  8. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  9. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  10. ruby - 将对象设置为 nil 是否很常见? - 2

    我正在构建一个应用程序,想知道是否将未使用的对象设置为nil是生产级编码中的常见做法。我知道这只是垃圾收集器的提示,并不总是处理对象。 最佳答案 根据这个thread如果您使用完一个成员对象,将其设置为nil将引发被引用对象被垃圾回收。如果它是局部变量,方法exit将做同样的事情。也就是说,如果您要求将成员显式设置为nil,我会质疑您的设计。 关于ruby-将对象设置为nil是否很常见?,我们在StackOverflow上找到一个类似的问题: https://

随机推荐