NinjaFirewall는 많은 사용자들이 이용하는 무료 보안 플러그인입니다. 기본적으로 설치하면 WordPress 모드로 설정되지만, 보다 강력한 보안을 원하신다면 Full WAF 모드로 변경하는 것이 좋습니다.
하지만 Full WAF 모드로 전환할 때 오류가 발생하는 경우가 있습니다. 이는 특정 조건을 충족해야만 활성화할 수 있기 때문입니다. 저도 처음에는 설정 방법을 몰라 한참을 헤매다가 결국 방법을 찾아 적용하게 되었습니다.
제가 헤맸던 이유는 OpenLiteSpeed WebAdmin 관리자에서 설정 방법을 몰랐기 때문입니다. 저와 같은 OpenLiteSpeed 웹 서버 사용자들을 위해 Full WAF 모드를 활성화하는 방법에 대해 알아보겠습니다.
목차
Full WAF 모드란?
워드프레스 모드로도 사이트를 충분히 보호할 수 있지만, 제가 Full WAF 모드를 활성화하기로 한 이유는 외부에서 시스템 파일에 대한 접근이 빈번하여 CPU 사용량이 급증하는 현상이 발생했기 때문입니다.
서버의 자체 프로세스에서 문제가 발생하는 경우라면 해당 프로세스를 중지함으로써 CPU 사용량 급증 문제를 해결할 수 있습니다. 그러나 외부에서 들어오는 접속으로 인한 CPU 문제는 보안을 강화하는 방법 외에는 해결할 수 없습니다.
그래서 CPU 폭증 문제를 해결하기 위해, 다른 인스턴스로 이전하고 NinjaFirewall의 Full WAF 모드를 활성화했습니다. 또한, DDoS 공격 방어를 위해 CDN을 적용하고, robots.txt를 통해 지속적으로 접근하는 봇을 차단하며, .htaccess 파일을 통해 특정 IP의 접근을 막는 등의 방법을 사용하여 문제를 해결했습니다.
보안 플러그인을 선호하지 않는 분들도 있지만, 외부에서 지속적으로 해킹 시도가 이루어지는 경우가 많기 때문에 리버스 프록시, CDN, 보안 플러그인 등 다양한 방법을 적용하는 것이 바람직합니다.
그러면 Full WAF 모드는 WordPress 모드와 어떤 차이점이 있는지 알아보겠습니다.
Full WAF 모드
- 서버 수준에서 실행: NinjaFirewall이 WordPress와 관계없이 서버 수준에서 모든 트래픽을 감시합니다. 따라서 WordPress 외의 다른 웹 애플리케이션이 같은 서버에 설치되어 있어도 이들을 보호할 수 있습니다.
- 더 강력한 보안: 모든 HTTP 요청이 NinjaFirewall을 통과하게 되어, 악성 트래픽을 WordPress에 도달하기 전에 차단할 수 있습니다.
- 전체 사이트 보호: WordPress를 포함한 서버 내의 모든 콘텐츠에 대해 보호 기능을 제공합니다.
- 더 많은 리소스 소모: 더 많은 트래픽을 검사하기 때문에 서버 리소스를 조금 더 사용하게 됩니다.
WordPress 모드
- WordPress 전용 방화벽: WordPress 플러그인처럼 작동하여 WordPress의 내부 트래픽만 보호합니다.
- 사이트 부분 보호: WordPress 트래픽만 보호하므로, 다른 웹 애플리케이션이나 콘텐츠가 있을 경우 보호가 제한될 수 있습니다.
- 적은 리소스 소모: Full 모드에 비해 서버 리소스를 적게 사용하여 성능에 덜 영향을 미칩니다.
서버 수준에서 보호를 하고 싶다면 Full WAF 모드가 적합하며, 서버 리소스를 적게 사용하고 싶다면 WordPress 모드를 사용하시면 됩니다.
Full WAF 모드 활성화하기
NinjaFireWall 플러그인을 설치한 후 대시보드에 들어가면 기본적으로 WordPress WAF 모드로 설정되어 있습니다. Full WAF 모드로 변경하고 싶으시다면, 바로 아래에 위치한 ‘Activate Full WAF mode’ 버튼을 클릭하시면 됩니다.
OpenLiteSpeed 설정 방법 확인
‘Activate Full WAF mode’ 버튼을 클릭하면 HTTP 서버와 PHP 서버 API를 선택하라는 메시지가 나타납니다. OpenLiteSpeed 웹서버를 사용하고 있다면 기본적으로 권장 설정이 제시되므로, 그대로 진행하시면 됩니다.
다음 설정을 적용하기 위해서는 아래의 설명을 참고하여 설정을 진행해야 합니다. 설명에 따르면, OpenLiteSpeed WebAdmin 관리 도구에 로그인한 후 Virtual Host에서 php.ini Override에서 아래의 설정을 추가하고 서버를 재시작하라는 내용입니다.
OpenLiteSpeed WebAdmin 설정하기
브라우저의 주소창에 IP 주소 또는 자신의 도메인 뒤에 :7080을 입력하면 OpenLiteSpeed WebAdmin 관리 도구에 접속할 수 있습니다. 이후 ‘Virtual Hosts’를 선택하고, 원하는 도메인을 클릭하시면 됩니다.
자신의 도메인에 접속하면 상단에 메뉴가 나타납니다. 여기서 ‘General’을 선택한 후, 가장 하단으로 스크롤하면 ‘php.ini Override’ 항목을 찾을 수 있습니다. 이곳에 설정 값을 추가해야 하므로, 오른쪽에 있는 ‘편집’ 버튼을 클릭하시면 됩니다.
php.ini의 Override 항목에 설정 값을 추가했다면, 왼쪽 상단에 있는 IP 주소를 클릭한 후, 화면 상단에 보이는 옵션을 통해 서버를 재시작하시면 됩니다.
위에서 설명한 대로 설정 값을 추가했다면, NinjaFirewall 대시보드에서 Full WAF 모드를 활성화했을 때 오류 없이 위와 같이 활성화된 상태를 확인할 수 있습니다.
NinjaFireWall 보안 플러그인을 사용하고 계신다면 기본적으로 설정된 WordPress 모드도 유용하지만, 더욱 강력한 보안을 원하신다면 위에서 설명한 내용을 참고하여 Full WAF 모드를 활성화해 보시기 바랍니다. 이를 통해 사이트를 보다 효과적으로 보호할 수 있습니다.
▶ CyberPanel에서 워드프레스를 두 개 설치하는 방법을 정리