OpenLiteSpeed NinjaFirewall Full WAF 오류 해결 방법 (설정 핵심)

NinjaFirewall을 사용하다 보면 워드프레스를 운영하는 중에 이상한 구간을 한 번쯤 겪게 됩니다. 방문자가 많지 않은데도 CPU 사용량이 올라가고, 관리자 페이지가 느려지거나 간헐적으로 멈추는 느낌이 드는 상황입니다.

이럴 때 로그를 확인해 보면 공통적으로 보이는 패턴이 있습니다. 존재하지 않는 파일을 반복해서 요청하거나, wp-admin 경로를 계속 두드리는 접속이 쌓여 있는 경우입니다. 일반적인 사용자 행동과는 확실히 다른 흐름입니다.

이 상태에서는 캐시 설정을 바꾸거나 플러그인을 줄이는 방식으로는 해결이 잘 되지 않습니다. 이유는 단순합니다. 문제의 원인이 내부 설정이 아니라 외부에서 들어오는 요청이기 때문입니다.

그래서 이런 상황을 겪으면 NinjaFirewall을 설치하게 됩니다. 그런데 여기서 또 한 번 막히는 부분이 있습니다. 바로 Full WAF 모드 설정입니다.

왜 Full WAF 모드에서 막히는가

NinjaFirewall Full WAF
NinjaFirewall Full WAF

기본 WordPress 모드는 내부에서 동작합니다. 요청이 워드프레스까지 들어온 뒤에 필터링이 이루어지는 방식입니다. 그래서 차단은 되지만 그 전에 PHP가 실행되고, 이 과정이 반복되면 서버는 계속 부담을 받게 됩니다.

반면 Full WAF는 흐름이 다릅니다. 요청이 들어오는 순간 먼저 검사하고, 문제가 있는 요청은 워드프레스까지 도달하기 전에 차단됩니다. 차이를 간단히 정리하면 이렇습니다.

  • WordPress 모드 → 들어온 뒤 차단
  • Full WAF 모드 → 들어오기 전에 차단

이 차이 때문에 서버 안정성에서 큰 차이가 발생합니다. 그래서 Full WAF를 활성화하려고 하지만, OpenLiteSpeed 환경에서는 오류가 발생하는 경우가 많습니다.

실제로 발생하는 문제 흐름

많은 사용자들이 같은 흐름을 겪습니다.

  • Full WAF 활성화 버튼 클릭
  • 서버 설정 요구 메시지 표시
  • 설정 방법을 몰라 중단
  • WordPress 모드 유지

결과적으로 보안은 일부만 적용되고, CPU 문제는 계속 남아 있게 됩니다.

핵심 원인 (가장 중요한 부분)

이 문제의 핵심은 설정이 아니라 “실행 순서”입니다. NinjaFirewall이 Full WAF로 동작하려면 PHP보다 먼저 실행되어야 합니다. 그런데 OpenLiteSpeed 기본 상태에서는 이 연결이 되어 있지 않습니다.

즉, 오류의 본질은 이것입니다. 방화벽이 늦게 실행되는 구조

해결 방법 (실제 적용 흐름)

1️⃣ 먼저 Full WAF 활성화 버튼 클릭

NinjaFirewall WordPress WAF 모드에서 Activate Full WAF mode 버튼이 보이는 설정 화면
NinjaFirewall WordPress 모드에서 Full WAF 모드로 전환하는 화면

워드프레스 관리자에서 NinjaFirewall에 들어가면 기본적으로 WordPress WAF 모드로 설정되어 있습니다. 여기서 아래 버튼을 눌러야 합니다.

  • Activate Full WAF mode

이걸 눌러야 다음 단계로 넘어갑니다.

2️⃣ OpenLiteSpeed 환경 선택

NinjaFirewall 설정에서 OpenLiteSpeed recommended 옵션을 선택하는 드롭다운 화면
OpenLiteSpeed 환경에서 Full WAF 설정 시 서버 타입 선택 화면

버튼을 누르면 서버 선택 화면이 나옵니다. 여기서 중요한 부분:

  • OpenLiteSpeed (recommended) 선택

다른 걸 고르면 제대로 동작하지 않습니다.

3️⃣ 안내 메시지 확인 (핵심 설정 위치)

NinjaFirewall Full WAF 설정 시 auto_prepend_file 코드가 표시된 안내 화면
Full WAF 활성화를 위해 php.ini Override에 추가해야 하는 설정 코드

이 화면에서 중요한 코드가 하나 나옵니다.

예시:

php_value auto_prepend_file "/home/경로/wp-content/nfwlog/ninjafirewall.php"

이 코드를 복사해서 서버에 넣어야 합니다. 이 단계에서 대부분 막힙니다.

4️⃣ OpenLiteSpeed WebAdmin 접속

OpenLiteSpeed 관리자에서 Virtual Hosts 메뉴에서 도메인을 선택하는 화면
OpenLiteSpeed WebAdmin에서 도메인을 선택하는 Virtual Hosts 화면

브라우저 주소창에 입력:

http://서버IP:7080

로그인 후 진행:

  • Virtual Hosts 클릭
  • 사용 중인 도메인 선택

5️⃣ php.ini Override 설정 추가

OpenLiteSpeed php.ini Override에 NinjaFirewall 경로를 입력한 설정 화면
php.ini Override에 NinjaFirewall auto_prepend_file 설정을 추가하는 화면

도메인 설정 화면에서:

  • 상단 메뉴 → General
  • 아래로 스크롤
  • php.ini Override 항목 찾기

여기서 “편집 버튼”을 눌러서 아까 복사한 코드를 그대로 붙여넣습니다. 이 설정의 의미는 이것입니다:

  • PHP 실행 전에 NinjaFirewall 먼저 실행
  • 모든 요청을 초기에 필터링
  • 이 한 줄이 Full WAF의 핵심입니다

6️⃣ 서버 재시작 (이거 안 하면 적용 안 됨)

OpenLiteSpeed 관리자에서 Graceful Restart 버튼을 클릭하는 서버 재시작 화면
OpenLiteSpeed 서버를 재시작하는 Graceful Restart 버튼

설정 저장 후 반드시 해야 하는 작업입니다.

  • 좌측 상단 서버 메뉴 클릭
  • Graceful Restart 실행

핵심 흐름 정리 (짧게)

설정 전체 흐름은 이렇게 보면 됩니다:

  • Full WAF 버튼 클릭
  • OpenLiteSpeed 선택
  • 코드 복사
  • php.ini Override에 추가
  • 서버 재시작

적용 후 변화 (체감되는 부분)

설정이 정상적으로 적용되면 바로 변화가 느껴집니다.

  • 불필요한 외부 요청 감소
  • CPU 사용량 안정
  • 관리자 페이지 반응 속도 개선

특히 반복적으로 들어오던 스캔 요청이 줄어드는 것이 눈에 보입니다.

마무리

OpenLiteSpeed에서 NinjaFirewall Full WAF가 안 되는 이유는 복잡하지 않습니다. 설정을 몰라서라기보다 연결 위치를 모르는 경우가 대부분입니다. 핵심은 하나입니다.

  • 방화벽을 PHP보다 먼저 실행시키는 것

이 부분만 맞추면 보안과 서버 안정성이 동시에 개선됩니다.

▶ 워드프레스 빠른 테마 5가지 정리 (속도 비교 기준)

▶ OpenLiteSpeed 동적 확장 설정으로 서버 느려지는 문제 해결하기

▶ 워드프레스 LiteSpeed CDN 설정 방법 (OpenLiteSpeed 필수 가이드)

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