Pardus Server Üzerinde CrowdSec Kurulumu ve Yönetimi

Sunucu güvenliği günümüzde yalnızca güçlü parolalar kullanmakla sınırlı değildir. İnternete açık bir sunucu, sürekli olarak otomatik saldırı araçları tarafından taranmakta ve hedef alınmaktadır. Özellikle SSH brute-force saldırıları, web uygulaması taramaları ve yetkisiz erişim girişimleri sistem yöneticilerinin en sık karşılaştığı tehditler arasındadır.

Bu noktada CrowdSec, geleneksel saldırı önleme sistemlerinden farklı olarak topluluk tabanlı tehdit istihbaratı sunan modern bir güvenlik çözümüdür.

CrowdSec Nedir?

CrowdSec; günlük (log) dosyalarını analiz ederek kötü niyetli davranışları tespit eden, saldırgan IP adreslerini engelleyen ve elde edilen tehdit verilerini küresel toplulukla paylaşan açık kaynaklı bir güvenlik platformudur.

CrowdSec aşağıdaki görevleri yerine getirir:

  • Sunucu günlüklerini analiz eder.
  • Brute-force saldırılarını tespit eder.
  • Kötü niyetli IP adreslerini engeller.
  • Topluluk veritabanından tehdit istihbaratı alır.
  • Güvenlik olaylarını gerçek zamanlı izler.

CrowdSec Mimarisi

CrowdSec üç temel bileşenden oluşur:

1. CrowdSec Agent

Logları okuyarak saldırıları analiz eder.

2. Bouncer

Tespit edilen kötü niyetli IP adreslerini engeller.

Örneğin:

  • Firewall Bouncer
  • Nginx Bouncer
  • Traefik Bouncer

3. Local API (LAPI)

CrowdSec bileşenleri arasında iletişim sağlar.


CrowdSec Nasıl Çalışır?

+-------------------+
| SSH / Nginx Logları |
+---------+---------+
|
v
+-------------------+
| CrowdSec Agent |
+---------+---------+
|
v
+-------------------+
| Saldırı Tespiti |
+---------+---------+
|
v
+-------------------+
| Local API (LAPI) |
+---------+---------+
|
v
+-------------------+
| Firewall Bouncer |
+---------+---------+
|
v
+-------------------+
| IP Engellenir |
+-------------------+

Sistem Gereksinimleri

Bu makale aşağıdaki sistemler üzerinde uygulanabilir:

  • Pardus Server 21
  • Pardus Server 23
  • Debian 11/12
  • Ubuntu Server

Minimum gereksinimler:

Kaynak    Gereksinim
CPU    1 çekirdek
RAM    512 MB
Disk    1 GB

Paket Güncellemesi

Kuruluma başlamadan önce sistemi güncelleyelim.

sudo apt update
sudo apt upgrade -y

CrowdSec Kurulumu

Öncelikle gerekli paketleri yükleyelim.

sudo apt install curl gnupg lsb-release -y

CrowdSec deposunu sisteme ekleyelim:

curl -s https://install.crowdsec.net | sudo sh

Paket listesini güncelleyelim:

sudo apt update

CrowdSec'i yükleyelim:

sudo apt install crowdsec -y

Kurulum tamamlandıktan sonra servisi kontrol edelim.

sudo systemctl status crowdsec

Servisi etkinleştirelim:

sudo systemctl enable crowdsec

CrowdSec Sürüm Kontrolü

sudo cscli version

Örnek çıktı:

2026.1.0

Mevcut Koleksiyonları Görüntüleme

CrowdSec saldırıları tespit etmek için koleksiyonlar kullanır.

Kurulu koleksiyonları listelemek:

sudo cscli collections list

Örnek çıktı:

PARSERS
SCENARIOS
COLLECTIONS

crowdsecurity/linux
crowdsecurity/sshd

SSH Korumasını Etkinleştirme

SSH saldırılarını algılamak için:

sudo cscli collections install crowdsecurity/sshd

Yeniden başlat:

sudo systemctl restart crowdsec

