在建站过程中我总结了4类最常见的工作,它们分别是:安全配置、效率加速、SEO优化和功能丰富。我把安全放在首位,此文主在分享新手站长应该注意的安全禁忌,以及一些简单却必要的安全配置,环境是 CentOS + WordPress。
1.不要测速,不要跑分!
第一次看到自己的网站可以访问了,心情激不激动?同作为站长那种欢欣也是感同身受,在为学习建站而收罗的各种资料里,很可能会包含一些讲网站优化后,通过某某平台测速,得到高分的内容。
但此时此刻,无论心情多么的迫切,一定不要去第三方平台测速。
在网站刚刚可以访问的“初生期”,由于没有使用如 CDN(内容分发网络)等措施,通过第三方平台进行网站测速会直接访问源站 IP,而这里的问题在于:大多数的测速平台,是允许搜索引擎收录测速结果的。所以源站 IP 也极有可能暴露到公网里。互联网的攻防无处不在,蜘蛛爬虫也不是只有搜索引擎的,还有黑帽和白帽,如果让不怀好意的人得到源站 IP,就像两军对垒让敌方获悉了我方指挥部所在的坐标一样危险。
等到“狡兔三窟”就可以尝试了,毕竟“一片绿”是每个站长的梦想。曾经就有一位无名氏,在网线另一头坚持不懈地 Hack 极客飞船,所以在那些漫长的夜晚我也孜孜不倦地对网站进行强化、升级、反眼、搞魔抗、合隐刀 :-p
2.加强密码
为了使密码不能轻易被词典暴力破解,就应达到一定的长度,同时尽量使用字符、大小写字母、和数字的组合,并且没有明确的逻辑性。这样,尝试用社会工程学猜解密码的行为就基本告吹了,这里总结一下常见的账号类型:
- 操作系统的 root 管理员账号;
- mysql 数据库的 root 管理员账号;
- WordPress 所关联的数据库用户账号;
- FTP 远程文件管理账号;
- 服务器可视管理面板(如 UPUPW ANK、wdCP)的登陆账号;
- WordPress 后台管理员账号。
附上修改 CentOS root 管理员密码的方法,登录 CentOS 输入命令:
#passwd
附上修改 mysql root 管理员密码的方法,登录 CentOS 输入命令:
#mysql -u -root -p
如果不行试试
#mysql -h 127.0.0.1 -u root -p
看到 Enter password 后输入原密码登录 mysql,继续输入命令:
mysql>set password for 'root'@'localhost' = password('这里改成新的密码');
接下来刷新权限表,退出mysql:
mysql>flush privileges;
mysql>exit;
3.修改默认端口
wdCP 的默认访问地址是 ip:8080,既默认端口为 8080,此外还有 FTP 远程文件管理的默认端口为 21,SSH 远程登录的默认端口为 22,这些都建议修改。
修改位置分别可以在 wdCP 的「系统设置>系统设置」和「安全管理>ssh管理」中找到。如果拿不准将端口号修改为多少,最简单的解决办法就是百度一下“xx端口”,看看预想的这个端口是否有其他服务默认在使用。
特别说明一下 3306 端口,3306端口是 mysql 的默认端口,如果用不到 MySQL-Front 之类的工具远程管理mysql,最好将 3306 端口设置为仅限本机访问。
设置方法:
编辑 mysql 的配置文件 my.cnf,不同环境下 mysql 配置文件的路径可能不同,一般是 /etc/my.cnf,编辑该文件加入以下语句:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
可以在 wdCP 中点击「系统设置>端口管理」查看端口状态,或者通过 CentOS 输入命令:
# netstat -an | grep 3306
如果是 127.0.0.1 则表示仅限本机访问。
4.删除冗余文件
WordPress 中有一些冗余文件,多数情境中不会用到,不加以限制会有被骇客利用的风险,本文先说两个容易处理的。
在网站根目录找到 readme.html 文件,删除它,它只是一个 WordPress 的说明文档,但是会暴露 WordPress 的版本号,别有用心的人可能根据文档内容,有针对性地寻找该 WordPress 版本的漏洞实施攻击。
在网站目录中的 /wp-admin 目录找到 install.php 文件,删除它,这个文件只会在安装 WordPress 时调用,之后便功成身退了,删除它并不影响网站运行。
建议无论删除什么文件,都做好备份工作,因为你不知道什么时候还会用上。
5.最后,安装防火墙
其实在我建站的初期,除了升级 php 和 mysql 外,最先干的事是安装防火墙。我也认为它的优先级应该排在前列,之所以放在文末写,是因为这项工作虽然简单但需要消耗更多时间。
防火墙安利下安全狗,其实也不用我安利,关于它的市场占比看过一个统计:shadan设备统计。事实上,安全狗确实帮助极客飞船挡住了很多攻击,无论统计的精准性如何,安全狗也的确是一个能快速帮助新手站长建立起坚固防线的产品。
官方的安装说明也非常言简意赅,这里贴一下:
-
- 下载服务器安全狗Linux版(以32位版本为例)
方法1:在官网直接下载软件安装包(.tar.gz 格式:safedog_linux32.tar.gz)
方法2:采取wget方式下载发布包:wget http://down.safedog.cn/safedog_linux32.tar.gz
- 安装服务器安全狗——三合一Linux防护软件(服务器/Nginx/Apache防护全支持)
在root 帐户下执行以下命令:tar xzvf safedog_linux32.tar.gz cd safedog_linux32 chmod +x *.py ./install.py
- 执行以下命令加入服云,告别Linux传统字符界面,体验更多服云功能(fuyun.safedog.cn):
sdcloud -u 服云帐号
- 完成服务器安全狗安装
完成安装后可运行命令sdui
进入操作界面。
- 下载服务器安全狗Linux版(以32位版本为例)
看到这个界面就表示妥了:
安全狗还提供了 Web 版的管理页面:安全狗.服云登录。
做到这一步,我们还没有隐藏起源站 IP,请移步:网站CDN搭建方法和缓存策略分享、配合CDN进行301跳转完美隐藏源站IP