OpenSSL'deki Heartbleed hatalarından nasıl kurtulurum?


Yanıtlar:


95

Bu güvenlik açığı yüksek bir potansiyel etkiye sahiptir, çünkü sisteminize saldırıya uğradıysa, yamadan sonra bile savunmasız kalır ve saldırılar günlüklerde iz bırakmamış olabilir. Çabucak yatarsanız ve yüksek profilli bir hedef değilseniz, size saldırmak için kimsenin bulamayacağı, ancak emin olmak zor.

Korunmasız mıyım?

OpenSSL'nin buggy versiyonu

Buggy yazılımı, 1.0.1f'ye kadar olan 1.0.1 OpenSSL kitaplığı ve beta1'e kadar olan OpenSSL 1.0.2'dir . Eski sürümler (0.9.x, 1.0.0) ve hatanın giderildiği sürümler (1.0.1g ve sonrasında 1.0.2 beta 2) etkilenmez. Bu bir uygulama hatasıdır, protokoldeki bir kusur değildir, bu nedenle yalnızca OpenSSL kütüphanesini kullanan programlar etkilenir.

openssl version -aOpenSSL sürüm numarasını görüntülemek için komut satırı aracını kullanabilirsiniz. Bazı dağıtımların hata düzeltmesini önceki sürümlere taşıdığını unutmayın; Paketinizin değişiklik günlüğünde Heartbleed hata düzeltmesi belirtiliyorsa, 1.0.1f gibi bir sürüm görseniz bile sorun değil. Eğer openssl version -aakşam UTC ya da geç etrafında 2014-04-07 birikimi tarihini (değil ilk satırda tarih) bahseder, ince olmalıdır. OpenSSL paketi olabileceğini not 1.0.0onun içinde adı halde versiyon 1.0.1 ( 1.0.0ikili uyumluluğu anlamına gelmektedir).

Etkilenen uygulamalar

Arama, SSL bağlantılarını uygulamak için OpenSSL kütüphanesini kullanan bir uygulama aracılığıyla gerçekleştirilir . Birçok uygulama diğer şifreleme hizmetleri için OpenSSL kullanıyor ve sorun değil: Hata, SSL protokolünün belirli bir özelliği olan "kalp atışı" nın uygulanmasında.

Hangi programların sisteminizdeki kitaplığa bağlandığını kontrol etmek isteyebilirsiniz. Dpkg ve apt (Debian, Ubuntu, Mint,…) kullanan sistemlerde, aşağıdaki komut, kullanılan kütüphanelerin dışındaki kurulu paketleri listeler libssl1.0.0(etkilenen paket):

apt-cache rdepends libssl1.0.0 | tail -n +3 |
xargs dpkg -l 2>/dev/null | grep '^ii' | grep -v '^ii  lib'

Bu listede bulunan ve SSL bağlantılarını dinleyen bazı sunucu yazılımları çalıştırıyorsanızMuhtemelen etkilendin. Bu, web sunucuları, e-posta sunucuları, VPN sunucuları, vb. İle ilgilidir. SSL'yi etkinleştirdiğinizi bileceksiniz, çünkü bir sertifika yetkilisine bir sertifika imzalama isteği göndererek veya kendinizin imzasını alarak bir sertifika oluşturmak zorundasınız. belgesi. (Bazı kurulum prosedürlerinin siz fark etmeden kendinden imzalı bir sertifika üretmiş olması mümkündür, ancak bu genellikle internete maruz kalan sunucular için değil, yalnızca dahili sunucular için yapılır.) Kayıtlarınız 2014-04-07 tarihinde yapılan duyurudan bu yana hiçbir bağlantı göstermediği sürece. (Bu, güvenlik açığının duyurulmadan önce yararlanılmadığını varsayar.) Sunucunuz yalnızca dahili olarak ortaya çıkarsa,

İstemci yazılımı yalnızca kötü amaçlı bir sunucuya bağlanmak için kullandıysanız etkilenir. Bu nedenle, IMAPS kullanarak e-posta sağlayıcınıza bağlandıysanız, endişelenmenize gerek yoktur (sağlayıcıya saldırıya uğramazsa - ancak bu durumda size bildirmeleri gerekir), ancak savunmasız bir tarayıcıya sahip rastgele web sitelerine göz attıysanız, endişelenmek. Bu güvenlik açığından henüz keşfedilmeden önce yararlanılmadığı anlaşılıyor, bu nedenle yalnızca 2014-04-08'den beri kötü amaçlı sunuculara bağlandığınızda endişelenmeniz gerekiyor.

