安全性和.htaccess


8

大约一个月前,我在与爱好相关的托管服务器上创建了WordPress博客。因此,我目前对此并不陌生。

由于我担心安全性,因此我要做的一件事是安装插件WP Security Scan。根据插件结果,我的网站签出了该网站,但我在结果中得到的是红色标记:

文件.htaccess在wp-admin /中不存在(我在那儿ssh,它不存在)

好的,所以我对这个问题进行了大量搜索,发现关于.htaccess的信息太多。我曾经在WordPress.org网站等上通过Harding 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文件吗?


您是否尝试过询问WP Security Scan的开发人员?
道格

@Doug-是的,开发人员有一个论坛,至少有2个人在问一个完全相同的问题,但没有任何响应。另外,我在wordpress.org上发布,也没有任何回复。因此,也许这甚至没有关系?
wdypdx22 2010年

Answers:


8

更新:当我第一次发布答案时,我错过了问题的症结;我的回答是关于.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 Control插件,该插件可以.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文件的作用:

除此之外,如果您想了解(WordPress)与WordPress相关的Apache安全方面的(IMO)专家资源,您可以在AskApache.com上找到它;花花公子是性交!他的博客不会解决您的“ 过多信息 ”问题,但至少您可以将其视为权威资源!

以下是一些示例(尽管并非全部与WordPress直接相关,它们都适用):

无论如何,希望这会有所帮助。


有关整体安全性的出色信息,但未提供有关/ wp-admin /文件夹的信息
Ryan Gibbons 2010年

尽管这可能都是有用的信息,但与问题无关。这些都与根目录中的.htaccess有关。最初的问题是关于wp-admin子目录中的.htaccess的。
道格

@ Insanity5902 @Doug:我不好。当我阅读它时,我只是没有看到。
MikeSchinkel 2010年

2
我接受您的回答基本上是因为,总的来说,总体安全是我的目标。我的博客很新,但是流量却在增长。基本上,我只是想要就是否以及何时开始真正获得大量流量采取适当的安全措施。-谢谢
wdypdx22 2010年

1
@wdypdx-非常感谢。当我意识到我以粗体字错过了您的核心问题时,我真的很尴尬。很高兴结果很积极。
MikeSchinkel 2010年

4

其背后的想法是,如果您因过去的升级或零日攻击而被勒死文件,系统可能会遭到黑客入侵。同样,通过另一种方法来保护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的证书进行认证,而无需购买证书。


0

我始终在wp-admin中包括一个.htaccess文件,即使我从未在其中添加任何内容,因为它会否定根目录的文件。有些人使用wp-admin .htaccess文件对除一个IP地址外的所有目录都隐藏整个目录,另一些人使用它对目录进行密码保护。

但是,用.htaccess保护admin部分的密码将禁用ajax通信,因为它们与wp-admin / admin-ajax.php交互。

通常,除非您极度偏执,否则我看不出有什么理由向admin .htaccess文件添加任何内容。无论如何,攻击通常以wp内容为目标。


1
子目录中的.htaccess文件可以覆盖根目录中的伪指令,但是空白的.htaccess不会否定任何内容。
道格

然后我被误导了。嗯...
John P Bloch 2010年

您需要做的是反转根目录中的内容(如果有)。但是,Insanity的答案比标记为最佳的答案要好,尽管如果其中包含Insanity的信息也是最好的。
阿伦·贝勒

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.