目录

 

摘要

0x00 基于网络的IDS和IPS
0x01 设计考虑因素
0X02 IDS/IPS

总结

 

 

 

 

 

摘要

摘要

这篇文章主要介绍的是入侵检测系统(IDS)和入侵防御系统(IPS),而这两者均是保护我们网络安全的重要机制。在过去的几年里,网络攻击所带来的安全威胁严重程度已经上升了很多倍,几乎每个月都会发生数起严重的数据泄露事件。基于网络的IDS/IPS并不是一种新出现的技术,但是考虑到网络攻击技术的最新发展趋势,IDS和IPS的实现方式仍然是我们需要理解和考虑的内容。

因此,在这篇文章中,我们将从高层设计角度出发,跟大家讨论一下如何在不同的IT环境中更加有效地部署IDS和IPS。本文包含以下几个话题内容:

1. 什么是基于网络的IDS和IPS

2. 什么是基于主机的IDS和IPS

3. 企业环境下的IDS/IPS设计

4. 基于设备的IDS/IPS

5. 基于路由器的IDS/IPS

6. 基于防火墙的IDS/IPS

7. 基于云环境下的IDS/IPS实现

8. 针对智能物联网设备的IDS/IPS设计

9. 使用机器学习算法实现入侵检测

 

0x00 什么是基于网络的IDS和IPS?

入侵检测系统(IDS)是一种通过实时监控网络流量来定位和识别恶意流量的软件。在网络系统中,IDS所处的位置是一个非常关键的设计因素,IDS一般会部署在防火墙之后,但我们还应该在充分了解网络数据刘和整体网络架构之后再去考虑IDS的部署位置。除此之外,为了进一步提升网络的整体安全性,我们还建议可以部署多个IDS。常用的入侵检测方法如下:

a. 使用签名:厂商可以提供2000多种签名,IDS可以使用这些签名对网络流量进行模式匹配。当一个新的数据包进入我们的网络之后,它可以根据数据库中的签名数据来分析其相似度,如果检测到了匹配发生,则会发出警报。

b. 搜索异常:即为用户的使用操作设定一条基准线。比如说,如果三十个人同时打开了一个连接(考虑连接数x5),那么如果一个非正常的请求同时建立了30×5=150条连接,则会发出警报。

c. 协议异常:即检测基于协议的异常信息。例如系统所使用的协议为HTTP,但系统检测到了某些请求使用了其他协议或者未知命令时,系统则会认为其违反了常规协议,接下来便会发出警报。

当攻击发生时,入侵检测系统只能发出警报,它并不能防止攻击的发生。而入侵防御系统(IPS)却能有效地组织攻击行为的发生,因为所有的网络流量在达到目标服务器之前,都需要流经IPS。所以在没有得到允许的情况下,恶意软件是无法触及服务器的。

企业环境下的IDS设计架构如下图所示:

 

0x01 设计考虑因素

 

a. IDS一般部署在防火墙之后。

b. 在上面的设计图中,Location 1部署的IDS用于保护Web服务器。

c. Location 2部署的IDS用于保护余下的网络组件免受恶意软件的危害。

d. 这是一个基于网络的IDS,而并非基于主机的IDS,因此它无法检测到网络中两台主机之间所生成的恶意软件。

企业环境下的IPS设计架构如下图所示:

 

0X02 IDS/IPS

基于主机的IDS/IPS

基于主机的IDS只能够监控一个系统,它运行在你需要保护的主机之中,它能够读取主机的日志并寻找异常。但需要注意的是,当攻击发生之后,基于主机的IDS才能够检测到异常。基于网络的IPS能够检测到网段中的数据包,如果基于网络的IPS设计得当的话,它也许能够代替基于主机的IPS。基于主机的IDS其另一个缺点就是,网络中的每一台主机都需要部署一个基于主机的IDS系统。你可以设想一下,如果你的环境中有5000台主机,这样一来你的部署成本就会非常高了。

基于设备的IDS/IPS

你可以在一台物理服务器或虚拟服务器中安装IDS,但你需要开启两个接口来处理流入和流出的网络流量。除此之外,你还可以在Ubuntu服务器(虚拟机)上安装类似Snort的IDS软件。

基于路由器的IDS/IPS

在一个网络中,几乎所有的流量都要经过路由器。路由器作为一个网络系统的网关,它是系统内主机与外部网络交互的桥梁。因此在网络安全设计架构中,路由器也是IDS和IPS系统可以考虑部署的地方。目前有很多可以整合进路由器的第三方软件,而它们可以构成网络系统抵御外部威胁的最前线。

基于防火墙的IDS/IPS

防火墙与IDS之间的区别在于,防火墙看起来可以防止外部威胁进入我们的网络,但它并不能监控网络内部所发生的攻击行为。很多厂商会在防火墙中整合IPS和IDS,这样就可以给防火墙又添加了一层保护功能。

基于云环境下的IDS/IPS实现

对于那些将自己的文件和应用托管在云端的用户来说,云服务提供商是否部署了IDS也许会成为客户考虑的其中一个因素。除此之外,用户还可以部署Snort IDS(社区版)来监控和感知威胁。

云环境下的IDS架构如下图所示:

针对智能物联网设备的IDS/IPS设计

