首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C#实现Socket安全

用C#实现Socket安全
EN

Stack Overflow用户
提问于 2016-07-14 17:52:42
回答 1查看 961关注 0票数 0

我使用this MS link在一台PC上用C#组装了一台TCP服务器。我保持端口打开,等待各种PLC客户端建立连接。PLC处于移动的自动机器人中,因此它们可以进出Wi-Fi范围。我使用此设置来获取运行变量(电池%等)。并将它们显示在供系统管理员监视的UI中。

我将路由器设置为端口转发,以便数据从各种客户端到达服务器PC。我使用的是西门子S7-1200PLC,我不认为它们支持像PC这样的高端安全功能。

所以我的问题是,如果管理员PC正在运行一项Windows服务,该服务不断地监视打开的端口,那么是否存在安全风险?如果有风险,能否请您解释并支持链接或资源,以帮助我修补这些漏洞(在C#中)?

这对我来说似乎是安全的,因为如果PC关闭,端口也会关闭。如果PC处于打开状态,则端口已打开,但已绑定到监控该端口的应用程序。如果端口接收到它认为无效的数据,它只会转储该数据。我在软件和PC安全方面的知识不是很精通,但这一点略有不同,因为它是一台连接能力较弱的硬件的单台PC。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-23 15:54:45

打开端口会将您暴露给连接到该端口并提供错误信息的任何人,暴露消息解析和套接字处理实现(缓冲区溢出或脚本注入)上的漏洞,或者只是使您的应用程序被流量淹没。最后一个几乎是不可能防范的,总会有人在一定程度上拒绝你。

这些都不是意想不到的风险,但您需要意识到它们,并确保正确清理传入流量以拒绝格式错误的请求,并以某种方式验证和丢弃不是来自您期望的机器人的连接。

如果您确实执行了身份验证步骤,则需要在使用SSL或SSH之类的东西进行身份验证之前加密通道。否则,其他人可能会监视您的流量,观察身份验证事务,然后复制它。

祝你好运!安全是一个很深的兔子洞,但却是一项非常有价值的技能!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38371020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档