最近家里那台闲置的旧电脑被我翻出来,装了个Linux系统,打算自己搭个服务器,用来存照片、文档,还能远程访问。刚开始觉得挺酷的,可没过多久就开始犯嘀咕:这么干,真的安全吗?
外网暴露,等于把家门钥匙挂网上?
很多人跟我一样,一开始以为只要路由器能转发端口,外网就能访问了,挺方便。但问题也出在这儿——一旦你开了端口映射,比如把80或443端口指向内网服务器,相当于在防火墙上开了个洞。如果服务器系统有漏洞,或者密码太简单,黑客扫描到就可能直接登进来。
我就遇到过一次,日志里发现半夜有人不断尝试用ssh登录我的服务器,用户名从root、admin到test都试了一遍。好在我改了默认端口,密码也够复杂,没让他们得手。但这事真让我后背发凉。
更新不及时,风险成倍涨
自己搭服务器最大的问题不是技术门槛,而是维护。公司运维天天盯着补丁、升级系统,咱们普通人呢?谁会记得每个月去检查一次系统有没有更新?一个未修复的漏洞,可能就成了别人入侵的入口。
之前有个朋友用老旧的Ubuntu版本搭服务,半年没更新,结果被植入挖矿程序,等他发现时电费都多交了好几百。他自己还不知道,是路由器流量异常才查出来的。
HTTPS和防火墙,基础防护不能少
想稍微安心点,有些基本功得做。比如用Let's Encrypt免费证书配HTTPS,避免数据明文传输。还有iptables或ufw这类防火墙工具,至少把不用的端口封死。
下面是个简单的ufw配置示例:
ufw allow 2222 # 自定义SSH端口
ufw allow 443 # HTTPS
ufw allow 80 # HTTP(可选)
ufw enable
别再用默认的22端口跑SSH,改个偏一点的,能挡住大部分自动化扫描。
动态DNS+反向代理,更稳更安全
家用宽带IP经常变,很多人用DDNS解决。但直接暴露IP还是危险。我后来改用Cloudflare Tunnel做反向代理,服务器根本不对外开放端口,所有请求通过加密隧道走,安全不少。
虽然设置麻烦点,但好处是:就算服务器有漏洞,外人也连不上,只能通过Cloudflare那层网关访问,等于多穿了件防弹衣。
数据备份,别等到丢了才后悔
安全不只是防黑客。自己搭服务器,硬件出问题也常见。硬盘坏了、电源烧了,数据全丢。我坚持每周把重要文件同步到另一个U盘,再传一份到网盘。三地备份,心里踏实。
有一次主板突然罢工,幸好备份完整,两天就恢复了服务。要是只靠一台机器,估计得哭。
适合谁?不适合谁?
如果你只是想学技术、练练Linux命令,自己搭服务器没问题,权当折腾玩具。但要是真拿来存家庭照片、工作资料,就得掂量清楚:你有没有时间和能力持续维护?愿不愿意为潜在风险负责?
对我来说,现在是折中方案:内网NAS存照片,外网访问通过加密隧道;非敏感服务可以放开,涉及账号密码的,一律上云服务商。平衡便利和安全,才是长久之计。