我在 stackoverflow 上阅读了几个类似的主题,在这些主题中,其他程序员不鼓励使用简单的客户端/服务器应用程序和原始 TCP 套接字进行通信的做法。我承认存在顾虑,但对于我正在努力实现的目标,我看不到任何其他合理的方式。
这是我的计划:
我有一个用 C 语言编写的简单工作原型(prototype)客户端/服务器。客户端应用程序向我的服务器发送请求以远程执行代码,生成一个值,然后将该值传递给客户端。传输的数据不敏感,只会保存在 RAM 中,如果超过预定义的长度将被拒绝。如果我运行一个(加固的)专用服务器,其唯一目的是远程执行代码以生成响应,是否存在我忽略的任何安全问题?
我不太担心我的服务器受到威胁,而更担心对客户端计算机可能造成的损害。我对我的服务器被黑客攻击的可能性并没有视而不见 - 我只是想传达他们不会有任何敏感数据,即使它确实受到损害。考虑到传输的数据范围狭窄,我看不出如何注入(inject)任何恶意软件 (mitm),但也许我太天真了,忽略了什么?请告诉我。
我可以通过重写技巧通过 HTTP 完成此操作,但这很复杂,我会招致比我想要的更多的开销,而且我不确定它是否更安全。
谢谢。
最佳答案
您需要考虑您的服务器被入侵者损坏或删除甚至断电的可能性。任何涉及远程执行代码的事情都会引起我的注意。您至少必须使用安全的客户端身份验证方案。
关于c - 非敏感信息的TCP客户端请求/服务器响应的安全考虑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21540631/