关键词挖掘工具爱站网wordpress企业原创主题
关键词挖掘工具爱站网,wordpress企业原创主题,wordpress网站回调域,怎么做系统网站安全
概述
OpenPLC 运行时 v4 实施了多层安全防护#xff0c;以抵御常见漏洞#xff0c;并确保在工业环境中的安全运行。
TLS/HTTPS
自签名证书
运行时在首次启动时会自动生成自签名的 TLS 证书#xff1a;
证书文件#xff1a;
webserver/certOPENPLC.pem – 证书w…安全概述OpenPLC 运行时 v4 实施了多层安全防护以抵御常见漏洞并确保在工业环境中的安全运行。TLS/HTTPS自签名证书运行时在首次启动时会自动生成自签名的 TLS 证书证书文件webserver/certOPENPLC.pem– 证书webserver/keyOPENPLC.pem– 私钥证书详情密钥长度2048 位 RSA有效期365 天主题CNlocalhost主题备用名称localhost、127.0.0.1 以及检测到的 IP 地址实现代码webserver/credentials.py证书生成证书生成过程包含多项安全校验主机名校验防止在主机名字段中进行命令注入IP 地址校验确保 IP 格式有效路径校验防止证书文件路径中的目录遍历攻击自动续期检查证书有效性过期后自动重新生成关键函数CertGen.generate_self_signed_cert(cert_file,key_file)CertGen.is_certificate_valid(cert_file)使用自定义证书如需使用自定义证书例如来自 Let’s Encrypt 的证书用您的证书替换webserver/certOPENPLC.pem用您的私钥替换webserver/keyOPENPLC.pem确保证书包含所有必要的主机名/IP重启运行时证书链若使用证书链请将证书串联在一起catyour_cert.pem intermediate.pem root.pemcertOPENPLC.pem身份认证JWT 令牌运行时使用 JSON Web 令牌JWT进行身份认证令牌存储密钥保存在/var/run/runtime/.env中256 位十六进制密钥64 字符首次启动时自动生成令牌用途WebSocket 调试接口需要 JWT 认证令牌通过 REST API 登录端点获取可通过重新生成密钥来吊销所有令牌环境变量JWT_SECRET_KEY64-character-hex-string密码安全用户密码经过多层保护哈希使用安全算法对密码进行哈希盐值每个用户拥有唯一的盐胡椒全局 256 位胡椒保存在.env文件中数据库存储于/var/run/runtime/restapi.db环境变量PEPPER64-character-hex-string配置管理.env文件在首次启动时自动生成采用安全默认值路径/var/run/runtime/.env内容SQLALCHEMY_DATABASE_URIsqlite:////var/run/runtime/restapi.db JWT_SECRET_KEY自动生成 PEPPER自动生成权限文件创建时带有受限权限仅运行时用户可访问不应提交至版本控制系统实现代码webserver/config.py文件上传安全ZIP 文件校验上传的 ZIP 文件在解压前会经过全面的安全检查路径遍历防护检查项无绝对路径以/开头无父目录引用..无盘符:字符解压路径经验证始终位于目标目录内示例拦截路径/etc/passwd ../../../etc/passwd C:\Windows\System32大小限制限制单个文件最大10 MB解压后总大小最大50 MB在解压前即强制执行目的防止资源耗尽和磁盘空间攻击ZIP 炸弹检测检查项压缩比必须 ≤ 1000:1示例压缩后1 KB解压后1 MB比率 1000:1– 允许解压后2 MB比率 2000:1– 拦截目的防止解压炸弹耗尽磁盘空间或内存扩展名白名单拦截的扩展名.exe– Windows 可执行文件.dll– 动态链接库.sh– Shell 脚本.bat– 批处理文件.js– JavaScript 文件.vbs– VBScript 文件.scr– 屏幕保护程序常被用作恶意软件目的防止执行恶意代码macOS 元数据移除移除项__MACOSX/目录.DS_Store文件目的清除可能包含敏感信息的多余元数据实现代码webserver/plcapp_management.py安全解压解压过程还包含额外安全措施根目录剥离自动移除单个顶层根文件夹路径规范化将所有路径转换为绝对路径并验证合法性目录创建安全地创建必要的子目录原子操作解压过程要么全部成功要么全部回滚进程安全特权要求运行时的某些操作需要提升权限实时调度设置 SCHED_FIFO 优先级套接字创建在/run/runtime/中创建 Unix 域套接字端口绑定绑定至 8443 端口特权端口建议使用sudo运行或授予特定能力capabilitiessudosetcap cap_sys_nice,cap_net_bind_serviceep build/plc_main进程隔离独立进程Web 服务器作为 Python 进程运行PLC 运行时作为独立的 C/C 进程运行仅通过 Unix 域套接字通信优势一个进程崩溃不会影响另一个进程可实现不同级别的权限内存隔离信号处理运行时能够优雅地处理信号SIGINT优雅关闭清理资源SIGTERM优雅关闭SIGSEGV捕获并记录日志如可能实现代码core/src/plc_app/plc_main.c网络安全端口暴露默认端口8443 (HTTPS) – OpenPLC 编辑器通信的 REST API建议使用防火墙限制访问仅暴露给可信网络远程访问可考虑使用 VPNDocker 端口映射dockerrun -p127.0.0.1:8443:8443...# 仅本地回环dockerrun -p8443:8443...# 所有接口Unix 域套接字套接字位置/run/runtime/plc_runtime.socket– 命令套接字/run/runtime/log_runtime.socket– 日志套接字安全性仅本地系统可访问文件系统权限控制访问不暴露至网络权限创建时带有受限权限仅运行时用户可连接数据安全数据库路径/var/run/runtime/restapi.db内容用户账户哈希密码会话数据保护措施文件系统权限SQLite 加密如配置建议定期备份日志敏感信息日志可能包含变量值IP 地址及连接信息带有文件路径的错误信息建议定期轮转日志限制日志文件访问权限共享前对日志进行脱敏处理编译后程序路径build/libplc_*.so内容编译后的 PLC 逻辑变量定义自定义功能块保护措施文件系统权限不通过网络传输带时间戳以进行版本控制Docker 安全容器隔离优势与宿主机进程隔离网络隔离除非显式暴露文件系统隔离注意事项实时调度可能需要特权模式挂载卷会暴露宿主机目录端口暴露会创建网络访问入口卷安全持久化卷dockerrun -v openplc-runtime-data:/var/run/runtime...内容含机密的.env文件含用户账户的数据库编译后的程序建议使用命名卷而非绑定挂载定期备份卷限制卷的访问权限镜像安全官方镜像ghcr.io/autonomy-logic/openplc-runtime:latest安全特性基于 Debian bookworm-slim最小攻击面通过 CI/CD 定期更新多架构支持签名镜像GitHub 容器仓库验证方法dockerpull ghcr.io/autonomy-logic/openplc-runtime:latestdockerinspect ghcr.io/autonomy-logic/openplc-runtime:latest安全最佳实践部署仅使用 HTTPS切勿禁用 TLS强密码强制密码复杂度定期更新保持运行时及依赖项为最新防火墙规则限制网络访问监控监控日志以发现可疑活动开发代码审查合并前审查所有变更静态分析使用 linter 和安全扫描工具依赖项扫描检查是否存在漏洞依赖输入校验验证所有用户输入错误处理错误信息中不暴露敏感信息运维定期备份备份/var/run/runtime/目录轮换密钥定期重新生成 JWT 密钥和胡椒审计日志检查日志中的安全事件更新证书在证书过期前续期最小权限原则以所需的最低权限运行漏洞报告若发现安全漏洞请勿公开提交 issue私下联系维护者提供详细的重现步骤留出补丁开发时间协调披露时间安全局限性已知限制自签名证书默认证书为自签名OpenPLC 编辑器可自动处理无速率限制API 端点未限制请求频率无账户锁定未提供暴力破解防护无审计追踪安全事件日志记录有限无静态加密数据库和文件未加密未来改进计划中的安全增强功能API 端点速率限制失败尝试后的账户锁定全面的审计日志数据库静态加密证书管理界面双因素认证基于角色的访问控制合规性考虑工业标准运行时专为工业自动化设计但未声称符合特定标准如 IEC 62443。各组织应进行安全评估根据需要实施额外控制措施遵循行业特定指南记录安全配置数据保护对于有数据保护要求的环境GDPR 等最小化数据收集实施数据保留策略提供数据导出功能记录数据流实施访问控制相关文档编辑器集成 – OpenPLC 编辑器如何连接运行时架构 – 系统概述API 参考 – REST 端点调试协议 – WebSocket 接口Docker 部署 – 容器安全故障排除 – 安全相关问题