Kurulum doğrulaması:

sudo cscli collections list

Nginx Koruması

Sunucuda Nginx kullanılıyorsa:

sudo cscli collections install crowdsecurity/nginx

Ek olarak:

sudo cscli collections install crowdsecurity/nginx-probing
sudo cscli collections install crowdsecurity/http-cve

Servisi yeniden başlatın:

sudo systemctl restart crowdsec

Apache Koruması

sudo cscli collections install crowdsecurity/apache2

Firewall Bouncer Kurulumu

CrowdSec saldırganı tespit eder ancak engelleme işlemi için bir Bouncer gereklidir.

Pardus üzerinde genellikle nftables kullanılmaktadır.

Bouncer yükleme:

sudo apt install crowdsec-firewall-bouncer-nftables -y

Servis durumunu kontrol edin:

sudo systemctl status crowdsec-firewall-bouncer

Başlat:

sudo systemctl enable --now crowdsec-firewall-bouncer

Bouncer Durumunu Kontrol Etme

sudo cscli bouncers list

Örnek:

─────────────────────────────────────────────
Name IP Address Valid
─────────────────────────────────────────────
firewall-bouncer localhost ✔

Uyarıları (Alerts) Görüntüleme

Tespit edilen saldırıları görmek için:

sudo cscli alerts list

Detaylı görüntüleme:

sudo cscli alerts inspect <ID>

Örnek:

sudo cscli alerts inspect 12

Kararları (Decisions) Görüntüleme

Engellenmiş IP adreslerini görmek:

sudo cscli decisions list

Manuel IP Engelleme

Belirli bir IP'yi manuel olarak engellemek:

sudo cscli decisions add --ip 192.168.1.150

Belirli süre engellemek:

sudo cscli decisions add --ip 192.168.1.150 --duration 24h

Manuel Engeli Kaldırma

sudo cscli decisions delete --ip 192.168.1.150

Logları Gerçek Zamanlı İzleme

sudo journalctl -u crowdsec -f

veya

sudo tail -f /var/log/crowdsec.log

Senaryoları Görüntüleme

sudo cscli scenarios list

Örnek:

crowdsecurity/ssh-bf
crowdsecurity/http-probing
crowdsecurity/http-crawl-non_statics

Hub Güncelleme

Yeni saldırı imzalarını almak için:

sudo cscli hub update

Tüm bileşenleri yükseltmek:

sudo cscli hub upgrade

CrowdSec Konsoluna Kayıt

Merkezi yönetim için ücretsiz konsol kullanılabilir.

Kayıt anahtarı oluştur:

sudo cscli console enroll

Komut size bir URL verecektir.

Tarayıcıdan açarak sistemi kaydedebilirsiniz.


Yapılandırma Dosyaları

Önemli dosyalar:

Dosya        Görevi
/etc/crowdsec/config.yaml        Ana yapılandırma
/etc/crowdsec/acquis.yaml        Log kaynakları
/etc/crowdsec/parsers/        Parser dosyaları
/etc/crowdsec/scenarios/        Senaryolar
/var/log/crowdsec.log        Günlük dosyası

Özel Log Kaynağı Ekleme

Örneğin özel bir uygulama logunu izlemek için:

sudo nano /etc/crowdsec/acquis.yaml

İçerik:

filenames:
- /var/log/uygulama.log
labels:
type: syslog

Değişiklikten sonra:

sudo systemctl restart crowdsec

Test Amaçlı SSH Brute Force Simülasyonu

Yalnızca kendi laboratuvar ortamınızda uygulayın.

Başka bir sistemden:

for i in {1..20}; do
ssh test@SUNUCU_IP
done

Bir süre sonra:

sudo cscli alerts list

çıktısında saldırı görülebilir.


Performans İpuçları

  • Gereksiz koleksiyonları kaldırın.
  • Düzenli olarak Hub güncellemesi yapın.
  • Firewall Bouncer kullanın.
  • Log döndürmeyi (logrotate) etkin tutun.
  • Günlük dosyalarını düzenli inceleyin.

