Pertanyaan Apakah ada solusi untuk celah TCP RFC 5961 Linux?


Saya baru saja membaca tentang ini Linux TCP cacat (CVE-2016-5696) yang memungkinkan penyerang untuk memutus atau membajak koneksi antara dua mesin yang menjalankan Linux (misalnya server web dan klien). Saya mengerti bahwa masalah ini diperkenalkan kembali pada tahun 2012 di Linux kernel versi 3.6 dan mempengaruhi semua versi yang lebih baru juga.

Saat ini perbaikan untuk ini belum dirilis (seperti saat penulisan ini), tetapi apakah ada solusi karena ini adalah bug yang cukup besar?


28
2017-08-13 22:34


asal


Ubuntu belum merilis perbaikan? Distro tertentu lainnya memiliki perbaikan yang diterbitkan sebelum cacat dibuat publik. - Michael Hampton
@MichaelHampton: Sejauh yang saya tahu, perbaikan telah tersedia di saluran -proposed, namun rilis stabil belum dibuat.
Saya pikir mereka berencana untuk merilis perbaikan pada tanggal 27.
@MichaelHampton: Saya telah memperbarui jawaban saya dengan informasi yang relevan.


Jawaban:


Catatan: The Solusi Bagian ini telah disimpan untuk alasan historis, namun tolong lewati ke bawah Memperbaiki bagian bawah.

Solusi:

Sebagaimana dinyatakan sini:

Kabar baiknya - dan, ya, ada kabar baik - apakah mudah diperbaiki.   Pertama, Linux sendiri sedang ditambal untuk menghentikan vektor serangan di dalamnya   jalur. Selanjutnya, Anda cukup menaikkan 'batas ACK tantangan' menjadi   nilai yang sangat besar untuk membuatnya hampir tidak mungkin untuk mengeksploitasi    saluran samping masalah yang memungkinkan serangan untuk bekerja.

Karena masalah ini memengaruhi klien dan server, atau sebenarnya dua mesin Linux berbicara melalui jaringan, penting untuk menerapkan solusi di keduanya, dan memperbaiki segera setelah dirilis.

Untuk menerapkan solusi ini lakukan hal berikut:

  1. Buka file konfigurasi dengan: sudoedit /etc/sysctl.conf
  2. Masukkan garis net.ipv4.tcp_challenge_ack_limit = 999999999 ke dalam file dan simpan
  3. Menjalankan sudo sysctl -p untuk memperbarui konfigurasi

Anda juga dapat melakukan operasi langsung dari Terminal:

sudo bash -c 'echo "net.ipv4.tcp_challenge_ack_limit = 999999999" >>/etc/sysctl.conf'

Atau:

echo 'net.ipv4.tcp_challenge_ack_limit = 999999999' | sudo tee -a /etc/sysctl.conf

Lalu lari:

sudo sysctl -p

Memperbaiki:

Sebagaimana dinyatakan sini:

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.

Dan perbaikan telah dirilis:

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 <stefan.bader@canonical.com>  Thu, 11 Aug 2016 17:34:14 +0200

Menjalankan:

sudo apt-get update
sudo apt-get dist-upgrade

Untuk memastikan Anda memiliki versi terbaru. Atau gunakan Pembaruan Perangkat Lunak jika Anda ingin memperbarui melalui GUI.

Anda dapat memeriksa versi mana yang Anda jalankan dan mana yang tersedia dengan:

apt-cache policy linux-image-generic

29
2017-08-13 22:34



Perbaikan cepat (tetapi tidak terus-menerus): echo 999999999 > /proc/sys/net/ipv4/tcp_challenge_ack_limit - Ben Voigt