0

我使用这个 MS 链接在 PC 上用 C# 组合了一个 TCP 服务器。我保持端口打开并等待各种 PLC 客户端建立连接。PLC 正在移动自主机器人,因此它们会进出 Wi-Fi 范围。我正在使用此设置从机器人获取运行变量(电池电量百分比等)并将它们显示在 UI 中以供系统管理员监控。

我使用端口转发设置路由器,以便数据从各个客户端到达服务器 PC。我正在使用 Siemens S7-1200 PLC,但我认为它们不支持 PC 等高端安全功能。

所以我的问题是,如果管理员 PC 正在运行一个持续监控开放端口的 Windows 服务,那么是否存在安全风险?如果存在风险,您能否通过链接或资源来解释和支持以帮助我修补这些漏洞(在 C# 中)?

对我来说这似乎是安全的,因为如果 PC 关闭,端口就会关闭。如果 PC 处于开启状态,则端口是打开的,但会绑定到监视它的应用程序。如果端口收到它认为无效的东西,它只会转储该数据。我对软件和 PC 安全性的了解并不多,但这略有不同,因为它是与功能较弱的硬件接口的单台 PC。

4

1 回答 1

0

打开端口会将您暴露给连接到该端口并提供不良信息的任何人,暴露您的消息解析和套接字处理实现(缓冲区溢出或脚本注入)的漏洞,或者只是让您的应用程序充满流量。最后一个几乎是不可能防御的,总有人可以在某种程度上对你进行 DOS 攻击。

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

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

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

于 2016-09-23T07:54:44.697 回答