



注意

关于数据保护的建议
为了最大限度地降低数据安全违规的风险,我们建议对运行应用程序的系统采取以下组织和技术措施。尽可能避免将 PLC 和控制网络暴露在开放网络和互联网上。使用额外的数据链路层进行保护,如用于远程访问的 VPN。安装防火墙机制。限制授权人员访问。使用高强度密码。在调试前后定期更改默认密码。
使用CODESYS 和相应控制器支持的安全功能,如加密与控制器的通信和有意限制用户访问。
与设备的通信可通过设备上的加密和用户管理加以保护。您可以在设备编辑器的“通讯设置” 选项卡上更改当前的安全预设。
建立与控制器的连接、登录、安装用于加密通信的可信证书
要求:与控制器的加密通信和用户管理均在控制器上执行。不过,目前还不存在个人密码。您的计算机上尚未安装证书,并且尚未配置与控制器的连接。
-
在设备树中,双击控制器。
设备编辑器打开。
-
单击“通讯设置” 选项卡。
-
单击“扫描网络” 。
-
选择控制器。
此时将打开一个对话框,通知您设备的证书不具有用于通信的可信签名。系统会提示您是否将此证书作为受信任的证书安装到计算机上的本地 "控制器证书 "存储区,或者只接受此证书的会话。
注意
以这种方式安装的控制器证书有效期只有 30 天。这样,您就有时间采取以下长期解决方案:
-
创建一个期限更长(例如 365 天)的附加自签名证书。如果您已安装CODESYS Security Agent ,即使证书已经存在,也可以在安全屏幕上执行此操作。使用设备编辑器的 PLC 外壳不是一种方便的变通方法。
见下图:"使用有效期更长的控制器证书配置加密通信"
-
导入 CA 签名证书。目前只能通过运行时的 PLC shell 命令来实现。因此,我们建议首先使用自签名证书。
-
-
如果要安装证书,请选择第一个选项,然后单击“OK” 确认对话框提示。
证书被列为可信。首次接受自签名证书后,您可以反复与控制器建立加密连接,而无需进一步提示。
显示对话框提示,通知需要对设备进行用户管理,但尚未启用。如果需要,系统会提示您启用用户管理。在这种情况下,您必须创建一个新的管理员账户,然后以该用户身份登录。
-
单击“Yes” 关闭对话框提示。
“添加设备用户” 对话框将打开,以创建初始设备管理员。
-
创建设备用户,以便以该用户身份编辑用户管理。在这种情况下,只有“Administrator” 组可用。为用户指定“Name” 和“Password” 。显示密码强度。还请注意有关密码更改的设置选项。默认情况下,用户可以随时更改密码。单击“OK” 进行确认。
“设备用户登录” 对话框将打开。
-
输入上一步中定义的设备管理员凭据。
您已登录控制器。在“Users and Groups” 选项卡上,可以使用
按钮切换到同步模式。设备用户管理在此显示,您可以对其进行编辑。
单击“OK” 确认后,设备用户管理将显示在编辑器视图中。它包含你刚刚定义的“Administrator” 组的用户。该用户的名称也会显示在窗口的任务栏中,如“设备用户” 。
-
所有保存的控制器证书(从步骤 5 开始)都存储在计算机上的本地 Windows 证书存储区中。您可以通过“执行”,
certmgr.msc
命令访问该内存。“Controller Certificates” 中列出了用于与控制器进行加密通信的所有注册证书。
通过CODESYS Security Agent 为加密通信配置有效期更长的控制器证书(建议使用)
要求:CODESYS Security Agent 附加产品已安装。您想用有效期更长的证书替换首次连接受保护控制器时获取的临时证书(如上所述)。
在这种情况下,“安全屏幕” 视图提供了一个附加选项卡:“设备”.这样就可以为与控制器的加密通信简单配置证书。有关操作,请参见CODESYS Security Agent 的帮助:"通过控制器证书与设备进行加密通信"。
安装控制器证书,以便通过设备编辑器的 PLC 外壳进行加密通信
当您无法使用CODESYS Security Agent 时,请选择这种不太方便的方法。在这种情况下,您可以在设备编辑器的“PLC Shell” 选项卡上为通信加密设置一个有效期更长的证书。
要求:您已连接到控制器。
-
首先,要检查控制器上是否已有合格证书。如果没有可用证书,则创建新证书。
双击设备树中的控制器,打开设备编辑器,并选择“PLC Shell” 选项卡。
标签页出现空白显示窗口。下面是命令行。
-
在命令行中键入以下命令:
cert-getapplist
。所有使用过的证书都已列出。列表包括运行时组件的信息以及证书是否可用。
-
如果组件
CmpSecureChannel
的证书仍然不存在,则在输入行键入以下命令:cert-genselfsigned <number of the component in the applist>
-
单击“Log” 选项卡,然后单击刷新按钮 (
)。
显示屏会显示证书是否成功生成。
-
再次返回“PLC Shell” 选项卡,键入命令
cert-getapplist
。显示组件
CmpSecureChannel
的新证书。 -
接下来的两个步骤是在CODESYS 的安全界面激活加密通信。
-
双击状态栏中的
,打开“安全屏幕”。
-
在“User” 选项卡上,选择“Security Level” 组中的 “Enforce encrypted communication” 选项。
与所有控制器的通信都是加密的。如果控制器上没有证书,则无法登录。
开发系统、网关和控制器之间的连接线在控制器设备编辑器的“通讯设置” 选项卡上显示为黄色。
-
作为“Enforce encrypted communication” 选项(该选项适用于所有控制器)的替代方案,您也可以只为特定控制器定义加密通信。为此,请在相应控制器的编辑器中选择“通讯设置” 选项卡。然后在“设备” 列表框中单击“加密通信”。
与该控制器的通信是加密的。如果控制器上没有证书,则无法登录。
开发系统、网关和控制器之间的连接线在控制器设备编辑器的“通讯设置” 选项卡上显示为黄色。
-
首次登录控制器时,会打开一个对话框,显示控制器证书未由可信机构签署的信息。此外,对话框还会显示证书的相关信息,并提示您将其作为可信证书安装到“Controller Certificates” 文件夹中的本地存储中。
确认对话框后,证书将安装到本地存储中,并登录到控制器。
今后,与控制器的通信将通过该控制证书自动加密。
-
为提高控制器 < V3.5 13.0 密钥交换的安全性,可在控制器上生成 Diffie-Hellman 参数。为此,请在输入行中键入命令
cert-gendhparams
。控制器 >= V3.5.13.0 不再需要此功能。
注意
注意事项生成 Diffie-Hellman 参数可能需要几分钟甚至几小时。不过,每个控制器只能执行一次该过程。Diffie-Hellman 参数提高了密钥交换的安全性,并可防止未来针对加密数据记录的攻击。
更改通信策略(加密、用户管理)
要求:与设备的连接已建立。
-
在设备树中,双击控制器。
设备编辑器打开。
-
单击“通讯设置” 选项卡。
-
打开编辑器头部的“Device” 菜单。单击“更改通信政策” 。
“更改通信策略” 对话框将打开。
-
在对话框上部,可以在“可选加密” 、“强制加密” 和“无加密” 设置之间切换。
-
在对话框下部,可以在“可选用户管理” 和“强制用户管理” 设置之间切换。
启用和禁用强制加密通信
要求:设备支持加密通信。
-
在设备树中,双击控制器。
设备编辑器打开。
-
单击“通讯设置” 选项卡。
-
打开编辑器头部的“Device” 菜单。单击“加密通信” 。状态在启用和禁用之间切换。
如果选择“Encrypted communication” 选项,则开发系统、网关和设备之间的连接线会在编辑器中以粗体和彩色突出显示在图形中。