TCP客户端请求/服务器响应非敏感信息的安全注意事项

时间:2014-02-04 00:21:17

标签: c security sockets tcp

我已经在stackoverflow上阅读了几个类似的主题,其中程序员不鼓励使用简单的客户端/服务器应用程序和原始TCP套接字进行通信。我承认存在担忧,但是我想要实现的目标,我没有看到任何其他合理的方式。

以下是我的计划:

我有一个简单的工作原型客户端/服务器,我用C编写。客户端应用程序向我的服务器发送请求以远程执行代码,生成一个值,然后将该值传递给客户端。传输的数据不敏感,只会保存在RAM中,如果超过预定义的长度则会被拒绝。如果我运行一个(强化的)专用服务器,其唯一目的是远程执行代码以生成响应,那么我是否会忽略任何安全问题?

我不太担心我的服务器遭到入侵,更担心可能对客户端计算机造成损害。我并不是对我的服务器被黑客攻击的可能性视而不见 - 我只是试图表明,即使它受到损害,它们也不会是任何敏感数据。考虑到传输数据的范围很窄,我不知道有什么恶意可以被注入(mitm)但是我可能天真并忽略了什么?请告诉我。

我可以通过重写技巧在HTTP上实现这一点,但这是错综复杂的,我会产生比我想要的更多的开销,我不确定它会更安全。

感谢。

2 个答案:

答案 0 :(得分:0)

机密性 - 如果您觉得数据不敏感则不需要

身份验证 - 证书可用于确保客户端与真实服务器通信。请检查openssl

确保服务器以较低的权限而不是root权限运行,以便在发生内存损坏攻击时不能完全破坏服务器。

使用HTTP不会有任何区别,HTTP在传输层使用TCP连接。 HTTPS可能是一种解决方案。

答案 1 :(得分:0)

您需要考虑服务器被入侵者损坏或擦除甚至断电的可能性。任何涉及远程执行代码的事都会响起我的警报。您必须至少使用安全的客户端身份验证方案。