Open Source

Security Onion Kurulumu Bölüm-1 Standalone Mimari

Merhaba, yeni bir açık kaynak kodlu makale serisi ile karşınızdayız. Bu makale serisinde sizleri Security Onion ile tanıştırmak istiyorum.

Security Onion SANS eğitmenlerinden Doug Burks tarafından tamamen açık kaynak kodlu yazılımların bir araya getirilip entegre edilmesi ile ortaya çıkan, merkezi log yönetimi, Tehdit Avcılığı (Threat Hunting), Ağ Adli Bilişim (Network Forensic), server/client ve aktif cihazlar gibi log üreten her şeyi analiz edebilen bir platform.

Kurum ve yapılandırma işlemlerine başlamadan önce SO (Securtiy Onion) oluşturan araçlara beraber bakalım.

Elasticsearch, Logstash, Kibana, Snort, Suricata, Zeek, Wazuh, Sguil, Squert, CyberChef, NetworkMiner. Tabi kullanılan araçlar bunun ile sınırlı değil. Bu araçları tek tek açıklamak yerine, makalelerin ilerleyen bölümlerinde yeri geldikten uygulamalı olarak anlatacağım.

İsterseniz yavaş yavaş kuruluma geçelim.

Yapı

Securtiy Onion(artık SO diye kısaca ifade edeceğim) yukarıda da yazdığım gibi network analizi yapabiliyor. Bunu yapmak için fiziksel network tarafında yapılması gereken bazı ayarlar bulunmaktadır.

Benim yapım bu bileşenlerden oluşuyor.

1 – ESXi sanallaştırma altyapısı üzerinde 1 adet vm (üzerinde 2 ethernet kartı )

2 – Network ortamında 1 adet Hp 2920 switch

3 – Test işlemlerinde kullanmak üzere sunucu, client, güvenlik duvarı

İlk olarak SO kurulacak olan vm özellikleri üzerine konuşmamız gerekli.

VM konfigürasyonunda dikkat edilmesi gereken durumlar

  • Network
    Eğer network analizi yapılacaksa (zaten yapılmalı bence SO’nun en güçlü yanlarından birisi bu özelliği) üzerinde 2 adet ethernet kartı. Bu ethernetlerden birsi vm network’e bağlı diğeri yine hangi network dinlenecek ise o network’de promiscuous mod olarak yapılandırımış durumda. Burada ki önemli nokta hem switch üzerinde hemde vm altyapısında bu ethernet promiscuous mod olarak yapılandırılmalı.
  • Depolama
    Bu çok önemli özelliklede network analiz yapıyorsanız çok fazla boyutta veri üretiliyor benim deneyimlerim ortalama bir network için 40 ile 50 TB lık bir alan 30 günlük log tutabiliyor tabi çok fazla değişken var. Bunlar EPS değerleriniz,network’ünüzün büyüklüğü ve oluşturduğu log miktarı, kullanılan cihazların sayısı (sunucu-istemci, switch, router ) gibi bir çok unsur var bunların iyi hesaplanması gerekli.

Kurulum Mimarisi

SO farklı yapılar için farklı kurulum senaryoları destekler bunlar:

Standalone Mimari

Bu makaleninde konusu olan tüm bileşenlerin tek bir sunucuda toplandığı yapı. Bu yapılar test veya küçük ortamlar için uygundur.

Distributed Depoloyment

Tavsiye edilen yapı şekilde. İkinci makalemizin konusunu bu yapının kurulması üzerine olacaktır. Bu yapıda depolama, analiz, log toplamadan görevli olan Forward’lar bir birinden ayrılmıştır.

Heavy Distributed Deployment

Bu yapıda sorgular master node’da yapılmakta diğer tüm işlemler diğer node’da devam etmekte, çok tavsiye edilen bir yapı değil ama “Distributed Deployment” yapılamıyorsa tercih edilebilinir.

Evet şimdi makalemizin konunusu olan “Standalone Mimari” ile devam edebiliriz. Bu yapıda yukarıda da bahsettiğimiz gibi tüm bileşenler tek bir sunucuda olacak.

