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

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

    워드프레스 임베드 기능은 웹사이트에서 외부 콘텐츠(다른 워드프레스 사이트, 유튜브 영상, 트윗, 인스타그램 게시물 등)를 별도의 코드 입력 없이 손쉽게 게시글에 삽입할 수 있도록 돕는 기능입니다. 임베드 기능은 2015년 12월 8일WordPress 4.4 때 출시 되었으며, oEmbed 기능이 핵심 기능에 통합되었습니다. 1. 워드프레스 임베드 기능 사용 방법 임베드 기능은 워드프레스 콘텐츠 작성 페이지 내 좌측 상단의…

  • 워드프레스 호스팅 RocketNet 가격·스펙 & Starter 플랜 $1

    워드프레스 호스팅 중 RocketNet은 속도와 안정성을 중시하는 개발자형 관리형 호스팅 서비스로, 캐시·보안·CDN 기능을 기본 제공하며 별도의 설정 없이 빠른 환경을 구축할 수 있습니다. 엔터프라이즈 호스팅을 제외한 관리형 호스팅 및 에이전시 호스팅은 첫 달 $1로 할인과 1년 결제 시에도 30일 환불 정책이 있기 때문에 가입 후 충분히 검토 후에 연장 여부를 검토할 수 있습니다….

  • 클라우드웨이즈 Staging Management 사용법(워드프레스 스테이징 사이트)

    클라우드웨이즈 Staging Management는 운영 중인 워드프레스 사이트에서 사이트에 영향을 주지 않고 새로운 코드, 플러그인, 테마를 테스트할 수 있는 격리된 환경을 제공합니다. 워드프레스 스테이징 사이트는 CPanel 호스팅에서 기본으로 제공하며, 대부분의 워드프레스 호스팅에서 진행한다고 생각하면 됩니다. 스테이징 사이트를 생성하면 운영 사이트의 복사본이 만들어집니다. 준비가 되면 버튼 하나로 특정 변경 사항 또는 전체 변경 사항을 운영 사이트에…

  • 워드프레스 FTP 자격증명 해제 방법 2가지

    직접 운영하게 되는 서버 또는 그에 준하는 권한을 가진 서버에 워드프레스를 설치하게 되면 테마와 플러그인 설치 및 업데이트를 진행하게 됩니다. 이때 나타나는 것이 워드프레스 FTP 자격증명 요청 사항입니다. 관리형이 아닌 설치형 워드프레스에서 사용하는 서버 계정의 정보를 알고 있겠지만 FTP 자격증명이 굳이 필요한 사항은 아닙니다. 크게 두 가지 방법으로 해결이 가능합니다. FTP 정보를 항상…

  • [SEO] 2023년에 워드프레스 전자책 및 SEO 전자책과 강의를 구매하면 안되는 이유

    2023년 티스토리의 운영 정책이 블로거들에게 안 좋은 방향으로 바뀌면서 많은 블로거들이 워드프레스 CMS 또는 구글블로거로 이전하는 경우가 많아졌다. 그동안 미뤄 왔던 워드프레스 사이트의 검색엔진최적화를 진행하게 되면서 SEO 전자책이 해외에는 있지만 국내에는 없기에 나와 있는 책을 우연히 구매하게 되었다. 구매한 SEO E북은 말도 안 될 정도로 빈약한 구성을 가진 걸 보고 놀랐다. 이런 높은…

  • [WP] 워드프레스 단점과 장점

    W3태그 통계에 따르면 전 세계 CMS 점유율 중에 워드프레스의 점유율 43%를 확인할 수 있습니다. 워드프레스는 장점만 있고 워드프레스 단점에 대해 생각할 필요가 없는 것일까요? 워드프레스 장점과 단점에 대해 생각해 보겠습니다. 1. 대표적인 워드프레스 장점 워드프레스 장점 및 단점은 어디까지나 개인적인 생각입니다. 1.1 SEO에 유리 워드프레스는 검색 엔진 최적화에 유리합니다.(플러그인을 통해서) Yoast와 같은 SEO…

답글 남기기

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

Prove your humanity: 8   +   4   =