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

  • Clearfy 자산 관리자 설정 방법

    워드프레스 캐시 플러그인 중 Clearfy 자산 관리자 설정을 사용해서 워드프레스 사이트 내에서 사용하지 않는 CSS 및 JS를 비활성화 할 수 있습니다. 일반적인 캐시 플러그인이 가지고 있지 않은 기능으로 특정 CSS 또는 JS 파일이 무거운 경우 비활성화를 진행할 수 있습니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화1….

  • WebP 파일이란?

    2010년 Google은 온라인 이미지를 줄이기 위해 ‘WebP 파일‘ 포맷을 만들었습니다. 사진의 그래픽과 크기를 줄여 더 빠른 웹사이트 로딩이 가능합니다. 무료로 사용할 수 있는 오픈 소스 파일입니다. 목차1️⃣ wp-config.php 파일이란?🔲 권한을 소유자에게만 설정🔲 .htaccess에서 파일 접근 차단하기2️⃣ wp-config-sample.php3️⃣ 파일 편집 비활성화 1. WebP 파일 정의 ‘WebP‘는 기존의 PNG 및 JPEG 파일보다 포맷 파일 크기가…

  • [WP] WordPress.com vs WordPress.org 2가지 서비스 차이 비교

    전자상거래 사이트, 회사 소개 사이트, 커뮤니티, 개인 블로그 등 전 세계의 많은 웹 사이트는 워드프레스 CMS로 만들어 집니다. 워드프레스를 새로 시작하는 경우 [WordPress.com vs WordPress.org] 2가지 서비스가 있기 때문에 둘 중에 하나를 선택해야 합니다. 개인 비즈니스를 위해 웹 사이트가 필요해 혼자서 또는 1~2명이 관리하면서 운영할 수 있는 CMS가 필요하다고 할 경우 드루팔(Drupal), 줌라(Joomla),…

  • W3 Total Cache 플러그인: 최적화 세팅 방법

    워드프레스 사이트의 속도는 플러그인을 설치하면 필연적으로 느려질 수 밖에 없습니다. 결국 캐시 플러그인은 워드프레스의 필수 플러그인 중 하나로 자리 잡을 수 밖에 없습니다. 프리 버전에서 100만 명 이상의 활성 설치와 4.4점의 별점을 받은 W3 Total Cache(W3TC) 플러그인은 많은 사용자들이 사용하는 플러그인 중 하나입니다. 캐시 설정은 사용 중인 다른 플러그인의 일부 기능이 작동하지 않을…

  • 워드프레스 테마: 용도와 기능으로 보는 테마 선택 기준

    웹사이트를 구축하기 위해 원하는 서비스에 맞는 호스팅 서버까지 구매한 후에 워드프레스를 설치했습니다. 기본 테마로 내 웹사이트를 꾸미는 경우는 거의 없습니다. 워드프레스 테마는 웹사이트의 외형과 기능을 결정하는 핵심 요소입니다. 사이트 운영 목적에 따라 테마 선택 기준도 달라집니다. 예를 들어, 블로그, 포트폴리오, 쇼핑몰 등 목적에 맞는 적절한 레이아웃과 기능이 필요합니다. 테마는 단순한 디자인뿐만 아니라 페이지…

  • W3 Total Cache 속도 테스트

    워드프레스 캐시 플러그인 중 W3 Total Cache는 10년 넘게 꾸준한 인지도를 가지고 있는 플러그인입니다. 다만, 최근 몇 년간은 업데이트가 좀 뜸해지고, UI도 복잡해서 초보자들이 사용하기 어렵다는 평가도 많습니다. 높은 인지도를 가진 W3 Total Cache 속도 테스트를 통해, 이 플러그인이 어떻게 페이지 캐시, 데이터베이스 캐시, 오브젝트 캐시, 브라우저 캐시 등 여러 캐시 유형을 활용했을…

답글 남기기

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

Prove your humanity: 10   +   10   =