Sığınma Evi Tabanlı Güvenlik Sistemi Kurulumu
SIEM sistemini sığınma evinizde kurma rehberi. Tamamen özel, güçlü ve elinizde – bulut gerekmez.
Uyarı: Aktif geliştirme aşamasında olan sistem
PowerOn şirket içi SIEM yığını şu anda aktif geliştirme aşamasındadır. Bu, her şeyin hızla değişebileceği anlamına gelir – özellikler değişebilir, entegrasyonlar bozulabilir ve bazı yapılandırmalar üretim ortamlarında hala deneysel veya test edilmemiş durumdadır.
Burada verilen rehberlik, pilot sistemler veya test dağıtımları oluşturan teknik kullanıcılar için tasarlanmıştır. Bu yığını savunmasız insanları korumak için dağıtıyorsanız, aşırı dikkatli olun. Her bileşeni kendi ortamınızda doğrulayın ve hiçbir şeyin kutudan çıktığı gibi kusursuz olmadığını varsayın.
Zeek, Suricata, Sysmon ve Linux uç noktaları arasında belgelemeyi genişletmeye, örnek yapılandırmalar eklemeye ve log korelasyon stratejilerini iyileştirmeye aktif olarak devam ediyoruz. Katkılar, düzeltmeler ve sahada test edilmiş iyileştirmeler memnuniyetle karşılanır.
Kararlı olarak ilan edilene kadar, bu yığını canlı bir sistem olarak ele alın: bazı alanlarda kırılgan, diğerlerinde umut vaat eden ve her zaman revizyona tabi.
Tasarım seçimleri
- Üçüncü taraf bulut platformları yok
- Verilerinizin binanızdan çıkması yok
- Mağdurlar üzerinde gizli gözetim yok
Şu özelliklere sahip sığınma evleri için tasarlanmıştır:
- Kararlı bir internet bağlantısı (sadece bina içinde olsa bile)
- Küçük ama kararlı bir ekip
- Dijital geçmiş yok (her şeyi açıklayacağız)
- Dijital takip, tahrifat veya gözetim belirtilerini tespit etme ihtiyacı
Bu sistemin yapması gerekenler
Cihazlardan ipuçları toplar (loglar, uyarılar ve garip davranışlar gibi), takip veya izinsiz giriş belirtilerini izler ve tehditleri hızlıca tespit edip harekete geçebilmeniz için görsel bir pano sunar.
İhtiyacınız olanlar
Bir sığınma evi sunucusu (komuta merkeziniz)
Her şeyi çalıştıracak olan makine.
Minimum özellikler:
- Ubuntu 22.04 LTS (ücretsiz bir Linux sürümü – gerekirse nasıl yükleneceğini açıklayacağız)
- En az 8 GB RAM (bellek)
- En az 4 CPU çekirdeği (işlem gücü)
- En az 100 GB disk alanı
- Sabit bir dahili IP adresi (böylece diğer cihazlar onu her zaman bulabilir)
Emin değilseniz, IT gönüllünüzden 192.168.1.10
gibi sabit bir IP ayarlamasını isteyin.
Şunları kullanabilirsiniz:
- Yedek bir PC
- Mini bir PC (Intel NUC gibi)
- Mevcut yönetici bilgisayarınızda bir sanal makine (yeterince güçlüyse)
İzlenecek cihazlar
Bu sistemin hizmet verebileceği cihazlar:
- Windows dizüstü bilgisayarlar
- macOS cihazlar (ör. MacBook’lar)
- Android telefonlar (rootlu = daha fazla erişim, ancak gerekli değil)
- iPhone’lar (jailbreak yapılmadıysa sadece kısmi veri)
Sığınma evi ağı (kablolu veya Wi-Fi)
Sadece tüm cihazların bina içinde bağlanması gerekir. Sistem kurulduktan sonra internet erişimine ihtiyaç duymaz.
Opsiyonel: PiRogue cihazı
Sığınma evi ağına katılmadan önce cihazları şüpheli davranışlar açısından kontrol eden küçük bir araç seti (Raspberry Pi tabanlı). Kabul görüşmeleri veya saha çalışmaları sırasında idealdir.
Sunucu kurulumu adım adım
Tüm güvenlik araçlarınız burada olacak.
- Bir terminal penceresi açın (Ubuntu sunucunuzda
Ctrl + Alt + T
tuşlarına basın) - Sisteminizi güncelleyin ve sunucunuzun güncel olduğundan ve paketleri güvenli bir şekilde indirebildiğinden emin olmak için bazı temel araçları yükleyin:
sudo apt update && sudo apt install -y curl unzip gnupg
- Java’yı yükleyin (bazı ELK bileşenleri için gereklidir):
sudo apt install -y openjdk-11-jdk
Wazuh’u yükleyin (temel güvenlik sisteminiz)
Wazuh, cihazları izleyen, sorunları arayan ve size uyarılar ve bir pano sunan açık kaynaklı bir sistemdir. Şunları içerir:
- Wazuh Manager (uyarıları ve eylemleri yönetir)
- Wazuh API (panel ile sistem arasında iletişim sağlar)
- Elasticsearch (loglar ve verileri depolar)
- Kibana (görsel panonuz)
- Wazuh yazılım kaynağını ekleyin:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --dearmor -o /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
- Wazuh ve destek araçlarını yükleyin:
sudo apt install -y wazuh-manager wazuh-api elasticsearch kibana
- Hizmetleri şimdi ve sunucuyu her yeniden başlattığınızda çalışacak şekilde başlatın:
sudo systemctl enable --now wazuh-manager elasticsearch kibana
Wazuh panosunu ayarlayın
Her şey çalışır durumdayken, sunucunuzda bir tarayıcı açın ve ana kontrol odanıza gidin. Giriş yapacak ve uyarılar, cihaz bilgileri ve daha fazlasını göreceksiniz:
http://localhost:5601
Veya aynı ağdaki başka bir cihazdan:
http://192.168.1.10:5601
Zeek’i yükleyin (ağ izleme sisteminiz)
Zeek (eski adıyla Bro), tüm ağ trafiğini izleyen ve bağlantılar, dosyalar ve protokoller hakkında detaylı loglar oluşturan güçlü bir ağ analiz çerçevesidir. Şunları içerir:
- Gerçek zamanlı trafik analizi
- Protokol tespiti (HTTP, DNS, SSL vb.)
- Dosya çıkarma yetenekleri
- Tehdit tespiti için özel betikler
- Zeek’i Ubuntu depolarından yükleyin:
Eğer Zeek Ubuntu sürümünüzde mevcut değilse (veya daha yeni özelliklere ihtiyacınız varsa), kaynak kodundan derleyin:
# Derleme bağımlılıklarını yükleyin
sudo apt install -y cmake make gcc g++ flex bison libpcap-dev libssl-dev python3 python3-dev zlib1g-dev
# Zeek'i indirin ve derleyin (X.X.X yerine en son sürümü yazın)
wget https://download.zeek.org/zeek-X.X.X.tar.gz
tar xzf zeek-X.X.X.tar.gz
cd zeek-X.X.X
./configure
make
sudo make install
- Zeek’i ağ arayüzünüzü izleyecek şekilde yapılandırın (
ip link show
ile arayüzünüzü bulun):
sudo nano /etc/zeek/node.cfg
Arayüzünüzü belirtmek için değiştirin (genellikle eth0
veya ens33
):
[zeek]
type=standalone
host=localhost
interface=eth0 # Bunu gerçek arayüzünüzle değiştirin
- Özel casus yazılım tespit betikleri ekleyin
- Tespit betiğinizi (ör.
poweron-spyware.zeek
) /opt/zeek/share/zeek/site/
veya /opt/zeek/poweron-spyware.zeek
konumuna kaydedin. /opt/zeek/local.zeek
dosyasını düzenleyin ve şunu ekleyin:
@load ./poweron-spyware.zeek
- İzinleri ayarlayın:
- Zeek, log dizinlerine (
/opt/zeek/logs/current/
) okuma ve yazma erişimine sahip olmalıdır. - Zeek’i root olmayan bir kullanıcı olarak çalıştırıyorsanız, bu kullanıcının uygun gruplarda olduğundan veya log dizinlerinin sahibi olduğundan emin olun:
sudo chown -R zeekuser:zeekgroup /opt/zeek/logs
sudo chmod -R 750 /opt/zeek/logs
- Zeek hizmetini başlatın:
sudo systemctl enable --now zeek
sudo zeekctl deploy # İlk dağıtım
- Zeek’in çalıştığını doğrulayın:
Suricata’yı yükleyin (sızma tespit sisteminiz)
Suricata, şunları yapan yüksek performanslı bir sızma tespit sistemidir (IDS):
- Ağ trafiğini kötü niyetli kalıplar için tarar
- Bilinen saldırı imzalarını tespit eder
- Güvenlik uyarıları oluşturur
- Tehdit istihbarat beslemeleriyle entegre olur
- Suricata ve bağımlılıklarını yükleyin:
sudo apt install -y suricata jq
- Suricata’yı ağ arayüzünüzü izleyecek şekilde yapılandırın:
sudo nano /etc/suricata/suricata.yaml
af-packet
arayüzünü ayarlayın:
af-packet:
- interface: eth0 # Arayüzünüzle değiştirin
threads: auto
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
Log gönderimi için EVE JSON çıktısını etkinleştirin:
outputs:
- eve-log:
enabled: yes
filetype: regular
filename: /var/log/suricata/eve.json
types:
- alert
- dns
- http
- tls
- flow
- Suricata kurallarını güncelleyin (yeni tehditler dahil):
sudo suricata-update
sudo suricata-update update-sources
sudo systemctl restart suricata
- İzinleri ayarlayın
Suricata’nın /var/log/suricata/
dizinine yazabildiğinden emin olun:
sudo chown -R suricata:suricata /var/log/suricata
sudo chmod -R 750 /var/log/suricata
- Suricata’yı etkinleştirin ve başlatın
sudo systemctl enable suricata
sudo systemctl start suricata
- Suricata’nın çalıştığını doğrulayın:
sudo systemctl status suricata
- Son uyarıları kontrol edin (tehdit tespit edilmediyse boş bir dizi [] göstermelidir):
jq '.event_type' /var/log/suricata/eve.json | grep alert | wc -l
Zeek ve Suricata’yı önyüklemede başlayacak şekilde ayarlayın
Her iki hizmetin de otomatik olarak yeniden başlayacağından emin olun:
sudo systemctl enable zeek
sudo systemctl enable suricata
Panelinizle entegrasyonu doğrulayın
Yaklaşık 5 dakika sonra, Wazuh panelinizi http://192.168.1.10:5601
adresinde kontrol edin:
- Zeek ağ logları “Güvenlik Olayları” altında
- Suricata uyarıları “Tehdit Tespiti” bölümünde
Sorun giderme için logları şu komutlarla kontrol edin:
journalctl -u zeek -f
journalctl -u suricata -f
Mağdur cihazlarını bağlayın
Her cihazdan yararlı log ve uyarıları bu şekilde toplarsınız.
Windows veya Mac için
Bu cihazlar logları sunucunuza göndermek için Wazuh Aracısı adlı bir program kullanır.
Wazuh Aracısı nedir? Arka planda çalışan, oturum açma girişimleri, garip uygulama davranışları veya ayar değişiklikleri gibi güvenlikle ilgili bilgileri toplayan küçük bir uygulamadır. Bu verileri güvenli bir şekilde sunucunuza gönderir.
Seçenek 1: Aracıyı doğrudan tarayıcıdan yükleyin
- Cihazda bir web tarayıcısı açın.
- Şu adrese gidin:
http://192.168.1.10:5601
- Windows veya macOS için aracıyı indirin.
- Yükleyiciyi çalıştırın.
- Sunucu IP’si istendiğinde, sunucunuzun sabit IP’sini girin (ör.
192.168.1.10
)
Seçenek 2: USB üzerinden yükleyin (cihazda internet yoksa)
- Sunucuda:
wget https://packages.wazuh.com/4.x/agents/wazuh-agent_x.x.x.msi
cp wazuh-agent_x.x.x.msi /media/usb
- USB’yi mağdurun cihazına takın.
- Yükleyiciyi manuel olarak çalıştırın.
Android (rootlu)
Rootlu, telefonun dahili sistemine tam erişim anlamına gelir. Rootlu değilse, sonraki bölüme bakın.
- Termux’u yükleyin (bir Linux terminal uygulaması): F-Droid‘dan indirin.
- Termux’u açın ve şunu yazın:
pkg update && pkg install curl git
curl -s http://192.168.1.10/setup_android.sh | bash
(Bu betik sunucunuzda hazırlanmalıdır.)
Android (rootlu değil)
Logları adb
kullanarak manuel olarak çıkaracaksınız.
adb
nedir? ADB (Android Debug Bridge), Android telefonlarla bir bilgisayardan iletişim kurmanızı sağlayan bir araçtır. Sistem bilgilerini ve logları kopyalamak için kullanacaksınız.
- Ubuntu sunucunuza adb’yi yükleyin:
sudo apt install android-tools-adb
Telefonda USB hata ayıklamayı etkinleştirin:
- Ayarlar → Telefon hakkında‘ya gidin
- Yapı numarası’na 7 kez dokunarak geliştirici seçeneklerini açın
- Geliştirici seçenekleri’ne gidin, USB hata ayıklama‘yı etkinleştirin
Telefonu sunucuya USB kablosuyla bağlayın.
Tanındığını kontrol edin:
Bir cihaz ID’si listelenmelidir. Değilse, USB kablosunu ve izinleri kontrol edin.
- Logları telefondan kopyalayın:
adb logcat -d > /opt/logs/android_logcat.txt
adb bugreport > /opt/logs/android_bugreport.zip
- İsteğe bağlı: Uygulama listesini ve proxy ayarlarını çıkarın
adb shell pm list packages -f > /opt/logs/android_apps.txt
adb shell settings get global http_proxy
Jailbreak’li iPhone’lar (tam erişim)
- Cydia (jailbreak uygulama mağazası) üzerinden OpenSSH yükleyin
- Logları sunucunuza SSH üzerinden aktarmak için güvenli betikler kullanın
Jailbreak yapılmamış iPhone’lar
Uygulama verilerini çıkarmak için yerel yedekleme kullanın.
- Sunucuya araçları yükleyin:
sudo apt install libimobiledevice-utils
- iPhone’un yedeğini alın:
idevicebackup2 backup /opt/backups/ios_device/
- Bir ayrıştırma betiği çalıştırın (yardım isteyebilirsiniz):
python3 parse_ios_backup.py /opt/backups/ios_device/
Şunları arayın:
- Bilinmeyen uygulamalar
- Konum logları
- Yansıtma yazılımları
Sysmon kurulumu (Windows uç noktaları)
Sysmon (System Monitor), şunları kaydeden bir Windows sistem hizmetidir:
- Komut satırlarıyla birlikte işlem oluşturmaları
- Ağ bağlantıları
- Dosya oluşturma zaman damgaları
- Sürücü yüklemeleri
- Standart Windows loglarından daha ayrıntılı izleme
Sysmon’u Wazuh aracılarını dağıttıktan sonra ancak gelişmiş izleme kurallarını yapılandırmadan önce yükleyin.
- Sysmon’u Microsoft’tan indirin https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon:
Invoke-WebRequest -Uri "https://download.sysinternals.com/files/Sysmon.zip" -OutFile "$env:TEMP\Sysmon.zip"
Expand-Archive -Path "$env:TEMP\Sysmon.zip" -DestinationPath "C:\Program Files\Sysmon"
- Yapılandırma dosyası oluşturun
Casus yazılım odaklı minimal bir yapılandırma kullanın (poweron-sysmon-config.xml
olarak kaydedin):
<Sysmon schemaversion="4.70">
<EventFiltering>
<ProcessCreate onmatch="include" />
<NetworkConnect onmatch="include" />
<ImageLoad onmatch="include" />
<ProcessAccess onmatch="include" />
<CreateRemoteThread onmatch="include" />
<RegistryEvent onmatch="include" />
<Exclude>
<Image condition="is">C:\Windows\System32\svchost.exe</Image>
<Image condition="is">C:\Windows\System32\services.exe</Image>
<Image condition="is">C:\Windows\System32\lsass.exe</Image>
</Exclude>
</EventFiltering>
</Sysmon>
- Yapılandırmayla yükleyin
Yönetici olarak PowerShell’i açın ve çalıştırın:
cd "C:\Program Files\Sysmon"
.\Sysmon64.exe -i poweron-sysmon-config.xml -accepteula
- Olay Görüntüleyici’de doğrulayın
Açın: Olay Görüntüleyici > Uygulama ve Hizmet Logları > Microsoft > Windows > Sysmon > Operational
Burada yeni işlem/ağ olayları gösterilmelidir.
- Bunu Wazuh aracısının
ossec.conf
dosyasına ekleyin:
<localfile>
<log_format>eventchannel</log_format>
<location>Microsoft-Windows-Sysmon/Operational</location>
</localfile>
Linux uç nokta izleme ayarları
Opsiyonel: Bağlanmadan önce cihazları taramak için PiRogue kullanın
Bir PiRogue cihazı, ağ ile bir telefon/dizüstü bilgisayar arasında durur ve tüm trafiği izler.
- PiRogue’a bağlanın:
ssh pi@piroguedevice.local
- Bir ağ taraması başlatın:
sudo ./start_capture.sh --target 192.168.1.75
- Tarama bittikten sonra, verileri sunucunuza gönderin:
scp capture.pcap user@192.168.1.10:/opt/forensics/
- Bu komutla inceleyin:
tshark -r /opt/forensics/capture.pcap
Logları SIEM’e gönderme
Sensor makinelerde Filebeat ile Zeek loglarını gönderme
- Filebeat’i yükleyin:
sudo apt install -y filebeat
/etc/filebeat/filebeat.yml
dosyasını yapılandırın:
filebeat.inputs:
- type: log
enabled: true
paths:
- /opt/zeek/logs/current/conn.log
- /opt/zeek/logs/current/dns.log
- /opt/zeek/logs/current/http.log
json.keys_under_root: true
json.add_error_key: true
fields:
source: zeek
fields_under_root: true
output.logstash:
hosts: ["your-wazuh-manager:5044"]
- Zeek modülünü etkinleştirin (isteğe bağlı, modül kullanıyorsanız):
sudo filebeat modules enable zeek
- Filebeat’i başlatın ve etkinleştirin:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Filebeat ile Suricata loglarını gönderme
/etc/filebeat/filebeat.yml
dosyasına şunu ekleyin:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/suricata/eve.json
json.keys_under_root: true
json.add_error_key: true
fields:
source: suricata
fields_under_root: true
output.logstash:
hosts: ["your-wazuh-manager:5044"]
- Suricata modülünü etkinleştirin (isteğe bağlı):
sudo filebeat modules enable suricata
- Uygulamak için Filebeat’i yeniden başlatın:
sudo systemctl restart filebeat
Windows uç noktalardan Sysmon loglarını gönderme
- Windows’ta Wazuh aracısını (tercih edilen) veya Filebeat’i yükleyin.
- Wazuh aracısı için, Sysmon olay kanalı loglarını toplayacak şekilde yapılandırın (aşağıya bakın).
- Filebeat kullanıyorsanız, Sysmon olay loglarını okumak ve doğrudan Wazuh veya Elasticsearch’e göndermek için yapılandırın.
Wazuh için log alma yapılandırması
Zeek loglarını ekleme
Wazuh yöneticisi veya aracı yapılandırmasında (ossec.conf
), şunu ekleyin:
<localfile>
<log_format>json</log_format>
<location>/opt/zeek/logs/current/conn.log</location>
</localfile>
<localfile>
<log_format>json</log_format>
<location>/opt/zeek/logs/current/dns.log</location>
</localfile>
<localfile>
<log_format>json</log_format>
<location>/opt/zeek/logs/current/http.log</location>
</localfile>
Suricata loglarını ekleme
ossec.conf
dosyasına şunu ekleyin:
<localfile>
<log_format>json</log_format>
<location>/var/log/suricata/eve.json</location>
</localfile>
Sysmon loglarını ekleme
Windows aracısının ossec.conf
dosyasında:
<localfile>
<log_format>eventchannel</log_format>
<location>Microsoft-Windows-Sysmon/Operational</location>
</localfile>
Wazuh için dekoder ve kural seti kurulumu
Zeek dekoder ve kural seti yapılandırması
Zeek loglarının Wazuh’ta anlamlı olması için doğru dekoderlerin ve kuralların etkinleştirilmesi gerekir. Hazır olarak Wazuh, Zeek loglarını nasıl okuyacağını söylenmediği sürece anlamaz. İşte bunu çözme yolu:
- Zeek dekoderini etkinleştirin
Wazuh yöneticinizin etc/decoders/zeek-decoder.xml
dosyasını kontrol edin. Eğer zaten yoksa, şununla oluşturun:
<decoder name="zeek">
<program_name>zeek</program_name>
<type>json</type>
</decoder>
Eğer program_name
alanı olmadan JSON loglarını alıyorsanız, uid
, id.orig_h
, proto
gibi belirli Zeek alanlarında tetiklenen özel kurallar ekleyin.
- Zeek için kural dosyalarını yükleyin
Wazuh’un Zeek loglarının yapısını ve anlamını anlayan kurallara ihtiyacı vardır. Şunlardan birini yapın:
<group name="zeek,">
<rule id="100200" level="5">
<decoded_as>json</decoded_as>
<field name="proto">tcp</field>
<description>Zeek TCP bağlantısı tespit edildi</description>
</rule>
</group>
Bu, Zeek içeriğine dayalı olarak bayrak koymanıza, ilişkilendirmenize veya yükseltmenize izin verir.
- Loglar başka bir makineden gönderiliyorsa…
Zeek bir sensörde çalışıyor ve logları SIEM makinesine gönderiyorsa:
İzinler: Filebeat’in (veya senkronizasyon sürecinizin) Zeek loglarını okuma izni olduğundan ve bunların alınmadan önce döndürülmediğinden emin olun. chmod o+r
veya özel bir grup kullanın.
Bütünlük: Şunlarla tahrif veya kesinti önleyin:
rsync -a --checksum
veya- Şifreli taşıma (örn. SSH tünelleri, TLS üzerinden Filebeat)
Zaman damgaları: Saat dilimlerini kontrol edin ve Zeek loglarından doğrudan ts
alanlarını kullanın – dosya değiştirme zamanına güvenmeyin.
- Her şeyin bağlı olduğunu doğrulayın
- Bir Zeek log satırıyla
wazuh-logtest
çalıştırarak eşleşmeyi test edin /var/ossec/logs/ossec.log
dosyasını dekoder hataları veya uyarıları için izleyin- Kuralların beklendiği gibi tetiklendiğini onaylamak için
alerts.json
veya Kibana’nın Discover sekmesini kullanın
Suricata dekoderlerini etkinleştirin
Wazuh’un varsayılan Suricata dekoderlerini ve kurallarını veya topluluk katkılarını kullanın.
Sysmon dekoderlerini etkinleştirin
Wazuh varsayılan olarak Sysmon dekoderlerini ve kurallarını içerir. Etkin olduklarından emin olun.
Test ve doğrulama
- Filebeat’i başlatmadan önce
filebeat test config -c filebeat.yml
çalıştırın - Logların 30 saniye içinde dizininizde veya yöneticinizde göründüğünü onaylayın
- Alım gizemli bir şekilde başarısız olursa, Zeek JSON’unu manuel olarak doğrulamak için
jq
kullanın
- Çalıştırın:
filebeat test config -c /etc/filebeat/filebeat.yml
- Wazuh dekoderlerini şununla test edin:
- Wazuh yönetici loglarını (
/var/ossec/logs/ossec.log
) dekoder hataları için izleyin. - Gelen loglar ve uyarılar için Elasticsearch/Kibana’yı kontrol edin.
Güvenlik ve bütünlük hususları
- Uzak log gönderimi için şunları sağlayın:
- Dosya izinleri Filebeat/Wazuh’un logları okumasına izin veriyor.
- Loglar alınmadan önce döndürülmüyor.
- Şifreli taşıma kanalları kullanın (TLS, SSH tünelleri).
- Log bütünlüğünü ve zaman damgası doğruluğunu düzenli olarak doğrulayın.
Otomasyon betikleri ekleyin
Bkz. (Kontrol ve yanıtları otomatikleştirmek için yardımcı betikler)
Haftalık bakım
- Yeni uyarılar için panoyu kontrol edin
/var/ossec/logs/
klasörünü bir USB veya harici sürücüye yedekleyin- Belleği temizlemek için sunucuyu ayda bir yeniden başlatın
- Sunucuyu güvenli bir yerde kilitleyin
- Uyarı loglarını gözden geçirin (
/opt/siem/alerts/suspicious.log
eğer betik kullanıyorsanız)
Özet
Bileşen | Kurulum yeri | Ana yapılandırma dosyaları | Log yolları | İzinler |
---|
Zeek | Ubuntu sunucu/sensor | /etc/zeek/node.cfg , local.zeek | /opt/zeek/logs/current/*.log | loglarda chmod/chown |
Suricata | Ubuntu sunucu/sensor | /etc/suricata/suricata.yaml | /var/log/suricata/eve.json | loglarda chmod/chown |
Sysmon | Windows uç noktalar | poweron-sysmon-config.xml | Windows Olay Logu (Sysmon kanalı) | Olay iletme yapılandırın |
Filebeat (Linux) | Ubuntu sunucu/sensor | /etc/filebeat/filebeat.yml | Zeek/Suricata loglarını okur | Loglara okuma erişimi |
Filebeat (Win) | Windows uç noktalar | filebeat.yml | Sysmon .evtx loglarını okur | Loglara okuma erişimi |
Wazuh Yönetici | Ubuntu sunucu | /var/ossec/etc/ossec.conf | Tüm logları aracılar üzerinden alır | N/A |
Tüm tehditleri engellemez, ancak onları görmenizi sağlar ve bu savaşın yarısıdır. Ek destek için güvenilir bir yerel dijital haklar grubuna ulaşın – şifreli sohbet veya telefon üzerinden size uzaktan rehberlik edebilirler.
Açık kaynak araçlara dayalı bu kurulumla, her şey uygun maliyetli ve çatınızın altında kalıyor – bulut yok, üçüncü taraf maruziyeti yok. Bu, stalker yazılımı veya tahrifat için sessizce göz kulak olan özel radarınızdır. Sistemin gücü basit uygulamalardan gelir: logları düzenli olarak kontrol edin, uyarılara yanıt verin ve fiziksel erişimi koruyun. Temel rehberlikle, sığınma evindeki herkes bu sistemi çalıştırmayı ve anlamayı öğrenebilir.
Casus yazılım tespiti için Kibana panoları ve Wazuh uyarıları oluşturma
Tercih ettiğiniz web tarayıcısını açın.
Kibana URL’nizi girin, genellikle şöyle görünür:
http://kibana-sunucunuz:5601
- Kullanıcı adınız ve şifrenizle giriş yapın.
Kibana’da indeks desenleri oluşturma
İndeks desenleri Kibana’ya hangi verilere bakacağını söyler.
Sol kenar çubuğunda, Yığın Yönetimi’ne (veya Kibana sürümünüze bağlı olarak sadece Yönetim) tıklayın.
Kibana altında, İndeks Desenleri’ni seçin.
İndeks deseni oluştur‘a tıklayın.
Log verilerinizle eşleşen indeks deseninin adını girin:
- Zeek logları için
zeek-*
yazın - Suricata logları için
suricata-*
yazın - Sysmon logları için
sysmon-*
yazın - Wazuh uyarıları için
wazuh-alerts-*
yazın
Sonraki adım‘a tıklayın.
İndeks deseniniz için zaman alanını seçin, genellikle @timestamp
.
İndeks deseni oluştur‘a tıklayın.
Her veri kaynağı için tekrarlayın.
Kibana’da görselleştirmeler oluşturma
Casus yazılımla ilgili etkinliği izlemek için çeşitli görselleştirmeler oluşturacaksınız.
Casus yazılım domainlerine ve IP adreslerine bağlantıları görselleştirme
Amaç: Bilinen casus yazılım domainlerine veya şüpheli IP’lere ağ trafiğini görün.
Sol kenar çubuğunda, Analitik → Görselleştirme Kitaplığı’na tıklayın.
Görselleştirme oluştur‘a tıklayın.
Lens‘i seçin.
zeek-*
veya suricata-*
indeks desenini seçin.
Sağ panelde, hedef.ip
veya dns.rrname
(istenen domain adı) alanını bulun.
hedef.ip
‘yi ana çalışma alanına sürükleyin.
kaynak.ip
‘yi yanına sürükleyin veya Bölmeye göre olarak ekleyin.
Casus yazılımla ilgili domainler veya IP’ler için filtre uygulamak için:
- Çalışma alanının üstünde Filtre ekle‘ye tıklayın.
- İlgili alanı seçin (
dns.rrname
veya hedef.ip
). - Şunlardan biri’ni seçin.
- Virgüllerle ayrılmış bilinen casus yazılım domainlerinizi veya IP adreslerinizi girin.
- Kaydet’e tıklayın.
Görselleştirme türünü istediğiniz gibi ayarlayın (örn. Çubuk grafik, Tablo).
Üstte Kaydet’e tıklayın, Casus yazılım ağ bağlantıları olarak adlandırın ve kaydedin.
Şüpheli DNS sorgularını görselleştirme
Amaç: Şüpheli domainlere yapılan DNS sorgularını tanımlayın.
Yukarıdaki gibi yeni bir görselleştirme oluşturun.
zeek-*
veya suricata-*
indeks desenini seçin.
dns.rrname
veya dns.query
alanını ana alana sürükleyin.
Toplama olarak En yüksek değerler‘i ayarlayın ve boyutu 10 veya 20 gibi makul bir değere ayarlayın.
Filtreler ekleyin:
Sadece şüpheli domainleri dahil etmek için, casus yazılım domainler listeniz için dns.rrname
üzerine bir filtre ekleyin.
Alternatif olarak, yaygın popüler domainleri hariç tutun:
dns.rrname
için şunlardan biri değil filtresi ekleyin ve yaygın domainleri (google.com, microsoft.com vb.) listeleyin.
Kaydet’e tıklayın, Şüpheli DNS sorguları olarak adlandırın.
İkaz verme (beaconing) modellerini görselleştirme
Amaç: Casus yazılımların tipik periyodik ağ çağrılarını gösteren tekrarlayan modelleri tespit edin.
Lens veya Çizgi grafik kullanarak yeni bir görselleştirme oluşturun.
zeek-*
veya suricata-*
indeks desenini seçin.
X eksenini @timestamp
‘e dayalı Tarih Histogramı olarak ayarlayın.
Log hacminize bağlı olarak aralığı 1 dakika veya 5 dakika olarak ayarlayın.
Y eksenini olayların Sayısı olarak ayarlayın.
Şüpheli etkinliği daraltmak için:
- Casus yazılım IP’leri veya domainleri için
hedef.ip
veya dns.rrname
üzerine bir filtre ekleyin.
İsteğe bağlı olarak, hangi hostların ikaz verdiğini görmek için Bölmeye göre kaynak.ip
ekleyin.
İkaz verme etkinliği olarak kaydedin.
Şüpheli Sysmon süreçleri ve ağ bağlantılarını görselleştirme
Amaç: Windows uç noktalarından şüpheli süreç oluşturmaları ve ağ bağlantılarını görüntüleyin.
Yeni bir görselleştirme oluşturun.
sysmon-*
indeks desenini seçin.
Süreç oluşturmaları için:
event_id
= 1 (Sysmon süreç oluşturma) filtreleyin.
process_name
veya image
alanını çalışma alanına sürükleyin.
En yüksek değerlere göre toplayın.
Ağ bağlantıları için:
Bilinen şüpheli süreç adları veya portlar için filtreler uygulayın.
Görselleştirmeyi Sysmon şüpheli etkinlik olarak kaydedin.
Kibana panosu oluşturma
Sol kenar çubuğunda, Pano‘ya tıklayın.
Yeni pano oluştur‘a tıklayın.
Ekle‘ye tıklayın ve kaydettiğiniz görselleştirmeleri seçin:
- Casus yazılım ağ bağlantıları
- Şüpheli DNS sorguları
- İkaz verme etkinliği
- Sysmon şüpheli etkinlik
Görselleştirmeleri hızlı izleme için mantıklı bir şekilde düzenleyin.
Kaydet’e tıklayın, panonuza örneğin Casus yazılım izleme genel bakış adını verin.
Host adı veya IP’ye göre uç nokta ve ağ loglarını ilişkilendirme
Bu, şüpheli ağ etkinliğini belirli uç noktalara bağlamaya yardımcı olur.
Loglarınızın tutarlı tanımlayıcılara sahip olduğundan emin olun:
Kibana’da ilişkilendirmek için: Zeek/Suricata’dan kaynak.ip
ile Sysmon loglarındaki hostname
‘i eşleştirmek için Lens veya Tuval kullanarak birleştirilmiş görselleştirmeler oluşturun.
Örnek: Aynı IP/host adından gelen ağ ikaz verme etkinliğini ve şüpheli süreçleri gösteren bir zaman serisi grafiği oluşturun.
Birleşik şüpheli olaylar için Wazuh’ta uyarılar oluşturma
Özel korelasyon kuralları yazma
Wazuh yöneticinize (Ubuntu sunucusu) bağlanın.
Özel kurallar dosyasını açın:
sudo nano /var/ossec/etc/rules/local_rules.xml
- Birden fazla şüpheli olay birlikte gerçekleşirse tetiklenecek bir kural yazın. Örneğin:
<rule id="100500" level="12">
<if_sid>100200</if_sid> <!-- Zeek şüpheli bağlantı -->
<if_sid>200300</if_sid> <!-- Suricata casus yazılım uyarısı -->
<if_sid>300400</if_sid> <!-- Sysmon şüpheli süreç -->
<frequency>3</frequency>
<timeframe>600</timeframe> <!-- 10 dakika -->
<description>Ağ ve uç nokta genelinde casus yazılım etkinliği tespit edildi</description>
</rule>
- Kaydedin ve çıkın.
Kuralları uygulamak için Wazuh yöneticisini yeniden başlatın
sudo systemctl restart wazuh-manager
Uyarı eylemlerini yapılandırma
Şüpheli etkinlik olduğunda Wazuh’un sizi bilgilendirmesini istersiniz.
- Wazuh yapılandırmasını düzenleyin:
sudo nano /var/ossec/etc/ossec.conf
E-posta uyarıları, Slack webhook’u veya diğer bildirim yöntemlerini <global>
ve <alerts>
bölümlerinin içinde yapılandırın.
Kaydedin ve Wazuh yöneticisini yeniden başlatın:
sudo systemctl restart wazuh-manager
Panoları ve uyarıları test etme
Test olayları oluşturun:
- Casus yazılım domainlerine DNS sorguları simüle edin.
- Bilinen şüpheli IP’lere ağ bağlantıları tetikleyin.
- Windows uç noktalarında şüpheli süreçler başlatın.
Logların Kibana görselleştirmelerinde göründüğünü onaylayın.
Uyarıların Wazuh’ta tetiklendiğini ve bildirim aldığınızı onaylayın.
Wazuh ve Kibana korelasyon ipuçları
- Zeek (
conn.log
, dns.log
, http.log
) loglarını Filebeat veya yerel alım ile gönderin. - Suricata
eve.json
çıktısını alın ve alert.signature
‘ı panolara eşleyin. - Sysmon loglarını Wazuh aracısı ile iletin; olay filtreleme için varsayılan kural setini kullanın.
Pano fikirleri
- Zaman içinde casus yazılımla ilgili domainler/IP’ler
- Uç noktaya göre ikaz verme davranışı
- Host’a göre Suricata uyarı sıklığı
- Aynı host için birleşik tespitler: süreç + ağ + DNS
Otomasyon ipucu
Şu durumda bir Wazuh uyarısı tetikleyin:
- Şüpheli bir komut satırıyla bir süreç başlatılır, ve
- Aynı hosttan 10 dakika içinde bir ikaz verme imzası tetiklenir
Yüksek güvenilirlikli eşleşmeler için e-posta veya webhook üzerinden bildirimler ayarlayın.
Özet
Bu kılavuz, sizi sıfırdan ağ ve uç nokta loglarını kapsayan birleşik casus yazılım göstergeleri üzerinde uyarı veren işlevsel bir Kibana izleme panosuna götürdü.
Artık şunlara sahipsiniz:
- Zeek, Suricata, Sysmon ve Wazuh uyarıları için özel indeks desenleri
- Casus yazılım domain bağlantılarını, DNS sorgularını, ikaz vermeyi ve şüpheli Sysmon olaylarını izleyen görselleştirmeler
- Her şeyi bir araya getiren kapsamlı bir pano
- Şüpheli çoklu kaynak etkinliğinde tetiklenen Wazuh korelasyon kuralları
- Harekete geçirilebilir uyarılar için bildirim ayarları
Önceden bilgi gerektirmez, sadece yazıldığı gibi her adımı takip edin. Sığınma evinizin dijital savunmaları artık çok daha uyanık.
- Üçüncü parti bulut platformları yok
- Veri binanızı terk etmiyor
- Mağdurlarda gizli izleme yok
Bu sistem şunları olan sığınma evleri için tasarlandı:
- Sabit internet bağlantısı (sadece bina içinde bile)
- Küçük ama kararlı bir ekip
- Teknik bilgi gerekmez (her şeyi açıklıyoruz)
- Dijital takip, müdahale veya gözetim belirtilerini tespit ihtiyacı
Sistemin İşlevleri
Cihazlardan ipuçları toplar (loglar, uyarılar), izleme veya sızma belirtilerini izler ve tehditleri hızlıca görmeniz için görsel pano sunar.
İhtiyacınız Olanlar
Sığınma evi sunucusu (komuta merkezi)
Minimum özellikler:
- Ubuntu 22.04 LTS (ücretsiz Linux sürümü)
- En az 8 GB RAM
- En az 4 CPU çekirdeği
- En az 100 GB disk alanı
- Sabit bir dahili IP adresi
Kullanılabilecek donanım:
- Kullanılmayan bir PC
- Mini bilgisayar (Intel NUC gibi)
- Varolan bilgisayarda sanal makine
İzlenecek cihazlar
- Windows laptoplar
- macOS cihazlar
- Android telefonlar (rootlu = daha fazla erişim)
- iPhone’lar (jailbreaksiz kısıtlı veri)
Yerel ağ (kablolu veya Wi-Fi)
Sadece bina içi cihaz bağlantısı gerekir.
Opsiyonel: PiRogue cihazı
Raspberry Pi tabanlı araç seti - cihazları ağa bağlamadan önce tarar.
Adım Adım Kurulum
Sunucu hazırlığı
- Terminal açın (
Ctrl + Alt + T
) - Sistemi güncelleyin:
sudo apt update && sudo apt install -y curl unzip gnupg
Wazuh kurulumu
Depoyu ekleyin:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --dearmor -o /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
Wazuh’u kurun:
sudo apt install -y wazuh-manager wazuh-api elasticsearch kibana
Servisleri başlatın:
sudo systemctl enable --now wazuh-manager elasticsearch kibana
Dashboard erişimi
Sunucuda tarayıcıdan:
http://localhost:5601
Yerel ağdan:
http://192.168.1.10:5601
Cihaz bağlantıları
Windows/Mac için
Wazuh Agent kurulumu:
http://192.168.1.10:5601
adresinden indirin- Kurucuyu çalıştırın
- Sunucu IP’sini girin
Android (rootlu)
- Termux uygulamasını F-Droid‘dan yükleyin
- Termux’te:
pkg update && pkg install curl git
curl -s http://192.168.1.10/setup_android.sh | bash
Android (rootsuz)
- ADB kurun:
sudo apt install android-tools-adb
- Telefonda USB hata ayıklamayı açın
- Bağlantıyı kontrol edin:
- Logları kopyalayın:
adb logcat -d > /opt/logs/android_logcat.txt
adb bugreport > /opt/logs/android_bugreport.zip
iPhone (jailbreakli)
- Cydia’dan OpenSSH kurun
- Logları SSH ile aktarın
iPhone (jailbreaksiz)
- Araçları kurun:
sudo apt install libimobiledevice-utils
- Yedek alın:
idevicebackup2 backup /opt/backups/ios_device/
- Logları analiz edin:
python3 parse_ios_backup.py /opt/backups/ios_device/
Opsiyonel: PiRogue ile tarama
- Bağlanın:
ssh pi@piroguedevice.local
- Tarama başlatın:
sudo ./start_capture.sh --target 192.168.1.75
- Veriyi aktarın:
scp capture.pcap user@192.168.1.10:/opt/forensics/
Haftalık bakım
- Panoda yeni uyarıları kontrol edin
/var/ossec/logs/
klasörünü yedekleyin- Sunucuyu ayda bir yeniden başlatın
- Sunucuyu güvenli yerde saklayın
- Şüpheli logları inceleyin
Özet
Bu açık kaynak çözümle tüm veri sığınma evinde kalır. Temel bilgilerle her ekip üyesi sistemi yönetebilir.
Betikler, bir kez oluşturduğunuz ve arka planda sessizce önemli işler yapan küçük araçlardır—casus yazılım belirtileri aramak, şüpheli cihazları engellemek veya telefonlardan günlükleri kopyalamak gibi.
Bir zarfın arkasına karalanmış.
Bu tür güvenlik sistemleri için fon sağlayabilecek kuruluşlar. Siber güvenlik, dijital dayanıklılık ve sosyal fayda odaklı. Güncellenecektir.
İlham almak ve uyarlamak için şablon.