已合并
[master][docs]add security website #36386
Dring创建于 5月21日
[master][docs]add security website #36386
已合并
Dring创建于 5月21日
1 个文件变更+15-10
MSECURITYNOTE.md+15-10
@@ -16,11 +16,11 @@
16 16 
172. torch_npu中profiler工具会生成性能记录文件,生成的文件权限为640,文件夹权限为750,用户可根据需要自行对生成后的相关文件进行权限控制。172. torch_npu中profiler工具会生成性能记录文件,生成的文件权限为640,文件夹权限为750,用户可根据需要自行对生成后的相关文件进行权限控制。
18 18 
19-3. 用户安装和使用过程需要做好权限控制,建议参见[文件权限参考](#文件权限参考)进行设置。如需要保存安装/卸载日志,可在安装/卸载命令后面加上参数--log <FILE>, 注意对<FILE>文件及目录做好权限管控。19+3. 用户安装和使用过程需要做好权限控制,建议参见[文件权限参考](#文件权限参考)进行设置。如需要保存安装/卸载日志,可在安装/卸载命令后面加上参数--log FILE, 注意对FILE文件及目录做好权限管控。
20 20 
214. PyTorch框架运行中所生成的文件权限依赖系统设定,如torch.save接口保存的文件。建议当前执行脚本的用户根据自身需要,对生成文件做好权限控制,设定的权限可参见[文件权限参考](#文件权限参考) 。可使用umask控制默认权限,降低提权等安全风险,建议用户将主机(包括宿主机)和容器中的umask设置为0027及其以上,提高安全性。214. PyTorch框架运行中所生成的文件权限依赖系统设定,如torch.save接口保存的文件。建议当前执行脚本的用户根据自身需要,对生成文件做好权限控制,设定的权限可参见[文件权限参考](#文件权限参考) 。可使用umask控制默认权限,降低提权等安全风险,建议用户将主机(包括宿主机)和容器中的umask设置为0027及其以上,提高安全性。
22 22 
23-##### 文件权限参考23+### 文件权限参考
24 24 
25| 类型 | Linux权限参考最大值 |25| 类型 | Linux权限参考最大值 |
26|----------------------------------- |-----------------------|26|----------------------------------- |-----------------------|
@@ -45,6 +45,7 @@
45## 调试工具声明45## 调试工具声明
46 46 
47torch_npu内集成性能分析工具profiler:47torch_npu内集成性能分析工具profiler:
48+ 
48 - 集成原因:对标PyTorch原生支持能力,提供NPU PyTorch框架开发性能分析能力,加速性能分析调试过程。49 - 集成原因:对标PyTorch原生支持能力,提供NPU PyTorch框架开发性能分析能力,加速性能分析调试过程。
49 - 使用场景:默认不采集,如用户需要进行性能分析时,可在模型训练脚本中添加Ascend Extension for PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件。50 - 使用场景:默认不采集,如用户需要进行性能分析时,可在模型训练脚本中添加Ascend Extension for PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件。
50 - 风险提示:使用该功能会在本地生成性能数据,用户需加强对相关性能数据的保护,请在需要模型性能分析时使用,分析完成后及时关闭。Profiler工具具体细节请参考[《PyTorch 性能分析工具介绍》](https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/performance_tuning_0014.html)。51 - 风险提示:使用该功能会在本地生成性能数据,用户需加强对相关性能数据的保护,请在需要模型性能分析时使用,分析完成后及时关闭。Profiler工具具体细节请参考[《PyTorch 性能分析工具介绍》](https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/performance_tuning_0014.html)。
@@ -68,7 +69,7 @@ torch_npu支持源码编译安装,在编译时会下载依赖第三方库并
68 69 
69在torch_npu的配置文件和脚本中存在[公网地址](#公网地址)70在torch_npu的配置文件和脚本中存在[公网地址](#公网地址)
70 71 
71-##### 公网地址72+### 公网地址
72 73 
73| 类型 | 开源代码地址 | 文件名 | 公网IP地址/公网URL地址/域名/邮箱地址 | 用途说明 |74| 类型 | 开源代码地址 | 文件名 | 公网IP地址/公网URL地址/域名/邮箱地址 | 用途说明 |
74|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|--------------------------------------------------------------------------------|--------------------------------|75|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|--------------------------------------------------------------------------------|--------------------------------|
@@ -78,7 +79,10 @@ torch_npu支持源码编译安装,在编译时会下载依赖第三方库并
78| 自研 | 不涉及 | .gitmodules | https://gitcode.com/ascend/Tensorpipe.git | 依赖的开源代码仓 |79| 自研 | 不涉及 | .gitmodules | https://gitcode.com/ascend/Tensorpipe.git | 依赖的开源代码仓 |
79| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors/fmt.git | 依赖的开源代码仓 |80| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors/fmt.git | 依赖的开源代码仓 |
80| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors/nlohmann-json.git | 依赖的开源代码仓 |81| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors/nlohmann-json.git | 依赖的开源代码仓 |
81-| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors_llvm/torch-mlir.git | 依赖的开源代码仓 | | 82+| 自研 | 不涉及 | .gitmodules | https://gitee.com/mirrors_llvm/torch-mlir.git | 依赖的开源代码仓 |
83+| 自研 | 不涉及 | .gitmodules | https://gitcode.com/cann/runtime.git | 依赖的开源代码仓 |
84+| 自研 | 不涉及 | .gitmodules | https://gitcode.com/cann/ge.git | 依赖的开源代码仓 |
85+| 自研 | 不涉及 | .gitmodules | https://gitcode.com/cann/graph-autofusion.git | 依赖的开源代码仓 |
82| 自研 | 不涉及 | ci\docker\X86\Dockerfile | https://mirrors.huaweicloud.com/repository/pypi/simple | docker配置文件,用于配置pip源 |86| 自研 | 不涉及 | ci\docker\X86\Dockerfile | https://mirrors.huaweicloud.com/repository/pypi/simple | docker配置文件,用于配置pip源 |
83| 自研 | 不涉及 | ci\docker\X86\Dockerfile | https://download.pytorch.org/whl/cpu | docker配置源,用于配置torch下载连接 |87| 自研 | 不涉及 | ci\docker\X86\Dockerfile | https://download.pytorch.org/whl/cpu | docker配置源,用于配置torch下载连接 |
84| 自研 | 不涉及 | ci\docker\ARM\Dockerfile | https://mirrors.huaweicloud.com/repository/pypi/simple | docker配置文件,用于配置pip源 |88| 自研 | 不涉及 | ci\docker\ARM\Dockerfile | https://mirrors.huaweicloud.com/repository/pypi/simple | docker配置文件,用于配置pip源 |
@@ -115,7 +119,7 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端
1151. 防火墙规则设定和移除参考脚本模板1191. 防火墙规则设定和移除参考脚本模板
116 - 防火墙规则设定,可参考如下脚本:120 - 防火墙规则设定,可参考如下脚本:
117 121 
118- ```122+ ```bash
119 #!/bin/bash123 #!/bin/bash
120 set -x124 set -x
121 125 
@@ -144,7 +148,7 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端
144 148 
145 - 防火墙规则移除,可参考如下脚本:149 - 防火墙规则移除,可参考如下脚本:
146 150 
147- ```151+ ```bash
148 #!/bin/bash152 #!/bin/bash
149 set -x153 set -x
150 # 清除规则154 # 清除规则
@@ -156,16 +160,17 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端
1562. 防火墙规则设定和移除参考脚本示例1602. 防火墙规则设定和移除参考脚本示例
157 1. 针对特定端口设定防火墙,脚本中端口号为要限制的端口,在PyTorch分布式训练中端口号请参考[通信矩阵信息](#通信矩阵信息);要限制的网卡名为服务器用于分布式通信使用的网卡,允许的外部访问的IP为分布式训练服务器的IP地址。网卡和服务器IP可以通过ifconfig查看,如下文回显的eth0为网卡名,192.168.1.1为服务器IP地址:161 1. 针对特定端口设定防火墙,脚本中端口号为要限制的端口,在PyTorch分布式训练中端口号请参考[通信矩阵信息](#通信矩阵信息);要限制的网卡名为服务器用于分布式通信使用的网卡,允许的外部访问的IP为分布式训练服务器的IP地址。网卡和服务器IP可以通过ifconfig查看,如下文回显的eth0为网卡名,192.168.1.1为服务器IP地址:
158 162 
159- ```163+ ```bash
160 # ifconfig164 # ifconfig
161 eth0165 eth0
162 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0166 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
163 inet6 addr: fe80::230:64ee:ef1a:c1a/64 Scope:Link167 inet6 addr: fe80::230:64ee:ef1a:c1a/64 Scope:Link
164 ```168 ```
169+ 
165 2. 假定服务器主节点地址192.168.1.1,另一台需要进行分布式训练的服务器为192.168.1.2,训练端口为29510。170 2. 假定服务器主节点地址192.168.1.1,另一台需要进行分布式训练的服务器为192.168.1.2,训练端口为29510。
166 - 防火墙规则设定,可参考如下脚本:171 - 防火墙规则设定,可参考如下脚本:
167 172 
168- ```173+ ```bash
169 #!/bin/bash174 #!/bin/bash
170 set -x175 set -x
171 176 
@@ -194,7 +199,7 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端
194 199 
195 - 防火墙规则移除,可参考如下脚本:200 - 防火墙规则移除,可参考如下脚本:
196 201 
197- ```202+ ```bash
198 #!/bin/bash203 #!/bin/bash
199 set -x204 set -x
200 # 清除规则205 # 清除规则
@@ -207,7 +212,7 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端
207 212 
208PyTorch提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。其中PyTorch需要使用TCP进行通信,torch_npu使用CANN中HCCL在NPU设备间通信,通信端口见[通信矩阵信息](#通信矩阵信息)。用户需要注意并保障节点间通信网络安全,可以使用iptables等方式消减安全风险,可参考[通信安全加固](#通信安全加固)进行网络安全加固。213PyTorch提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。其中PyTorch需要使用TCP进行通信,torch_npu使用CANN中HCCL在NPU设备间通信,通信端口见[通信矩阵信息](#通信矩阵信息)。用户需要注意并保障节点间通信网络安全,可以使用iptables等方式消减安全风险,可参考[通信安全加固](#通信安全加固)进行网络安全加固。
209 214 
210-##### 通信矩阵信息215+### 通信矩阵信息
211 216 
212| 组件 | PyTorch | HCCL |217| 组件 | PyTorch | HCCL |
213| --------------------- | ------------------------------------ | ------------------------------------ |218| --------------------- | ------------------------------------ | ------------------------------------ |