目录

 

摘要

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. .Net基础篇_学习笔记_第四天_关系运算符和逻辑运算符

    1.关系运算符 包含:>   <   <=  >=   ==  != 以及bool类型中的true和false. 2.逻辑运算符 与 && 或 || 非 ! 注 ...

  2. C#将数据导入到excel文件

    最近在做C#对excel的操作程序,简单的与datagridview的交互如下 using System;using System.Collections.Generic;using System.C ...

  3. 章节十六、9-Listeners监听器

    一.IInokedMethodListener 1.实现一个类来监听testcase的运行情况. package listenerspackage; import org.testng.IInvoke ...

  4. 【Java基础】关于枚举类你可能不知道的事

    目录 谈谈枚举 1. 枚举类的定义 2. 枚举类的底层实现 3. 枚举类的序列化实现 4. 用枚举实现单列 5. 枚举实例的创建过程是线程安全的 谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我 ...

  5. java中的逃逸分析

    逃逸分析 public static StringBuffer craeteStringBuffer(String s1, String s2) { StringBuffer sb = new Str ...

  6. 【linux】【Go】Centos7安装go1.13环境

    前言     Go(又称Golang)是Google开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pi ...

  7. Android [启动方式:standard singleTop singleTask singleInstance]

    栈顶Activity是当前正在显示的. 以A.B举例 1.standard 不同的Activity都存放在同一个栈中,每次创建实例都会堆放到栈顶,逐次返回直至退出. 创建实例B 创建实例A 点击返回时 ...

  8. CSS3 transform属性

    说明: transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行移动(translate).旋转(rotate).缩放(scale)或倾斜(skew) transition属 ...

  9. 死磕 java线程系列之线程模型

    问题 (1)线程类型有哪些? (2)线程模型有哪些? (3)各语言使用的是哪种线程模型? 简介 在Java中,我们平时所说的并发编程.多线程.共享资源等概念都是与线程相关的,这里所说的线程实际上应该叫 ...

  10. mybatis - 通用mapper

    title: 玩转spring-boot-mybatis date: 2019-03-11 19:36:57 type: "mybatis" categories: mybatis ...