我最近读到这Linux TCP 缺陷 (CVE-2016-5696) 允许攻击者破坏或劫持两台运行 Linux 的计算机(例如 Web 服务器和客户端)之间的连接。据我了解,该问题早在 2012 年 Linux 内核版本 3.6 中就已出现,并且也影响所有较新的版本。
目前尚未发布针对此问题的修复程序(截至撰写本文时),但是由于这是一个相当大的错误,有没有什么解决方法?
答案1
注意:解决方法由于历史原因,部分内容保留,但请直接跳至使固定部分。
解决方法:
就像声明的那样这里:
好消息是——是的,确实有好消息——这个问题很容易解决。首先,Linux 本身正在修补,以阻止攻击媒介的传播。接下来,你只需将“挑战 ACK 限制”提高到一个非常大的值,就可以使利用该漏洞变得几乎不可能。 侧通道导致攻击得以实施的问题。
由于该问题影响客户端和服务器,或者实际上是影响通过网络通信的任意两台 Linux 机器,因此在两者中实施解决方法并在修复发布后立即进行修复非常重要。
为了实施该解决方法,请执行以下操作:
- 使用以下命令打开配置文件:
sudoedit /etc/sysctl.conf
- 将该行插入
net.ipv4.tcp_challenge_ack_limit = 999999999
文件并保存 - 运行
sudo sysctl -p
以更新配置
您也可以直接从终端执行操作:
sudo bash -c 'echo "net.ipv4.tcp_challenge_ack_limit = 999999999" >>/etc/sysctl.conf'
或者:
echo 'net.ipv4.tcp_challenge_ack_limit = 999999999' | sudo tee -a /etc/sysctl.conf
然后运行:
sudo sysctl -p
使固定:
就像声明的那样这里:
net/ipv4/tcp_input.c in the Linux kernel before 4.7 does not properly
determine the rate of challenge ACK segments, which makes it easier for
man-in-the-middle attackers to hijack TCP sessions via a blind in-window
attack.
...
sbeattie> fix is going to land in Ubuntu kernels in this SRU cycle,
with a likely release date of Aug 27. Earlier access to the kernels
with the fix will be available from the -proposed pocket, though they
come with the risk of being less tested.
目前修复方案已经发布:
linux (4.4.0-36.55) xenial; urgency=low
[ Stefan Bader ]
* Release Tracking Bug
- LP: #1612305
* I2C touchpad does not work on AMD platform (LP: #1612006)
- SAUCE: pinctrl/amd: Remove the default de-bounce time
* CVE-2016-5696
- tcp: make challenge acks less predictable
-- Stefan Bader <[email protected]> Thu, 11 Aug 2016 17:34:14 +0200
跑步:
sudo apt-get update
sudo apt-get dist-upgrade
确保您拥有最新版本。或者,如果您希望通过 GUI 进行更新,请使用软件更新程序。
您可以使用以下命令检查正在运行的版本和可用的版本:
apt-cache policy linux-image-generic