Litespeed之wordpress安全优化(.htaccess)

2020年08月20日 33点热度 0人点赞 0条评论

在litespeed和apache上使用.htaccess对wordpress进行安全优化,全方位保护您的wordpress,让wordpress在litespeed上安全运行。修改.htaccess可以直接进入插件Litespeed Cache的工具箱,选择.htaccess进行修改。

wordpress之.htaccess优化

1.开启HSTS

HSTS是什么请看这里

修改.htacess文件(可以在lscache插件的工具箱选项中直接修改),添加如下内容:

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

2.内容安全策略Content Security Policy(CSP)

CSP通过将允许的内容源(如脚本,样式和图像)列入白名单,帮助缓解XSS攻击。内容安全策略可以防止浏览器加载恶意资产。
不幸的是,没有一种适合CSP的方法。在创建CSP之前,您需要评估您实际加载的资源。一旦您确定了资源的加载方式,便可以根据这些要求设置策略。
让我们分解一下。我们的CSP允许来自当前域'self'的所有资源类型。'Unsafe-inline'表示允许使用内联样式和脚本标签,'unsafe-eval'表示允许使用不安全的动态代码评估,例如JS。“ https:”和“ data:”表明仅允许通过HTTPS和数据方案加载资源。

Header set Content-Security-Policy "default-src 'self' (这里直接填写需要添加的网站比如cdn.jsdelivr.net www.google-analytics.com中间空格隔开) 'unsafe-inline' 'unsafe-eval' https: data:";

3.X框架选项X-Frame-Options

此标头通过向浏览器指示不应在框架(或iframe或对象)中呈现页面,从而有助于防止点击劫持。

Header set X-Frame-Options "sameorigin"

4.X-XSS保护和X内容类型选项X-XSS-Protection and X-Content-Type-Options

X-XSS-Protection有助于缓解跨站点脚本(XSS)攻击,并且X-Content-Type-Options标头指示IE不要嗅探mime类型,从而防止与mime嗅探有关的攻击。

Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"

5.使用HTTPOnly和Secure标志实现Cookie安全

这指示浏览器仅由服务器信任cookie,并且可以通过安全SSL通道访问cookie。将此添加到.htaccess中:

Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict

可以通过访问securityheaders来测试HTTP安全标头

6.隐藏PHP与服务器信息

Header unset X-Powered-By
Header unset Server

1-6点可以合在一起

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' https: data:";
Header set X-Frame-Options "sameorigin"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict
Header set Content-Security-Policy "default-src 'self' (这里直接填写需要添加的网站比如cdn.jsdelivr.net www.google-analytics.com中间空格隔开) 'unsafe-inline' 'unsafe-eval' https: data:";
</IfModule>

7.使用.htaccess设置网站图片防盗链

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomian.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?baidu.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

也可以在litespeed后台Hotlink设置

8.自动启用https跳转

RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

9.保护wp-config.php

<Files wp-config.php>
Order Allow,Deny
Allow from 你服务器的ip
Deny from all
</Files>

10.禁止或者选择性允许XML-RPC,防止DDOS

<Files xmlrpc.php>
Order Deny,Allow
# Allow from 允许ip
Deny from all
</FilesMatch>

如果需要允许特定IP访问把#去掉

11.防止用户名枚举

RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]

12.禁用PHP执行

禁用PHP执行,保护网站免受后门访问文件的侵害,创建一个.htaccess文件写入下列代码并将其上传到网站的/wp-includes/和/wp-content/uploads/目录中。

<Files *.php>
deny from all
</Files>

13.禁止网站服务器通过未经授权的访问

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

14.防止安全扫描等被litespeed意外终止

使用了插件Wordfence和UpdraftPlus等,可以添加如下代码防止安全扫描被litespeed意外终止。

<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noabort:1]
</IfModule>

还可以在wp-config.php添加

define('ALTERNATE_WP_CRON', true);

15.保护.htaccess

<Files .htaccess>
order allow,deny
deny from all
allow from 你的服务器ip
</files>

16.限制从插件和主题目录访问WordPress PHP文件

RewriteCond %{REQUEST_URI} ^(.*)?wp-content/plugins/(.*\.php)$ [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{REQUEST_URI} ^(.*)?wp-content/themes/(.*\.php)$ [NC]
RewriteRule ^(.*)$ - [F,L]

1-16点汇总

在已有文件内容下添加

<IfModule mod_rewrite.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-XSS-Protection 1;mode=block
Header set X-Frame-Options: SAMEORIGIN
Header set Referrer-Policy: strict-origin-when-cross-origin
Header set X-Content-Type-Options: nosniff
Header unset X-Powered-By
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict
Header set Content-Security-Policy "default-src 'self' (这里直接填写需要添加的网站比如cdn.jsdelivr.net www.google-analytics.com中间空格隔开) 'unsafe-inline' 'unsafe-eval' https: data:";
#
rewriteCond %{HTTPS} !on
rewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
#
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomian.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?baidu.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]
#
RewriteCond %{REQUEST_URI} ^(.*)?wp-content/plugins/(.*\.php)$ [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{REQUEST_URI} ^(.*)?wp-content/themes/(.*\.php)$ [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>

<Files wp-config.php>
Order Allow,Deny
Allow from 你服务器的ip
Deny from all
</Files>

<Files xmlrpc.php>
Order Deny,Allow
# Allow from 允许ip
Deny from all
</FilesMatch>

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noabort:1]
</IfModule>

<Files .htaccess>
order allow,deny
deny from all
allow from 你的服务器ip
</files>

wordpress之其它安全优化

15.5修改.htaccess和wp-config.php权限

确定不需要对这两个文件进行修改后,可以把权限修改为600(仅允许文件所有者读写)或者444(只读)。

命令为chmod 600 文件名

目录权限建议修改为 755 或者 750,所有的文件建议修改权限为 644 或者 640。

17.禁用错误报告

如果插件或主题导致错误,错误消息可能会显示您的服务器路径,黑客可能会滥用该路径。因此,最好通过将以下代码添加到wp-config.php文件中来完全禁用错误报告:

error_reporting(0);
@ini_set(‘display_errors’, 0);

18.去掉heade里的rel="https://api.w.org/

部分主题使用后http头并没有此项

将下面代码添加到主题functions.php文件中,去除head里面输出的链接信息。

//屏蔽 REST API
add_filter('json_enabled', '__return_false' );
add_filter('json_jsonp_enabled', '__return_false' );
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11 );

推荐阅读:
Litespeed之一键安装litespeed企业版/PHP/Mysql
Litespeed之企业版安装wordpress并设置服务器优化
Centos/Debian/Ubuntu一键开启BBR加速开启BBR
Litespeed之简单对比-wordpress的终极解决方案

mjys

喵酱

一只喜好各类影视,不折腾会挂掉的喵~~

文章评论