Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18490|Отговор: 1

[Уеб] Инсталационна защитна стена на CentOS nginx ngx_lua_waf

[Копирай линк]
Публикувано в 27.04.2018 г. 13:29:43 ч. | | | |
Модул nginx lua Taobao разработи външен модул на nginx, който може да вгради езика Lua в конфигурацията на NGINX, така че използването на Lua значително увеличава възможностите на NGINX. NGINX е известен с високата си паралелност, Lua скриптите са леки, а комбинацията от двете е перфектна.

GitHub адрес: https://github.com/loveshell/ngx_lua_waf

###用途:

  • Предотвратете уеб атаки като SQL инжекция, локално включване, частично препълване, fuzzing testing, xss, SSRF и др
  • Предотвратете изтичане на файлове като SVN/архивиране
  • Предотвратете атаки от инструменти за стрес тестване като ApacheBench
  • Блокирайте често срещани инструменти за хакване на сканиране, скенери
  • Блокиране на необичайни мрежови заявки
  • Блокирайте разрешението за изпълнение на PHP в директорията с прикачени файлове на изображението
  • Предотвратете качването в webshell


Системна версия, команда lsb_release -a

LSB версия: :core-4.1-amd64:core-4.1-noarch
Идентификатор на дистрибутор: CentOS
Description:        CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:        Core

LuaJIT версия

LuaJIT-2.0.5 е най-новата стабилна версия

Версия на nginx (няма да успее да се инсталира, повече за това по-късно)

Версия NGINX 1.4.4

Първо, създайте инсталационната директория /alidata/server/lj2 със следната команда:

Инсталиране на Lua средата



--Проверете дали инсталацията е успешна

--Създайте меки връзки

Оригинален ред:



Тъй като имаме инсталиран lua под /alidata/server/lj2, изпълнете следната команда,Не изпълнявайте горната команда, изпълнете следващата команда



Ако не създадете символична връзка, може да възникне следното изключение: грешка при зареждане на споделени библиотеки: libluajit-5.1.so.2: не може да се отвори споделен обектен файл: Няма такъв файл или директория

Изтеглете ngx_devel_kit и го разархивирайте

Начална страница на проекта: https://github.com/simplresty/ngx_devel_kit


Изтеглете ngx_lua и го разархивирайте


Рекомпилиране и инсталиране на nginx

Първо направи резервно копие на предишния ngxin файл

Инсталирал съм nginx преди, изпълнявайки командата nginx -V по следния начин:

Версия на nginx: nginx/1.4.4
построено от GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
Активирана поддръжка на TLS SNI
конфигуриране на аргументи: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ модул

Два каталога на модули
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19


Изтеглете и изпълни в директорията nginx

--добави променлива на средата, за да каже на nginx къде да намери luajit



Ако не го добавите, nginx ще докладва следната грешка при компилиране:

./configure: грешка: ngx_http_lua_module изисква библиотеката на Lua. Ако се докладва грешка, моля, изпълнете горните две изречения!


компилирам
Грешка: #error е необходим поне nginx 1.6.0, но намерих по-стара версия


Версията на nginx е твърде ниска, минималното изискване е 1.6.0, затова ъпгрейднете версията на nginx,При ъпгрейд на nginx версията можете всъщност да инсталирате lua-nginx-модула и ngx_devel_kit модула в новата версия, което няма да бъде подробно описано тук, просто изпълни следната команда с новата версия,

[Реален бой] Nginx 1.4.4 ъпгрейднат до 1.14.0
http://www.itsvse.com/thread-4714-1-1.html
(Източник: Architect_Programmer)

Изтеглете ngx_lua_waf и го разархивирайте



Модифицирайте конфигурационния файл на nginx, за да промените пътя според реалната ситуация

Добавете го в http секцията на nginx.conf


Веднъж добавен,Рестартирах nginx и получих грешка 500Накрая беше установено, че причината е, че config.lua файлът трябва да бъде модифициран на две места:

RulePath и logdir, които да модифицирате според вашата ситуация!

Тест

https://www.itsvse.com/forum.php?id=../etc/passwd








Предишен:[Реален бой] Nginx 1.4.4 ъпгрейднат до 1.14.0
Следващ:Водете запис за това какво може да се плати с кредитна карта
Публикувано в 6.05.2018 г. 14:18:47 ч. |
Всичко е наред, погледни
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com