CrowdSec'in Avantajları

✅ Açık kaynaklıdır.

✅ Topluluk tabanlı tehdit istihbaratı sunar.

✅ Gerçek zamanlı koruma sağlar.

✅ SSH ve web saldırılarını algılar.

✅ Düşük kaynak tüketir.

✅ Modern Linux sunucularıyla uyumludur.


Sonuç

CrowdSec, Pardus Server sistemlerinde klasik Fail2Ban yaklaşımının ötesine geçen, topluluk destekli ve gerçek zamanlı koruma sağlayan güçlü bir güvenlik platformudur. Özellikle internete açık SSH, Nginx ve Apache servisleri kullanan sunucularda saldırı yüzeyini ciddi ölçüde azaltabilir.


Sunucu güvenliği söz konusu olduğunda yıllardır akla ilk gelen araçlardan biri Fail2Ban olmuştur. Ancak siber saldırıların karmaşıklığı arttıkça, savunma mekanizmalarımızın da evrilmesi gerekiyor. Bu noktada sahneye, kitle kaynaklı (crowdsourced) ve modern bir Tehdit Önleme Sistemi (IPS) olan CrowdSec çıkıyor.

CrowdSec Nedir ve Neden Kullanmalıyız?

CrowdSec, sunucu loglarını okuyarak kötü niyetli davranışları tespit eden ve bunları engelleyen açık kaynaklı bir güvenlik motorudur. En büyük avantajı "kolektif zeka" kullanmasıdır. Eğer dünyanın başka bir yerindeki bir CrowdSec kullanıcısı belirli bir IP adresinden saldırı alırsa, bu IP adresi merkezi veri tabanına raporlanır ve sizin sunucunuz da o IP'ye karşı anında bağışıklık kazanır.

Öne Çıkan Özellikleri:

  • Hafif ve Hızlı: Go diliyle yazıldığı için sistem kaynaklarını (CPU/RAM) minimum seviyede tüketir.

  • Modüler Mimari: Algılama (Agent) ve Engelleme (Bouncer) işlemleri birbirinden ayrılmıştır.

  • Geniş Entegrasyon: Nginx, SSH, Django, WordPress gibi birçok servis ile tam uyumlu çalışır.

Kurulum Öncesi Hazırlıklar

Bu laboratuvar senaryosu için gerekenler:

  • Temiz kurulumu yapılmış ve güncellenmiş bir Pardus Server (Debian tabanlı olduğu için Debian yönergeleri birebir uyumludur).

  • root veya sudo yetkilerine sahip bir kullanıcı.

Öncelikle sunucumuzu güncelleyelim:

Bash
sudo apt update && sudo apt upgrade -y

Adım 1: CrowdSec Kurulumu

CrowdSec, paket yönetim sistemimize ekleyebileceğimiz resmi bir depo sunar. Debian tabanlı sistemler (Pardus) için otomatik kurulum betiğini indirip çalıştırıyoruz.

Bash
curl -s https://install.crowdsec.net | sudo sh

Depo eklendikten sonra CrowdSec temel motorunu (Agent) kuruyoruz:

Bash
sudo apt install crowdsec -y

Kurulum tamamlandığında CrowdSec, sisteminizde çalışan servisleri (SSH, Nginx, Systemd vb.) otomatik olarak algılayacak ve bu servislere uygun parser (ayrıştırıcı) ile senaryoları (scenario) indirecektir.

Servisin durumunu kontrol etmek için:

Bash
systemctl status crowdsec

Adım 2: Bouncer (Engelleyici) Kurulumu

CrowdSec tek başına sadece logları okur ve kötü niyetli IP'leri tespit eder. Bu IP'leri engellemek için "Bouncer" adı verilen eklentilere ihtiyacımız vardır. Sunucu düzeyinde bir engelleme yapmak için Güvenlik Duvarı (Firewall) bouncer'ını kuracağız.

Pardus üzerinde genellikle iptables veya nftables kullanıldığından, standart firewall bouncer paketini yüklüyoruz:

