문서를 제공해주신 인터넷상의 훌륭한 분들께 감사드립니다.
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"
4.2 nginx 최적화
설명: nginx 성능 최적화 및메모리 할당 효율성 및 속도 향상 많이, 낮음 부하. libunwind 및 gperftools
4.2를 설치해야 합니다.1 libunwind 설치
tar -xf /usr/local/src / libunwind.tar.gzcd /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
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
mkidr /home/nignx_waf_log/
chmod
777 /home/nginx_waf_log/
RulePath = "/usr/local / nginx-help/conf/waf/wafconf/" # waf 규칙 저장 폴더 지정
logdir = "/home/nginx_waf_log" # waf 로그 저장 위치 지정
#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가 정상적으로 실행되는지 확인
위 내용은 관련 내용을 포함하여 nginx(nginx waf lua)의 보안 기반을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.