Herkese selamlar,
Medium tarafına eklemeyi düşündüğüm yazılardan birisini daha hayata geçirdim diyebilirim. Birkaç haftadır test VPS sunucumda bu aracı kullanıyorum.
Mobil malware analysis, reverse engineering, CTF ve ofansif ile defansif amaçlar için kullanmak için özelleştirdiğim T480 Thinkpad üzerinde de kullanmaya başladım. VPU ve TPU çipleri ile AI tabanlı savunmayı inşa edip aktif hale gelene kadar bu sistemlerle şu anlık ağ seviyesi savunmasını gerçekleştiriyorum.

PSAD Nedir? PSAD (Port Scan Attack Detection), içerisinde IPS ve IDS sistemi barındıran ancak IPtables ve nftables/netfilter linux loglarını inceleyen linux kernelinin can damarlarından olan bazı modülleri inceleyerek karar verir ve önleme yapar. Çoğu IPS ve IDS sistemi gibi sniff yapmaz sadece.
İçerisinde Snort motoru mevcuttur ve bilinen saldırı vektörlerinin imza tabanına göre engelleme ve ihbar uyarı sistemi gibi çalışır.
Nasıl Çalışır? iptables Loglama Mekanizması: psad’ın çalışabilmesi için iptables üzerinde “Drop edilen veya reddedilen paketleri logla” kuralının aktif olması gerekir. Çekirdek, engellediği her tarama paketini /var/log/messages veya syslog içerisine yazar.
Log Analizi ve Puanlama (Danger Levels): psad arka planda sürekli bu logları tarar. Gelen paketlerin TCP bayraklarına, tarama hızına ve hedef port çeşitliliğine bakarak saldırgana bir Tehdit Seviyesi (Danger Level 1–5) atar.
İmza Eşleştirme (Snort Kuralları): psad sadece port taraması yakalamaz. İçerisinde gömülü gelen Snort imza kütüphanesi sayesinde, loglardaki paketlerin header, verilerini inceler ve bilinen uygulama seviyesi saldırıları veya sızma girişimlerini de teşhis edebilir.
Psad’ın sadece olayı aktif önleme değil, keşif amaçlı gönderilen nmap gibi araçların problarını da yakalayabiliyor ve önleyebiliyor yani karşı tarafın elinde gelişmiş bir sistem yoksa kör edebiliyorsunuz.
TCP/UDP ve ICMP Taraması Tespiti: nmap ile yapılan -sS (SYN), -sT (Connect), hatta tespit edilmesi zor olan -sF (FIN), -sX (Xmas) ve -sN (Null) gibi agresif/sinsi taramaları anında yakalar.
Kurulum Aşamaları: sudo apt update sudo apt install psad -y RHEL / Rocky Linux / AlmaLinux İçin:
(Öncelikle EPEL deposunun aktif olması gerekir)
sudo dnf install epel-release -y sudo dnf install psad -y IPtables Kurallarını Yazmak: Birçok yeni başlayan siber güvenlik meraklısının yaptığı en büyük hata, psad’ı kurup direkt çalışmasını beklemektir. Unutmayın: psad kendi başına paket yakalamaz, sadece engellenen paketlerin loglarını okur.
Eğer firewall’unuz sessizce paket drop ediyorsa ve log üretmiyorsa, psad tamamen kör kalır. Bu yüzden hem IPv4 hem de IPv6 için çekirdeğe “Engellediğin paketleri bana raporla” dememiz gerekiyor.
IPv4 için loglama kuralları
sudo iptables -A INPUT -j LOG --log-prefix "INPUT:DROP:" --log-level 4 sudo iptables -A FORWARD -j LOG --log-prefix "FORWARD:DROP:" --log-level 4
IPv6 için loglama kuralları (Sisteminizde aktifse mutlaka ekleyin)
sudo ip6tables -A INPUT -j LOG --log-prefix "INPUT:DROP:" --log-level 4 sudo ip6tables -A FORWARD -j LOG --log-prefix "FORWARD:DROP:" --log-level 4 PSAD Yapılandırma Dosyası: sudo nano /etc/psad/psad.conf Yapılandırma Ayarları:
Saldırı anında uyarı maillerinin gideceği adres
EMAIL_ADDRESSES your-email@domain.com;
Makinenizin hostname bilgisi
HOSTNAME ThinkPad-T480;
psad'ın hangi log dosyasını izleyeceğini belirtiyoruz (Genelde varsayılandır)
IPT_SYSLOG_FILE /var/log/messages;
Otomatik Engelleme (IPS) Mekanizmasını Aktif Etmek
Bu değer 'Y' yapıldığında psad sadece izlemez, saldırganı anında banlar!
ENABLE_AUTO_IDS_RULES Y;
Saldırganın IP'sinin ne kadar süre engelli kalacağı (Saniye cinsinden - Örn: 1 Saat)
AUTO_IDS_DANGER_LEVEL 3; # 1 En düşük 5 en yüksek tehdit seviyesidir. AUTO_BLOCK_TIMEOUT 3600; # 0 Olması durumunda IP süresiz bannlanır.
Not tehdit seviyesi 5'e getirilirse zararsız IP adresleri bazen bloklanabilir.
Ayarları kayıt ettikten sonra terminalden veritabanını güncelliyoruz ve sistemin durumsal farkındalığını inceliyoruz.
İmza kütüphanesini güncelle
sudo psad --sig-update
Servisleri başlat ve sistem başlangıcına ekle
sudo systemctl restart psad sudo systemctl enable psad
Psad durumunu görmek.
sudo psad -S

VPS Sunucuma Gelen Saldırıların Log Dökümleri: sudo psad -A

psad -A komutunun çıktıları ÖNEMLİ NOT: Hayat Kurtaran İpucu (Kendi Kendinizi Banlamayın!): Otomatik engellemeyi aktif ettiğinizde, test yaparken kendi IP adresinizi banlamamak için /etc/psad/auto_dl dosyasını açıp kendi IP'nizi veya yerel ağ bloğunuzu güvenli listeye (whitelist) eklemeyi unutmayın!
Referans: https://github.com/mrash/psad
Bir yazımın daha sonuna geldim başka bir yazıya kadar görüşmek üzere. :)