因为国内备案复杂,所以去年在国外买了个云服务器,AWS、GCP等一众大厂转了一圈,一个比一个贵,最后还是在 RackNerd 上买了个 2C4G 的小服务器,一年200多rmb,也不算贵。
结果,没过两个月就被各种脚本攻击渗透,直接被 RackNerd 官方给封禁了。原来,RackNerd 只负责提供一个服务器,安全防护基本等于没有。所以,这里记录一下,如何防护自己的 Centos 云服务器。
我们个人开发使用的服务器,一般来说不具有太高的价值,不太会吸引到高强度的攻击。绝大部分情况下,我们需要应对的是一些自动化脚本的恶意扫描和登录尝试。
想要登录服务器,一般需要 IP + 端口 + 用户名 + 密码。而公网 IP 是无法隐藏的,这一点上我们做不了什么。所以,基本的安全防护,就要从其他三个方面入手。
1. SSH防护
更改端口
ssh默认的端口是22,将其改为其他端口(大于1024小于65535的都行)
vim /etc/ssh/sshd_config
# 修改 Port 配置
Port yourPort
# 保存退出,重启sshd
sudo systemctl restart sshd
更改用户
因为 Linux 中 root 用户是最高权限的用户,所有的 Linux 机器默认都是用 root 用户登录,所以我们需要把登录的用户名改掉,给黑客脚本增加破解难度。
useradd yourname -g root
visudo
# 给yourname用户添加权限
yourname ALL=(ALL) NOPASSWD: ALL
# 修改ssh配置,禁止通过root用户登录
vim /etc/ssh/sshd_config
PermitRootLogin no
# 保存退出,重启sshd
sudo systemctl restart sshd
RSA秘钥登录
不管使用什么样的用户名和密码,都有被攻破的概率,但是使用 RSA 秘钥,就能把概率降到最低。
ssh-keygen -t rsa -b 4096 -C "yourhost"
#然后将你本地的机器上的 id_rsa.pub 复制到服务器的 authorized_keys中
转载请注明来源,欢迎指出错误或表达不够清晰之处。可以在评论区留言,也可以邮件至 hellozhugj@gmail.com