注:
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举例)
然后用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
, 其他依此类推
- 可以是你原来执行的命令 RULE, 如原来执行了
比如你要搭建网站/博客,且使用内容分发网络比如 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/