Módulo Lua nginx A Taobao desenvolveu o módulo de terceiros nginx, que pode incorporar a linguagem lua à configuração nginx, de modo que o uso do lua melhora muito a capacidade do nginx. o nginx é conhecido por sua alta concorrência, os scripts lua são leves e a combinação dos dois é perfeita.
Endereço do GitHub: https://github.com/loveshell/ngx_lua_waf
###用途:
- Prevenir ataques web como injeção SQL, inclusão local, transbordamento parcial, testes de fuzzing, xss, SSRF, etc
- Prevenir vazamento de arquivos, como SVN/backup
- Prevenir ataques de ferramentas de testes de estresse como o ApacheBench
- Bloqueie ferramentas comuns de varredura e scanners
- Bloquear solicitações de rede incomuns
- Bloqueie a permissão de execução PHP do diretório anexo de imagens
- Prevenir uploads de webshell
Versão do sistema, comando lsb_release -a
Versão LSB: :core-4.1-amd64:core-4.1-noarch ID do distribuidor: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
Versão LuaJIT
LuaJIT-2.0.5 é a versão estável mais recente
Versão nginx (não vai ser instalado, falarei mais sobre isso depois)
Versão NGINX 1.4.4
Primeiro, crie o diretório de instalação /alidata/server/lj2 com o seguinte comando:
Instalar o ambiente Lua
--Verifique se a instalação foi bem-sucedida
--Criar links suaves
Ordem original:
Como temos o lua instalado em /alidata/server/lj2, execute o seguinte comando,Não execute o comando acima, execute o seguinte comando:
Se você não criar um link simbólico, pode ocorrer a seguinte exceção: erro ao carregar bibliotecas compartilhadas: libluajit-5.1.so.2: não é possível abrir arquivo de objeto compartilhado: Não existe tal arquivo ou diretório
Baixe ngx_devel_kit e descompacte
Página inicial do projeto: https://github.com/simplresty/ngx_devel_kit
Baixe ngx_lua e descompacte
Recompilar e instalar nginx
Faça backup do arquivo ngxin anterior primeiro
Já instalei nginx antes, executando o comando nginx -V da seguinte forma:
Versão NGINX: NGINX/1.4.4 Construído pela GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) Suporte a SNI TLS habilitado configure argumentos: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Módulo Dois catálogos de módulos
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19
Baixe e execute no diretório nginx
--adicionar variável de ambiente para dizer a nginx onde encontrar o luajit
Se você não adicionar, o nginx reportará o seguinte erro ao compilar:
./configure: erro: ngx_http_lua_module requer a biblioteca Lua. Se um erro for reportado, por favor, execute as duas frases acima!
compilar
Erro: #error pelo menos o nginx 1.6.0 é necessário, mas encontrei uma versão mais antiga
A versão do nginx é muito baixa, o requisito mínimo é a 1.6.0, então atualize a versão do nginx,Ao atualizar a versão nginx, você pode realmente instalar o módulo lua-nginx e ngx_devel_kit módulo na nova versão, o que não será detalhado aqui, basta executar o seguinte comando com a nova versão,
Baixe ngx_lua_waf e descompacte
Modificar o arquivo de configuração nginx para alterar o caminho de acordo com a situação real
Adicione na seção http do nginx.conf
Uma vez adicionado,Reiniciei o nginx e tive um erro 500Finalmente, descobriu-se que o motivo era que o arquivo config.lua deveria ser modificado em dois lugares:
RulePath e logdir para modificar conforme sua situação!
Teste
https://www.itsvse.com/forum.php?id=../etc/passwd
|