워드프레스 사이트를 안전하게 관리하려면 워드프레스, 테마, 플러그인을 항상 최신 버전으로 유지하고 오랫동안 업데이트가 안 되고 방치되는 플러그인을 삭제하는 것이 좋습니다. 그리고 Wordfence와 같은 보안 플러그인을 설치하고 정기적으로 백업하면 안심할 수 있습니다.
사이트가 악성코드(멀웨어)에 감염되는 경우에는 먼저 악성코드 감염 의심 파일들을 모두 제거한 후에 Wordfence 플러그인을 설치하여 시스템을 검사할 수 있습니다. 스캔 작업은 악성코드에 감염된 상태에서 진행하면 효과가 없고, 악성코드를 대부분 제거한 이후에 실시해야 남아 있는 감염 파일들을 찾을 수 있습니다.
멀웨어 검사 시 Wordfence가 중도에 멈추는 경우가 있습니다. 대부분의 경우 PHP 메모리 제한 크기가 낮아서 이런 문제가 발생합니다. Memory Limit (메모리 제한) 크기를 높게 설정하여 다시 시도하면 스캔이 성공적으로 이루어질 것입니다.
워드프레스 워드펜스(Wordfence) 악성코드 검사에 실패하는 경우
워드펜스(Wordfence) 보안 플러그인을 설치하여 검사 메뉴에서 워드프레스 사이트에 악성코드가 없는지 체크할 수 있습니다.
저는 운영하는 일부 사이트에 Wordfence를 설치하였는데, 정기적으로 시스템을 자동으로 스캔하는 것 같습니다.
워드프레스 사이트를 검사하려면 워드프레스 관리자 페이지 » Wordfence » 검사 (Scan)으로 이동하여 새 검사 시작 (Start New Scan) 버튼을 누르면 됩니다.
무료 버전을 사용하는 경우 스캔 작업 화면을 벗어나면 상태 업데이트 일시 중지됨(Status Updates Paused) 알림이 표시되면서 검사가 일시 정지됩니다. 이 경우 워드펜스 스캔 화면 아무 곳을 클릭하면 스캔이 재개됩니다.
일부 상황에서 Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 1052672 bytes) in /www/wp-content/plugins/wordfence/lib/wordfenceScanner.php on line 325 비슷한 오류가 발생하면서 스캔이 실패하는 경우가 있습니다.
이 오류는 워드프레스 메모리 크기가 작아서 발생합니다. 이 에러가 발생하면 Memory Limit 크기를 높인 후에 다시 시도해보시기 바랍니다. 보통 512M로 지정하면 되지만, 512M에서 에러가 발생하면 1024M 등으로 높여서 테스트할 수 있습니다.
경험상 카페24에서 멀웨어 스캔을 할 때 이런 오류가 발생하는 경우가 있었습니다. 그런 경우 메모리 제한 크기를 1024M로 설정하면 문제가 해결될 것입니다.
PHP 메모리 제한 크기 높이기
보통 wp-config.php 파일에 다음과 같은 라인을 추가하여 Memory Limit 크기를 조정할 수 있습니다.
define( 'WP_MEMORY_LIMIT', '512M' );
wp-config.php 파일을 수정하려면 FTP/SFTP에 접속할 수 있어야 합니다.
도구 » 사이트 건강의 서버 섹션에서 PHP 메모리 제한 크기를 확인할 수 있습니다.
메모리 제한 크기를 높였지만 반영되지 않는 경우에는 PHP memory limit 값이 반영되지 않으면 잠시 기다렸다가 다시 체크해보시기 바랍니다.
PHP time limit (max_execution_time) 값이 낮은 경우에도 에러가 발생할 수 있으므로 이 값도 가능하면 300 또는 600 정도로 높이면 좋을 것 같습니다.
일부 공유 웹호스팅에서는 메모리 제한 크기를 높이지 못하도록 고정되어 있을 수 있습니다. 가비아에서는 이 설정이 256M로 제한되어 있고 wp-config.php 파일에 코드를 추가해도 메모리 제한 크기가 변경되지 않습니다.
클라우드웨이즈를 이용하는 경우에는 다음 글을 참고하여 PHP 메모리 크기를 조정할 수 있습니다.
검사 옵션 조정하기
사이트 규모가 너무 크거나 시스템의 PHP 메모리 제한 크기 값이 낮아서 검사에 실패하는 경우에는 검사 옵션 및 예약에서 검사 시 워드펜스에서 요청해야 하는 메모리 양 (How much memory should Wordfence request when scanning) 설정값을 낮추어서 다시 시도해보시기 바랍니다.
그래도 실패하면 낮은 리소스 검사 사용 (검사 기간을 늘려 서버 로드 감소) 옵션을 체크하여 시도해볼 수 있습니다.
원격 검사 설정하기
이외에도 Wordfence » 도구 » 진단 » 디버깅 옵션 (Wordfence » Tools » Diagnostics » Debugging Options)에서 모든 검사를 원격으로 시작합니다(검사가 시작되지 않고 사이트에 공개적으로 액세스할 수 있는 경우 이 옵션을 사용하십시오) 옵션을 체크하여 원격으로 검사를 수행하는 것도 고려해볼 수 있습니다.
이 옵션을 활성화한 경우 실행 중인 검사를 취소하고 새 검사를 시작하도록 합니다.
원격 진단은 경험상 정확하지 않을 수 있지만, 스캔에 계속 실패하는 경우 시도해볼 수 있을 것입니다.
멀웨어나 기타 워드프레스 관련 문제 또는 웹호스팅 문제로 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.
악성코드에 감염될 경우 악성코드를 확실히 제거하고 보안 조치를 해주어야 재발하지 않습니다.
마치며
이상으로 워드펜스 플러그인을 사용한 멀웨어 스캔 작업이 실패하는 경우 대응 방법에 대하여 살펴보았습니다.
멀웨어에 감염되면 악성코드 제거에 시간과 비용이 들 수 있으므로 미리 대비하여 감염되지 않는 것이 최선입니다. 항상 시스템을 최신 상태로 유지하고 정기적인 백업으로 시스템을 안전하게 운영할 수 있습니다. 그리고 보안에 문제가 있는 플러그인이나 오랫동안 업데이트가 안 되는 플러그인은 삭제하는 것이 바람직합니다.
Wordfene와 같은 보안 플러그인을 설치하면 도움이 될 수 있습니다. Cloudways를 이용하는 경우 애플리케이션 관리 페이지의 Bot Protection에서 Bot Protection(봇으로부터 보호하기)을 활성화할 수 있습니다.
이 옵션을 활성화하면 불량 봇들을 알아서 차단해주므로 조금 안심할 수 있습니다. Bot Protection을 활성화하더라도 Wordfence를 설치하여 활성화할 수 있습니다.
댓글 남기기