使用API读取文件时,用户需要保证该文件的owner必须为自己,且权限不大于640,避免发生提权等安全问题。
外部下载的软件代码或程序可能存在风险,功能的安全性需由用户保证。
本文中列出的安全加固措施为基本的加固建议项。用户应根据自身业务,重新审视整个系统的网络安全加固措施,必要时可参考业界优秀加固方案和安全专家的建议。
操作系统安装后,若配置普通用户,可以通过在“/etc/login.defs”文件中新增“ALWAYS_SET_PATH=yes”配置,防止越权操作。
建议用户将宿主机和容器中的umask设置为027及以上,提高文件权限。
以设置umask为027为例,具体操作如下所示。
以root用户登录服务器,编辑“/etc/profile”文件。
[object Object]在“/etc/profile”文件末尾加上umask 027,保存并退出。
执行如下命令使配置生效。
[object Object]
因为官方Docker镜像与物理机上的操作系统存在差异,系统中的用户可能不能一一对应,导致物理机或容器运行过程中产生的文件变成无属主文件。
用户可以执行find / -nouser -o -nogroup命令,查找容器内或物理机上的无属主文件。根据文件的UID和GID创建相应的用户和用户组,或者修改已有用户的UID、用户组的GID来适配,赋予文件属主,避免无属主文件给系统带来安全隐患。
需要关注全网侦听的端口和非必要端口,如有非必要端口请及时关闭。建议用户关闭不安全的服务,如Telnet、FTP等。具体关闭方法请参考所使用的操作系统相关文档。
用户可以按IP限制与服务器的连接的速率对系统进行防DoS攻击,方法包括但不限于利用Linux系统自带iptables防火墙进行预防、优化sysctl参数等。具体使用方法,用户可自行查阅相关资料。
合理规划内存[object Object][object Object]
用户需要合理规划内存使用,确保使用不要超过系统资源限制。同时,检索业务特征底库存储于昇腾AI处理器DDR内,特征维度和数量(入库或查询等操作)以及计算过程中,业务临时内存和系统临时内存的使用决定总内存占用大小,输入过大会导致设备侧内存申请失败错误。当前单个Index(底库)支持最大库容视具体昇腾AI处理器Device侧内存大小而定,业务侧需要根据实际需求规划Index个数,防止内存超限情形发生。
OMP设置[object Object][object Object]
如果需要修改OMP相关配置,请评估系统的内存、线程数等资源限制,否则可能导致运行异常,例如可以通过设置${OMP_NUM_THREADS}设置并发量。OMP的相关设置请参考OMP官方指导。
接口使用[object Object][object Object]
检索接口大多采用C语言的入参形式,因此需要用户保证输入指针的长度为有效值,否则可能导致运行异常。
和faiss::Index的相互转换[object Object][object Object]
检索提供和faiss::Index的相互转换功能,请确保copyTo输出的faiss::Index不会被修改,否则可能导致copyFrom异常;index_ascend_to_cpu、index_int8_ascend_to_cpu、index_cpu_to_ascend、index_int8_cpu_to_ascend等接口同理。