安全性和.htaccess
题
大约一个月前,我在与爱好相关的托管服务器上启动了WordPress博客。因此,我目前是新手。
由于我担心安全性,所以我做的一件事是安装插件WP安全扫描。根据插件的结果,我的网站检查了一下,除了我将其作为危险信号中的结果中:
file .htaccess在wp-admin/中不存在(在那里i ssh'd,它不存在)
好的,所以我对这个问题进行了大量搜索,并在.htaccess上找到太多信息。我一直在wordpress.org网站等上使用硬化wordpress,也遇到了本文: http://digwp.com/2010/07/wordpress-security-lockdown/
无论如何,我基本上与可用的大量信息感到困惑。
WP-Admin中的.htaccess文件应包含什么? 我已经读到,此.htaccess文件应该密码保护WP-Admin目录,并且我还读到这可能会导致功能问题。
提供帮助是非常感谢的。
谢谢。 -WDYPDX22
更新 好的,所以我没有登录我的博客,并且使用与平常不同的计算机。我输入URL www.mysite.com/wordpress/wp-admin/,并且有一个重定向登录。如果发生的事情发生了,那么WP-Admin目录中甚至还需要一个HTACCESS文件吗?
解决方案
更新: :当我第一次发布答案时,我错过了这个问题的关键;我的答案是关于 .htaccess
总体上,安全性,现在在双线下方列出(如果您感兴趣的话,请低头看。)不幸的是,我没有确保确保的特定经验 /wp-admin/
使用 .htaccess
因此,我简单地列出我将在需要时和如果需要的两个资源:
第一个建议以下建议(这是 一些讨论.)
<Files ~ "\.(php)$">
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>
后者有很多信息,尤其是在评论中,但是肯定会为您提供要阅读的列表不是您要寻找的答案。
抱歉,我对此不可能更有帮助。
========================================
通常,WordPress仅具有以下操作的永久链接处理,并且与安全性无关:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
最近我发现了 WP HTACESS控件 管理很多的插件 .htaccess
对你和我宁愿非常喜欢。经过调整之后,它的设置添加了以下选项:
# WPhtC: Disable ServerSignature on generated error pages
ServerSignature Off
# WPhtC: Disable directory browsing
Options All -Indexes
# WPhtC: Protect WP-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>
它还添加了这些关于性能而不是安全性的选项:
# WPhtC: Setting mod_gzip
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
# WPhtC: Setting mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>
除此之外,还有一些我没有尝试过的插件,但是专注于安全性,并且与之互动 .htaccess
- 您可能会尝试每个尝试它们,只是为了了解它们对 .htaccess
文件:
除此之外,如果您想了解(IMO)#1专家资源 与WordPress有关的Apache安全 你可以找到它 askapache.com;杜德是铁杆!他的博客无法解决您”太多信息“问题,但至少您可以将其视为权威资源!
以下是一些示例(尽管并非全部直接与WordPress相关,它们都适用):
- 高级WordPress wp-config.php调整
- 示例.htaccess for WordPress
- 高级WordPress 404
- mod_security .htaccess技巧
- .htaccess插件阻止垃圾邮件,黑客和密码保护博客
无论如何,希望这会有所帮助。
其他提示
背后的想法是,如果您从过去的升级或零日攻击中挂着绞死的文件,则可能会被黑客入侵。另一种方法还可以保护WP-ADMIN,这将有助于防止蛮力攻击。
一个想法)如果仅仅是您编辑网站,则可以通过IP执行类似的操作来限制对文件夹的访问
<Files *>
Order deny,allow
Deny from All
Allow from 1.2.3.4
</Files>
为了使动态IP系统更容易忍受;您应该能够从子块中允许,因此,如果您的IP池始终来自1.2.3.128-1.2.3.255,那么您可以做类似1.2.3.128/25的事情
另一个想法)需要https,如果他们通过http尝试,则拒绝允许他们拒绝。但是不要将它们重定向到HTTPS。您可以使用自签名证书或CA Cert的一项证书而无需购买。
我总是在WP-Admin中包含一个.htaccess文件,即使我从未将其放入其中,因为它否定了根目录的文件。有些人使用wp-admin .htaccess文件将整个目录隐藏在除一个IP地址之外的所有目录中,另一些人则使用它来密码保护目录。
但是,使用.htaccess保护管理部分的密码将禁用AJAX通信,因为它们与WP-ADMIN/ADMIN-ADMIN-AJAX.PHP交互。
通常,除非您非常偏执,否则我没有太多理由将任何内容添加到管理员.htaccess文件中。无论如何,攻击通常针对WP容量。
我还使用库sseqlib在.htacces中进行更多安全性和不同的黑客攻击;请参阅链接