>백엔드 개발 >PHP 튜토리얼 >nginx의 보안 기반(nginx waf lua)

nginx의 보안 기반(nginx waf lua)

WBOY
WBOY원래의
2016-07-29 09:15:231286검색

문서를 제공해주신 인터넷상의 훌륭한 분들께 감사드립니다.

nginx waf +lua 보안 모듈 구축, nginx에 웹 애플리케이션 방화벽

필수 소프트웨어:

1 .LuaJIT 다운로드 웹사이트: http://luajit.org (현재 안정 버전: 2.0.4)
2.ngx_devel_kit-0.2.19.tar
3.lua-nginx-module-0.9.5rc2. 🎜>4, master.zip
5, nginx
nginx 패키지 최적화
1, libunwind
2, gperftools

1. 설치LuaJIT

tar -zxvf LuaJIT.tar.gz

make

make install

lib 설치 후 include /usr/local/lib 및 /usr/local/include

에 직접 배치합니다. 2. ngx_devel_kit, lua-nginx-module 의 압축을 풉니다.

3. 환경 변수 설정

export LUAJIT_LIB=/usr/local/lib


export LUAJIT_INC=/usr/local/
include /luajit-2.0
import LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
4. nginx 설치(버전 1.6.1, 실패함) 1.9.4)

4.1 nginx 최적화

vim /usr/local/src/nginx-1.6.1/auto /cc/gcc

댓글: #debug


#CFLAGS="$CFLAGS -g"

설명: nginx 디버그 모듈을 닫습니다. nginx 설치 패키지 크기 줄이기

4.2 nginx 최적화

설명: nginx 성능 최적화 및

메모리 할당 효율성 및 속도 향상 많이, 낮음 부하. libunwind 및 gperftools

4.2를 설치해야 합니다.1 libunwind 설치

tar -xf /usr/local/src / libunwind.tar.gz

cd /usr/local/src/libunwind

CFLAGS=-fPIC ./configure make CFLAGS=-fPIC
make CFLAGS = -fPIC install

4.2.2 gperftools 설치

tar -xf /usr/local/src/gperftools.tar.gz

cd /usr/local/src/gperftools make && make install

mkdir /tmp/tcmalloc //파일 쓰기를 위한 tcmalloc 스레드 생성
chmod 777 /tmp/tcmalloc

echo "/usr/local/lib" >/etc/ld.so.conf.d/usr_local_lib .conf # nginx.conf의 google_perftools_profiles 구성을 적용합니다

4.2.3 nginx 설치

cd /usr/ local/src/nginx- 1.6.1/

예: 프로덕션 환경: ngx_devel_kit-0.2.19 및 lua-nginx-module-0.9.5rc2의 경로가 정확해야 합니다

--prefix=/usr/local/ nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/ usr/local/nginx_upstream_check_module-master --with -http_stub_status_module --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.9.5rc2 --with-google_perftools_module
make && make install

4.2 .4 ngx_lua_waf_master 추가

unzip -o /usr/local/src/ngx_lua_waf_master.zip

mv /usr/local/src/ngx_lua_waf_master /usr/local/nginx/conf/waf

#waf 로그를 저장할 폴더를 생성합니다. 쓰기 권한이 필요합니다

mkidr /home/nignx_waf_log/
chmod
777 /home/nginx_waf_log/

vim /usr/local/src/nginx/conf/waf/conf.lua


RulePath = "/usr/local / nginx-help/conf/waf/wafconf/" # waf 규칙 저장 폴더 지정
logdir = "/home/nginx_waf_log" # waf 로그 저장 위치 지정

vim /usr/local/nginx/conf/nginx.conf

#pid 아래에 추가, gperftools 라이브러리 지원 google_perftools_profiles /tmp/tcmalloc/tcmalloc.;
#http 아래에 추가
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict 제한 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua
access_by_lua_file / usr; /local/nginx/conf/waf/waf.lua;

그런 다음 nginx를 시작하세요
웹사이트 하위 연결 뒤에 ?id=를 추가하세요. url ../etc/passwd; 방화벽 차단 페이지가 나타나는지 확인
lsof -n | greo tcmalloc gperftools가 정상적으로 실행되는지 확인

🎜> 공식적으로 사용하려면 www.wooyun.org에서 제공하는 waf 모듈을 사용하고 필요에 따라 규칙을 수정하세요

위 내용은 관련 내용을 포함하여 nginx(nginx waf lua)의 보안 기반을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:DedeCMS 학습다음 기사:DedeCMS 학습