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