中小型企业级 IPS 部署
《构建基于Snort+Guardian+Iptables的IPS》
2020年的第三天,依旧如往常写文章,分享最近做的项目继《中小型企业级防火墙部署》之后的另一部分《构建基于Snort+Guardian+Iptables的IPS》,后面会将整个完整项目开源分享出来,欢迎大家一起交流分享
IPS
IPS简介
IPS是英文“Intrusion Prevention System”的缩写,中文意思是“入侵防御系统”,是一种网络安全设备或应用软件,除了具有IDS的监控检测功能之外,还具有深度感知检测数据流量,对恶意报文进行丢弃,实现实时告警和阻断的入侵防御系统。
IPS功能组成
数据采集:采集和捕获流量数据 入侵检测:分析流量和日志数据,发现安全异常行为并发出警报,常见的有Snort、Suricata、Bro 结果展示:用于分析IDS警报并进行友好展示,常见的IDS警报分析工具有Snorby、Sguil、Base 安全防御:主动响应安全事件,阻断攻击者入侵行为,常用iptables
IDS
IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”,是一种网络安全设备或应用软件,可以依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,并发出安全警报。
IDS通用系统模型
(1)数据收集器(又称探测器):主要负责收集数据。探测器的输入数据流包括任何可能包含入侵行为线索的系统数据,如各种网络协议数据包、系统日志文件和系统调用记录等。探测器将这些数据收集起来,然后再发送到检测器进行处理。
(2)检测器(又称分析器或检测引擎):负责分析和检测入侵的任务,并向控制器发出警报信号。
(3)知识库:为检测器和控制器提供必需的数据信息支持。这些信息包括:用户历史活动档案或检测规则集合等。
(4)控制器:根据从检测器发来的警报信号,人工或自动地对入侵行为做出响应。
IDS分类
IDS根据两种方法进行分类:按照数据来源、按照入侵检测策略。
按照数据来源分类
基于网络的入侵检测系统(NIDS) 基于主机的入侵监测系统(HIDS) 分布式入侵检测系统(DIDS)
按照入侵检测策略分类
滥用检测 异常检测 完整性分析
环境搭建
企业拓扑
环境准备
DMZ区:CentOS7 --- IP:192.168.9.100 Gateway:192.168.9.254 防火墙:kali --- ip1:211.67.93.254;ip2:192.168.9.254;ip3:192.168.33.254; 外网主机:win2003 --- IP:211.67.93.100 Gateway:211.67.93.254 内网主机:win2003 --- IP:192.168.33.100 Gateway:192.168.33.254
IDS Snort
Snort简介
在1998年,Martin Roesch用C语言开发了开放源代码(Open Source)的入侵检测系统Snort。直至今天,Snort已发展成为一个具有多平台(Multi-Platform)、实时(Real-Time)流量分析、网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS。Snort符合通用公共许可(GPL——GNU General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用。
Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
Snort安装
安装系统Kali
Snort安装方式一般分为源码编译安装与包管理器安装两种方式。使用源码下载会比较复杂,但是文档齐全,debug方便一些;而包管理器安装非常方便,一条命令解决所有问题
apt-get install snort
Snort配置
设置规则路径
修改配置文件
/etc/snort/snort.conf
查看规则
PS:Linux默认安装之后Snort日志路径等都会默认配置好,无需麻烦配置
Snort启动
snort -i eth1 -c /etc/snort/snort.conf -A fast -l /var/log/snort
Snort测试
查看默认Snort ICMP规则
测试外网ping DMZ区域Web服务器
查看IDS日志记录
分析日志可知,Snort允许ICMP通过,并且记录了ICMP的相关数据。
Guardian
Guardian实现Snort+Iptables联动效应
Guardian下载
Guardian需要去官网下载
http://www.chaotic.org/guardian/
Guardian安装
下载之后解压
tar -zxvf guardian-1.7.tar.gz
移动guardian到snort下 && 创建名单 && 日志
→ Qftm ← :~/桌面# mv guardian-1.7 /etc/snort/ → Qftm ← :~/桌面# touch /etc/snort/guardian-1.7/guardian.ignore 创建白名单 → Qftm ← :~/桌面# touch /etc/snort/guardian-1.7/guardian.target 创建黑名单 → Qftm ← :~/桌面# touch /var/log/snort/guardian.log guardian的日志
复制block脚本
→ Qftm ← :/etc/snort/guardian-1.7# cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh → Qftm ← :/etc/snort/guardian-1.7# cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
此操作是为了满足在guardian.pl中设置的\(blockpath和\)unblockpath路径
PS:
(1)Guardian的执行文件 guardian.pl (2)Guardian封锁IP所要调用的外部程序 scripts/iptalbes_block.sh (3)Guardian解除对某一IP封锁时,所需要调用的外部程序scripts/iptalbes_unblock.sh
Guardian配置
配置guardian.conf
Interface eth1 HostGatewayByte 1 LogFile /var/log/snort/guardian.log AlertFile /var/log/snort/alert IgnoreFile /etc/snort/guardian-1.7/guardian.ignore TargetFile /etc/snort/guardian-1.7/guardian.target TimeLimit 86400
PS:
TimeLimit:在多少秒后解除对IP的封锁,86400秒也就是24小时之后解除对IP的封锁。 AlertFile:警报信息,前提是snort以alert_fast输出报警信息
配置guardian_block.sh和guardian_unblock.sh规则
编写策略文件,配置对外来入侵者进行拦截和解除的策略
Guardian启动
→ Qftm ← :/etc/snort/guardian-1.7# perl guardian.pl -c guardian.conf
IPS测试
外网攻击者对Web服务器进行攻击
IPS检测&拦截
IPS检测
IPS拦截
由上可知,外部攻击者被IPS记录拦截限制访问
- 中小型企业级防火墙部署
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- Rancher是一个开源的企业级全栈化容器部署及管理平台
- 6迁移-企业级 Hyper-v 群集部署实验方案
- 可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI
- 从零开始部署小型企业级虚拟桌面 -- Vmware Horizon View 6 For Linux VDI -- 概念简介
- 企业级搜索应用服务器Solr4.10.4部署开发详解(2)- Solr使用-创建集合表、存储、查询
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
- 企业级Docker私有仓库之Harbor部署(http)
- java项目实战,企业级电商开发部署,支付宝线上部署ssm
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- 企业级memcached部署(session共享)
- hadoop2企业级集群部署(DNS域名解析+NFS密钥共享+AWK批量复制)
- 微软企业级加解密解决方案MBAM客户端部署
- 中小型企业的云计算部署,主要有什么用?
- 部署企业级zabbix+Orabbix监控Oracle数据库
- 企业级docker仓库Harbor部署
- 企业级监控软件Zabbix搭建部署之zabbix集成应用邮件报警
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
- 7转移-企业级 Hyper-v 群集部署实验方案