我被要求管理一台 Linux 服务器,运行开箱即用的 SLES。它是一台 Typo3 Web 服务器,并且也在 Tomcat 中运行一些 Web 应用程序,但该服务器上没有需要特殊保护的敏感内容(没有个人信息、没有信用卡号等)。该服务器由数据中心提供,它
- 从磁盘冗余到防火等任何与硬件相关的内容
- 运行防火墙,限制在尽可能
- 每晚备份数据
- MySQL 在备份开始前转储
除了“用户应用程序”,我已经设置并检查了
- 重启后所有服务自动启动
- 服务器既没有运行,也没有通过 exident 重新启动到运行级别 5
- 正在监控测量值(内存、磁盘空间、CPU)
- 已配置手动安装的应用程序的日志文件轮换
- 已启用自动操作系统更新
- 系统时钟与时间服务器同步
就这样置之不理,您认为这个安装何时以及为什么会因为某些不知情的人忽略了而导致服务中断(可能是内部错误或被黑客破坏)?根据您的经验,我的列表中明显缺少什么?
答案1
如果有人让我“照顾好客户的服务员”,我可能会问他们是指“阿尔·帕西诺”还是“朱莉娅·安德鲁斯”式的“照顾”。(讽刺)
一切都取决于服务器上正在运行的内容。您可以(并且应该)监控每项重要服务,如 DB、RAM、Web 应用程序等(例如使用 Nagios)。
限制性数据包过滤当然是个好主意。
您应该评估远程登录(ssh,rdp等)的必要性并相应地保护它们。
您应该通过创建单独的用户、调整访问权限、使用 selinx 等方式来保护服务器上的服务。
敏感数据保护确实取决于其敏感度。但至少要通过访问权限进行保护,最终通过加密进行保护。但实际上取决于具体情况。
对我来说,让服务器自动处理(=安装)更新是一个非常愚蠢的想法。由于某些更新可能需要重新启动服务甚至重新启动整个机器,因此当服务器在凌晨 3 点“宕机”或(甚至更好)当它应该为几百个客户提供服务时,可能会导致一些有趣的时刻。更好的方法是关闭更新并每月手动执行一次。(在大型网络中,这可能是一个痛苦的过程,但我个人喜欢“在我控制之下”的服务器)。