Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

워드프레스 wp-config.php 파일 보호 방법 – 해킹으로부터 사이트를 지키는 4가지 핵심 전략

해커의 관점에서 생각해 본 적이 있습니까? 수천 개의 웹사이트가 사용하는 플랫폼에 침입하거나, 여러 사이트를 대상으로 무차별 대입 공격(brute-force)을 시도하고 싶지 않을까요? WP-Scanner 같은 오픈소스 도구가 널리 보급된 요즘은 초보 해커(script kiddie)조차 전문적인 워드프레스 사이트를 뚫고 악몽 같은 피해를 안겨줄 수 있습니다. 그리고 wp-config.php 파일은 웹사이트의 성패를 좌우하는 단 하나의 파일입니다. 이 파일을 그대로 방치하시겠습니까? 이 글에서 wp-config.php 파일을 안전하게 보호하는 방법을 자세히 알아보겠습니다.

워드프레스는 끊임없이 발생하는 보안 위협에 스스로 대응할 수 있는 다양한 강화 방법을 제공합니다. 이번 글에서는 특히 해킹당할 경우 심각한 문제를 일으킬 수 있는 핵심 파일 중 하나인 wp-config.php 파일 보안에 집중해서 살펴봅니다.

관련 글 – 워드프레스 functions.php의 wp-vcd 멀웨어 백도어 해킹 해결 방법

wp-config.php 파일이란?

워드프레스 wp-config.php 파일 보호 방법 – 해킹으로부터 사이트를 지키는 4가지 핵심 전략

워드프레스 사이트를 설치하면 'wp-config.php'라는 파일이 자동으로 생성됩니다. 이 특별한 설정 파일은 워드프레스를 구성하는 가장 중요한 파일 중 하나로, 사이트 보안을 강화하기 위해 반드시 점검하고 수정해야 하는 다양한 설정 파라미터를 담고 있습니다. 파일을 열어보면 워드프레스 설치 과정에서 데이터베이스를 설정할 때 입력했던 모든 정보를 확인할 수 있습니다.

워드프레스 wp-config.php 파일 보호 방법 – 해킹으로부터 사이트를 지키는 4가지 핵심 전략 워드프레스 wp-config.php 파일 보호 방법 – 해킹으로부터 사이트를 지키는 4가지 핵심 전략

여기에는 사용자명과 비밀번호 등 데이터베이스 접속에 필요한 모든 정보가 저장되어 있습니다. 그 아래에는 워드프레스 사이트를 여러 방식으로 보호하는 데 활용되는 시크릿 키(secret keys)가 있으며, 더 아래에는 정보 보안 측면에서 매우 중요한 'table_prefix' 변수가 위치합니다. 이처럼 핵심 데이터가 모두 담긴 파일이기 때문에 wp-config.php 파일 보안은 그만큼 중요합니다. 만약 이 파일에 기록된 정보가 유출된다면 어떤 참사가 벌어질지 상상해 보시기 바랍니다.

wp-config.php 파일 보호 방법

이제 워드프레스 사이트의 wp-config.php 파일을 보호하기 위해 적용할 수 있는 구체적인 방법들을 하나씩 살펴보겠습니다.

1. .htaccess 파일을 통한 보호

  1. FTP 클라이언트(컴퓨터와 서버 간 통신을 암호화하려면 SFTP 또는 FTPES 사용)로 워드프레스 사이트에 접속하여, 사이트 루트 디렉터리에 있는 .htaccess 파일을 다운로드합니다.
  2. 텍스트 편집기로 .htaccess 파일을 엽니다.
  3. 파일 맨 끝에 아래 코드를 추가합니다.

#secure wp-config.php

<files wp-config.php>

order allow, deny

deny from all

</files>

이 코드는 내부 해킹과 코드 변조로부터 wp-config.php 접근을 차단하여 파일을 안전하게 보호합니다.

편집이 끝나면 텍스트 편집기가 파일 형식을 임의로 변경하지 않도록 '다른 이름으로 저장'에서 '모든 파일(All Files)'을 선택하여 저장합니다. 저장 후에는 동일한 연결 방식으로 파일을 워드프레스 루트 폴더에 다시 업로드하여 기존 파일을 덮어씁니다.

2. wp-config.php 파일 이동

