如何保障你的VPS服务器安全?


注:

1. 不建议使用权限过高的管理面板比如某塔,更何况还是闭源

申请证书,配置代理,完全可以使用诸如Nginx Proxy Manager,具有可视化面板,源代码开源,全球用户检验过的。

熟悉之后或者动手能力更强的可以手搓配置。

2. 本文涉及的代码以Debian/Ubuntu举例,CentOS及其他系统相应更改即可


第一步 系统更新

新机器到手, 应当立即进行软件包更新:

apt update && apt upgrade -y && apt dist-upgrade -y && apt full-upgrade -y && apt autoremove -y

更新完成后建议重启一下:

reboot

一些恶性漏洞必须通过更新得到修补

建议不要升级大版本/更新内核,除非你的是物理服务器;各种架构的VPS和云主机大版本升级或者更新内核可能出现问题(专家可以忽略)

大版本升级/更新内核前务必备份重要数据!


第二步 SSH安全

不要使用账户密码登录,一定使用密钥登陆

以下用Termius工具演示:

Termius工具介绍以及免费使用的方法可以看我视频:


打开Termius,进入设置

生成密钥对

创建服务器的时候,把公钥public key复制进去就行(以Vultr举例)

(注:Vultr现在活动,注册送100美元)

然后用Termius一键登录服务器,安全又快捷


第三步 防火墙

第一张情况,你的云服务器提供商提供了安全组/防火墙,比如AWS亚马逊,GCP谷歌云,Oracle甲骨文等等,基本不用另外安装防火墙

第二张情况,商家默认没有安全组,你的鸡在裸奔。需要我们自己在 VPS 上配置防火墙, 比如Debian/Ubuntu 使用 ufw:

# 安装ufw
apt install ufw -y

# 默认阻止入站
ufw default deny incoming 

# 默认允许出站
ufw default allow outgoing 

# SSH 连接端口默认22
ufw allow 22 

# 允许HTTP HTTPS
ufw allow 80
ufw allow 443 

# 立即启用 ufw, 提示可能中断当前 SSH 连接, 按 y 继续即可
ufw enable

更多命令:

  • 启用 UFW: ufw enable
  • 禁用 UFW: ufw disable
  • 列出当前活动规则(详细地): ufw status verbose
  • 列出当前活动规则(带序号): ufw status numbered
  • 允许访问某端口: ufw allow {PORT}
  • 阻止访问某端口: ufw deny {PORT}
  • 删除某规则: ufw delete {RULE}|{NUM}
    • 可以是你原来执行的命令 RULE, 如原来执行了 ufw allow 80, 要删除此规则, 就是 ufw delete allow 80, 其他依此类推

比如你要搭建网站/博客,且使用内容分发网络比如 Cloudflare CDN, 完全可以只暴露80,443,22。

使用Cloudflare ZeroTrust 甚至不暴露 HTTPS 端口, 服务器只对外暴露个 SSH 端口22, 极致安全。


注:

强制SSH使用密钥认证禁止密码登录:

nano /etc/ssh/sshd_config

#禁用密码验证
PasswordAuthentication no

#启用密钥验证
PubkeyAuthentication yes

重启服务生效:

systemctl restart sshd.service

参考:

https://www.cloudflare.com/zh-cn/learning/security/glossary/what-is-zero-trust/

https://www.nodeseek.com/post-2512423470-1

https://www.cloudflare.com/zh-cn/learning/access-management/castle-and-moat-network-security/

分享你的喜爱

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注