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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

워드프레스 설치 후 반드시 확인해야 할 파일 중 하나가 바로 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

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

    워드프레스 CMS를 사용하면 테마는 필수로 사용하게 됩니다. 워드프레스 차일드 테마는 운영하는 워드프레스 사이트에서 필수 요소인지 먼저 생각해 볼 필요가 있습니다. 1. 차일드 테마란? 차일드 테마(Child Theme)는 워드프레스 프레임워크의 주요 기능 중 하나입니다. 사용 중인 테마 파일의 수정(커스터마이징)이 필요할 때 원본 테마(부모 테마) 대신 수정할 수 있게 만들어진 기능입니다. Child Theme는 기본 테마 업데이트가…

  • 클라우드웨이즈 SSL 설정

    도메인을 클라우드웨이즈에 연결했다면, 클라우드웨이즈 SSL 설정은 대시보드의 Applications 메뉴에서 진행합니다. My Applications 탭으로 이동 후 좌측에 SSL Certificate 탭을 클릭합니다. 1️⃣ 클라우드웨이즈 SSL 설정 커스컴 SSL 키 파일은 별도로 결제한 SSL 파일이 있을 경우에 설정한다고 생각하면 되며, 추가 비용이 없는 Let’s Encrypt SSL을 그대로 사용합니다. Let’s Encrypt 기반의 와일드 카드 SSL은 웬만한 타…

  • [WP] 워드프레스 글 ID 및 카테고리 ID 확인 방법

    워드프레스 사이트를 관리할 때 글 ID를 확인해야 하는 경우가 있습니다. 작업 도중 워드프레스 글 ID는 좌측 하단에서 확인할 수 있습니다. 워드프레스 카테고리 ID 역시 카테고리 페이지에서 동일한 방법으로 확인할 수 있습니다. 메모장에 글 ID를 좀 더 큰 글자로 쉽게 확인하는 방법입니다. 워드프레스 글 ID 요소 검사로 확인하기 글이나 카테고리에 마우스를 올려 놓은 뒤…

  • UpdraftPlus 플러그인 설정: 간편하고 안정적인 백업 작업

    UpdraftPlus 플러그인은 워드프레스 백업과 마이그레이션 작업을 할 수 있는 플러그인입니다. 프리 버전에서 3백만 명 이상의 활성 설치와 4.8점의 높은 평점을 받았으며, 간편하고 직관적인 인터페이스로 백업과 복원을 빠르고 간편하게 진행할 수 있습니다. 1️⃣ UpdraftPlus 설정 플러그인을 처음 설치 후 활성화를 진행하면 기본 설정 안내 화면을 확인할 수 있습니다. 1. 튜토리얼 안내 튜토리얼이 시작되면 파일…

  • 워드프레스 반응형 스타일 : 기기별 글자 크기와 여백 따로 지정(WP 7.1 ver.)

    워드프레스 반응형 스타일은 7.1부터 들어온 기능입니다. 예전에는 편집기의 데스크톱·태블릿·모바일 버튼이 화면 폭만 바꿨지만, 이제는 그 상태에서 만진 글자 크기와 여백이 해당 기기에서만 적용됩니다. 1️⃣ 워드프레스 반응형 스타일: 이해 및 변경점 워드프레스 편집기 위쪽에는 모니터 모양 아이콘이 있고, 누르면 데스크톱·태블릿·모바일이 나옵니다. 지금까지 이 버튼은 편집 화면의 폭만 좁혔다 넓혔다 하는 역할이었습니다. 모바일로 바꿔 봐야…

  • 공유 호스팅이란? CPU·RAM 격리 및 공유 호스팅 한계와 장·단점(WP 및 모든 웹사이트)

    공유 호스팅이란 서버 한 대의 CPU·RAM을 여러 사이트가 나눠 쓰는 호스팅입니다. 계정마다 자원 상한을 거는 격리 방식과 상한에 걸릴 때 생기는 일, 워드프레스와 일반 웹사이트에서 공유 호스팅이 맞는 경우와 한계를 장·단점으로 나눠 다룹니다. 공유 호스팅은 이웃 사이트와 서버를 함께 쓰기 때문에 CPU·RAM 격리가 핵심입니다. 격리가 막아 주는 것과 못 막는 것, 508 오류가…

답글 남기기

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

Prove your humanity: 9   +   9   =