İlk olarak yapılandırmaya switch üzerinden başlıyacağım. Kuracağımız yapıyı anlatırken ethernet kartlardan birinin “Promiscuous Mode” olarak yapılandaracağımız ve böylece network’deki tüm trafiği dinleyebileceğimizi söylemiştim. Bunun için ilk önce bu ethernet kartının switchde sonlanan portunuda “mirror” dediğimiz şeklide yapılandırmamız gerekli.

İlk önce swtich’e bağladım

Aşağıdaki komutlar ile switch üzerindeki 48 nolu portu mirror olarak, 1-47 arasındaki portlar üzerinde geçen tüm trafiğin bir kopyasını 48 nolu port üzerinde de geçecek çekilde yapılandırdım. Böylece switch üzerindeki tüm trafiği SO üzerine yönlendirmiş oldum ama daha bitmedi işin SO sunucu kısmında var.

configure terminal
mirror-port 48
interface 1-47 monitor

Sanllaştırma altyapısı olarak ESXi 6.7 kurulu ve fiziksel switch üzerinde gerekli yapılandırmalar ardında sanallaştırma üzerinde de gerekli yapılandırmaları yapmamız gerekli.

İlk önce yeni bir vss oluşturuyorum.

Ayarlar kısmında “Promiscuous Mode” Accept olarak ayarlıyorum.

Port Group oluşturuyoruz.

Evet bu işlemlerin ardından artık network’de olan bitenleri analiz edebileceğiz.

İlk önce kurulum için gerekli olan iso dosyasını https://securityonion.net/ adresinden indiriyoruz.

Sıra geldi SO VM oluşturmaya.

Ben test ortamı için 4 çekirdek, 8 GB ram seçimi yaptım. Diski Thick olarak ayarladım ama prod ortamlarda kullanmak için Thick seçilmesinde fayda var böylece disk okuma ve yazmada daha fazla performans alınılabilir.

SO iso’unu seçiyorum.

VM özelliklerine girip ikinci bir ethernet kartı ekleyip sonrasında network’u dinlemek için ayarladığım “Mirror-PG” seçiyorum.

VM start edip devam ediyorum.

Masasütündeki “Install SecurityOnion” linkine çift tıklayarak başlıyorum.

Kurulum bitiyor ve sunucumu resetliyorum.

Şuana kadar işletim sistemini kurduk. Şimdi sıra SO yapılandırmasında. Bunun içim yine masaüstündeki “Setup” kısayoluna çift tıklayarak başlatıyorum.

Yes, Continue!” seçeneği ile devam ediyorum.

Ethernet kart yapılandırması için “Yes, configure /etc/network/interfaces!” seçeneği ile devam ediyorum.

VM üzerinde iki ethernet kartı var. Bunlardan birtanesi yönetim için kullanacağız diğerini network’u dinlemek için.

İlk olarak yönetim yani management interface’i ayarlamak ile başlıyorum. Management için kullanacağım interface’i seçiyorum.

Sabit ip vereceğim için “Static” seçeneği ile devam ediyorum.

Ip yapıladırmalarını kendinize göre yapın. Ben kendi network’um için uygun ayarları yaptım. Şimdi sıra “Promiscuous mode” olarak yapılandıracağımız network kartına geldi. Bunun için “Yes, configure sniffing interfaces” seçeneği ile devam ediyorum.

Promiscuous Mode” için kullanacağım ikinci ethernet kartımı seçtim.

Bu ayarlardan sonra SO sunucumu yeniden başlatıyorum.

VM açıldıktan sonra “Setup” kısayoluna yeniden çift tıklıyorum.

Bu ekranda iki seçenek karşımıza geliyor. Bunlar:

Evaluation Mode – Standart mod, default ayarlarla kurulum tamamlanır.
Production Mode – Bu modda ayarları tek tek ayarlayabiliyoruz.

Ben “Production Mode” ile devam ediyorum.

New” ile devam ediyorum böylece yeni bir kurulum yapacağımı söylüyorum.

Yönetim paneli için kullanıcı ve şifre belirliyorum.

IDS” için kullanacağım kural setini seçiyorum. Ücretsiz olanda var veya bir ücret karşılığı “onkicode” denen kodu edinerek devam edilir. Detaylı bilgiyi buradan alabilirsiniz. https://www.snort.org/products

IDS için hangi altyapıyı kullanacağınızı seçiyorsunuz. Ben snort’u seçiyorum. Snort – Suricate karşılaştırması için burayı inceleyebilirsiniz. Karşılaştırma

