lua

7 8

浅谈nginx + lua在安全中的一些应用

时隔半年后,我终于又写了篇blog,知乎专栏的地址为: 浅谈nginx + lua在安全中的一些应用

浅谈nginx + lua在安全中的一些应用

概要

nginx是一个用C语言开发的高性能WEB服务器及反向代理服务器,直接使用c/c++进行二次开发,对于很多用户是有一定门槛的,且c/c++的开发效率也比不上python、js、lua等语言,python、js、lua 三者中,lua 是解析器最小,性能最高的语言,luajit比lua 又快数10倍。目前将nginx和lua 结合在一起的有春哥维护的openresty和淘宝维护的Tengine

  1. 最先将Nginx,Lua组合到一起的是OpenResty,春哥提供了一个lua-nginx-module模块,可以将Lua嵌入到了Nginx里面, 锤子T2发布会上捐赠的项目就是春哥的openresty;

  2. 随后Tengine fork了nginx的一个分支,也包含了lua-nginx-module模块

openresty与tengine的区别:

  1. OpenResty是Nginx的Bundle,与官方的最新版本是同步的

  2. Tengine则是Nginx 1.6.2版本的Fork, 阿里根据自己的业务情况对nginx进行了一些定制开发

nginx + lua 的应用场景

OpenResty通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台,在WEB应用与信息安全领域均有广泛的应用:

  1. 业务部门可以用其快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统,具体的应用场景可以参考OpenResty Con 2015,目前基于openresty的web框架有以下几种:

    1. https://github.com/leafo/lapis
    2. https://github.com/idevz/vanilla
    3. https://github.com/sumory/lor
    4. https://github.com/dualface/gbc-core(游戏后端框架)
  2. 安全从业人员经常用来写waf、安全代理(身份认证、敏感信息删除等)

本文先写一些偏渗透方面的,主要包括以下几个方面:

  1. 后门
  2. 数据监听、窃取
  3. 挂马
  4. lua代码加密及隐蔽