CSF (ConfigServer Security and Firewall) Nedir? Eksiksiz Teknik Kılavuz
CSF veya ConfigServer Security & Firewall, Linux sunucular için durum bilgili paket denetimi (SPI) güvenlik duvarı, oturum açma hatası algılama daemon’u ve güvenlik sertleştirme paketidir. iptables (ve daha yeni çekirdeklerde nftables) için özellik açısından zengin bir ön uç olarak işlev görür; karmaşık kural yönetimini yapılandırılmış bir yapılandırma katmanına soyutlarken, yardımcı daemon’u LFD (Login Failure Daemon) aracılığıyla aktif tehdit algılama ekler.
Paylaşımlı hosting, VPS veya bare-metal özel ortam çalıştıran herhangi bir üretim Linux sunucusu için CSF katmanlı çevre savunması sağlar: gelen/giden trafik filtreleme, gerçek zamanlı günlük analizi, kaba kuvvet azaltma, port tarama tespiti ve ülke düzeyinde erişim kontrolü; bunların tümü CLI veya cPanel, DirectAdmin ya da Webmin ile entegre bir web arayüzü üzerinden yönetilebilir.
CSF Arka Planda Nasıl Çalışır
CSF, iptables veya nftables‘nin yerini almaz — onları yönetir. /etc/csf/csf.conf‘de kurallar tanımladığınızda veya IP listelerini değiştirdiğinizde, CSF bu yönergeleri çekirdek düzeyinde netfilter kurallarına çevirir ve atomik olarak uygular.
Mimari, birlikte çalışan iki temel bileşene sahiptir:
- csf — yapılandırma dosyalarını okuyan ve
iptables/ip6tableszincirlerini dolduran güvenlik duvarı kural motoru. - lfd — sistem günlük dosyalarını gerçek zamanlı olarak izleyen, kimlik doğrulama olaylarını yapılandırılabilir eşiklere göre değerlendiren ve IP adreslerini dinamik olarak engellemek veya engeli kaldırmak için
csf‘a talimat veren kalıcı bir daemon.
Başlangıçta CSF, mevcut zincirleri temizler ve yapılandırmasına göre sıfırdan yeniden oluşturur. Bu “temiz sayfa” yaklaşımı, kural birikimini önler ve güvenlik duvarı durumunun her zaman belirleyici ve denetlenebilir olmasını sağlar.
CSF Çalışma Modları
CSF, iki temel trafik duruşundan birinde çalışır:
İzin Verme Modu (çoğu dağıtım için varsayılan): Varsayılan olarak tüm gelen ve giden trafik reddedilir. Yalnızca TCP_IN, TCP_OUT, UDP_IN ve UDP_OUT yönergelerinde açıkça listelenen portlara izin verilir. Bu, önerilen üretim duruşudur.
Test Modu (TESTING = "1"): CSF kuralları yükler ancak LFD blokları uygulamaz. Bu, ilk yapılandırma sırasında kendinizi dışarıda bırakmanızı önler. Yayına geçmeden önce test modunu her zaman devre dışı bırakın:
# In /etc/csf/csf.conf, set:
TESTING = "0"
# Then restart CSF:
csf -rCSF’nin Temel Özellikleri Açıklandı
Güvenlik Duvarı Kural Motoru
CSF, csf.conf‘de dört temel port listesini yönetir:
TCP_IN/UDP_IN— gelen bağlantılar için açık portlarTCP_OUT/UDP_OUT— giden bağlantılar için izin verilen portlar
Minimal bir web sunucusu yapılandırması şöyle görünebilir:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"Port yönetiminin ötesinde CSF, tüm ağ aralıklarına izin vermenizi veya bunları reddetmenizi sağlayan CIDR tabanlı kuralları destekler. Kurallar, kolay sürüm kontrolü için düz dosyalarda saklanır:
| Dosya | Amaç |
|---|---|
/etc/csf/csf.allow | Kalıcı olarak beyaz listeye alınmış IP’ler veya CIDR’lar |
/etc/csf/csf.deny | Kalıcı olarak engellenen IP’ler veya CIDR’lar |
/etc/csf/csf.ignore | LFD’nin hiçbir zaman otomatik olarak engellemeyeceği IP’ler |
/etc/csf/csf.dyndns | Otomatik olarak çözümlenecek ve izin verilecek dinamik DNS ana bilgisayar adları |
Login Failure Daemon (LFD)
LFD, CSF’nin aktif zeka katmanıdır. /var/log/secure, /var/log/maillog, /var/log/exim_mainlog ve diğerleri dahil günlük dosyalarını izler ve yapılandırılabilir bir zaman penceresi içinde kaynak IP başına kimlik doğrulama başarısızlıklarını sayar.
Temel LFD yapılandırma yönergeleri:
LF_TRIGGER— bir blok verilmeden önceki başarısızlık sayısıLF_INTERVAL— başarısızlıkları saymak için kayan zaman penceresi (saniye cinsinden)LF_DURATION— geçici bir bloğun ne kadar süreceği (0 = kalıcı)LF_SSH,LF_FTPD,LF_SMTPAUTH,LF_POP3D,LF_IMAPD— hizmet başına başarısızlık eşikleri
Pratik bir sertleştirme örneği: 5 dakika içinde SSH kimlik doğrulamasında 5 kez başarısız olan herhangi bir IP’yi engellemek için LF_SSH = "5" ile LF_INTERVAL = "300" ayarlayın. Bu tek yönerge, port 22’yi hedef alan otomatik kimlik bilgisi doldurma saldırılarının büyük çoğunluğunu ortadan kaldırır.
Kritik uç durum: İzleme sisteminiz veya yedekleme aracınız dinamik bir IP’den kimlik doğrulaması yapıyorsa, sonunda LFD’yi tetikleyecektir. Eşikleri sıkılaştırmadan önce bu kaynak IP’leri her zaman /etc/csf/csf.ignore‘e ekleyin.
Saldırı Tespiti ve Süreç Takibi
LFD, oturum açma izlemenin ötesinde çeşitli ana bilgisayar tabanlı saldırı tespit işlevleri gerçekleştirir:
PT_LOAD— CPU yükünü izler ve bir süreç tanımlı eşikleri aşarsa uyarı verir veya engeller; paylaşımlı altyapıda kripto madenciliği veya kontrolden çıkmış süreçleri tespit etmek için kullanışlıdır.PT_USERMEMvePT_USERTIME— kaynak izolasyonunun önemli olduğu paylaşımlı web hosting ortamları için kritik olan kullanıcı başına bellek ve CPU süresi sınırları.LF_DIRWATCH— belirtilen dizinleri dosya değişiklikleri için izler ve temel dosya bütünlüğü izlemesi sağlar.LF_SCRIPT_ALERT— aşırı e-posta gönderen betikleri tespit eder; bu, güvenliği ihlal edilmiş bir PHP uygulamasının yaygın bir göstergesidir.
Port Tarama Tespiti
CSF, ardışık olarak birden fazla portu araştıran ana bilgisayarları tanımlamak için iptables recent modül takibini kullanır. PS_INTERVAL, PS_LIMIT ve PS_PORTS yönergeleri hassasiyeti kontrol eder. Bir port taraması tespit edildiğinde, kaynak IP hemen reddetme listesine eklenir ve bir uyarı gönderilir.
Bilinmesi gereken bir incelik: Agresif port tarama tespiti, güvenlik ekipleri veya çalışma süresi izleme hizmetleri tarafından kullanılan meşru ağ tarayıcılarından yanlış pozitifler üretebilir. Bu tarayıcı IP’lerini proaktif olarak csf.ignore‘e ekleyin.
DDoS ve Bağlantı Hızı Sınırlama
CSF, hacimsel saldırıları absorbe etmek veya saptırmak için çeşitli mekanizmalar sağlar:
CT_LIMIT— IP başına maksimum eş zamanlı bağlantı. Web sunucuları için bunu100–300olarak ayarlamak, tek bir ana bilgisayarın bağlantı yuvalarını tekeline almasını önler.CT_INTERVAL— bağlantı izleyicisinin ne sıklıkla çalıştığı.SYNFLOODveSYNFLOOD_RATE— yapılandırılabilir paket hızı sınırıylaiptablesSYN flood korumasını etkinleştirir.UDPFLOOD— IP başına UDP paketlerini hız sınırlar ve UDP amplifikasyon saldırılarını azaltır.
CSF’nin DDoS azaltma kapsamını anlamak önemlidir: sınırlı sayıda kaynaktan kaynaklanan uygulama katmanı ve düşük hacimli ağ katmanı saldırılarına karşı etkilidir. Büyük ölçekli hacimsel bir DDoS’a (onlarca Gbps) karşı, yukarı akış null-routing veya özel bir DDoS temizleme hizmeti gereklidir. CSF, yukarı akış ağ düzeyinde korumayı tamamlar ancak onun yerini almaz.
Ülke Düzeyinde Erişim Kontrolü (CC_DENY / CC_ALLOW)
CSF, coğrafi erişim politikalarını uygulamak için MaxMind GeoIP veritabanlarıyla entegre olur. CC_DENY yönergesi ISO 3166-1 alfa-2 ülke kodlarını kabul eder:
CC_DENY = "CN,RU,KP,IR"Alternatif olarak, CC_ALLOW_FILTER ile CC_DENY = "ALL" birleşimi yalnızca izin listesi içeren bir coğrafi politika oluşturur — yalnızca belirli yargı bölgelerine yasal veya operasyonel olarak hizmet veren hizmetler için kullanışlıdır.
Operasyonel tuzak: GeoIP veritabanları mükemmel derecede doğru değildir. Kurumsal VPN’lerin veya CDN uç düğümlerinin arkasındaki meşru kullanıcılar, engellenen bir ülkeden geliyormuş gibi görünebilir. Ülke engellemesini bilinen iş ortakları için IP beyaz listesiyle birleştirin.
Geçici Bloklar ve Engel Kaldırma
CSF, belirsiz durumlar için kalıcı yasaklara tercih edilen zaman sınırlı blokları destekler:
# Block an IP for 3600 seconds (1 hour)
csf -td 192.168.1.100 3600 "Suspicious scan activity"
# Remove a temporary block manually
csf -tr 192.168.1.100
# Check if an IP is currently blocked
csf -g 192.168.1.100E-posta Uyarıları ve Raporlama
CSF, çok çeşitli olaylar için e-posta bildirimleri gönderir. LF_ALERT_TO yönergesi alıcı adresini ayarlar. Uyarı kategorileri şunları içerir:
- Başarısız oturum açma eşiği ihlalleri
- Başarılı root girişleri
- Port tarama tespitleri
- Süreç kaynak sınırı ihlalleri
- Güvenlik duvarı kural değişiklikleri
- Şüpheli dosya değişiklikleri (
LF_DIRWATCHetkinleştirilmişse)
Yüksek trafikli sunucularda uyarı yorgunluğu gerçek bir operasyonel risktir. LF_EMAIL_ALERT eşiklerini kullanın ve CSF uyarılarını genel bir gelen kutusu yerine özel bir posta kutusuna veya SIEM entegrasyonuna yönlendirmeyi düşünün. Güvenilir uyarı teslimi, düzgün yapılandırılmış bir posta yığınına bağlıdır — kendi posta altyapınızı çalıştırıyorsanız, uygun SPF/DKIM hizalamasına sahip e-posta hosting, CSF uyarılarının spam olarak sessizce düşürülmemesini sağlar.
Linux Sunucusuna CSF Kurulumu
CSF, standart dağıtım depolarında mevcut değildir. Kurulum basittir:
# Download the latest release
cd /usr/src
wget https://download.configserver.com/csf.tgz
# Extract and install
tar -xzf csf.tgz
cd csf
sh install.shKurulumdan sonra, gerekli tüm iptables modüllerinin mevcut olduğunu doğrulayın:
perl /usr/local/csf/bin/csftest.plHerhangi bir FATAL sonucu, CSF’nin doğru çalışması için çözülmesi gereken eksik çekirdek modüllerini gösterir. WARN sonuçları tavsiye niteliğindedir ve genellikle engelleyici değildir.
İlk yapılandırma /etc/csf/csf.conf‘de bulunur. En kritik ilk adım, daemon’u yeniden başlatmadan önce test modunu devre dışı bırakmak ve izin verilen portları tanımlamaktır.
CSF’nin Kontrol Panelleriyle Entegrasyonu
CSF, üç baskın Linux hosting kontrol paneli için yerel UI eklentileriyle birlikte gelir:
| Kontrol Paneli | Entegrasyon Yöntemi | UI Konumu |
|---|---|---|
| cPanel / WHM | WHM için CSF eklentisi | WHM > Eklentiler > ConfigServer Security & Firewall |
| DirectAdmin | CSF eklentisi | Yönetici paneli > Ekstra Özellikler |
| Webmin | CSF Webmin modülü | Webmin > Ağ > ConfigServer Security & Firewall |
WHM entegrasyonu en özellik açısından eksiksiz olanıdır; WHM arayüzü içinde tam yapılandırma dosyası düzenleyicisini, IP aramasını, geçici blok yönetimini ve günlük görüntüleyiciyi sunar. cPanel ile VPS çalıştıran yöneticiler için CSF, fiilen standart güvenlik duvarı çözümüdür — neredeyse her cPanel VPS imajında önceden yüklenmiş veya kolayca kurulabilir durumdadır.
Kontrol paneli olmayan ortamlar için CLI tamamen yeterlidir. Temel komutlar:
csf -s # Start firewall
csf -f # Stop (flush) firewall
csf -r # Restart firewall
csf -l # List current iptables rules
csf -a 203.0.113.5 # Allow an IP permanently
csf -d 203.0.113.5 # Deny an IP permanently
csf -g 203.0.113.5 # Check block status of an IP
csf -u # Check for CSF updatesCSF ile Alternatif Linux Güvenlik Duvarı Çözümlerinin Karşılaştırması
CSF’nin daha geniş ekosistemde nereye oturduğunu anlamak, bilinçli bir mimari karar vermenize yardımcı olur.
| Özellik | CSF + LFD | UFW | firewalld | Fail2ban + iptables |
|---|---|---|---|---|
| Birincil soyutlama katmanı | iptables / nftables | iptables / nftables | nftables / iptables | iptables / nftables |
| Aktif kaba kuvvet azaltma | Yerleşik (LFD) | Yok (eşleştirme gerektirir) | Yok (eşleştirme gerektirir) | Temel özellik |
| Kontrol paneli entegrasyonu | Yerel (cPanel, DA, Webmin) | Yok | Yok | Sınırlı |
| GeoIP / ülke engelleme | Yerleşik | Yok | Yok | Eklenti ile |
| Port tarama tespiti | Yerleşik | Yok | Yok | Filtre ile |
| Süreç/kaynak izleme | Yerleşik (PT_*) | Yok | Yok | Yok |
| Yapılandırma karmaşıklığı | Orta-Yüksek | Düşük | Orta | Orta |
| Paylaşımlı hosting için uygun | Evet | Hayır | Hayır | Kısmi |
| IPv6 desteği | Evet (ip6tables) | Evet | Evet | Evet |
CSF’yi ne zaman seçmeli: Bir cPanel/DirectAdmin/Webmin sunucusu, çok kiracılı veya hosting bağlamında bir VPS veya özel sunucu çalıştırıyorsanız ya da birden fazla ayrı araç bir araya getirmeden güvenlik duvarı yönetimini, kaba kuvvet tespitini ve ana bilgisayar tabanlı izlemeyi tek bir araçta birleştirmeniz gerekiyorsa.
Alternatifleri ne zaman düşünmeli: Ağ politikasının orkestrasyon katmanında yönetildiği konteynerleştirilmiş bir mikro hizmetler ortamı çalıştırıyorsanız (Kubernetes NetworkPolicy, Calico) veya eski iptables uyumluluk katmanları olmadan modern bir dağıtımda nftables’a özgü yönetim gerekiyorsa.
Yaygın Kullanım Senaryoları ve Dağıtım Durumları
Web Hosting Sunucusunu Güvenli Hale Getirme
Tipik bir cPanel sunucusunda CSF şu şekilde yapılandırılmalıdır:
- Yalnızca aktif hizmetlerin gerektirdiği portları açın (HTTP, HTTPS, SMTP, IMAP, POP3, FTP, SSH, DNS)
- Güvenliği ihlal edilmiş PHP posta göndericilerini yakalamak için
LF_SCRIPT_ALERT‘i etkinleştirin - Tek bir kaynaktan bağlantı tükenmesini önlemek için
CT_LIMIT‘i ayarlayın - ModSecurity kuruluysa
MODSECentegrasyonunu etkinleştirerek WAF bloklarını güvenlik duvarı düzeyinde düşüşlerle ilişkilendirin
SSH Erişimini Sertleştirme
CSF’yi SSH anahtar tabanlı kimlik doğrulama ve standart dışı bir SSH portuyla birleştirmek, sağlam bir erişim kontrolü duruşu oluşturur:
# Allow only your management IP on the SSH port
# In /etc/csf/csf.allow:
tcp|in|d=2222|s=203.0.113.10 # Replace with your actual management IP and SSH portÜç başarısız denemeden sonra herhangi bir IP’yi engellemek için LF_SSH = "3"‘i ayarlayın ve yanlışlıkla kendinizi kilitlememeniz için yönetim IP’nizi csf.ignore‘e ekleyin.
E-posta Altyapısını Koruma
Posta sunucuları yüksek değerli kaba kuvvet hedefleridir. CSF’nin hizmet başına LFD eşikleri (LF_SMTPAUTH, LF_POP3D, LF_IMAPD), kimliği doğrulanmış SMTP’yi işleyen herhangi bir sunucuda agresif biçimde (3–5 başarısızlık) ayarlanmalıdır. Kaba kuvvet korumasını anlamsız kılacak kimlik bilgisi ele geçirilmesini önlemek için tüm posta portlarında düzgün yapılandırılmış SSL sertifikaları ile eşleştirin.
GPU ve Yüksek Performanslı İş Yükleri
ML çıkarım API’leri veya render hizmetleri çalıştıran GPU hosting ortamları için CSF’nin CT_LIMIT ve SYNFLOOD koruması özellikle değerlidir — bu hizmetler genellikle otomatik araştırmayı çeken yüksek değerli API uç noktalarını açığa çıkarır. API portlarını csf.allow aracılığıyla bilinen istemci CIDR’larıyla kısıtlayın ve meşru kullanıcı tabanı olmayan coğrafyaları filtrelemek için CC_DENY‘i kullanın.
CSF Yapılandırma Sertleştirme Kontrol Listesi
Bir CSF dağıtımını üretime hazır saymadan önce aşağıdakileri doğrulayın:
TESTING = "0"ayarlandı ve CSF yeniden başlatıldıTCP_INveTCP_OUTyalnızca aktif hizmetlerin gerektirdiği portları içeriyor — geçerli olmayan varsayılanları kaldırınLF_SSH,LF_FTPD,LF_SMTPAUTHeşikleri 3–5 başarısızlığa ayarlandı- Yönetim IP’leriniz
/etc/csf/csf.ignoreve/etc/csf/csf.allow‘de bulunuyor CT_LIMITetkinleştirildi ve makul bir değere ayarlandı (web sunucuları için 100–300)SYNFLOOD = "1"internete açık sunucularda etkinleştirildiLF_SCRIPT_ALERT = "1"PHP uygulamaları çalıştıran sunucularda etkinleştirildiLF_ALERT_TOizlenen bir posta kutusuna ayarlandıcsf -uperiyodik olarak çalıştırılıyor veya CSF’yi güncel tutmak için cron ile otomatikleştirildi- Herhangi bir çekirdek güncellemesinden sonra
perl /usr/local/csf/bin/csftest.plçalıştırıldığındaFATALhatası döndürmüyor
Karar Matrisi: CSF Ortamınız İçin Doğru Araç mı?
| Ortam | CSF Öneriliyor mu? | Notlar |
|---|---|---|
| cPanel / WHM VPS veya özel sunucu | Evet, kesinlikle | Yerel entegrasyon, sektör standardı |
| DirectAdmin sunucusu | Evet | Tam eklenti desteği |
| Kontrol paneli olmayan bare Linux VPS | Evet | CLI yönetimi, tam özellik seti |
| Paylaşımlı hosting (son kullanıcı) | Geçerli değil | Son kullanıcı tarafından değil, host tarafından yönetilir |
| Docker / Kubernetes kümesi | Hayır | Ağ politikalarını ve eBPF tabanlı araçları kullanın |
| Windows Server | Hayır | CSF yalnızca Linux’a özgüdür |
| Yüksek trafikli CDN kaynağı | Kısmi | Yukarı akış DDoS korumasıyla birleştirin |
SSS
CSF ile Fail2ban arasındaki fark nedir?
Her iki araç da günlük dosyalarını analiz ederek kaba kuvvet IP engellemesi gerçekleştirir, ancak CSF aynı zamanda temel güvenlik duvarı kurallarını, port erişimini, bağlantı hızı sınırlamayı, süreç izlemeyi ve GeoIP filtrelemeyi yöneten eksiksiz bir güvenlik paketidir. Fail2ban, uygulama için harici bir güvenlik duvarına (iptables, nftables veya firewalld) dayanan odaklanmış bir saldırı önleme aracıdır. Kontrol panelli hosting sunucularında CSF, operasyonel açıdan daha eksiksiz çözümdür. Minimal Linux sistemlerde veya konteynerlerde, firewalld ile eşleştirilmiş Fail2ban daha hafif ve daha uygun olabilir.
CSF IPv6 trafiğini engelleyebilir mi?
Evet. CSF hem iptables (IPv4) hem de ip6tables (IPv6) kural setlerini yönetir. IPv6 desteği, çekirdek desteklediğinde varsayılan olarak etkinleştirilir. IPV6 = "1"‘in csf.conf‘de ayarlandığından ve TCP6_IN / TCP6_OUT port listelerinizin yapılandırıldığından emin olun; bunlar varsayılan olarak IPv4 ayarlarını yansıtır ancak bağımsız olarak özelleştirilebilir.
CSF’yi yapılandırırken yanlışlıkla kendimi nasıl kilitlemem?
Herhangi bir kısıtlayıcı değişiklik yapmadan önce yönetim IP’nizi hem /etc/csf/csf.allow‘e hem de /etc/csf/csf.ignore‘e ekleyin. İlk yapılandırma sırasında TESTING = "1"‘i koruyun — test modunda CSF kuralları yükler ancak LFD blokları uygulamaz ve onaylanmazsa kurallar 5 dakika sonra otomatik olarak temizlenir. Bağlantıyı doğruladıktan sonra yalnızca TESTING = "0"‘i ayarlayın.
CSF kontrol paneli olmayan sunucularda çalışır mı?
Evet, tamamen. CSF tamamen komut satırı aracılığıyla kurulur ve yönetilir. Web UI, kontrol paneli ortamları için isteğe bağlı bir kolaylık katmanıdır. Tüm yapılandırma, /etc/csf/‘deki düz dosyalar ve csf CLI ikili dosyası aracılığıyla yapılır. Birçok yönetici, Ansible veya Puppet gibi yapılandırma yönetimi araçları aracılığıyla denetlenebilirlik ve otomasyon için yalnızca CLI yönetimini tercih eder.
CSF ne sıklıkla güncellenmeli ve bu nasıl yapılır?
CSF, özellikle güvenlikle ilgili değişiklikler için yeni bir sürüm yayınlandığında güncellenmelidir. Yüklü sürümü ConfigServer indirme sunucusundaki en son sürümle karşılaştıran csf -u ile güncellemeleri kontrol edin. Güncellemeler doğrudan WHM eklentisi UI’sından veya CLI aracılığıyla uygulanabilir. Kontrolü haftalık bir cron işiyle otomatikleştirin, ancak değişiklik günlüğünü inceledikten sonra güncellemeleri manuel olarak uygulayın — CSF güncellemeleri zaman zaman dağıtımdan önce inceleme gerektiren varsayılan yapılandırma değerlerini değiştirir.