Aşağıdaki programlar etkilenmez, çünkü SSL uygulamak için OpenSSL kullanmazlar:

  • SSH (protokol SSL değil)
  • Chrome / Chromium ( NSS kullanır )
  • Firefox (NSS kullanır) (en azından Ubuntu 12.04'teki Firefox 27 ile, ancak tüm sürümlerde kullanılmıyor mu?)

Etkisi nedir?

Hata, SSL sunucunuza bağlanabilen herhangi bir istemcinin bir seferde sunucudan yaklaşık 64kB bellek almasını sağlar. Müşterinin hiçbir şekilde kimliğinin doğrulanması gerekmez. Saldırıyı tekrarlayarak, müşteri art arda denemelerde belleğin farklı kısımlarını atabilir. Bu, saldırganın, anahtarlar, şifreler, çerezler vb. Dahil olmak üzere sunucu işleminin belleğindeki tüm verileri almasını sağlar.

Saldırganın alabileceği kritik veri parçalarından biri, sunucunun SSL özel anahtarıdır. Bu verilerle, saldırgan sunucunuzu taklit edebilir.

Bu hata aynı zamanda SSL istemcinizin bağlı olduğu herhangi bir sunucunun bir seferde istemciden yaklaşık 64kB bellek almasını sağlar. Hassas verileri işlemek için savunmasız bir istemci kullandıysanız ve daha sonra aynı istemciyle güvenilmeyen bir sunucuya bağladıysanız bu endişe vericidir. Bu nedenle, bu taraftaki saldırı senaryoları sunucu tarafındakilerden daha az olasıdır.

Tipik dağıtımlar için, paketlerin bütünlüğü SSL taşımacılığına değil, GPG imzalarına dayandığından paket dağıtımında güvenlik etkisi olmadığını unutmayın.

Güvenlik açığını nasıl gideririm?

Maruz kalan sunucuların iyileştirilmesi

  1. Etkilenen tüm sunucuları çevrimdışı duruma getirin. Çalıştıkları sürece, kritik verilerden potansiyel olarak sızıntı yapıyorlar.

  2. OpenSSL kütüphane paketini yükseltin . Tüm dağıtımların şimdiye dek düzeltmeleri gerekir (ya 1.0.1g ile ya da sürüm numarasını değiştirmeden hatayı düzelten bir yamayla). Kaynağından derlediyseniz, 1.0.1g veya üstüne yükseltin. Etkilenen tüm sunucuların yeniden başlatıldığından emin olun.
    Linux'ta, potansiyel olarak etkilenen işlemlerin hala çalıştığını kontrol edebilirsiniz.grep 'libssl.*(deleted)' /proc/*/maps

  3. Yeni anahtarlar üret . Bu gereklidir, çünkü hata bir saldırganın eski özel anahtarı edinmesine izin vermiş olabilir. İlk başta kullandığınız aynı prosedürü izleyin.

    • Bir sertifika yetkilisi tarafından imzalanmış sertifikalar kullanıyorsanız, yeni ortak anahtarlarınızı CA'nıza gönderin. Yeni sertifikayı aldığınızda sunucunuza yükleyin.
    • Kendinden imzalı sertifikalar kullanıyorsanız, sunucunuza yükleyin.
    • Her iki durumda da eski anahtarları ve sertifikaları yoldan çıkarın (ancak bunları silmeyin, artık kullanılmadıklarından emin olun).
  4. Artık ödün vermeyen yeni anahtarlara sahip olduğunuzdan, sunucunuzu tekrar çevrimiçi duruma getirebilirsiniz .

  5. Eski sertifikaları iptal et .

  6. Hasar değerlendirmesi : SSL bağlantılarını sunan bir işlemin hafızasında yer alan veriler sızdırılmış olabilir. Bu kullanıcı şifrelerini ve diğer gizli verileri içerebilir. Bu verinin ne olabileceğini değerlendirmek gerekir.

    • Parola doğrulamasına izin veren bir hizmet kullanıyorsanız, güvenlik açığının açıklanmasından çok az bir süre önce bağlantı kuran kullanıcıların parolalarını tehlikeye atmış sayılmalıdır. Günlüklerinizi kontrol edin ve etkilenen kullanıcıların şifrelerini değiştirin.
    • Ayrıca, tüm oturum çerezlerini tehlikeye atmış olabileceği için geçersiz kılar.
    • Müşteri sertifikaları ödün verilmez.
    • Güvenlik açığından çok az zaman önce paylaşılan veriler sunucunun hafızasında kalmış olabilir ve bu nedenle bir saldırgana sızdırılmış olabilir.
    • Birisi eski bir SSL bağlantısı kaydettiyse ve sunucunuzun anahtarlarını aldıysa, artık transkriptlerini deşifre edebilirler. ( PFS sağlanmadığı sürece - bilmiyorsanız, olmadı.)

Diğer durumlarda iyileştirme

Yalnızca yerel ana bilgisayarda veya bir intranette dinleyen sunucular, yalnızca güvenilmeyen kullanıcılar bunlara bağlanabiliyorsa açık olarak kabul edilir.

Müşterilerle, hatanın sömürülebileceği yalnızca nadir senaryolar vardır: bir istismar, aynı müşteri işlemini kullanmanı gerektirir

  1. gizli verileri değiştirmek (örneğin; şifreler, müşteri sertifikaları,…);
  2. ve sonra aynı süreçte, SSL üzerinden kötü amaçlı bir sunucuya bağlandı.

Dolayısıyla, yalnızca (tamamen güvenilmeyen) posta sağlayıcınıza bağlanmak için kullandığınız bir e-posta istemcisi bir sorun değildir (kötü amaçlı bir sunucu değil). Bir dosyayı indirmek için wget çalıştırmak bir sorun değildir (sızdıracak gizli veri yok).

Bunu UTC 2014-04-07 akşamları arasında ve OpenSSL kütüphanenizi yükseltmek arasında yaptıysanız, müşterinin hafızasında bulunan verileri tehlikeye atacak şekilde düşünün.

Referanslar


5
"Genellikle, bir noktada bir SSL anahtarı oluşturduğunuz bir sunucuyu çalıştırırsanız etkilenirsiniz ." yanlış yönlendirebilir. Anahtarınızı bir sunucuda oluşturup bir başkasında kullanıyorsanız, onu kullanan sunucunun OpenSSL'nin savunmasız bir sürümünü çalıştırması durumunda sorun yaşarsınız.
Matt Nordhoff

3
Müşteri reytingleri de etkilendi IIRC
Elazar Leibovich

2
@ElazarLeibovich İstemci özel olarak değil (aslında müşteri sertifikalarının bu hata tarafından sızdırılmış olması muhtemel değildir) değil, sunucu tarafından başlatılan kalp atışlarını destekleyen bir protokol kullanarak kötü niyetli bir sunucuya bağlanan güvenlik açığı bulunan bir kütüphane sürümünü kullanan bir istemci olduğunda, istemci belleğindeki herhangi bir veri yoktur. Bu konuda uzmanlara sordum , henüz net bir cevap alamadım.
Gilles,

1
Bence Firefox OpenSSL kullanıyor. Eğer çalıştırırsam lsof -c firefox | grep 'ssl\|crypto', /usr/lib64/libssl.so.1.0.0, /usr/lib64/libcrypto.so.1.0.0, /lib64/libk5crypto.so.3.1 ve /opt/firefox/libssl3.so dosyasını alıyorum .

1
@ B4NZ41 Sadece güvenlik yükseltmelerini yapın. Danışma 20 saatten fazla dışarı olmuştur.
Gilles,

11

Hassas olup olmadığınızı test etmek için buraya gidin: http://filippo.io/Heartbleed/

Güvenlik açığından openssletkilendiğinizi düşünüyorsanız web sunucunuzu güncelleyin ve yeniden başlatın.


1
Gilles'un cevabında belirttiği gibi, sadece güncelleme ve yeniden başlatma yeterli değildir. Özel anahtarlarınızın potansiyel uzlaşmalarına yanıt vermeniz gerekir - en temel gereksinim, bu anahtarların iptal edilmesidir, ancak aynı zamanda anahtar kullanılarak ele geçirilebilecek bilgilerle de ilgilenmeniz gerekir. oturum kimlikleri gibi.
strugee,

0

Bu hatadan kurtulmanın yolu yok. Tüm günlükleri kaydedin, birisinin duyurulmadan önce varolan bir güvenlik açığını gerçekten fark etmesi durumunda ihtiyaç duyulacak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.