Ağ arayüzüne gelen trafikle diske yazma yazılan trafik arasındaki veriyi ram’a yazarak paket kaybı yaşanmasının önüne geçmeyi hedeflemektedir. Bu değeri yükselterek paket kayıplarının önüne geçilebilinir.

İzlemek istediğiniz network aralıklarını giriyorsunuz.

Verilerin localda tutlacağını söylüyor eğer başka yerde tutmak isterseniz “No” seçeneği ile devam edebilirsiniz. Ben aynı sunucuda tutacağım için “Yes” seçeneği ile devam ediyorum.

Tutulacak log için kapasite değerini istiyor. Benim alanıma uygun değer geliyor.

Yes” seçeneği ile onaylıyorum.

Kurulum bitti ve SO yeniden başladı. Herhangi bir tarayıcı açarak “https://SO ip’si/app/kibana” yazarak SO arayüzüne erişiyorum.

Görüldüğü gibi başarılı bir şekilde arayüze eriştim ve gelen logları görmeye başladı. Gördüğü gibi arayüz Kibana.

SO, görselleşitirme için Kibanayı kullanmaktadır.

Evet SO makalemizin ilk bölümünün sonuna geldik. İkinci makalede “Distributed Depoloyment” olarak kurumu yapacağız. Keyifli okumalar.

İlgili Makaleler

7 Yorum

  1. Emeğinize sağlık, Wazuh inceliyordum sizin makale denk gelince birde bunu denemek istedim.
    Security Onion Centos üzerine kurulu siz virtual machine kurulumda neden Ubuntu 64bit seçtiniz, sistemin çökmesine sebep olmaz mı?.

    1. Merhaba, teşekkürler. Hayır olmaz vmware üzerinde kurulumunda sadece şablon o, zaten kendi SO kendi işletim sistemi üzerinde geldiği için çok fark eden bir durum değil

      1. Sait hocam, teşekkür ederim, Open Source olduğundan içindeki bir takım uygulamalara yabancıyız teoride biraz bilgimiz var pratikte yok maalesef, kurulumdan sonra kullanımı ile alakalı makale bekleriz 😉 . Domaindeki cihaza virtual olarak wazuh kurulum ile ufak bir deneme yaptım. Şimdi aynı yöntem bunu kuracağım, fiziki yapı üzerinde test etmek hatta kalıcı olarak kullanmak istiyorum. 2 adet 24port switch var, daha önce hiç port mirroring yapmadım nasıl bir ayar yapmam lazım çözemedim. Kabini Düzenleyen arkadaş Swich 1 24 nolu porttan switch 2 24 nolu porta trunk yapmış Switch 1 e fiber başka ağdan vlan ile geliyor.
        Benim Virtual cihaz Switch 2 23nolu porta takılı. Switch 2 de 23 nolu porta port mirroring uyguladığımda Switch 1 e ne gibi ayar yapabilirim?
        Bir diğer sorum; bu kısımlar network analizi için, server ve client tarafına sysmon + wazuh agent kurulumu ile log göndermek yeterli mi?

        1. Merhaba, öncelikle ben SO olsun wazuh veya elasticsearch’ü adli analizler için kullandım, tüm bunlar elasticsearch tabanlı olduğu için çok fazla depolama alanına ihtiyaç duyuyor. Network alanizi için SO üzerindeki bir etherneti omurganıza mirror yapmanız yeterki, clientlar için wazuh agent yeterli ancak bir SIEM olarak düşünmeyin kolerasyon yazma zahmetli ve kısıtlı. Bu yüzden SO ve türevleri sisteminiz üzerinde görünürlülüğü biraz daha arttırıyor. Hatta işi biraz daha ilerletmek için snort+SO kullanılabilir IPS/IDS vb. ek senaryoları var ama dediğim gibi log depolama en büyük sorun terabyte’larca alan verseniz yine yetersiz kalıyor, hele ki network trafiğini düşününce.

  2. Hocam selam Wazuh konusunda daha detaylı açmanızı bekliyoruz. Güzel bir hazırlık yapmışınız teşekkür ederiz.
    Logsign gibi kullanım konusunda bilgilerinize ihtiyacımız var.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu