自力更生 | 守护一方赛博净土,我的自建服务思路分享

💡 原文中文,约12000字,阅读约需29分钟。
📝

内容提要

本文强调了自建服务的重要性和安全配置,包括定期更新系统和配置防火墙。还介绍了用户与权限管理、SSH安全配置以及自建服务的选择,如Web服务器、DNS服务、密码管理器、搜索引擎和RSS服务。最后,讨论了备份和加密的思路。

🔎

延伸解读

安全配置:自建服务的基石

文章强调,将自建服务暴露到公网前,必须做好安全配置。定期更新系统以修复安全漏洞,配置防火墙(如ufw)限制端口访问,使用普通用户而非root操作,并强化SSH安全(禁用root登录、更改端口、使用密钥登录)。这些措施能有效降低服务器被入侵的风险,避免数据泄露或财产损失。

服务选型:平衡功能与易用性

作者推荐了多款自建服务,如Caddy(自动SSL)、AdGuardHome(DNS过滤)、Vaultwarden(密码管理)、Whoogle-Search(隐私搜索)、FreshRSS(RSS聚合)等。选择时需考虑部署复杂度、资源占用和实际需求。例如,Whoogle-Search比SearX更轻量,适合仅需Google搜索代理的用户;Vaultwarden比官方Bitwarden服务端更易部署。

部署方式:容器化的利与弊

作者从抗拒到接受容器化部署,主要因为docker-compose简化了多容器管理,且资源开销可忽略。但需注意Docker与ufw的兼容性问题,可能导致防火墙规则失效。对于不可变系统(如Bazzite),可使用Podman和Quadlet以systemd服务方式管理容器。部署时应根据系统特性选择合适工具。

数据备份与加密:3-2-1原则与GPG实践

备份遵循3-2-1原则(三份副本、两种媒介、一份异地)。作者将Vaultwarden和FreshRSS数据自动备份并加密后上传至坚果云。使用GPG非对称加密,公钥加密、私钥解密,确保云端数据安全。通过脚本定时执行备份加密和Rclone同步,实现了自动化且安全的异地备份流程。

❓

Q&A

自建服务的安全配置有哪些关键点?

自建服务的安全配置包括定期更新系统、配置防火墙、使用普通用户而非root用户进行操作、禁用root登录以及使用SSH密钥登录。

推荐的自建Web服务器有哪些?

推荐使用Caddy作为自建Web服务器,它支持自动SSL证书管理,配置简单易懂。

如何确保SSH连接的安全性?

确保SSH连接的安全性可以通过禁用root用户登录、使用不常用的端口以及使用SSH密钥登录来实现。

自建服务中如何管理用户权限?

在自建服务中,建议创建一个有sudo权限的普通用户,平时以普通用户登录,必要时使用sudo提权,并可以禁用root账户。

备份和加密数据的重要性是什么?

备份和加密数据可以防止数据丢失和保护敏感信息,确保在数据泄露或丢失时能够恢复。

有哪些推荐的自建密码管理器?

推荐使用Bitwarden作为自建密码管理器,Vaultwarden是其轻量级的服务端选择。

🏷️

标签

➡️

继续阅读