站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Hardening WordPress
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
安全问题是个有趣的问题,有许多不同的级别。WordPress开发者认真地对待这个问题,但是与其它的系统相似,可能会产生一些潜在的安全问题,而且安全和便利使用之间通常有一个权衡。我们会讨论一些常见的关于安全安装WordPress的注意事项。 什么是安全?基本上来说,安全''不是''关于极好的,不会毁坏的系统,非常难以发现和/或者维护。安全与信任和响应性的相关性更大。例如,一个可以信赖的主机运行了网络服务器的一个稳定的,patched分支(如Apache,IIS,或者其它的)。主机会通知你有这些分支,同时测试配置,让你自己决定选择哪个。一个不可以信赖的主机,在发行的时候,不会应用patches,也不会通知你主机在运行哪个服务器版本。 几个主题处理这个指南: # '''限制访问:'''做出明智的选择,有效地遏制一些怀有恶意的人访问一些内容。 # '''牵制政策:'''如果一个怀有恶意的人,发现了你的安装中的一个缺陷,你的系统必须要经过设置来使得他在你的系统中可能做的破坏,降低到最小的值。 # '''知识:'''保存文件备份,每个一段时间,就要查看WordPress安装的状态,给更改的内容附上文件证明会帮助你了解你的WordPress安装。 = 你的电脑的弱点 = 要确定你用来发表WordPress的电脑,没有spyware,malware,adware,也不会收到病毒的攻击;在安全,稳定地运行你的应用软件。例如,如果你的个人电脑上有一个keylogger,下面的任何内容都不会有什么意义。 = WordPress软件包自身的弱点= 由于程序编写的方式,WordPress自身拥有缺陷,会使攻击者传送HTTP arguments,破坏的URI命令行,形式输入,等等,这些都会导致不好情况的发生。 有两种方法,可以处理这个问题: # ''' 保持最新的 WP 版本:''' WordPress开发者对于旧的版本的WordPress,不保持安全patches。一旦一个新的WP版本发行了,或者WP中的缺陷得到了解决,那么在公众域中肯定能够找到解决缺陷的信息,这使得旧的版本更容易地被袭击,设置被一个简单的脚本kiddie袭击。 # '''报告程序缺陷:'''如果你找到了一个你认为的程序缺陷,报告一下—请看看[[WordPress:Submitting_Bugs|提交_程序缺陷]]。你可能发现了一个缺陷,或者发现了一个程序缺陷可能会导致WordPress缺陷。如果你发现了一个严重的安全隐患,发送电子邮件到security@wordpress.org。 = 服务器缺陷 = 运行WordPress的服务器,装有WordPress数据,PHP,和其它的用于插件或者有帮助的应用软件中的脚本/变成会有缺陷。因此,要确定你运行一个安全,稳定的网络服务器,数据库,脚本注释器版本,或者确定你正在使用一个可以信赖的主机,这个主机为你处理这些事情。 同时注意,如果你位于一个共享的服务器上(除了你之外,这个服务器还会托管其他的人)。如果其他人妥协了,即使及遵循了这个指南中的每个步骤,你也可能会妥协。要确定问问你的[http://wordpress.org/hosting/网络主机]他们采取了什么安全防御措施。 =网络缺陷= 网络有两个末端 -- WordPress 服务器端和客户网络端—应该得到信任。这意味着更新防火墙 rules on your home router同时要注意你是来自于哪个网络。你在一个繁忙的网吧中,在cleartext中以无线连接的连接方式,发送未加密的密码,''不是'' 可以信任的网络。''(以下的文章描述了,当你在一个公共场所使用无线连接,可以被扩充为通过ssh tunnels 访问你的博客的安全方式,怎样[http://stopdesign.com/log/2005/02/07/secure-email.html 保护你的电子邮件])''。你的主机应该确定黑客不能接近它们的网络,同时你也要确定。网络的缺陷使得密码能够被sniffers和其它形式的havoc截取(例如man-in-the-middle袭击)。 = 密码 = 安全使用的好习惯能够避免一些网络缺陷。其中一项重要的安全措施就是密码:不要使用你自己的姓名来作为密码,不要使用字典中的一个单词作为密码(任何语言的单词),不要使用一个四个字符串的数字来作为你的密码。你使用密码的目的是使得搜索范围尽可能大,因此使用数字和大小写的混合体,会使得在数据上破解一个密码变得更加困难。如果你没有重新命名管理员帐户,设置好密码,尤为重要。没有重新命名管理员帐户的话,还有恶意的用户已经知道了谜底的一半,他们知道哪个用户名,能够使得他们拥有特权,来编辑文件和数据库。 [http://www.adel.nursat.kz/apg/ 密码自动产生器] 对于产生复杂而合理的密码,非常有用。 =文件权限 = WordPress的一些非常酷的功能,在于能够使网络服务器编写一些文件。然而,允许应用软件拥有编写文件的权限,是一件非常危险的事情,特别在一个公共使用的环境下。 出于安全方面的考虑,最好尽可能地禁止文件使用权限,当你需要让出编写权限的时候,再放松一些限制,或者当你要创建一个特别的文件夹,需要放松权限,就如上传图像的时候,你可以放松文件的使用权限。 下面是一个可能存在的权限方案。 你的用户应该拥有并且可以编写所有的文件。任何文件需要WordPress的编写权限,应该由网络服务器使用的用户帐户共同拥有。 * <code>/</code> --WordPress根目录:只有你的用户帐户可以编写所有的文件。 ** 例外 <strong><code>.htaccess</code></strong>如果你想要WordPress自动地为你产生编写规则。 * <code>/wp-admin/</code> --WordPress管理区:只有你的用户帐户可以编写所有的文件。 * <code>/wp-includes/</code> --WordPress application logic的大部分:只有你的用户帐户可以编写所有的文件。 * <code>/wp-images/</code> --WordPress使用的图像文件:只有你的用户帐户可以编写所有的文件。 * <code>/wp-content/</code> --不同的用户支持的内容:[[WordPress:Copyright_Holders|开发者]]有意让所有的(主人/用户,小组和公众)来编写内容。 ** <code>/wp-content/themes/</code> --主题文件。如果你想要使用内置的主题编辑器,所有的文件都要被组合起来,而且是可写的。如果你不想使用内置的主题编辑器,只有你的用户帐户可以编写所有的文件。 ** <code>/wp-content/plugins/</code> --插件文件:只有你的用户帐户可以编写所有的文件。 **<code>/wp-content/</code>下面其它的目录,应该由任何需要这些目录的插件/主题,使这些目录备有文件证明。权限可能有所不同。 *如果对于服务器,你有shell权限,你可以使用下面的命令行,递归地更该文件权限: 关于目录<br /> <code>find [your path here] -type d -exec chmod 755 {} \;</code><br /> For Files<br /> <code>find [your path here] -type f -exec chmod 644 {} \;</code><br /> 你需要避免为<code>/wp-includes/</code>使用这个命令行。 = 数据库安全 = 如果你在同一个服务器上运行多个博客,考虑使得不同的用户在不同的数据库上管理这些博客,这种做法是明智的。当执行初始的[[WordPress:Installing_WordPress|WordPress 安装]]的时候,最好能够完成上述的执行任务。这是一个牵制的策略:如果一名入侵者,成功地破解了WordPress的安装,更改你的其它博客,就会更难。 如果你自己管理MySQL,要保证你了解MySQL的配置和MySQL不需要的功能(例如接受远程TCP链接)已经取消了。请看看[http://www.securityfocus.com/infocus/1667 Secure MySQL 数据库设计]上面详细的介绍。 = 保护 wp-admin= 使用[http://wordpress.org/extend/plugins/askapache-password-protect AskApache 密码保护插件]给你的<code>/wp-admin/</code>文件夹添加权限控制,你可以大大地提高博客的安全性。插件也保护你的<code>/wp-login.php</code>文件,和你的<code>/wp-includes/</code> 和<code>/wp-content/</code> 文件夹中的所有的文件。 给<code>/wp-admin/</code>添加server-side密码保护,会在博客的管理界面,登录,和文件中添加第二层保护。这使得袭击者或者bot袭击这个第二层的保护而不是真正的管理文件。大多数时间里,针对WordPress是由一个恶意的软件bot带来的。 针对WordPress博客的最常见的袭击,可以分为两类: #向你的服务器发送特别制作的HTTP,拥有特别的exploit 有效载荷,处理特别的缺陷。这些包含旧的/过时的插件和软件。 #通过"强行破解"密码,试图使用你的博客。 在那些重要的文件上添加第二层的密码,你可以迫使袭击者先击破第一层密码,才能够试图击破主要的<code>/wp-admin/</code>。这个保护使用[http://www.rfc-editor.org/rfc/rfc2617.txt 基本的 HTTP 证明],密码在网络上传播,像纯文本那样没有编码,没有加密。这种保护的主要好处在于,否认访问你的服务器文件而且在一个袭击到达你的<code>/wp-admin/</code> 之前,使你警惕这个袭击。 这个"第二层"密码保护的最终执行,需要为你的<code>/wp-admin/</code>目录准备一个HTTPS SSL 加密连接,这样所有的交流内容和敏感的数据都得到了加密。 = SSL 加密安全= 使用[http://haris.tv/2007/04/24/admin-ssl-new-wordpress-plugin/ Admin-SSL 插件],你可以给你的交流内容和重要的WordPress cookies 保护和加密。与保密的和分享的[[WordPress:Glossary#SSL|SSL]]协作。 = 插件 = == 安全插件 == 可以在[http://wordpress.org/extend/plugins/wp-security-scan/ WP 安全 扫描]上添加WP安全扫描插件。虽然这个插件能够极大地保护你的WordPress安装,你需维护好的密码,在安装主题和插件之前,对其进行检查,同时要保存好文件和数据库备份,以防止你被黑客袭击后的情况发生。 == 需要写权限的插件== 如果一个插件需要编写WordPress文件和目录的权限,请阅读代码来确定插件是合法的,或者和某个你信任的人一起检查插件。可能存在的检查地点是[http://codex.wordpress.org/Using_the_Support_Forums 支持论坛] 和[http://codex.wordpress.org/irc IRC Channel]。 == Code execution plugins == 如我们所叙述的,加强WordPress的一个目的是,使得WordPress在遭受袭击的时候,能够承受损害。允许任意的PHP或者其它的代码在数据库中的文章中执行的插件,有效地放大了一次成功袭击可能产生的损害。 避免使用这种插件的一个方法是使用[http://codex.wordpress.org/Pages#Creating_your_own_Page_Templates 自定义网页模板],这种模板命名函数。只有当你[http://codex.wordpress.org/Hardening_WordPress#File_permissions 在WordPress内部编辑文件]的时候,部分这样的安全措施才能起作用。 = 通过隐匿获得安全 = 通过隐匿得到安全,一般被看做是一种不佳的初级策略。然而,在WordPress中,有些区域,隐匿一点,能够起到作用。 # '''不要为你正在运行的WordPress版本登广告::''' 如果你正在运行一个旧的版本的WordPress,上面拥有众所周知的缺陷,那么你将这个信息公之于众,是不明智的。为什么不将WordPress的整个版本隐匿起来呢?即使能够尽可能快地更新软件包,新版本的发行与你的更新之间会有一些拖延的时间,潜在方面,这些时间,能够足够让一个怀有恶意的人来执行一次袭击。 然而,编辑去除WordPress给它的版本做广告的地方,是非常麻烦的。最好的方法还是,要确定你正在运行最新的版本。一种更加简单的方法可以实现这一点 [http://wordpress.org/extend/plugins/replace-wp-version/ 替换WP-版本]插件。 # '''重新命名管理帐户:'''用一个命令行,如<code>update tableprefix_users set user_login='newuser' where user_login='admin';</code>,或者使用一个MySQL frontend like [[WordPress:phpMyAdmin]],可以在MySQL 命令行client中重新命名管理帐户。 = 数据文件备份 = 定期地备份你的数据,包括你的MySQL数据库(请看看[[WordPress:Backing_Up_Your_Database|备份你的数据库]])。数据完整性对于可信任的文件备份至关重要。给文件备份加密,给每个备份的文件保存一个独立的MD5 hashes记录。而且/或者在只读媒体(如CD-R)上放置文件备份,来增强你的信心,相信你的数据不会被干扰。 一个安全的文件备份策略包括,在一个可以信任的位置上,保存整个WordPress安装(包括WordPress核心文件和你的数据库)的一套按时的snapshots。设想一个站点制作每周的snapshots。这样的一种策略,意味着如果一个站点在5月1日,收到了安全方面的威胁,但是这种威胁在5月12日,才探测到了,站点的拥有者会有一个收到安全威胁之前的文件备份,这个备份能够帮助重新建立一个站点,也许还有拥有一个站点受到安全威胁之后的文件备份,这个备份能够帮助判断站点是怎样收到安全威胁的。 = Logging = 将所有的$POST变数log 发送到WordPress是可能的。标准的Apache logs对于处理安全讨论,没有提供多少帮助。 * [http://www.modsecurity.org/ Mod_Security - Logs and Prevents 使用 Apache] * [http://www.village-idiot.org/post-logger Plugin that logs using WP]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)