网站管理员的最佳做法
运营一个网站,无论是否有广大的读者,不总是容易。考虑自己的安全和访问者的安全是重要的。 当网站出人意料地在某个国家被封锁,网站管理员常常感到惊奇。如果大量的访问者不能访问网站,网站的经营者可能也会遇到经济问题。失去网站的内容或者服务 器,或者不得不架设新的服务器,也是件令人不安和沮丧的事。
这一章试图收集一个运营网站需要记住的好的做法和建议的清单。
保护你的网站
- 一直定期在至少一台其他的物理计算机上自动备份(文件和数据库)。确保你知道怎么还原它。
- 监控你的流量了解你的访问者来自哪些国家。你可以使用地理位置数据库猜测一个IP地址来自哪个国家。如果你注意到来自某个国家的流量有较多的下降,你的网站可能被屏蔽了。你可以在区域被封锁网站数据库如Herdict (https://www.herdict.org/web)上分享。
- 保护你的网站,尤其你使用CMS (Content Management System)时。总是按照最新的稳定更新修复安全漏洞。
- 进行高度安全性设置,保护你的网络服务器软件(你可以找到大量的关于如何保护Linux网络服务器的网络资源)
- 注册(或转移)你的域名到其他的DNS提供商,它不是你的空间服务商。如果你现在的提供商遭到攻击,你可以轻松地将你的域名指向新的空间服务商。
- 你也可以创建一个镜像服务器,作为一个你可以轻松转换的备用品。学会怎样将你的DNS服务转换到镜像服务器。
- 考虑你的网站托管到国外,在那内容较少受到争议并清晰地受到法律保护。这意味着你的访问者加载网页所花的时间有一点延时(通常几毫秒),如果在你所在的国家你的网站的内容被认为非常有争议,你可以避免很多麻烦。
- 使用你的访问者可能使用的主要的绕行工具测试和优化你的网站。检查和修复任何无法显示的页面或者功能。理想地,让那些没有JavaScript 或插件的访问者可以使用你的网站,因为当人们使用代理时这些可能不能被使用。
- 避免使用FTP 上传你的文件。FTP在网上发送你的密码没有加密,使得窃听者容易窃取你的登录信息。考虑用SFTP (File Transfer Protocol over SSH), SCP, 或者 secure WebDAV (over HTTPS) 替代。
- 使用其他的端口进入你的后台。黑客经常自动扫描标准的端口发现漏洞。考虑将你的端口改成非标准的(如SSH),将受攻击的风险最小化。
- 通过在服务器安装DenyHosts((http://denyhosts.sourceforge.net))之类的工具保护你的服务器,将超过一定时间登录失败的IP地址列入黑名单,保护你的服务器免受暴力攻击。
保护你自己
如果作为网站管理员保持匿名对你来说重要的话,这些技巧可以帮助你防止可能的人身伤害。
- 使用匿名的跟你真实身份无关的电子邮件地址和名字。
- 如果你有一个专用的域名,你可以在WHOIS 公开数据库通过使用叫做"WHOIS proxy", "WHOIS protect" 或"domain privacy"的服务输入假的信息。
- 更新网站时使用Tor等服务保持匿名。
保护你的访问者
除了保护网站和你自己,保护访问者免受可能的第三方监视也重要,尤其他们向你的网站提交内容。
- 配 置HTTPS,这样你的用户可以使用加密连接访问你的网站,自动查看正在传送的内容和弄清楚你的身份将变得更难。确保你HTTPS配置覆盖你整个网站和使 用其他配置HTTPS的最佳做法。你可以在https://www.eff.org/pages/how-deploy-https-correctly 上找到如何正确配置它的信息。你也可以在https://www.ssllabs.com/上就很多技术参数进行自动测试。
- 尽可能在日志中减少保存的数据。没有必要,不要保存IP地址或者其他与你访问者有关的个人人数据。
- 加密关键的用户数据如密码,例如使用salted hashes。
- 外部的服务如Google Analytics或者其他第三方内容如广告网络难以控制。避免使用它们。
- 为你的网站创建一个轻的和安全的版本,没有Flash或者 Javascript 嵌入代码,和Tor以及低带宽的网络连接相容。
教育你的访问者
- Teach your users how to use circumvention tools, and be able to improve their online security.
- Make a digital safety checklist available so your visitors can be sure they are not being monitored or attacked.
- 教你的用户使用绕行工具和改进他们的网络安全。
- 制作一个数字安全清单,你的访问者可以确保他们没有被监视或攻击。
向你的访问者分享绕行工具
- 托管网页代理 (如SabzProxy 或 Glype Proxy).。通过邮件或者你的社交网络向你的访问者分享它们。
- 如果你在私人节点有一个帐号,向他们 发送赛风(psiphon)邀请。
- 如果你有一个装用的服务器, 安装其他种类的网页代理和应用代理,并分享它。
- 在你的网站 连接这本指南或者相关的绕行工具。
增加发行渠道
网站管理员可以而且应该为尽可能地传播他们的内容而采取不同的措施防止被关闭或者被封锁。
- 创建一份简讯(newsletter),通过邮件发送新内容的定期更新。当你的读者不再能访问你的网站时,你仍然能联络他们。
- 创建RSS种子,确保它包含全文而不是摘要(片段)。这样你的内容可以轻易地被第三方网站和应用如Google Reader解析,在不能直接访问的地方它们可以用来阅读你的内容。
- 在流行的社交网络平台分享你的内容,如Facebook 或者Twitter ,它们难以被封锁。
- 尽可能传播你的内容。让你的内容可以被下载。例如,维基百科将它的全部内容作为数据库转储发送,可以轻松地用来在别处创建有着同样内容的新的镜像网站。
- 考虑采用开放授权协议(如GPL 或者Creative Commons)发表你的文章,它允许每个人重新使用你的内容和创建镜像。
- 在文件分享托管服务如Rapidshare.com或者Megaupload.com上,以及点对点文件分享软件如Bittorrent上备份你的文件。
- 配置你的网络服务器让它也能服务在其他端口的内容,而不仅仅是标准端口80 (http) 和443 (https)。
- 提供一个应用程序界面(API (application programming interface) ),如 Twitter 或者 维基百科(Wikipedia)所做的,可以允许他人通过第三方软件自动访问你的内容。
减少你的页面加载时间
减少你的页面加载时间不仅可以节省你的带宽和金钱,也可以帮助来自发展中国际的访问者更好地访问你的信息。一个好的加快你网站的最佳做法的列表可以在 http://developer.yahoo.com/performance/rules.html和 https://code.google.com/speed/page-speed/找到。
- 采用简约风格。 考虑将图片最小化,使用CSS设计你的布局。一个好的关于CSS的介绍可以在http://www.w3schools.com/css/css_intro.asp.找到。
- 优化你的图片。使用OptiPNG (http://optipng.sourceforge.net/)之类的程序优化它们,让你的图片加载速度更快。另外,如果你不需要,不要使用HTML改变图片的大小(例如,你需要一个60x60的图片,直接调整它的大小,而不是使用HTML)。
- 尽量减少Java、JavaScript、Flash和其他可在客户电脑运行的内容。记住有些网吧处于安全考虑不支持这种内容。务必让你想传递的信息以纯HTML格式显示。
- 为你的CSS和JavaScript 使用外部文件。如果你使用某种CSS样式或JavaScript,它们一再在你网站上出现,可以考虑保存为单独的文件,并在网页的页眉调用它。这将允许你的客户的浏览器把文件存储于硬盘,每次他们访问你网站的网页时,他们将不需要下载所有的内容。
- 缩减你的代码。去掉不需要的不起作用的行和空格。有些工具可以自动做这些,可以在http://javascriptcompressor.com上找到。
- 尽可能减少服务器请求。如果你有一个动态的网站,但是内容改变不频繁,你可能需要安装一个缓存扩展,它可以向你的用户提供你的内容的静态版本,因此明显的减少请求你数据库的数量。