随着越来越多的用户开始使用物联网设备或智能家居设备,因此我们还要考虑如何防止IOT设备遭受外部恶意软件的攻击。由于考虑到设备功能和容量大小会不同,因此我们也许要根据设备的性能来设计自定义的IDS。

智能家居环境下的ISD/IPS部署架构如下图所示:

使用机器学习算法实现入侵检测

现在有很多机器学习算法能够检测异常并生成警告。机器学习算法可以对恶意行为的模式进行学习,即使恶意行为发生改变,它也能够迅速生成警报。

将机器学习方法应用到IDS/IPS:

总结

在设计网络安全架构的过程中,我们需要考虑的关键因素就是将IDS/IPS部署在何处。根据网络以及客户环境的不同,我们可以选择的设计方法有很多种。随着物联网设备和智能家居设备的兴起,IDS和IPS系统的重要性也不言而喻。值得一提的是,我们现在遇到的绝大多数的网络攻击之所以能够成功,正是因为这些系统并没有正确部署入侵检测系统。

什么是IDS/IPS?的更多相关文章

  1. IDS IPS WAF之安全剖析

    现在市场上的主流网络安全产品可以分为以下几个大类: 1.基础防火墙类,主要是可实现基本包过滤策略的防火墙,这类是有硬件处理.软件处理等,其主要功能实现是限制对IP:port的访问.基本上的实现都是默认 ...

  2. FW/IDS/IPS/WAF等安全设备部署方式及优缺点

    现在市场上的主流网络安全产品可以分为以下几个大类:1.基础防火墙FW/NGFW类 主要是可实现基本包过滤策略的防火墙,这类是有硬件处理.软件处理等,其主要功能实现是限制对IP:port的访问.基本上的 ...

  3. 从零开始学安全(二十七)●利用Nmap对防火墙,IDS,IPS 进行欺骗

    先介绍什么是防火墙 ids 并联  ips 串联 来看我们nmap 命令

  4. IDS,IPS,IPD

    什么是IDP - 百度文库https://wenku.baidu.com/view/c500cf35eefdc8d376ee3220.html

  5. IDS 日志分析

    [http://blog.csdn.net/cnbird2008/article/details/5792626] General Approach通用方法1. Identify which log ...

  6. 构建基于Suricata+Splunk的IDS入侵检测系统

    一.什么是IDS和IPS? IDS(Intrusion Detection Systems):入侵检测系统,是一种网络安全设备或应用软件,可以依照一定的安全策略,对网络.系统的运行状况进行监视,尽可能 ...

  7. pfSense QoS IDS

    pfSense QoS IDS 来源 https://blanboom.org/2018/pfsense-setup/ 之前我使用的无线路由器是 RT1900ac,其内置了 QoS 和 IDS/IPS ...

  8. Snort Inline IPS Mode

    Snort Inline IPS Mode https://forum.netgate.com/topic/143812/snort-package-4-0-inline-ips-mode-intro ...

  9. sqlmap用户手册 | WooYun知识库

    sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息. 原文:http://drops.wooyun.org/tips/143  ============ ...

随机推荐

  1. Winforn中怎样在窗体中打开另一个窗体

    场景 在Winform的窗体A中打开另一个窗体B. 实现 //打开新的窗体 CurveCompare cc = new CurveCompare(); cc.Show(); 效果 以上代码的实现参照: ...

  2. Hessian 接口使用示例总结(转载)

    一.使用hessian接口准备 首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar; Hessian接口的使用一般是在两 ...

  3. Linux 笔记 - 第十二章 Shell 脚本

    博客地址:http://www.moonxy.com 一.前言 常见的编程语言分为两类:一类是编译型语言,如:C.C++ 和 Java等,它们远行前要经过编译器的编译.另一类是解释型语言,不需要编译, ...

  4. 31 (OC)* 内存管理

    31 (OC)  内存管理 一:内存管理黄金法则. 如果对一个对象使用了alloc.[Mutable]copy,retain,那么你必须使用相应的realease或者autorelease 二:内存管 ...

  5. ES6中的迭代器、Generator函数以及Generator函数的异步操作

    最近在写RN相关的东西,其中涉及到了redux-saga ,saga的实现原理就是ES6中的Generator函数,而Generator函数又和迭代器有着密不可分的关系.所以本篇博客先学习总结了ite ...

  6. JavaScript之操作符

    计算机被发明的初衷仅仅是为了快速实现一些数学计算,然而经过多年发展,计算机已经不单单能实现快速计算这么简单的工作了,现代计算机不仅能够进行数值的计算,还能进行逻辑计算,还具备存储记忆功能,是能够按照程 ...

  7. php将图片存储在阿里云oss存储上

    创建两个方法 1.上传方法 use OSS\OssClient; use think\Config; use OSS\Core\OssException; /** * 存储文件 * * @param ...

  8. vscode中如何自动保存

    是的,vscode是个不错的编辑器,它的扩展功能能支持很多的语言,然后在实践过程中,我们发现每写好一次就得手动按CTRL+S,未免有点手酸,这时候我们就可以开启我们的自动保存功能,方式也很简单,在 文 ...

  9. Elastic Static初识(01)

    写在前面 Elastic Static 是指由Elasticsearch,Logstash,Kibana,Beats等组件结合起来而构成的一个数据收集,分析,可视化的一个架构.我们经常听说过的ELK就 ...

  10. 10.Django基础八之cookie和session

    一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器 ...