Rsync 是一个很棒的工具。但我认为如果一个攻击者可以入侵我的服务器并利用 rsync 删除其他服务器的数据:
sudo rsync -avzP --delete /tmp/emptyfolder -e "ssh -p 22" <other_server_ip>:/
如果我丢失了一台服务器,我不希望攻击者利用它来破坏其他服务器。如何防止这种情况发生?
答案1
我马上就能想到三种明显的可能性(而且我确信,如果我花一些时间考虑这个问题,我还能想到更多的可能性):
不允许随机用户以 root 身份运行随机命令或允许闯入允许运行随机命令的环境的命令(例如,编辑器启动子 shell 或将文件保存到 /etc/cron.d)。
不允许在其他机器上以 root 身份自动验证(无密码)登录,即使是“受信任”的机器。如果你绝对必须允许以 root 身份自动验证登录,确保这些登录使用单独的密钥,这些密钥被锁定以仅允许确切地需要什么,并考虑是否可以逆转作业流程,使得作业不需要超级用户权限即可运行。
准备好备份和灾难恢复计划。确保定期测试这两项计划。
基本上,这些可以归结为做好系统管理员的职责。合理的设置应该采用所有这些策略来防范外部攻击者的威胁以及其他授权个人的简单错误或硬件/软件故障。
大多数能够获得 root 权限的攻击者更有可能利用该权限获取进一步的访问权限或窃取数据,而不是破坏系统。被破坏的系统对攻击者来说毫无价值,除非他们要测试您的备份和灾难恢复程序。可以用作进一步攻击跳板的系统可能具有重大价值。作为系统管理员,您的部分工作是确保您所负责的系统和数据的安全性和机密性。