wp-config.php 보안 취약점: 워드프레스 보안 강화

ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)

워드프레스 설치 후 반드시 확인해야 할 파일 중 하나가 바로 wp-config.php입니다.

이 파일은 데이터베이스 접속 정보와 보안 키 등이 포함된 핵심 설정 파일로, 외부에 노출되거나 잘못 설정될 경우 사이트 전체가 심각한 위협에 노출될 수 있습니다.

이번 페이지에서는 wp-config.php의 주요 보안 취약점과 이를 안전하게 보호하기 위한 점검 방법을 자세히 알아보겠습니다.

1️⃣ wp-config.php 파일이란?

wp-config.php는 워드프레스의 핵심 설정 파일로, 사이트의 데이터베이스 접속 정보, 보안 키, 디버그 설정, 테이블 접두사 등의 중요한 정보가 담겨 있습니다.

워드프레스 wp-config.php 파일

워드프레스가 제대로 작동하기 위해 반드시 필요한 파일이며, 이 파일이 외부에 노출될 경우 데이터베이스 정보 유출, 관리자 권한 탈취, 워드프레스 내부 구조 파악, 보안 키를 이용한 세션 위조 등 심각한 보안 위협으로 이어질 수 있습니다.

🔲 권한을 소유자에게만 설정

워드프레스에서는 일반적으로 폴더는 755, 파일은 644 권한으로 설정합니다. 하지만 wp-config.php는 중요한 설정 정보가 포함된 파일이므로, 파일 권한을 600으로 설정해 소유자(testpilotweb)만 접근할 수 있도록 제한합니다.

600 권한으로 설정하면 외부 사용자나 다른 프로세스로부터의 접근을 차단할 수 있어 보안에 효과적입니다.

이러한 권한 설정은 서버에 직접 접근하여 변경하거나, 사용하는 호스팅 업체의 안내에 따라 FTP 또는 Cpanel을 통해 설정할 수 있습니다.

필요할 경우, 고객센터를 통해 권한 설정 방법에 대해 문의하는 것도 좋은 방법입니다.

🔲 .htaccess에서 파일 접근 차단하기

wp-config.php 파일에 권한 설정이 공유 호스팅이거나 다른 이유로 어려운 경우 .htaccess 파일에서 접근 차단 설정을 할 수 있습니다.

<files wp-config.php>
  order allow,deny
  deny from all
</files>

2️⃣ wp-config-sample.php

워드프레스 기본 설치 파일 중 하나인 wp-config-sample.php는 wp-config.php 파일의 예시 템플릿입니다.

워드프레스를 처음 설치할 때 이 샘플 파일을 복사하여 wp-config.php로 이름을 바꾸고, 데이터베이스 정보 등을 입력한 후 설치를 진행합니다.

일단 설치가 완료되면 wp-config-sample.php 파일은 필요하지 않으며, 보안상 삭제해도 무방합니다.

이 파일 자체에는 민감한 정보가 들어 있지 않지만, 공격자가 기본 경로를 통해 접근을 시도할 가능성을 줄이기 위해 제거하는 것이 좋습니다.

 www]# cat wp-config-sample.php 
<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the website, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 *
 * At the installation time, database tables are created with the specified prefix.
 * Changing this value after WordPress is installed will make your site think
 * it has not been installed.
 *
 * @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#table-prefix
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

3️⃣ 파일 편집 비활성화

워드프레스 대시보드 내 ‘테마 편집기’‘플러그인 편집기’ 메뉴를 비활성화합니다. 공격자가 관리자 권한을 탈취하더라도 웹을 통해 악성 코드를 삽입하는 것을 막는 가장 강력한 방어책 중 하나입니다.

define('DISALLOW_FILE_EDIT', true);	
WordPress Box

Similar Posts

  • 워드프레스 점유율 43%: 전 세계 웹사이트에서 가장 많이 쓰이는 CMS

    W3Techs의 월드 와이드 웹 기술 설문조사에 따르면 워드프레스 점유율은 2025년 3월 43.4%입니다. 전 세계의 웹 사이트 43.4%가 워드프레스 CMS로 만들어 졌다는 걸 의미입니다. 시장 점유율은 61.1%로 확인되며, 2위가 쇼피파이, 3위가 윅스, 4위가 스퀘어스페이스, 5위 줌라로 확인되고 있습니다. 1~5위 순위는 오랜 시간 변동 없이 이어질 것으로 보입니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서…

  • 워드프레스 임베드 기능: 활용 및 장·단점

    워드프레스 임베드 기능은 웹사이트에서 외부 콘텐츠(다른 워드프레스 사이트, 유튜브 영상, 트윗, 인스타그램 게시물 등)를 별도의 코드 입력 없이 손쉽게 게시글에 삽입할 수 있도록 돕는 기능입니다. 임베드 기능은 2015년 12월 8일WordPress 4.4 때 출시 되었으며, oEmbed 기능이 핵심 기능에 통합되었습니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화 1….

  • [WP] 워드프레스 500 내부 서버 오류 원인과 해결 방법

    워드프레스를 이용한 웹 사이트를 운영하는 중 여러가지 문제가 발생할 수 있습니다. 그 중에 자주 발생하는 워드프레스 500 내부 서버 오류 원인과 해결 방법에 대해 알아 보겠습니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화 1. 워드프레스 500 내부 서버 오류Internal Server Error 원인과 해결 방법 HTTP 상태…

  • [워드프레스] 차일드 테마란? 만들어야 할까요? 그럼 어떻게?

    워드프레스 CMS를 사용하면 테마는 필수로 사용하게 됩니다. 워드프레스 차일드 테마는 운영하는 워드프레스 사이트에서 필수 요소인지 먼저 생각해 볼 필요가 있습니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화 1. 차일드 테마란? 차일드 테마(Child Theme)는 워드프레스 프레임워크의 주요 기능 중 하나입니다. 사용 중인 테마 파일의 수정(커스터마이징)이 필요할 때…

  • BackWPup Plugin 설치 및 설정

    BackWPup 플러그인은 인기 있는 워드프레스 백업 및 복원 플러그인 중 하나입니다. 프리 버전에서 50만 명 이상의 활성 설치와 지속적인 업데이트를 통해 안정성과 기능 향상이 이루어지고 있습니다. 이 페이지에서는 BackWPup 플러그인 설치 후 기본 설정 방법에 대해 알아 보겠습니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화1️⃣ BackWPup…

  • SSL/TLS 보안인증서 등급 3가지

    SSL/TLS 보안인증서는 등급이 존재합니다. TLS 보안인증서 등급은 DV 인증서, OV인증서, EV인증서 크게 3종류로 나눌 수 있습니다. Sectigo와 같은 인증 기관Certificate Authorities에서 등급으로 지정된 TLS 보안인증서를 이용할 수 있습니다. 보통은 서버를 이용하는 회사나 국내 인증기관에서 Sectigo SSL을 포함한 인증 기관의 SSL 제품을 판매하니 필요한 경우 홈페이지 용도에 맞게 사용할 수 있습니다. 목차1️⃣ wp-config.php 파일이란?🔲…

답글 남기기

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

Prove your humanity: 0   +   2   =