이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 18490|회답: 1

[웹] CentOS nginx 설치 방화벽 ngx_lua_waf

[링크 복사]
게시됨 2018. 4. 27. 오후 1:29:43 | | | |
nginx Lua 모듈 Taobao는 nginx 서드파티 모듈인 nginx를 개발했으며, 이 모듈은 nginx 구성에 lua 언어를 삽입할 수 있어 Lua 사용이 nginx의 능력을 크게 향상시킵니다. nginx는 높은 동시성으로 유명하며, Lua 스크립트는 가볍고, 두 가지의 조합이 완벽합니다.

GitHub 주소: https://github.com/loveshell/ngx_lua_waf

###用途:

  • SQL 인젝션, 로컬 포함, 부분 오버플로우, 퍼징 테스트, xss, SSRF 등과 같은 웹 공격을 방지합니다
  • SVN/백업과 같은 파일 유출을 방지하세요
  • ApacheBench와 같은 스트레스 테스트 도구의 공격을 방지하세요
  • 일반적인 스캔 해킹 도구, 스캐너를 차단하세요
  • 비정상적인 네트워크 요청을 차단합니다
  • 이미지 첨부 디렉터리의 PHP 실행 권한을 차단하세요
  • 웹셸 업로드를 방지하세요


시스템 버전, 명령어 lsb_release -a

LSB 버전: :core-4.1-amd64:core-4.1-noarch
유통사 ID: 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 환경 설치



--설치가 성공했는지 확인해

--소프트 링크 생성

원래 주문:



/alidata/server/lj2 아래에 lua가 설치되어 있으니, 다음 명령을 실행하세요.위 명령을 실행하지 말고, 다음 명령을 실행하세요



심볼링크를 생성하지 않으면 다음과 같은 예외가 발생할 수 있습니다: 공유 라이브러리 로드 중 오류: 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 --with-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의 위치를 알려주는 환경 변수 추가(add environment variable)



추가하지 않으면 nginx가 컴파일 시 다음과 같은 오류를 보고합니다:

./configure: error: ngx_http_lua_module Lua 라이브러리가 필요합니다. 오류가 보고되면 위 두 문장을 실행해 주세요!


엮다
오류: #error 최소 nginx 1.6.0이 필요하지만 이전 버전을 찾았습니다


nginx 버전은 너무 낮고, 최소 요구 사양은 1.6.0이니 nginx 버전을 업그레이드하세요,nginx 버전을 업그레이드할 때는 실제로 lua-nginx-module과 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 구성 파일을 수정하여 실제 상황에 맞게 경로를 변경하세요

nginx.conf의 http 섹션에 추가하세요


일단 추가되면,nginx를 재시작했더니 500 오류가 떴어요마지막으로, 그 이유가 config.lua 파일이 두 곳에서 수정되어야 했기 때문임이 밝혀졌습니다:

RulePath와 logdir를 활용해 자신의 상황에 맞게 수정하세요!

테스트

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








이전의:[실제 전투] Nginx 1.4.4 버전 1.14.0으로 업그레이드됨
다음:신용카드로 지불할 수 있는 금액을 기록하세요
게시됨 2018. 5. 6. 오후 2:18:47 |
괜찮아, 한번 봐
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com