Suricata IPS&IDS OPNsense Bridge Firewall Kurulumu
Table of Contens
Son yazımda OPNsense’i Bridge Firewall/Köprü Güvenlik Duvarı olarak kurmuştuk. “OPNsense Bridge Firewall – 🛡Ağınızdaki Gizli Koruyucunuz“. Bu makaleyi okumadan önce, yukarıdaki makaleme bir göz atmalsınız, çünkü bu konuda OPNsense Kurulumuna değinmeyeceğim ve birçok terimler bulunmakta. Bu makalede, lokal ağın tamamen güvenli olmasını sağlamak için Suricata IDS&IPS’i OPNsense Güvenlik Duvarı’na kuracağız.
🐿Suricata IDS&IPS nedir?
🔔Saldırı tespit sistemi
SaldırıTespit Sistemi (Intrusion Detection System), ağ trafiğini şüpheli etkinlik ve sorunlara karşı izleyen, bu tür bir etkinlik algılandığında admini uyaran bir sistemdir.
🚫Saldırı engelleme sistemi
Saldırı engelleme sistemi (Intrusion Prevention System), güvenlik açıklarını tespit etmek ve önlemek için ağ trafik akışlarını inceleyen bir ağ güvenliği tehditlerini engelleme sistemidir.
📡Tüm ağları Sanal Makinelere Kurma
İlk makalede, tüm senaryoyu/ağı donanım/bileşenlerin yanı sıra PCEngine APU ve Switchlerle/Anahtarlarla iş yerinde kurmuştum. Ama bu sefer evdeyim ve sadece bir bilgisayarım var 🙂 Bu yüzden sanal makinelerle kurulumu yapmam gerekiyor. Sanal Makineleri Vmware kullanarak kuracağım. Siz Virtualbox(Ücretsiz) yada VMware Player(Ücretsiz) kullanarakta kurabilirsiniz. Aşağıda VMware ağında hangi fiziksel ağı nasıl tanımladığımı çizdim. Evde olduğum için önceki makaledeki Ağ Maskelerini değiştirdim,o yüzden ilk makaledeki eski IP adresleri bu makalede aynı değil. Sanal makineler için yeni Ağ Maskelerini (Subnetwork) aşağıda listeliyorum:
WAN (Vmnet0 – Bridge) -> 192.168.0.0/24
DMZ (Vmnet2) -> 192.168.0.0/24
LAN (Vmnet1) -> 192.168.1.0/24
🔒VMware Özel Ağ
İlk olarak ekledigimiz üç ağ kartını OPNsense Güvenlik Duvarı/Bridge Firewall’a bağlamalıyız. (Aşağıdaki fotograflardaki gibi).
Üç tane sanal makine kuruyoruz:
- Firewall OPNsense -> Vmnet0 (Bridge/Köprü)
- Ubuntu -> VMnet1 (Admin PC)
- Kali Linux -> VMnet2 (Client. Kali Linux ile saldırı senaryosu düzenliyecez. Bilgisayarımda Windows yüklü olduğu için, Kaliyi Sanal Makineye kuruyorum. Yani bu konuda DMZ(İçeriden) WAN’a(dışarıya) salıdırı düzenlicez.
- Windows -> Laptop (Bridged network/Köprü Ağında)
⚙️OPNsense üzerinde Suricata Kurulumu
WAN IP-Adresini etkinleştirme
Öncelikle, WAN ağ kartında IP adresini etkinleştirmemiz gerekiyor, böylece dışarıdaki dünyayla iletişim kurabilelim ve gerekli paketleri yükleyebilelim. WAN için DHCP’yi etkinleştirdim, böylece DHCP Sunucusundan otomatik olarak bir IP adresi geliyor. Daha sonra:
(System > Firmware > Packages) Sistem > Firmware > OPNsense paketleri altında Suricata zaten var. Sadece yüklemeniz gerekiyor.
📥Suricata paketlerini indirme
Şimdi (Services > Intrusion Detection > Download) Servisler> Saldırı Tespit Sistemi > Tüm paketleri indir ile tüm tespit paketlerini indiriyoruz. Çok fazla alana ihtiyacınız yok, o yüzden tüm paketleri kurmanızı öneriyorum. Ancak, her şeyi indirmek istemiyorsanız, tüm “ET – (Emerging Threats)Gelişen Tehditleri” indirmeli ve bunları “Etkinleştir” olarak işaretlemelisiniz.
Tüm paketleri indirdikten sonra, WAN Ağ Kartını etkisizleştirebilirsiniz.
📈Remote Logserver Kurulumu
Eğer Suricatanın Loglarını(Günlük/Rapor) başka bir Server’da depolamak istiyorsanız, System > Settings > Logging (Sistem> Ayarlar> Günlük) altında Serverin IP Adresini verebilirsiniz. Logları ayrı bir Serverda depolamak çok önemlidir. Farz edinki biri Sisteminize girdi, yapacağı en önemli iş nedir?: Logları silmek, yani ayak izlerini yok etmek. Eğer Loglarınız başka bir Server’da ise, herşeyi güvenli bir şekilde kaydedersiniz.
👨🏿💻Saldırı Senaryosu - SYN Flood
📦Scapy Nedir?
git clone https://github.com/secdev/scapy cd scapy ./run_scapyYurıdaki komutlarla Scapy’i kurup kullanıma hazır hale getirin. Sonra Scapy’nin içinde aşağıdaki kodları yazın. Her koddan sonra bir Satır aşağıya inmeyi unutmayın. // sonrası benim size notlarım, yazmanıza gerek yok.
e=Ether(src=RandMAC(),dst=“30:ec:32:4b:a2:ad“) // src ile kendimize random bir mac adresi oluşturuyoruz. dst saldıracağımız bilgisayarın mac adresi yani benim laptopun adresi. i=IP(src=RandIP(),dst=“192.168.1.2“) // src ile gene random ip oluşturuyoruz ve dst ile laptopun ip adresini veriyoruz. t=TCP(sport=random.randint(45000,59385),dport=22,flags=[3]) // Bitane TCP paketi oluşturuyoruz, sport bizim kaynak adresimiz, bunu dinamik ip adresleri arasında bir port olarak ayarlıyoruz. dport bizim hedef portumuz. Bu portu ağı nmap ile tarayarak bulabiliriz ama bu konuda direk SSH portunu kullanıcam. TCP-Flag bayrağını 3 olarak veriyorum, yani SYN-ACK üç taraflı el sıkışma. p=e/i/t // Paketleri birleştiriyoruz sendp([p]*100) //Paketleri belirlediğimiz sayı kadar hedefe gönderiyoruz
Suricata SYN-FIN kuralları uyarı(alert mode) modundayken, tehditler engellenmez ve yalnızca günlük dosyasına yazılır. Yani kurban tamamen hasar görür ama aynı zamanda admin bilgilendirilmiş olur (hasar derken: hedef bilgisayar gönderilen paketlere cevap veremez ve aşırı şekilde yavaşlar), yani dizüstü bilgisayarımın fanları uçuş moduna geçiyor 🙂 Günlükler (Services> Intrusion Detection> Log) Servisler> Saldırı tespit Sistemi> Günlük Dosyası altında saklanır.
Şimdi kuralları (Emerging Threats SYN-FIN) ‘Alert Modu’ yerine ‘Drop (Engelle)’ moduyla değiştiriyorum ve yeniden saldırıyorum.
Kuralları drop/engelle olarak ayarladıktan, hem uyarıları alıyoruz, aynı zamanda paketler Suricata tarafından engelleniyor.
Ben Remote Server Log/Günlükleri admin bilgisayarına(vmnet1) da yönlendirdiğim için, logları ordada görebilirim. Bunun için Wireshark programı ile Syslog Portunu inceleyebilisiniz.
Wireshark’ı Hedef-PC’de açabilir ve paketleri inceleyebilirsiniz. Hedef-PC’de de alert ile drop kuralları arasındaki farkları da görebilirsiniz. Bu konuda OPNsense Güvenlik Duvarı’nda Suricata IDS&IPS kurulumundan bahsettim. Herhangi bir sorunuz varsa, yorum yapmaktan çekinmeyin. Bu arada, bir sonraki makalede Suricata’nın günlüklerini Kibana + Elasticsearch + Logstash ve Filebeat ile grafik ile göstermeyi anlatacağım. Örnek bir ekran görüntüsü aşağıdadır:
Looking for a WordPress Developer?
I'm a Fullstack PHP Developer a Hosting Company in Zürich/Switzerland. I love WordPress! For personal and business purposes i use WordPress.
If you have any Problem with your WordPress Website or you want to create one do not hesitate to contact me!
Son Yorumlar
- Switch ve Hub Arasındakı Fark Nedir? (Animasyonlu) için ahmet
- Vmware Network Adaptor Ayarları (Görsel Örneklerle) için Aziz Ozbek
- Vmware Network Adaptor Ayarları (Görsel Örneklerle) için hakan
- PHP cURL method=’post’ Form ile Login ve Kayit (Session Hijacking) için Aziz Ozbek
- PHP cURL method=’post’ Form ile Login ve Kayit (Session Hijacking) için Oğuz D.
Recent Posts
- Fatal error: Allowed memory size of bytes exhausted (Çözüm)Ocak 10, 2024Eğer “Fatal error: Allowed memory size of […]
- Web Tasarım Global Ticarette neden önemlidir?Mayıs 22, 2020Artık Web Siteleri olmadan yapamayacağımız bir çağda […]
- Suricata IPS&IDS OPNsense Bridge Firewall KurulumuNisan 7, 2019Son yazımda OPNsense’i Bridge Firewall/Köprü […]
- OPNsense Bridge Firewall – 🛡Ağınızdaki Gizli KoruyucunuzEylül 9, 2018Kendi ağınızı güvenceye alabilmek için tercih […]
- 🗂 Bind9 DNS Server Kurulumu Linux – Ubuntu 16.04Nisan 30, 2018Bind9 DNS Server, ağ aygıtlarının IP Adreslerini […]
Comments
Leave a Comment