【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞

简介: 【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞

问题背景

什么是TCP timestamps(TCP 时间戳)?

The remote host implements TCP Timestamps, as defined by RFC1323 (https://www.ietf.org/rfc/rfc1323.txt). A side effect of this feature is that the uptime of the remote host can be sometimes be computed.

以前,TCP/IP 堆栈使用每个发送数据窗口的一个示例来计算 RTT  。 计时器 (发送) 时重新传输计时器报告,直到收到确认。TCP 时间戳选项现在可以在堆栈认为 (data 和 ACK) 使用,以执行如下操作:

  • RTT computation
  • PAWS check

使用TCP 时间戳,可以使用较大的窗口准确计算 RTT。 RTT 用于计算重新传输间隔。 要获得最佳吞吐量,需要准确的 RTT 和重新传输时间。

如何来解决呢?

禁用TCP timestamps。

在Linux系统中,在 /etc/sysclt.conf 文件中添加一行 “net.ipv4.tcp_timestamps=0”, 然后再执行 “sysctl -p”指令把修改的设置附加到运行环境。

To disable TCP timestamps on linux add the line 'net.ipv4.tcp_timestamps=0' to /etc/sysclt.conf. Execute 'sysctl -p' to apply the settings at runtime.

再Windows系统中,执行 "netsh int tcp set global timestamps = disabled "

TO disable TCP timestamps on Windows execute ' netsh int tcp set global timestamps = disabled '

 

问题描述

在Azure App Service中部署的Web App应用,在进行安全扫描的时候,发现了TCP timestamps的问题,建议Disable TCP Timestamps。但是根据安全描述中提示的指令在App Service的Kudu(https://<yourwebapp>.scm.chinacloudsites.cn/)中执行时,提示Deny。如图:

问题解答

由于App Service是PaaS服务,用户没有权限禁用TCP Timestamp。在启用改属性后它带来的优点是能提升TCP的性能,它的弱点时被攻击者计算出系统远行的时间。

(Source:Beyond Security | Finding and Fixing Vulnerabilities in TCP Timestamps Retrieval , a Low Risk Vulnerability

 

而且,Azure App service实际上是在后端Worker上运行Web App的应用代码,而Worker前面有还有前端Front End和负载均衡Load Balancer来转发请求,所以客户端请求是不会直接到达Worker的。这也是Azure中PaaS服务的一种通常架构。而且在Azure中的服务天然受到Azure环境的保护。

 

同时,由于这是一个低等级的漏洞,考虑Web App运行在云环境中,而且如果禁用后也会影响性能等其他问题,所以它是可以忽略的。

安全性

Azure 采用一系列可靠的安全技术和实践,帮助确保 Azure 基础结构能够应对攻击,保护用户对 Azure 环境的访问,并通过加密通信、威胁管理和缓解实践 ( 包括定期渗透测试 ) 来帮助保障客户数据的安全。

 

 

附件一: TCP Timestamps扫描漏洞截图

 

 

 

参考资料

TCP Windows说明:https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/networking/description-tcp-features#timestamps

Finding and Fixing Vulnerabilities in TCP Timestamps Retrieval , a Low Risk Vulnerability:https://beyondsecurity.com/scan-pentest-network-vulnerabilities-tcp-timestamps-retrieval.html?cn-reloaded=1&cn-reloaded=1

RFC1323 :https://www.ietf.org/rfc/rfc1323.txt

认识 Azure安全性:https://www.trustcenter.cn/zh-cn/security/default.html

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
3月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
5天前
|
安全 Apache 开发工具
【Azure App Service】在App Service上关于OpenSSH的CVE2024-6387漏洞解答
CVE2024-6387 是远程访问漏洞,攻击者通过不安全的OpenSSh版本可以进行远程代码执行。CVE-2024-6387漏洞攻击仅应用于OpenSSH服务器,而App Service Runtime中并未使用OpenSSH,不会被远程方式攻击,所以OpenSSH并不会对应用造成安全风险。同时,如果App Service的系统为Windows,不会受远程漏洞影响!
|
2月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
354 3
Windows操作系统部署安装Kerberos客户端
|
3月前
|
PHP 开发工具 git
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
|
3月前
|
存储 Linux Windows
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
|
3月前
|
应用服务中间件 nginx Windows
【Azure 应用服务】在App Service for Windows中实现反向代理
【Azure 应用服务】在App Service for Windows中实现反向代理
|
3月前
|
网络协议 Linux 网络安全
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
|
3月前
|
Java 应用服务中间件 Windows
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
|
3月前
|
开发框架 JavaScript .NET
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
|
3月前
|
前端开发 JavaScript Java
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包