我希望“A”计算机负责执行命令,“B”计算机将命令发送到“A”计算机。我对实施有一些想法。
WAY1: “A”计算机有一个真正的循环来监听“B”计算机的命令,当它被接收时,它会执行。
Way2: 使用FTP服务器,存储有关该命令的信息。 “A”计算机有一个while循环来检查“B”计算机是否上传了有关该命令的任何新信息。如果是,重建命令并执行。执行后,FTP服务器上的文件将被删除。并存储副本“A”计算机。
Way3: 这类似于way2,但使用数据库来存储。执行命令后,将执行该命令。
您对这三种方式有何建议?那够安全吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
您正在假设一种信任关系而没有提供任何关于您如何知道计算机A的有效负载是良性的线索。您打算如何防止计算机A发送“在为所有银行帐户和密码进行掠夺后重新格式化硬盘”的任务?
您的选项都没有任何安全性,因此很难说哪一个更安全。 FTP要求用户知道您的FTP服务器的URL,如果您不允许匿名访问,则需要用户名和密码。这使得2比1更安全.2和3同样(安全)。
一切都可以奏效,但都有风险。我在这里看到很少或没有安全保障。
答案 2 :(得分:1)
如果没有更多细节,我建议的安全性就是使用SSL。
使用FTP或数据库服务器只会增加不必要的复杂性,可能无法获得任何实际价值。
如果您需要安全的解决方案,则需要仔细描述您的环境,风险和攻击者。
你害怕欺骗吗?拒绝服务?信息披露?拦截?答案 3 :(得分:1)
你在真正在这里实施了什么?尽管如此,听起来你至少应该阅读一本关于信息安全的介绍性书籍。
答案 4 :(得分:1)
从您的示例中看来,您似乎并不太关心防范恶意攻击和位操作,但您想要的是可靠的交付。
查看消息队列解决方案,例如MSMQ。
答案 5 :(得分:1)
这取决于您需要什么样的安全性。 如果它是有保证的交付 - 任何使消息存储并批准存储的方式将在删除之前完成。 如果是发件人和收件人ID,你应该使用证书。 如果它是关于线安全性的 - 你应该加密消息。
如果您使用的是Microsoft世界,可以使用WCF实现所有功能。 如果您在Linux世界中,还有其他库。 (例如,您可以使用https帖子。)