İçeriğe geç
Yazılara dön

~/writing saha notu

  • coolify
  • crowdsec
  • traefik
  • firewall
  • security
  • self-hosting

Coolify Sunucusu ve Web Sitelerini CrowdSec + Traefik ile Güvenceye Alma

Mustafa Ramx pixel avatar Mustafa Ramx6 Nis 20252 dk okumaGüncellendi 12 Kas 2025
Kapak görseli: Coolify Sunucusu ve Web Sitelerini CrowdSec + Traefik ile Güvenceye Alma
Bu sayfada8 bölüm
  1. Neden CrowdSec firewall?
  2. 1. CrowdSec’i Coolify host’a kurun
  3. 2. nftables firewall bouncer’ı kurun
  4. 3. Traefik bouncer API anahtarını alın
  5. 4. Traefik’i CrowdSec için hazırlayın
  6. 5. Traefik log parser’ını etkinleştirin
  7. Güvenlik kurulumunu test edin
  8. Sonuç

Bu rehberde Coolify sunucusunu ve üzerinde barındırdığınız tüm web sitelerini CrowdSec ile güvenceye alacağız. CrowdSec’i Ubuntu host’a kuracak, nftables firewall bouncer’ı etkinleştirecek ve Traefik plugin’i ile HTTP/HTTPS trafiğini global olarak koruyacağız.

Yalnızca web sitelerini korumak istiyorsanız Coolify web siteleri için CrowdSec rehberini kullanın. Bu rehber ayrıca SSH ve sistem seviyesindeki saldırıları korur.

Neden CrowdSec firewall?

  • CrowdSec Host Agent: SSH ve sistem seviyesini korur.
  • nftables Firewall Bouncer: saldırganları ağ seviyesinde engeller.
  • Traefik Bouncer Plugin: HTTP/HTTPS uygulama trafiğini korur.
  • Global middleware: tüm domain’lere label eklemeden uygulanır.
  • Düşük kaynak kullanımı: küçük kaynak maliyetiyle güçlü koruma sağlar.

CrowdSec; logları gerçek zamanlı analiz eden, şüpheli davranışları tespit eden ve topluluk ağıyla tehdit istihbaratı paylaşan açık kaynaklı bir IPS’tir.

CrowdSec, Traefik ve firewall mimarisinin birlikte çalışması

1. CrowdSec’i Coolify host’a kurun

curl -s https://install.crowdsec.net | sudo bash
sudo apt install crowdsec
sudo systemctl status crowdsec

8080 portunun boş olduğundan emin olun. Gerekirse /etc/crowdsec/config.yaml içindeki dinleme adresini değiştirin:

sudo nano /etc/crowdsec/config.yaml
sudo systemctl restart crowdsec

listen_uri değerini 127.0.0.1:8080 yerine şu şekilde ayarlayın:

listen_uri: 0.0.0.0:8080

2. nftables firewall bouncer’ı kurun

sudo apt install crowdsec-firewall-bouncer-nftables -y
sudo systemctl enable crowdsec-firewall-bouncer-nftables --now
sudo cscli metrics

Çıktıda cs-firewall-bouncer değerini Local API Bouncers Metrics altında görmelisiniz.

CrowdSec Console’a katılmak isteğe bağlıdır. Yerel analiz ve IP engelleme console olmadan da çalışır. Merkezi görünürlük ve topluluk tehdit istihbaratı için CrowdSec Console kullanılabilir.

sudo cscli console enroll XXXXX

CrowdSec ile self-hosted Coolify uygulamalarını koruma

3. Traefik bouncer API anahtarını alın

sudo cscli bouncers add traefik-bouncer

Traefik bouncer API anahtarı çıktısı

4. Traefik’i CrowdSec için hazırlayın

crowdsec-plugin.yaml dosyasını oluşturun:

http:
  middlewares:
    crowdsec:
      plugin:
        crowdsec-bouncer:
          crowdsecMode: live
          crowdsecLapiHost: 'host.docker.internal:8080'
          crowdsecLapiKey: 'PASTE_YOUR_KEY_HERE'
          enabled: true

Traefik docker-compose.yml içine global middleware ve plugin ayarlarını ekleyin:

- '--entrypoints.http.http.middlewares=crowdsec@file'
- '--entrypoints.https.http.middlewares=crowdsec@file'
- '--experimental.plugins.crowdsec-bouncer.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin'
- '--experimental.plugins.crowdsec-bouncer.version=v1.2.1'
- '--accesslog=true'
- '--accesslog.format=json'
- '--accesslog.bufferingsize=0'
- '--accesslog.fields.headers.defaultmode=drop'
- '--accesslog.fields.headers.names.User-Agent=keep'
- '--accesslog.filepath=/traefik/access.log'
- '--log.level=INFO'

Cloudflare DNS kullanıyorsanız forwarded headers ayarlarını ekleyin:

- "--entryPoints.http.forwardedHeaders.insecure=true"
- "--entryPoints.https.forwardedHeaders.insecure=true"

Traefik’i yeniden başlatın:

docker restart coolify-proxy

5. Traefik log parser’ını etkinleştirin

cscli collections install crowdsecurity/traefik
sudo systemctl reload crowdsec
sudo nano /etc/crowdsec/acquis.yaml

acquis.yaml içine şunları ekleyin:

filenames:
  - /data/coolify/proxy/access.log
labels:
  type: traefik
  log_type: http_access-log
docker restart coolify-proxy
sudo systemctl restart crowdsec

Güvenlik kurulumunu test edin

Bir IP’yi 10 dakika engelleyin:

cscli decisions add -i 1.2.3.4 -d 10m

Bu IP’den herhangi bir web sitesine ve SSH’ye erişmeyi deneyin. Test tamamlanınca kararı kaldırın.

Sonuç

Bu kurulumla:

  • Tüm Coolify web siteleri için global HTTP ve HTTPS koruması sağlanır.
  • Firewall bouncer SSH’yi ve kritik sunucu portlarını korur.
  • Per-project label eklemek gerekmez.
  • İleride Traefik AppSec WAF eklenebilir.

Üretime geçmeden önce kurulumu bir geliştirme sunucusunda test edin, logları inceleyin ve Cloudflare proxy kullanıyorsanız gerçek istemci IP’sinin Traefik’e ulaştığını doğrulayın.

// bu yazıyı paylaş

X’te paylaşLinkedIn