wp-config.php 파일을 public 폴더 외부로 이동시켜 워드프레스 보안 강화하기

0

워드프레스 보안

워드프레스를 설치하면 워드프레스가 설치된 폴더에 wp-config.php 파일이 있습니다. 이 파일에는 MySQL 데이터베이스 이름, MySQL 데이터베이스 사용자 이름, MySQL 데이터베이스 비밀번호 등 민감한 정보가 포함되어 있습니다.

해커가 이 파일에 접근할 수 있게 되면 이 정보를 사용하여 워드프레스 사이트 내의 글, 페이지 등의 콘텐츠를 마음대로 삭제하거나 이상한 사이트로 리디렉션되는 멀웨어 코드를 주입할 수 있습니다.

이런 문제를 방지하기 위해 wp-config.php 파일을 pubic 외부 폴더로 이동시키면 보안에 도움이 된다고 합니다. 실제로 얼마나 도움이 될지는 모르겠습니다만, 이런 점이 염려된다면 아래의 과정에 따라 wp-config.php 파일을 public 외부 폴더로 이동시킬 수 있습니다.

참고로 아래의 방법은 Harden WordPress Security By Moving wp-config.php to a Non-public Folder라는 해외 블로그 글에 소개되어 있습니다. 이 방법이 실제로 효과가 있는지에 대해서는 보장하지 않습니다.

wp-config.php 파일을 public 외부 폴더로 이동시키기

먼저 FTP 클라이언트 프로그램(예: 파일질라)을 통해 FTP 사이트에 접속하여 wp-config.php 파일을 PC로 다운로드합니다.

FTP 다운로드

다운로드한 파일의 이름을 wp-config.php 이외의 이름으로 변경합니다(예: something_nic.php, 이름은 임의로 지정 가능).

이제 public_html 혹은 www 폴더 외부로 이동하여 새로운 폴더를 하나 만듭니다. 웹 파일들이 위치하는 폴더는 보통 public_html 혹은 www 폴더입니다. 하지만 웹호스팅에 따라 다를 수 있습니다. 블루호스트사이트그라운드의 경우 public_html입니다.

사이트그라운드 호스팅

테스트로 hobblies라는 폴더를 만들어보았습니다. 이 폴더에 방금 이름을 바꾼 wp-config.php 파일을 업로드합니다.

이제 public_html 아래의 워드프레스가 설치된 폴더에 있는 wp-config.php 파일의 백업을 받아놓은 후(!!!반드시 백업하세요!!!) 파일 내용을 다음으로 변경합니다.

<?php
include(‘/home/usr/hobbies/something_nic.php’);
?>

경로는 이름을 바꾼 wp-config.php 파일의 절대 경로입니다. 절대 경로를 모르는 경우 다음 내용의 파일을 하나 만들어서 확인해볼 수 있습니다.

<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

이렇게 wp-config.php 파일을 public_html 폴더 외부로 이동시켜도 사이트가 정상적으로 작동할 것입니다. 혹시 오류가 발생하면 경로명이 올바른지 확인해보시기 바랍니다.

경로가 잘못되면 다음과 비슷한 오류가 발생할 것입니다.

Warning: include(/home/usr/hobbies/something_fic.php): failed to open stream: No such file or directory in /home/usr/public_html/wp-config.php on line 2

Warning: include(): Failed opening '/home/usr/hobbies/something_fic.php' for inclusion (include_path='.:/usr/local/php72/pear') in /home/usr/public_html/wp-config.php on line 2

Fatal error: Uncaught Error: Call to undefined function wp() in /home/usr/public_html/wp-blog-header.php:16 Stack trace: #0 /home/usr/public_html/index.php(17): require() #1 {main} thrown in /home/usr/public_html/wp-blog-header.php on line 16

실제 에러 메시지는 상황과 이용하는 웹호스팅에 따라 다를 수 있습니다.

마치며

이상으로 wp-config.php 파일을 public 폴더 외부로 이동시키는 방법을 살펴보았습니다. 이 방법을 이용하면 약간의 보안 강화 효과가 있을 것 같습니다.

무엇보다 보안을 위해 1) 워드프레스 사이트의 코어 파일과 테마, 플러그인을 최신 버전으로 유지하고 2) 정기적으로 백업을 실시하는 것이 좋습니다. 업데이트를 제대로 하지 않아서 멀웨어 악성코드에 감염되거나 해킹당하는 경우를 종종 목격합니다. 보안 사고를 당하기 전에 미리 대비하는 것이 최선 같습니다. (멀웨어 등으로 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.)

Related Posts