일반적으로 wp-config.php 파일은 루트 디렉터리에 위치합니다. 하지만 해커가 루트 디렉터리에 침입하는 상황은 누구도 원하지 않습니다. 따라서 파일 안의 민감한 데이터를 보호하려면 wp-config.php 파일을 예측 불가능한 위치로 옮기는 것이 좋습니다. 작업이 까다롭고 시간이 걸리지만, 결국 워드프레스 사이트 보안의 운명을 좌우하는 중요한 부분입니다. 또한 워드프레스를 업그레이드할 때마다 소스 코드를 수정하고 유지 관리해야 한다는 점도 감안해야 합니다.

일반적으로는 파일을 한 단계 위로 이동시켜 웹사이트의 공개 폴더 밖에 두는 방식으로 보호합니다. 즉, 사이트 디렉터리의 외부에 있는 알려지지 않은 위치로 옮기는 것이 가장 안전합니다. 로컬 환경에서는 드래그 앤 드롭으로 간단히 처리할 수 있지만, 온라인 환경에서는 다음 단계를 따라야 합니다.

  1. 파일 관리자(File Manager)에서 Move 도구를 사용합니다.
  2. wp-config.php 파일을 선택합니다.
  3. Move 버튼을 클릭합니다.
  4. 파일을 옮길 대상 디렉터리를 지정합니다.

이 과정은 생각보다 수월하지 않을 수 있으며, 서버가 이를 허용하도록 설정되어 있는지 호스팅 업체와 협의해야 할 수도 있습니다. 하지만 파일을 옮기는 것만으로 완벽한 보안이 보장되지는 않습니다. 파일 내용 자체를 변경하여 wp-config.php를 보호하는 방법은 없을까요?

3. wp-config.php 파일 수정

새로운 설정 파일을 생성하는 방법도 있습니다. 이 파일은 외부 접근이나 공격자로부터 보호받을 수 있도록 웹(WWW)을 통해 접근할 수 없는 디렉터리에 만들어야 합니다. 웹사이트 방문자가 접근할 수 없도록 public_html 폴더 안에는 두지 않아야 합니다.

기존 wp-config.php 파일을 열어 데이터베이스 접속 정보, 데이터베이스 접두사(prefix), 워드프레스 보안 키가 포함된 코드를 새 설정 파일로 옮깁니다. 새 설정 파일의 시작 부분에는 <?php를, 끝 부분에는 ?>를 추가합니다.

민감한 데이터를 모두 옮긴 후, wp-config.php 파일의 <?php 바로 아래에 다음 코드를 추가합니다.

<?php

include('/home/yourusername/config.php');

이제 wp-config.php 파일이 열려도 민감한 데이터는 웹 서버의 다른 위치에 저장된 별도의 파일에서 불러옵니다. 메인 wp-config.php 파일에는 민감한 정보가 남지 않으므로 훨씬 안전해집니다. 다만 include 경로(예: /home/yourusername/)는 웹 서버마다 다르므로, 사이트의 절대 경로(absolute path)에 대한 정확한 이해가 필요합니다. 그래야 이 방법이 올바르게 작동합니다.

4. wp-config.php 파일 권한 설정

wp-config.php는 기본 설정 정보와 데이터베이스 접속 정보를 모두 담고 있어 전체 디렉터리에서 가장 민감한 파일 중 하나입니다. 이 파일에 적합한 파일 권한(file permission)은 400입니다. 이는 소유자와 그룹에게 읽기 권한만 부여하고, 그 외의 사용자는 파일에 접근할 수 없도록 제한한다는 의미입니다.

결론 – wp-config.php 파일 보안

지금까지 소개한 방법들로 wp-config.php 파일을 보호하면 워드프레스 사이트 전체의 보안도 함께 강화됩니다. 워드프레스 관리자라면 위에서 설명한 방식대로 wp-config.php가 설정되어 있는지 반드시 점검하고, 조직 웹사이트의 보안 모범 사례를 사용자들에게도 알려 주시기 바랍니다.

워드프레스 wp-config.php 파일 보호 방법 – 해킹으로부터 사이트를 지키는 4가지 핵심 전략

새로 설치하는 플러그인은 알려진 취약점이 제대로 패치되었는지 철저히 검토해야 합니다. 또한 관리자는 보안과 실용성 사이의 균형도 잡아야 합니다. 모든 코드가 100% 안전하다고 장담하기 어렵기 때문입니다. 게다가 인기 있는 플러그인일수록 취약점을 찾으려는 시도가 많아 해커의 주요 표적이 되기 쉽습니다. 따라서 꼼꼼한 보안 습관과 Astra처럼 신뢰할 수 있는 보안 업체의 도움을 함께 활용하면 wp-config.php 파일과 워드프레스 사이트 전체를 안전하게 지킬 수 있습니다.