文件系统
保护全局配置文件免受未经授权的写入访问
目标群体系统管理员
描述:CODESYS 4将全局配置文件存储在系统级配置文件夹中。在 Linux 系统中,该文件夹位于:/etc/CODESYS-4它通过 .deb 包在安装过程中创建,默认情况下只有管理员才能写入。在 Windows 系统上,CODESYS 4存储一个安全的子文件夹%ProgramData%如果权限设置不正确,程序将拒绝运行。全局设置中不会保存任何凭据。
行动请确保全局配置文件夹只有管理员或软件包管理器可以写入。c4-pkm——并且权限设置正确。否则CODESYS 4在Windows系统上将无法启动。
推理如果普通用户可以更改全局配置,那么……的行为CODESYS 4系统的所有用户都可能受到操控。特别是,扩展程序(以及编译后的库)可以通过这种方式注入,而不会被察觉或追踪。扩展程序还可以以当前用户的身份执行任意代码(另见:仅安装和使用受信任的扩展程序)。
哈登证书商店和信任锚
目标群体系统管理员
描述:用于软件包和库的签名验证,CODESYS 4使用系统证书存储区或其中存储的信任锚点。Windows 默认使用系统证书存储区。
行动:通过设置文件系统权限并定期更新信任锚点,防止本地用户修改证书存储和信任锚点——这相当于维护ca-certificates在Linux系统上。
推理如果本地用户可以修改信任锚点或添加自定义信任锚点,那么恶意软件包或库的签名在验证过程中可能会被接受为可信签名。之前因签名验证而被阻止的恶意扩展程序,现在可以通过这种方式安装。日志仅记录安装过程本身,而不会记录签名基于后续注入的信任锚点(例如,自签名根 CA)这一事实。
为日志目录提供限制性权限
目标群体系统管理员
描述: 默认情况下,CODESYS 4将调试日志写入到%APPDATA%\CODESYS-4\logs Windows 上的文件夹以及~/.config/CODESYS-4/logs在 Linux 系统上,日志文件位于一个文件夹中。当日志文件大小达到约 1 MB 时,系统会进行轮换,并保留 14 天,从而限制存储空间的占用。
行动对日志目录设置严格的权限,以便只有授权用户才能读取日志文件。
推理日志文件可能包含敏感和个人信息(另请参阅:请考虑调试日志中的个人数据如果日志目录保护不足,其他用户可以读取这些信息或篡改日志文件。
设置具有正确权限的共享工作目录
目标群体系统管理员
描述:CODESYS 4它没有自己的项目目录和工作目录访问控制列表 (ACL)。访问保护完全基于操作系统的文件系统权限。默认情况下,没有共享的工作目录。
行动设置共享团队工作目录时,请使用正确的组或 ACL 权限对其进行保护,以便只有预期的用户组才能读取和写入。
推理权限设置不当会导致团队以外的用户查看、操作或损坏共享项目,从而损害团队的知识产权,造成数据丢失。