服务器承担着业务运行及数据存储的重要作用,因此极易成为攻击者的首要目标。如何对业务服务器的安全进行防护,及时找出针对系统的攻击,并阻断攻击,最大程度地降低主机系统安全的风险程度,是企业安全从业人员面临的一个问题。

悬镜安全实验室是北京安普诺旗下强大而又专业的安全团队,实验室核心成员来自北京大学信息安全实验室,具有多年的漏洞挖掘、安全攻防、机器学习等核心技能。

用过主机层WAF的朋友对ngxluawaf应该都不陌生,做过SSH防暴力破解的同学应该对fail2ban也有耳闻。

常见的开源主机WAF有 modsecurity、naxsi、ngxluawaf 这三个,ngxlua_waf 性能高和易用性较强,基本上零配置,只需要维护规则,常见的攻击类型就都能防御,相对来说是比较省心的选择。

同时,基于lua脚本编写模块也很快捷,甚至可以实现一些复杂的业务层逻辑安全控制。当然,选择春哥的openresty也可以,如果选择openresty就不需要再单独安装lua相关的组件了。

这里我们简单介绍一下安装过程,用nginx或者tengine都可以,需要安装LuaJIT,操作系统需要安装zlib,zlib-devel,openssl,openssl-devel,pcre,pcre-devel。LuaJIT安装成功后,如下图所示。

Tengine编译参数如下:

--prefix=/usr/local/nginx --with-http_lua_module --with-luajit-lib=/usr/local/luajit/lib/ --with-luajit-inc=/usr/local/luajit/include/luajit-2.0/ --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib

下载ngxluawaf,下载地址为https://github.com/loveshell/ngxluawaf,解压后放在/usr/local/nginx/conf目录下,可重命名为指定名称如waf,修改ngxluawaf配置文件config.lua,路径根据实际安装情况定。

RulePath = "/usr/local/nginx/conf/waf/wafconf/"attacklog = "on"logdir = "/usr/local/nginx/logs/waf"

需要注意logdir指向的目录不存在,需要手工创建,创建后需要修改所属权限,否则防护日志无权限写入。

nginx主配置文件nginx.conf的http段中添加如下内容。

lua_package_path "/usr/local/nginx/conf/waf/?.lua";lua_shared_dict limit 10m;init_by_lua_file  /usr/local/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

<p "="">检查nginx配置/usr/local/nginx/sbin/nginx –t,如果没问题重启nginx既可生效。

Fail2ban安装我们就不做过多介绍了,安装配置都比较简单,不过fail2ban的经典用法基本都是用来做SSH防暴力破解的,那么fail2ban到底和ngxluawaf有什么关系呢?

其实,看一下fail2ban的原理,通过正则匹配SSH日志中的关键字,根据达到定义的触发规则次数,调用iptables将攻击IP ban掉一定的时间。

相信大家也都想到了,既然能通过匹配SSH日志,web日志肯定也是能匹配到的,只不过是要定义相关匹配规则而已,fail2ban本身也支持apache和vsftp。

针对其他的应用系统也一样,分析场景,编写好规则就可以了。

说了这么多,这里才是我们的重点,我们【悬镜安全】目的是主动诱捕具有针对性的攻击行为,主动诱捕是相对于传统蜜罐,传统蜜罐是被动的诱使攻击者访问,再对其行为进行记录。

主动诱捕是指将具有针对性的攻击行为主动转向蜜罐网络,对攻击者几乎是透明的,不知不觉就进入到了我们的蜜罐网络中。

为什么要采用主动诱捕的方式来进行防御呢,大家可能都有这个体会,我们的应用系统每天都会受到很多攻击,但99%可能都是盲目的扫描探测,只有不到1%可能才是具有针对性的攻击,而我们真正关心的其实就是这1%的针对性攻击,1%的有效数据被99%的垃圾数据覆盖,对分析造成了很大的干扰。

要让主动诱捕真正发挥作用,我们首先要梳理好业务场景,梳理出哪些场景下的攻击是真正具有威胁性的,根据实际情况编写好规则,当攻击行为触发规则,筛选出攻击IP并调用iptables转发到蜜罐网络中。

根据不同需求,蜜罐网络中可以KILLCHAIN进行跟踪和分析,也可以根据业务进行攻击行为分析,进而调整整体安全策略,达到有效防御。

当然,蜜罐网络要做好隔离,否则会造成很大的安全隐患,技术也是一把双刃剑,iptables可以将攻击IP流量转发到蜜罐网络,相信大家也想到了利用iptables实现端口复用,绕过一些端口访问控制。

因此,要想做到更好的防御,就要比攻击者更了解自己的系统。

转载于:https://www.cnblogs.com/h2zZhou/p/7277911.html