Bash
sudo apt install crowdsec-firewall-bouncer-iptables -y

Kurulumdan sonra bouncer otomatik olarak çalışmaya başlayacaktır. Bouncer'ın aktif olup olmadığını kontrol edelim:

Bash
sudo cscli bouncers list

Listede cs-firewall-bouncer ibaresini ve geçerli (valid) olarak işaretlendiğini görmelisiniz.

Adım 3: cscli Aracı ile Yönetim ve Analiz

CrowdSec'i yönetmek için kullanacağımız komut satırı aracı cscli'dir. Mavi Takım operasyonlarında log analizi ve metrik takibi için bu aracın temel komutlarına hakim olmak önemlidir.

1. Metrikleri İnceleme

Sisteminizin ne kadar log okuduğunu ve hangi senaryoların tetiklendiğini görmek için:

Bash
sudo cscli metrics

2. Kurulu Koleksiyonları (Collections) Görme

Koleksiyonlar; belirli bir servisi korumak için gereken parser ve senaryoların bir araya getirilmiş halidir.

Bash
sudo cscli collections list

Varsayılan olarak crowdsecurity/sshd veya crowdsecurity/linux gibi koleksiyonların kurulu olduğunu göreceksiniz.

3. Engellenen IP Adreslerini (Kararları) Listeleme

Şu ana kadar ağınıza sızmaya çalışıp CrowdSec tarafından engellenen (banlanan) IP adreslerini görmek için:

Bash
sudo cscli decisions list

Adım 4: Sistemi Test Etme (Kırmızı Takım / Mavi Takım Simülasyonu)

Sistemimizin çalıştığını doğrulamak için kontrollü bir test yapalım. Uyarı: Bu testi üretim sunucunuzdan farklı bir makineden veya laboratuvar ortamınızdaki bir saldırı makinesinden (Örneğin bir Kali Linux VM) yapın.

Saldırı makinesinden Pardus sunucunuza art arda yanlış SSH şifreleri deneyerek kaba kuvvet (Brute-Force) saldırısı simüle edin:

Bash
# Saldırı makinesinden çalıştırılacak komut (kullanıcı ve IP'yi kendinize göre değiştirin)
for i in {1..10}; do ssh -o StrictHostKeyChecking=no sahte_kullanici@pardus_sunucu_ip; done

Birkaç denemeden sonra SSH bağlantınız aniden kesilecek ve yanıt vermemeye başlayacaktır.

Şimdi Pardus sunucunuza (farklı bir terminalden veya konsol üzerinden) dönün ve engellenen IP'leri kontrol edin:

Bash
sudo cscli decisions list

Listede saldırı yaptığınız IP adresini ve engellenme nedenini (crowdsecurity/ssh-bf - SSH Brute Force) görebilirsiniz.

Yanlışlıkla engellenen bir IP'yi kaldırmak için:

Bash
sudo cscli decisions delete -i ENGELLENEN_IP_ADRESI

Ekstra: Nginx veya Django Uygulamalarını Korumak

Eğer Pardus sunucunuz üzerinde Nginx ile yayın yaptığınız bir web projeniz varsa, CrowdSec'i web tabanlı saldırılara (L7 DDoS, SQL Injection) karşı da yapılandırabilirsiniz.

Bunun için ilgili koleksiyonu kurmanız yeterlidir:

Bash
sudo cscli collections install crowdsecurity/nginx
sudo systemctl reload crowdsec

Genel Değerlendirme

CrowdSec, Pardus altyapısında barındırılan sistemler için modern, dinamik ve son derece etkili bir güvenlik katmanı sağlar. Topluluk odaklı yapısı sayesinde, sunucunuz henüz hiç saldırıya uğramamış olsa bile diğer kullanıcıların tecrübelerinden faydalanarak güvende kalır. Siber güvenlik laboratuvarlarınızda bu mimariyi öğrencilerinize uygulamalı olarak göstermek, güncel Mavi Takım stratejilerini kavramaları açısından büyük önem taşımaktadır.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu