关于Azure App Service中病毒扫描功能的技术问询
我来帮你把Azure App Service相关的病毒扫描细节说清楚:
Azure App Service机器上默认有没有病毒扫描器?
对于Windows环境的App Service实例,底层服务器确实预装了Microsoft Defender Antivirus,但Linux实例没有。不过要注意:这个杀毒软件是针对系统核心文件的,默认不会扫描你的应用所在的用户目录(比如D:\home)——这是为了避免扫描大量应用文件影响服务性能。文件在传输过程中会被扫描吗?
不会。Azure App Service本身默认不提供传输链路中的实时病毒扫描,哪怕是HTTPS传输,也只是加密,不会自动扫描文件内容。如果需要传输层的防护,你得额外配置Web Application Firewall(WAF),但WAF主要是防攻击,不是病毒扫描。能不能通过“存盘等2秒看是否消失”判断被杀毒软件删除?
这个方法行不通。刚才说了,用户目录默认被排除在Defender的扫描范围外,所以你上传的文件存在D:\home里的话,Defender根本不会碰它。就算是系统目录,Defender的扫描也不是严格的“2秒内必删”,时间不确定,而且误删的风险也会让这个逻辑不可靠。Microsoft Defender for Cloud能解决这个问题吗?
你说的那个15€/月的是Defender for App Service计划,它的核心能力是检测针对App Service的攻击行为(比如异常访问、SQL注入、XSS攻击等),以及扫描App Service的配置漏洞,并不提供针对用户上传文件的病毒扫描功能。所以就算开了这个服务,也没法自动扫描你接收的文件。
如果你的应用需要扫描用户上传的文件,更靠谱的方案是自己集成病毒扫描能力:比如在代码里调用开源的ClamAV服务,或者使用专门的云原生病毒扫描API,也可以通过Azure Logic Apps配合第三方病毒扫描连接器来处理上传文件。
备注:内容来源于stack exchange,提问作者Mathias Rönnlund