旧瓶新酒之ngx_lua fail2ban实现主动诱捕相关推荐

  1. 企业安全丨旧瓶新酒之ngx_lua fail2ban实现主动诱捕

    悬镜-一站式"云+端"服务器防黑加固践行者 服务器承担着业务运行及数据存储的重要作用,因此极易成为攻击者的首要目标.如何对业务服务器的安全进行防护,及时找出针对系统的攻击,并阻断攻 ...

  2. 通过蜜罐技术获取攻击者手机号、微信号【网络安全】

    相关声明: 以下内容仅限用于红蓝攻防对抗等专业领域,请勿用于非法用途. 首先,我们先讲一下蜜罐的概念,你可以简单理解较为蜜罐就是一个陷阱,故意暴露一些我们人为设计好的漏洞,让攻击者自投罗网. 一.蜜罐 ...

  3. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  4. 用lua扩展你的Nginx(整理)

    首先得声明.这不是我的原创,是在网上搜索到的一篇文章,原著是谁也搞不清楚了.按风格应该是属于章亦春的文章. 整理花了不少时间,所以就暂写成原创吧. 一. 概述 Nginx是一个高性能.支持高并发的,轻 ...

  5. 2020HW必备-蜜罐如何在攻防演练中战术部防

    原创作者:长亭科技,已获授权. 文末记得获取<红蓝对抗--蓝队手册>,或许对你目前的HW工作有参考价值. 网络攻防演练活动以模拟真实攻击为重要标准,对参与演练单位的各类系统进行渗透,通过设 ...

  6. 攻防演练实战派|专题合集之攻防演练全流程

    攻防演练实战派-不要"演"就是"干"专题已经连续更新五期了,如果您也跟随我们的时间安排进行了备战准备,相信您也已经可以"安心待战"了吧! 我 ...

  7. 常见的网络安全设备及功能汇总

    态势感知与安全运营平台 态势感知与安全运营平台以大数据平台为基础,通过收集多元. 异构的海量日志,利用关联分析.机器学习.威胁情报等技术,帮助 企业持续监测网络安全态势,实现从被动防御向积极防御的进阶 ...

  8. 攻防演练中常见的8种攻击方式及应对指南

    俗话说:"讲百遍不如打一遍",网络安全实战攻防演练被视为检验组织机构安全防护和应急响应能力,提高综合防控水平最有效的手段之一.那么,对蓝队来说,如何在攻防实战进行有效防护应对呢? ...

  9. 从蜜罐发展看攻击欺骗应用趋势(好文章)

    所谓创造,往往只是将已存在的东西加以变化.你如不知道,鞋子分左右脚出售,只是百多年前才开始的. --西尔维娅·普拉斯 蜜罐用于攻击感知早已不是什么新兴的技术,相信上到安全大牛下到运维萌新都对其如雷贯耳 ...

最新文章

  1. react-webpack-express
  2. HP小型机的信息的命令集(一)
  3. OSPF路由聚合实验(详细)
  4. 当装了两个tomcat后,如何修改tomcat端口
  5. netflow流量分析工具 linux,Centos5/Linux安装Nfdump和Nfsen图形界面分析netflow数据
  6. 数组——询问学号(洛谷 P3156)
  7. Spark Streaming自定义接收器
  8. linux先cd到mysql的运行路径下,Linux常用的服务器运维命令
  9. Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法
  10. 推荐系统-Task01熟悉新闻推荐系统基本流程
  11. openg es 之一
  12. Spark SQL Catalyst源代码分析之Analyzer
  13. 最详细的双目摄像头测距离(深度)的原理
  14. python-封装继承多态
  15. Java设计模式——依赖倒转原则
  16. 华为机试真题 C++ 实现【叠积木】
  17. ASP内置对象及其作用
  18. Tracert 命令的原理与作用
  19. 1549: 蔡老板发工资
  20. c++ vs2015 播放音乐_Steinberg UR-C 细节全知道!第三期:驱动

热门文章

  1. 微信小程序之图片上传 demo
  2. YDOOK:ESP8266: 乐鑫官方AT固件下载
  3. 天下谁人不识君的上一句是什么,天下谁人不识君的意思?全诗赏析
  4. C语言编程练习 2.编写人得票统计程序。设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入)。
  5. 知名公司薪水(转帖)
  6. Tomcat启动startup.bat闪退普遍解决方案
  7. PreScan快速入门到精通第二十六讲PreScan中常用传感器之Beacon和OBU
  8. summernote支持视频上传功能,综合几个版本亲测可用
  9. ICLR2022《COSFORMER : RETHINKING SOFTMAX IN ATTENTION》
  10. Easy EDA #学习笔记02# |Arduino UNO 单片机最小系统PCB原理图 (ATMEGA328P单片机 AMS1117芯片5V转3.3V )