ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?

Siber savunma merkezimiz müşterinin web altyapısının güvenliğinden sorumludur ve müşteri sitelerine yapılan saldırıları püskürtür. Saldırılara karşı koruma sağlamak için FortiWeb Web Uygulaması Güvenlik Duvarlarını (WAF'ler) kullanıyoruz. Ancak en havalı WAF bile her derde deva değildir ve "kutudan çıktığı haliyle" hedefli saldırılara karşı koruma sağlamaz. 

Bu nedenle WAF'a ek olarak şunu kullanıyoruz: ELK. Tüm olayların tek bir yerde toplanmasına yardımcı olur, istatistikleri toplar, görselleştirir ve hedefli bir saldırıyı zamanında görmemizi sağlar.

Bugün size WAF ile Noel ağacını nasıl geçtiğimizi ve bunun sonucunda ne geldiğini daha ayrıntılı olarak anlatacağım.

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?

Bir saldırının hikayesi: ELK'ye geçmeden önce her şey nasıl çalışıyordu?

Müşteri, bulutumuzda uygulamayı WAF'ımızın arkasına yerleştirdi. Siteye günde 10 ila 000 kullanıcı bağlanırken, bağlantı sayısı günde 100 milyona ulaştı. Bunlardan 000-20 kullanıcı davetsiz misafirdi ve siteyi hacklemeye çalıştı. 

Bir IP adresinden gelen olağan kaba kuvvet FortiWeb tarafından oldukça kolay bir şekilde engellendi. Dakikada siteye gelen ziyaret sayısı meşru kullanıcılara göre daha yüksekti. Sadece tek bir adresten aktivite eşikleri ayarladık ve saldırıyı püskürttük.

Saldırganların yavaş hareket ettiği ve kendilerini sıradan istemciler gibi gizlediği "yavaş saldırılarla" başa çıkmak çok daha zordur. Birçok benzersiz IP adresi kullanırlar. Bu tür faaliyetler WAF'a çok büyük bir kaba kuvvet gibi görünmüyordu; otomatik olarak takip edilmesi daha zordu. Ayrıca normal kullanıcıların engellenmesi riski de vardı. Saldırının diğer işaretlerini aradık ve bu işarete göre IP adreslerinin otomatik olarak engellenmesine yönelik bir politika oluşturduk. Örneğin, birçok gayri meşru oturumun http istek başlıklarında ortak alanlar vardı. Bu tür alanları FortiWeb olay günlüklerinde sıklıkla manuel olarak aramak zorunda kalıyordunuz. 

Uzun ve rahatsız edici oldu. FortiWeb'in standart işlevselliğinde olaylar metin olarak 3 farklı günlüğe kaydedilir: tespit edilen saldırılar, isteklerle ilgili bilgiler ve WAF işlemiyle ilgili sistem mesajları. Bir dakika içinde onlarca hatta yüzlerce saldırı olayı gerçekleşebilir.

Çok fazla değil, ancak birkaç kütüğün üzerinden manuel olarak geçmeniz ve birçok satırı yinelemeniz gerekiyor: 

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?
Saldırı günlüğünde kullanıcı adreslerini ve etkinliğin doğasını görüyoruz. 
 
Sadece günlük tablosunu taramak yeterli değildir. Saldırının doğasıyla ilgili en ilginç ve yararlı olanı bulmak için belirli bir olayın içine bakmanız gerekir:

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?
Vurgulanan alanlar "yavaş saldırının" tespit edilmesine yardımcı olur. Kaynak: ekran görüntüsü Fortinet'in web sitesi

Asıl sorun, bunu yalnızca bir FortiWeb uzmanının çözebilmesidir. Eğer iş saatleri sırasında şüpheli etkinlikleri gerçek zamanlı olarak takip edebilseydik, gece olaylarının soruşturulması gecikebilirdi. FortiWeb politikaları herhangi bir nedenle işe yaramayınca, gece vardiyasında görev yapan mühendisler WAF'a erişim olmadan durumu değerlendiremedi ve FortiWeb uzmanını uyandırdı. Birkaç saat boyunca kayıtlara baktık ve saldırı anını bulduk. 

Bu kadar çok bilgi varken, büyük resmi bir bakışta anlamak ve proaktif hareket etmek zordur. Daha sonra her şeyi görsel olarak analiz etmek, saldırının başlangıcını bulmak, yönünü ve engelleme yöntemini belirlemek için verileri tek bir yerde toplamaya karar verdik. 

Ne seçildi

Öncelikle varlıkları gereksiz yere çoğaltmamak için halihazırda kullanımda olan çözümlere baktık.

İlk seçeneklerden biri şuydu: Nagiosizlemek için kullandığımız mühendislik altyapısı, ağ altyapısı, acil durum uyarıları. Güvenlik görevlileri de şüpheli trafik durumunda görevlilere haber vermek için kullanıyor ancak dağınık kütüklerin nasıl toplanacağını bilmediği için ortadan kayboluyor. 

Her şeyi bir araya getirme seçeneği vardı MySQL ve PostgreSQL veya başka bir ilişkisel veritabanı. Ancak verileri çıkarmak için uygulamanızı şekillendirmeniz gerekiyordu. 

Şirketimizde kütük toplayıcı olarak da kullanıyorlar FortiAnalizörü Fortinet'ten. Ancak bu durumda da uymadı. İlk olarak, bir güvenlik duvarıyla çalışmak daha keskindir FortiGate. İkinci olarak, pek çok ayar eksikti ve bunlarla etkileşim için mükemmel SQL sorgu bilgisi gerekiyordu. Üçüncüsü, kullanımı müşteri açısından hizmetin maliyetini artıracaktır.   

Açık kaynağa bu şekilde geldik ELK

Neden ELK'yi seçmelisiniz? 

ELK bir dizi açık kaynaklı programdır:

  • Elasticsearch - büyük hacimli metinlerle çalışmak üzere yeni oluşturulmuş bir zaman serisi veritabanı;
  • Logstash – günlükleri istenen formata dönüştürebilen bir veri toplama mekanizması; 
  • Kibana - iyi bir görselleştiricinin yanı sıra Elasticsearch'ü yönetmek için oldukça kullanıcı dostu bir arayüz. Geceleri nöbetçi mühendisler tarafından izlenebilecek programlar oluşturmak için kullanabilirsiniz. 

ELK'ye giriş eşiği düşüktür. Tüm temel özellikler ücretsizdir. Mutluluk için başka ne gerekiyor?

Hepsini tek bir sistemde nasıl bir araya getirdiniz?

Dizinler oluşturuldu ve yalnızca gerekli bilgiler bırakıldı. Üç FortiWEB günlüğünün tamamını ELK'ye yükledik - çıktı indekslerdi. Bunlar belirli bir döneme (örneğin bir güne) ait toplanan tüm günlükleri içeren dosyalardır. Bunları hemen görselleştirseydik sadece saldırıların dinamiklerini görebilirdik. Ayrıntılar için her bir saldırıyı "gözden geçirmeniz" ve belirli alanlara bakmanız gerekir.

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?

Öncelikle yapılandırılmamış bilgilerin ayrıştırılmasını ayarlamamız gerektiğini fark ettik. Karar verme aşamasında daha fazla bilgi almak için "Mesaj" ve "URL" gibi uzun alanları dize olarak aldık ve bunları ayrıştırdık. 

Örneğin ayrıştırmayı kullanarak kullanıcının konumunu ayrı ayrı çıkardık. Bu, Rus kullanıcılara yönelik sitelere yurt dışından yapılan saldırıların anında vurgulanmasına yardımcı oldu. Diğer ülkelerden gelen tüm bağlantıları engelleyerek saldırı sayısını 2 kat azalttık ve Rusya içindeki saldırılarla rahatlıkla başa çıkabildik. 

Ayrıştırmadan sonra hangi bilgilerin saklanacağını ve görselleştirileceğini aramaya başladılar. Her şeyi günlükte bırakmak uygunsuzdu: bir endeksin boyutu büyüktü - 7 GB. ELK'nin dosyayı işlemesi uzun zaman aldı. Ancak bilgilerin tamamı yararlı değildi. Bir şey kopyalandı ve fazladan yer kapladı; optimize edilmesi gerekiyordu. 

İlk başta dizine baktık ve gereksiz olayları kaldırdık. Bunun FortiWeb'deki günlüklerle çalışmaktan daha zahmetli ve daha uzun olduğu ortaya çıktı. Bu aşamada "Noel ağacının" tek artısı, geniş bir zaman dilimini tek ekranda görselleştirebilmemizdir. 

Umutsuzluğa kapılmadık, kaktüsü yemeye ve ELK'yi incelemeye devam ettik ve gerekli bilgiyi alabileceğimize inandık. İndeksleri temizledikten sonra olanı görselleştirmeye başladık. Böylece büyük kontrol panellerine geldik. Widget'ları dürttük - görsel ve zarif bir şekilde gerçek bir ЁLKa! 

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?

Saldırı anını kaydetti. Artık saldırının başlangıcının grafikte nasıl göründüğünü anlamak gerekiyordu. Bunu tespit etmek için sunucunun kullanıcıya verdiği yanıtlara (dönüş kodları) baktık. Bu tür kodlara (rc) sahip sunucu yanıtlarıyla ilgileniyorduk: 

Kod (rc)

isim

Açıklama

0

DAMLA

Sunucuya yapılan istek engellendi

200

Ok

İstek başarıyla işlendi

400

Hatalı İstek

Geçersiz istek

403

yasak

Yetki reddedildi

500

İç Sunucu Hatası

Hizmet kullanılamıyor

Birisi siteye saldırmaya başladığında kodların oranı değişiyordu: 

  • 400 koduyla daha fazla hatalı istek ve 200 koduyla aynı sayıda normal istek varsa, birisi siteyi hacklemeye çalışıyor demektir. 
  • Aynı zamanda 0 kodlu talepler de arttıysa, FortiWeb politikacıları da saldırıyı "gördü" ve ona blok uyguladı. 
  • 500 kodlu mesajların sayısı arttıysa, site bu IP adresleri için kullanılamıyor demektir - bu da bir tür engellemedir. 

Üçüncü ayda bu etkinliği takip etmek için bir kontrol paneli oluşturduk.

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?

Her şeyi manuel olarak takip etmemek için ELK'yi belirli aralıklarla yoklayan Nagios ile entegrasyon kurduk. Eşik değerlerine ulaşıldığını kodlarla kayıt altına alması halinde şüpheli faaliyete ilişkin görevlilere bildirim gönderiyordu. 

İzleme sisteminde birleştirilmiş 4 grafik. Artık saldırının engellenmediği ve mühendis müdahalesine ihtiyaç duyulan anın grafiklerde görülmesi önemliydi. 4 farklı grafikte gözümüz bulanıktı. Bu nedenle grafikleri birleştirdik ve her şeyi tek ekranda gözlemlemeye başladık.

İzleme sırasında farklı renkteki grafiklerin nasıl değiştiğini izledik. Kırmızı bir patlama saldırının başladığını belirtirken, turuncu ve mavi grafikler FortiWeb'in tepkisini gösteriyordu:

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?
Burada her şey yolunda: "kırmızı" aktivitede bir artış oldu, ancak FortiWeb başa çıktı ve saldırı planı boşa çıktı.

Ayrıca kendimiz için müdahale gerektiren bir grafik örneği çizdik:

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?
Burada FortiWeb'in etkinliğinin arttığını ancak kırmızı saldırı grafiğinin azalmadığını görüyoruz. WAF ayarlarını değiştirmeniz gerekiyor.

Gece olaylarını araştırmak da kolaylaştı. Grafik, sitenin savunmasına gelme zamanının geldiği anı hemen gösteriyor. 

ELK, güvenlik mühendislerinin web sitesi saldırılarıyla mücadele etmesine ve huzur içinde uyumasına nasıl yardımcı olur?
Bazen geceleri böyle olur. Kırmızı grafik - saldırı başladı. Mavi - FortiWeb etkinliği. Saldırı tamamen engellenemedi, müdahale etmek zorunda kaldık.

Nereye gidiyoruz

Şimdi ELK ile çalışacak görev yöneticileri yetiştiriyoruz. Katılımcılar, kontrol panelinde durumu değerlendirmeyi ve bir karar vermeyi öğrenirler: Bir FortiWeb uzmanına başvurmanın zamanı gelmiştir, aksi takdirde WAF'taki politikalar, saldırıyı otomatik olarak püskürtmek için yeterli olacaktır. Böylece geceleri bilgi güvenliği mühendislerinin üzerindeki yükü azaltıyor ve sistem düzeyinde destekteki rolleri paylaştırıyoruz. FortiWeb'e erişim yalnızca siber savunma merkezinde kalır ve acil ihtiyaç duyulduğunda WAF ayarlarında yalnızca onlar değişiklik yapar.

Ayrıca müşterilere yönelik raporlama üzerinde de çalışıyoruz. WAF çalışmasının dinamiklerine ilişkin verilerin müşterinin kişisel hesabında mevcut olmasını planlıyoruz. ELK, WAF'ın kendisine başvurmaya gerek kalmadan durumu daha net hale getirecek.

Müşteri kendi korumasını gerçek zamanlı olarak izlemek isterse ELK de kullanışlı olacaktır. Müşterinin işe müdahalesi geri kalanını etkileyebileceğinden WAF'a erişim hakkı veremeyiz. Ancak ayrı bir ELK alıp "oynaması" için verebilirsiniz. 

Bunlar son zamanlarda biriktirdiğimiz Noel ağacını kullanma senaryoları. Bu konudaki düşüncelerinizi paylaşın ve unutmayın her şeyi doğru şekilde ayarlayınveritabanı sızıntılarını önlemek için. 

Kaynak: habr.com