提高网站安全性,避免站点被黑,以下内容仅对小型个人博客适用,商业网站请考虑更为专业的防黑服务。
避免ROOT用户直接操作
最重要的一条就是不要以root身份直接对VPS进行操作,尝试建立不同的用户及用户组,分配适当的权限。并为服务进程分配专用的用户。只有在需要特权的时候才使用sudo 命令提权。切记切记!
综述
拿到VPS后请立即重置root密码,生成SSH密钥并关闭SSH密码登录。
请注意在任何地方不要使用弱口令,必要是请使用密码生成工具生成高强度密码并妥善保管。
尽量使用知名度高的开源程序,并注意其发布的安全更新。
SSH认证安全
SSH密码登录非常容易被穷举。因此出于安全考虑,一般使用密钥登陆SSH。除此之外,还可以考虑更换SSH端口等来增强安全性。一般采用如下措施。
启用密钥认证并关闭密码登录。
修改SSH监听端口。
建立专用用户登录SSH,关闭root远程登陆。
普通用户设置SSH密钥访问
对Windows用户来说,一定要从官方网站下载SSH工具并校检数字指纹。避免工具被植入后门。
除此之外,还可以通过添加fAIl2ban一类软件屏蔽掉尝试穷举SSH密码的IP。
以Ubuntu为例:
安装fail2ban
apt-get install fail2ban -y
安装之后即可通过 /var/log/fail2ban.log 来查看日志。
数据库只监听本地
如果没有远程访问需求的话,可以将数据库设置为只监听本地(127.0.0.1)。
以MySQL为例:
/etc/mysql/my.cnf 文件
修改为
bind-address= 127.0.0.1
随后重启MySQL即可:
/etc/init.d/mysql restart
iptables开放常见端口
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
上例只开放了SSH、http以及https访问,并拒绝其他访问。
需要注意的是,不同的Linux发行版需要不同的命令来保存iptables规则,请自行搜索保存方法。
其他
注意计算机物理安全,离开时请注销计算机会话。
提高安全意识,防范社会工程学攻击。