9 Mart 2020 Pazartesi

GhostCat: Yeni Yüksek Riskli Güvenlik Açığı Apache Tomcat Çalışan Sunucuları Etkiliyor !


GhostCat: Yeni Yüksek Riskli Güvenlik Açığı Apache Tomcat Çalışan Sunucuları Etkiliyor

 Apache Tomcat'in tüm sürümleri (9.x / 8.x / 7.x / 6.x) yeni bir kritik zaafiyet ortaya çıktı. Web sunucunuz Apache Tomcat üzerinde çalışıyorsa, saldırganların sunucu üzerinde yetkisiz bir şekilde kontrolü eline almasını önlemek için sunucu uygulamasının en son sürümünü hemen yüklemelisiniz. Ayrıca internette bu istismarın yer almasıyla herkesin erişebileceği savunmasız web sunucularını hacklemesini kolaylaştırdı. 'Ghostcat' olarak adlandırılan ve CVE-2020-1938 olarak geçen istismar, kimliği doğrulanmamış saldırganların savunmasız bir web sunucusundaki herhangi bir dosyanın içeriğini okumasına ve hassas yapılandırma dosyaları veya kaynak kodu almasına, sunucu dosyaya izin veriyorsa rastgele kod yürütmesine izin verebilir.
Güvenlik açığı, bir özelliğin yanlış işlenmesi nedeniyle ortaya çıkan Apache Tomcat yazılımının AJP protokolünde yatmaktadır. Site, kullanıcıların dosya yüklemesine izin veriyorsa, saldırgan önce sunucuya kötü amaçlı JSP komut dosyası kodu içeren bir dosya yükleyebilir (yüklenen dosya resim, düz metin dosyaları vb. herhangi bir dosya türünde olabilir) ve ardından yüklenen dosya ile uzaktan kod yürütülmesine neden olabilecek Ghostcat'ten yararlanılır. Apache JServ Protokolü (AJP) protokolü, Tomcat'in bir Apache web sunucusuyla iletişim kurmasını sağlamak için temel olarak HTTP protokolünün optimize edilmiş bir sürümüdür.
AJP protokolü varsayılan olarak etkinleştirilmiş ve TCP bağlantı noktası 8009'da dinlese de, 0.0.0.0 IP adresine bağlıdır ve ancak güvenilmeyen istemciler tarafından erişilebilir olduğunda istismar edilebilir. Açık kaynaklı ve siber tehdit istihbarat verileri için bir arama motoru olan 'onyphe' e göre, bir AJP Bağlayıcısı'nı yazma sırasında internet üzerinden herkese açık hale getiren 170.000'den fazla cihaz var.
Exploite ait kaynak kodu: https://www.exploit-db.com/exploits/48143
Etkilenen Sürümler
·       Apache Tomcat 9.x <9.0.31
·       Apache Tomcat 8.x <8.5.51
·       Apache Tomcat 7.x <7.0.100
·       Apache Tomcat 6.x

Apache Tomcat bu güvenlik açığını gidermek için 9.0.31, 8.5.51 ve 7.0.100 sürümleri yayınlandı.

Güvenlik açığını gidermek veya en aza indirmek için yapılacak birkaç adım aşağıdaki gibidir:
 Bu güvenlik açığını doğru bir şekilde gidermek için, önce Tomcat AJP Connector hizmetinin sunucu ortamınızda kullanılıp kullanılmadığını belirlemeniz gerekir. Eğer cluster veya reverse proxy kullanılmıyorsa, AJP’nin kullanılmadığını anlayabilirsiniz.  Aksi takdirde, cluster veya reverse sunucunun Tomcat AJP connector hizmetiyle iletişim kurup kurmadığını tespit etmeniz gerekli.


1. AJP Bağlayıcı hizmeti kullanılmıyorsa:

(1) <CATALINA_BASE> /conf/server.xml aşağıdaki satırı düzenleyin

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />

(2) Yorum satırı hale getirin (veya silin):

<!–<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />–>

(3) Düzenlemeyi kaydedin ve ardından Tomcat’i yeniden başlatın.

Yukarıdaki önlemlere ek olarak, güvenilmeyen kaynakların Tomcat AJP Connector hizmet portuna erişmesini önlemek için firewallda da gerekli erişim izinlerini düzenleyiniz.

2- AJP Connector hizmeti kullanılıyorsa:

AJP Connector hizmeti kullanılıyorsa, Tomcat’i 9.0.31, 8.5.51 veya 7.0.100 sürümüne yükseltmenizi ve ardından AJP Connector kimlik doğrulama bilgilerini ayarlamak için AJP Connector için “scret” özelliğini yapılandırmanız öneriliyor.

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ address=”YOUR_TOMCAT_IP_ADDRESS” secret=”YOUR_TOMCAT_AJP_SECRET” />

Yükseltme yapamıyorsanız, AJP Bağlayıcısı için AJP protokolü kimlik doğrulama bilgilerini ayarlamak üzere “requiredSecret” özniteliğini yapılandırabilirsiniz.

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ address=”YOUR_TOMCAT_IP_ADDRESS” requiredSecret=”YOUR_TOMCAT_AJP_SECRET” />

(Yukarıdaki “YOUR_TOMCAT_AJP_SECRET” i kolayca tahmin edilemeyen veya kırılamayan daha güvenli bir şifre ile değiştirmeyi unutmayınız.)
Çözüm Önerisi
·       Bu istismarı önlemek için Apache Tomcat'i en son sürümüne güncellemek önerilmektedir.En son sürümler ayrıca diğer 2 düşük önem düzeyli HTTP request smuggling sorununu (CVE-2020-1935 ve CVE-2019-17569) giderir.
·       Web yöneticilerinin yazılım güncellemelerini mümkün olan en kısa zamanda uygulaması önemle tavsiye edilir ve güvenli olmayan kanal üzerinden iletişim kurduğu ve güvenilir bir ağda kullanılması gerektiği için AJP bağlantı noktasını güvenilmeyen istemcilere asla göstermemeleri önerilir.
·       Bununla birlikte, herhangi bir nedenle etkilenen web sunucunuzu hemen yükseltemezseniz, AJP Bağlayıcısı'nı doğrudan devre dışı bırakabilir veya dinleme adresini localhost olarak değiştirebilirsiniz.
·       AJP kullanmıyorsanız, server.xml dosyasındaki 8009 numaralı bağlantı noktasında AJP bağlantısını devre dışı bırakın. AJP'nin gelecekte yanlışlıkla yeniden etkinleştirilmesi durumunda bağlantı noktasına harici erişimi engellenmelidir.
·       AJP kullanıyorsanız, yamalanmış AJP koduyla Tomcat sürümünüzü yeni güncellenen sürümlerle güncelleyin.
·       Yalnızca güvenilir ana bilgisayarlardan AJP bağlantılarına izin veren firewall kuralları belirleyin.


Referanslar



Share:

0 yorum:

Yorum Gönder

Microsoft Exchange Server 2019, 2016 ve 2013 için Güvenlik Güncellemesi

Microsoft Exchange Server’da yeni çıkan zafiyetlere karşı Microsoft yamalar yayınlamıştır. CVE-2021-31195 (Code injection) : Güvenlik açı...

Bu Blogda Ara

Blog Arşivi

Yorumlar

Popülar Postlar