공공 자원이 아닌 것을 숨겨서 워드 프레스 보안 향상


9

저는 워드 프레스를 처음 접했고 공개 리소스가 아닌 것을 숨겨 워드 프레스 멀티 사이트의 보안을 향상시키고 싶습니다. wp-admin, wp-config 등

내 설정이 작동하는 것 같지만이 설정으로 인해 문제가 발생할 수 있는지 잘 모르겠습니다 (핵심 기능, 인기있는 플러그인 등).

  1. 내 설정이 일반적인 방식으로 양호합니까?
  2. 내 설정이 실제 보안을 향상 시키거나 시간을 낭비하고 있습니까?

httpd-vhosts.conf (apache)

# Disallow public access php for .htaccess and .htpasswd files
<Files ".ht*">
    Require all denied
</Files>

# Disallow public access for *.php files in upload directory
<Directory "/htdocs/wp-content/uploads/">
   <Files "*.php">
       deny from all
   </Files>
</Directory>

# Disallow public access for... 
<Files "wp-config.php">
   order allow,deny
   deny from all
</Files>

<Files "readme.html">
   order allow,deny
   deny from all
</Files>

<Files "license.html">
   order allow,deny
   deny from all
</Files>

<Files "license.txt">
   order allow,deny
   deny from all
</Files>

# Because we do not use any remote connections to publish on WP
<Files "xmlrpc.php">
  order allow,deny
  deny from all
</Files>

.htaccess

RewriteEngine On
RewriteBase /

# List of ACME company IP Address
SetEnvIf Remote_Addr "^127\.0\.0\."      NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME
SetEnvIf Remote_Addr "^XX\.XX\.XX\.XX$"  NETWORK=ACME

# Disallow access to wp-admin and wp-login.php
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php$ # allow fo admin-ajax.php
RewriteCond %{ENV:NETWORK} !^ACME$ # allow for ACME
RewriteCond %{SCRIPT_FILENAME} ^(.*)?wp-login\.php$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin\/
RewriteRule ^(.*)$ - [R=403,L]

# Block user enumeration
RewriteCond %{REQUEST_URI}  ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ / [L,R=301]

# Block the include-only files.
# see: http://codex.wordpress.org/Hardening_WordPress (Securing wp-includes)
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
#RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] # Comment for Multisite
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

function.php

<?php
// Remove unnecessary meta tags
// <meta name="generator" content="WordPress 4.1" />
remove_action('wp_head', 'wp_generator');

// Disable WordPress Login Hints
function no_wordpress_errors(){
    return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

wp-config.php

<?php
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);

3
새롭고 확실하지 않은 경우 Sucuri Security, iThemes Security, Wordfence Security와 같은 플러그인을 확인하십시오. 여러 옵션이 있습니다. (플러그인을 사용하도록 강요하지는 않지만 견고한 사용자 기반이 있음)
bravokeyl

답변:


1

사용 remove_action()예를 들어 불필요한 링크를 제거 할 수 있습니다 :

remove_action('wp_head', 'rsd_link'); //removes EditURI/RSD (Really Simple Discovery) link.
remove_action('wp_head', 'wlwmanifest_link'); //removes wlwmanifest (Windows Live Writer) link.
remove_action('wp_head', 'wp_generator'); //removes meta name generator.
remove_action('wp_head', 'wp_shortlink_wp_head'); //removes shortlink.
remove_action( 'wp_head', 'feed_links', 2 ); //removes feed links.
remove_action('wp_head', 'feed_links_extra', 3 );  //removes comments feed. 

1
코드를 게시 할 때 코드 형식을 사용하십시오.
bravokeyl 2016 년

-1

cPanel에서 사이트를 운영하고 있습니까?

그렇다면 제어판을 탐색하면 몇 가지 훌륭한 모듈을 볼 수 있습니다.

  • 핫 링크 보호
  • 거머리 보호

에서 고급 탭을 찾아 인덱스. 클릭하면 매우 쉽게 "비공개"리소스를 사용자 정의하고 숨길 수 있습니다.

여기에 이미지 설명을 입력하십시오


핫 링크는 보안과 관련이 없습니다. 당신은 보안 및 핫 링크와 "피를 빨기"수 있도록 완벽하게 할 수있다
마크 Kaplun을

당신은 그 진술에 틀렸다. 여러 최적화 기술을 게시 한 데 대한 공감대가 있다고 믿을 수 없습니다. (facepalm)
Iroh 삼촌

1
최적화와 보안의 차이점을 모른다면 그것은
페이스 팜
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.