WHM'de sol menüde "Firewall" araması yaptınız, ConfigServer Security & Firewall eklentisinin ekranını açtınız ve karşınızda yüzlerce ayar var. Aynı anda arka planda bir SSH oturumunuz açık duruyor — o oturum, işler ters giderse tek kurtuluş yolunuz. Bu iki gerçek, CSF ile çalışırken aklınızda tutmanız gereken her şeyi özetler.
CSF'in kurulumu kolaydır. Zor olan, kurulumdan sonra sunucuya erişimi kaybetmemektir. Bu araçla ilgili anlatılan hikâyelerin büyük çoğunluğu "portu kapattım, sonra kendi IP'm engellendi, konsol erişimim de yoktu" ile başlar. İyi haber şu: bu senaryonun tamamı önlenebilir ve CSF bunun için özel olarak tasarlanmış bir mekanizma barındırır — çoğu kişi ne işe yaradığını bilmediği için kapatır.
Bu rehber sırayla şunları anlatıyor: CSF ve lfd'nin görev ayrımı, 2025 sonrası bakım durumu (bu kısmı atlamayın, kurulum yönteminizi belirliyor), kilitlenmeyi önleyen üç kural, TESTING modunun gerçek işlevi, cPanel sunucuda açık olması gereken portların tam listesi, günlük kullanacağınız komutlar ve lfd alarmlarını okunur hâle getirme yöntemi.
CSF Nedir, lfd Ne İş Yapar?#
CSF (ConfigServer Security & Firewall) aslında iki ayrı bileşenden oluşur ve bu ayrımı kavramak, ilerideki sorunların yarısını çözer.
csf, iptables/ip6tables kurallarını yöneten katmandır. Hangi portun açık olduğuna, hangi IP'nin geçebileceğine o karar verir. Kendi başına bir kural motoru değildir; okunması ve yönetilmesi zor olan iptables sözdizimini, düz metin yapılandırma dosyalarına çeviren bir sarmalayıcıdır. Doğrudan iptables ile çalışmanın nasıl bir şey olduğunu görmek isterseniz iptables ile güvenlik duvarı yazısı iyi bir karşılaştırma sunar.
lfd (Login Failure Daemon) ise arka planda çalışan ayrı bir servistir. Log dosyalarını sürekli okur; SSH, FTP, POP3/IMAP, SMTP AUTH ve cPanel giriş denemelerindeki başarısızlıkları sayar, eşik aşılınca ilgili IP'yi csf'e engelletir. Yani kabaca fail2ban'in yaptığı işi yapar — ikisini aynı sunucuda çalıştırmak gereksizdir ve çakışır. Mantığı karşılaştırmak için fail2ban kurulumu yazısına bakabilirsiniz.
Bu ayrımın pratik sonucu şudur: bir IP'yi güvenlik duvarında serbest bırakmak, lfd'nin onu engellemeyeceği anlamına gelmez. Aşağıda buna ayrı bir başlık ayırdık, çünkü sahada en sık yapılan hata budur.
2026'da CSF Kimin Bakımında?#
Bu bölümü atlamayın; internetteki eski rehberlerdeki indirme komutları artık çalışmıyor.
CSF'i yirmi yıldan uzun süre geliştiren Way to the Web Ltd, 31 Ağustos 2025'te faaliyetlerini durdurdu. Kapanmadan önce son sürüm olan CSF v15.00'ı GPLv3 lisansıyla açık kaynak olarak yayınladılar. Bunun somut sonucu: download.configserver.com adresi artık yanıt vermiyor, dolayısıyla eski rehberlerdeki wget https://download.configserver.com/csf.tgz satırı bağlantı hatası verir. Otomatik güncelleme açık kalan sunucular da düzenli olarak "Unable to download" hataları üretir.
Sonrasında iki yol açıldı:
- cPanel & WHM sunucuları için: cPanel projeyi çatalladı ve
cpanel-csfpaketi olarak kendi altyapısından dağıtmaya başladı. Şubat 2026'da yayımlanan yapılandırma güncellemesiyle, uygun durumdaki cPanel sunucularının güncelleme kaynağı otomatik olarak cPanel'in aynalarına yönlendirildi. Paket yalnızca cPanel tespit edilen sistemlerde kurulur. - cPanel dışı sunucular için: topluluk çatalları devam ediyor. Bunları kullanacaksanız hangi çatalı seçtiğinize ve o çatalın güncelleme adresine dikkat edin.
Sunucunuzun hangi durumda olduğunu iki komutla anlarsınız:
# Kurulu CSF sürümü
csf -v
# cPanel sunucularda paket olarak mı geliyor
rpm -q cpanel-csf
# Güncellemeleri nereden almaya çalışıyor
cat /etc/csf/downloadservers
⚠️ Eğer sunucunuz hâlâ eski, kapanmış adresi arıyorsa iki seçeneğiniz var: güncel bakım kanalına geçmek ya da otomatik güncellemeyi tamamen kapatmak. İkincisi için /etc/csf/csf.conf içinde AUTO_UPDATES = "0" yapıp csf -r ile yeniden yükleyin. Ölü bir alan adına düzenli olarak bağlanmaya çalışan bir güvenlik yazılımı, alan adı ileride el değiştirirse risk oluşturur.
Kurulumdan Önce: Kilitlenmemenin Üç Kuralı#
Kuruluma başlamadan önce bu üç şeyi yapın. Beş dakika sürer, saatlerce süren bir kurtarma operasyonunu önler.
- Konsol erişiminizi doğrulayın. SSH dışında sunucuya ulaşabileceğiniz bir yolunuz olmalı: sağlayıcının KVM/VNC konsolu, kurtarma modu ya da IPMI. Bu yol yoksa CSF'e dokunmayın. Erişimi kaybettiğinizde tek kurtuluşunuz budur ve "ihtiyacım olmaz" varsayımı bu işte hiç tutmaz.
- Kendi genel IP adresinizi not edin.
curl -s ifconfig.meya dacurl -s https://api.ipify.orgile öğrenin. Ev bağlantınız dinamik IP kullanıyorsa bunu bilin; adres değiştiğinde beyaz liste kaydınız işe yaramaz hâle gelir. - SSH portunuzu bilin. Varsayılan 22 değilse ve bu portu
TCP_INlistesine eklemeyi unutursanız, CSF'i etkinleştirdiğiniz anda bağlantınız kesilir. Portu değiştirmeyi düşünüyorsanız SSH portu değiştirme yazısındaki sırayı izleyin: önce firewall'a ekleyin, sonra servisi değiştirin.
Ayrıca ikinci bir SSH oturumunu açık bırakma alışkanlığı edinin. Ayarları birinci oturumdan yaparsınız; ikinci oturum, "kendimi kilitledim mi?" sorusunun canlı cevabıdır. Yeni bir oturum açabiliyorsanız her şey yolundadır.
CSF Kurulumu#
cPanel sunucularda kurulum, dağıtılan arşivi açıp kurulum betiğini çalıştırmaktan ibarettir. Betik ortamı kendisi tanır; cPanel, DirectAdmin veya genel Linux kurulumuna göre uygun yapılandırmayı seçer.
cd /usr/src
tar -xzf csf.tgz
cd csf
sh install.sh
Kurulumdan sonra çekirdek modüllerinin ve Perl bağımlılıklarının eksiksiz olduğunu doğrulayın:
perl /usr/local/csf/bin/csftest.pl
Çıktının sonunda RESULT: csf should function on this server görmelisiniz. Bazı sanallaştırma katmanlarında birkaç modül eksik çıkabilir; CSF çoğunlukla yine çalışır ama hangi özelliğin devre dışı kalacağını bu çıktıdan öğrenirsiniz.
CSF, sistemde çalışan başka bir güvenlik duvarı yönetimiyle çakışır. firewalld etkinse devre dışı bırakılmalıdır:
systemctl disable --now firewalld
systemctl status csf lfd
WHM tarafında arayüz Home » Plugins » ConfigServer Security & Firewall altında görünür. Buradan "Firewall Configuration" ile ayarlara, "Firewall Allow IPs" ve "Firewall Deny IPs" ile listelere, "Search for IP" ile de bir adresin neden engellendiğine ulaşırsınız. WHM'in genel yapısını WHM nedir yazısında ele almıştık.
TESTING Modu Tam Olarak Ne Yapar?#
Kurulumdan sonra /etc/csf/csf.conf dosyasının en başında şu satırı görürsünüz:
TESTING = "1"
TESTING_INTERVAL = "5"
Bu, CSF'in en değerli özelliğidir ve çoğu rehber "hemen 0 yapın" diye geçiştirir. Gerçekte yaptığı şey şudur: TESTING açıkken CSF bir cron görevi kurar ve her TESTING_INTERVAL dakikada bir tüm iptables kurallarını temizler. Yani kendinizi kilitlerseniz, en fazla beş dakika bekleyip tekrar bağlanabilirsiniz.
İki önemli sonuç:
- TESTING açıkken lfd çalışmaz. Yani brute force koruması yoktur. Bu mod bir çalışma modu değil, bir kurulum modudur.
- Kurallar sürekli temizlendiği için gerçek koruma da yoktur. Sunucuyu bu modda bırakmak, güvenlik duvarını hiç kurmamakla neredeyse aynı şeydir.
Doğru kullanım sırası şudur:
- TESTING = "1" ile bırakın, portları ve beyaz listeyi ayarlayın.
csf -rile yeniden yükleyin.- Yeni bir SSH oturumu açmayı deneyin. Açılıyorsa devam edin.
- cPanel, WHM ve webmail arayüzlerine tarayıcıdan girebildiğinizi doğrulayın.
- E-posta istemcinizin bağlanabildiğini kontrol edin.
- Hepsi tamamsa
TESTING = "0"yapın vecsf -rçalıştırın. - Bir kez daha yeni oturum açın; lfd artık çalışıyor olacak.
⚠️ Beşinci adımı atlamayın. Web arayüzü çalışırken posta portlarının kapalı kaldığı kurulumlar çok yaygındır ve fark edilmesi günler sürer, çünkü kimse "e-posta gelmiyor" ile firewall'u ilişkilendirmez.
Kendi IP'nizi Beyaz Listeye Almak: csf.allow ve csf.ignore Farkı#
Burası CSF'in en sık yanlış anlaşılan noktası. İki ayrı dosya var ve ikisi farklı katmanda çalışır:
| Dosya | Kimi etkiler | Anlamı |
|---|---|---|
/etc/csf/csf.allow | csf (iptables) | Bu IP güvenlik duvarından geçer |
/etc/csf/csf.ignore | lfd | Bu IP'yi asla engelleme |
/etc/csf/csf.deny | csf (iptables) | Kalıcı engel listesi |
/etc/csf/csf.pignore | lfd süreç izleme | Bu süreçleri şüpheli sayma |
Yalnızca csf.allow içine eklenmiş bir IP, güvenlik duvarından geçer ama lfd tarafından yine engellenebilir: art arda birkaç yanlış parola girerseniz lfd sizi engel listesine yazar. Yönetici IP'nizi gerçekten güvenceye almak için ikisine de ekleyin.
# Güvenlik duvarında izin ver (kalıcı, csf.allow'a yazar)
csf -a 203.0.113.45 "ofis sabit IP"
# lfd'nin bu adresi engellemesini de önle
echo "203.0.113.45 # ofis sabit IP" >> /etc/csf/csf.ignore
# Her iki değişikliği uygula
csf -r
systemctl restart lfd
Geçici izin de mümkündür; dinamik IP'li bir bağlantıdan çalışıyorsanız kalıcı kayıt bırakmamak daha temizdir:
# 1 saat (3600 sn) geçerli geçici izin
csf -ta 203.0.113.45 3600 "gecici bakim erisimi"
⚠️ csf.ignore listesini kısa tutun. Buraya eklediğiniz her adres, o adresten gelen saldırılara karşı korumasız kalmanız demektir. Yalnızca gerçekten kontrol ettiğiniz sabit adresleri yazın; asla bir müşteri IP'sini ya da geniş bir aralığı eklemeyin.
cPanel Sunucuda Hangi Portlar Açık Olmalı?#
csf.conf içindeki TCP_IN listesi, dışarıdan gelen bağlantılara izin verilen portları belirler. cPanel kurulumu için varsayılan liste şudur:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096"
Bu listedeki her portun ne işe yaradığını bilmeden hiçbirini silmeyin:
| Port | Servis | Kapatırsanız ne olur |
|---|---|---|
| 20, 21 | FTP veri / kontrol | FTP hesapları bağlanamaz |
| 22 | SSH | Terminal erişimi kesilir |
| 25 | SMTP (sunucular arası) | Dışarıdan e-posta gelmez |
| 53 | DNS | Sunucu ad sunucusu ise alan adları çözülmez |
| 80, 443 | HTTP / HTTPS | Siteler açılmaz |
| 110, 995 | POP3 / POP3S | POP3 istemcileri bağlanamaz |
| 143, 993 | IMAP / IMAPS | IMAP istemcileri bağlanamaz |
| 465, 587 | SMTPS / Submission | Kullanıcılar e-posta gönderemez |
| 2077, 2078 | WebDisk (cpdavd) | WebDisk çalışmaz |
| 2082, 2083 | cPanel | Müşteriler panele giremez |
| 2086, 2087 | WHM | Yönetim paneline giremezsiniz |
| 2095, 2096 | Webmail | Webmail açılmaz |
Posta portlarının hangisinin ne zaman kullanılacağı ayrı bir konu; ayrıntısı için mail portları hangisi kullanılır yazısına bakın. Genel olarak hangi portların açık kalması gerektiğini ise sunucuda hangi portlar açık olmalı yazısında tartıştık.
Giden bağlantılar için TCP_OUT listesinde cPanel'in lisans doğrulaması (2089) ve SpamAssassin bileşenlerinin kullandığı portların bulunması gerekir. Giden trafiği daralttıysanız ve sunucu aniden "lisans geçersiz" demeye başladıysa ilk bakacağınız yer burasıdır.
IPv6 kullanıyorsanız IPV6 = "1" yapmayı ve TCP6_IN / TCP6_OUT listelerini de doldurmayı unutmayın. Yalnızca IPv4 tarafını yapılandırılmış bir sunucu, IPv6 üzerinden gelen trafiğe karşı korumasız kalır — ve modern sunucuların çoğunda IPv6 varsayılan olarak etkindir.
Port Açma, Kapatma ve Günlük Komutlar#
Port eklemek için /etc/csf/csf.conf dosyasındaki ilgili listeye portu yazıp yeniden yüklemek yeterlidir:
# Örnek: 8443 portunu gelen trafiğe açmak
sed -i 's/^TCP_IN = "\(.*\)"/TCP_IN = "\1,8443"/' /etc/csf/csf.conf
csf -r
# Gerçekten açık mı, doğrulayın
csf -l | grep 8443
Günlük işlerde en çok kullanacağınız komutlar:
| Komut | Ne yapar |
|---|---|
csf -r | Yapılandırmayı yeniden yükler (en sık kullanılan) |
csf -e / csf -x | Güvenlik duvarını etkinleştirir / devre dışı bırakır |
csf -a IP yorum | Kalıcı izin verir (csf.allow) |
csf -d IP yorum | Kalıcı engeller (csf.deny) |
csf -dr IP | Kalıcı engeli kaldırır |
csf -tr IP | Geçici engeli/izni kaldırır |
csf -t | Geçici engel listesini gösterir |
csf -g IP | Bir IP'nin tüm listelerde geçtiği yerleri bulur |
csf -l | Etkin iptables kurallarını listeler |
csf -f | Tüm kuralları temizler (dikkat: koruma kalkar) |
csf -g en çok işe yarayan teşhis komutudur. Bir müşteri "siteme giremiyorum" dediğinde, IP'sini bu komuta verin; adresin geçici mi kalıcı mı engellendiğini, hangi kuralın tetiklendiğini tek çıktıda görürsünüz.
LFD Alarm E-postalarını Okumak#
CSF etkinleştikten sonra kutunuza akmaya başlayan e-postalar sizi kısa sürede yorabilir. Bunları filtrelemeden önce hangisinin önemli olduğunu ayırt etmek gerekir.
Gerçekten okunması gerekenler:
- Suspicious process running — sunucuda beklenmedik bir süreç çalışıyor. Genelde ele geçirilmiş bir hesabın ilk işaretidir.
- Mail script exceeded (
LF_SCRIPT_ALERT) — bir dizinden anormal miktarda posta çıkıyor. Spam gönderen ele geçirilmiş bir siteyi yakalamanın en hızlı yoludur. - Excessive resource usage — tek seferlik ise gürültü, tekrarlıyorsa gerçek bir sorun.
- SSH login alert — root ya da yönetici hesabıyla açılan her oturum. Beklemediğiniz bir giriş görürseniz derhal inceleyin.
Genelde gürültü olanlar:
- System Integrity checking — cPanel sistem dosyalarını sık güncellediği için her güncellemede tetiklenir.
- Directory Watching — geçici dizinlerdeki normal hareketi de raporlar.
- Her geçici engel için gelen tek tek bildirimler — yoğun bir sunucuda günde yüzlerce olabilir.
Alarmların gideceği adresi ayarlamayı unutmayın; varsayılan olarak root hesabına giderler ve kimse okumaz:
LF_ALERT_TO = "[email protected]"
LF_ALERT_FROM = "[email protected]"
Ayrıca /var/log/lfd.log dosyası, e-postaların tamamının kaynağıdır. Bir olayı geriye dönük araştırırken doğrudan buraya bakmak, e-posta arşivinde arama yapmaktan hızlıdır:
grep '203.0.113.99' /var/log/lfd.log
tail -f /var/log/lfd.log
Alarm Gürültüsünü Azaltmak#
Okunmayan alarm, olmayan alarmdır. Gürültüyü azaltmak güvenliği zayıflatmak değil, önemli olanın görünmesini sağlamaktır.
# cPanel sunucularda sürekli yanlış pozitif üretir
LF_INTEGRITY = "0"
# Geçici engellerin her biri için e-posta gönderme
LF_TEMP_EMAIL_ALERT = "0"
# Kaynak kullanımı eşiklerini gerçekçi seviyeye çekin (saniye / MB)
PT_USERTIME = "1800"
PT_USERMEM = "1024"
# Tekrarlayan saldırganı kalıcı engelle
LF_PERMBLOCK = "1"
LF_PERMBLOCK_INTERVAL = "86400"
LF_PERMBLOCK_COUNT = "4"
Bilinen ve uzun süre çalışan süreçleriniz varsa (yedekleme betikleri, kuyruk işçileri, uzun süren cron işleri) bunları csf.pignore dosyasına ekleyin; aksi hâlde her çalıştıklarında "şüpheli süreç" alarmı üretirler.
Bir noktayı da göz önünde tutun: kalıcı engel listesi sınırsız değildir. DENY_IP_LIMIT varsayılan olarak 200'dür; bu sayı aşıldığında en eski kayıtlar düşer. Binlerce IP'yi kalıcı engellemeye çalışmak yerine geçici engelleri ve blocklist özelliklerini kullanın; iptables'ta on binlerce tekil kural hem performansı düşürür hem de yönetilemez hâle gelir.
cPanel sunucularda lfd'nin yanında bir de cPHulk çalışır ve ikisi kısmen aynı işi yapar. Hangisinin hangi giriş türünü koruduğunu ve nasıl birlikte yapılandırılacağını WHM güvenlik ve cPHulk yazısında ele aldık. Saldırganların ne yaptığını genel olarak anlamak için de brute force saldırısı yazısına göz atın.
Kendinizi Kilitlerseniz Ne Yaparsınız?#
Olur. Sorun değil, çıkış yolu var.
- TESTING modundaysanız bekleyin. Cron görevi
TESTING_INTERVALdakika içinde kuralları temizleyecek ve bağlantı geri gelecektir. - Konsoldan devre dışı bırakın. Sağlayıcının KVM/VNC konsoluna bağlanıp
csf -xçalıştırın; güvenlik duvarı kapanır ve SSH açılır. Sonracsf -aile IP'nizi ekleyipcsf -eile geri açın. - Konsol da yoksa kurtarma modu. Sunucuyu kurtarma sistemiyle başlatıp diski bağlayın,
/etc/csf/csf.confiçindeTESTING = "1"yapın ve yeniden başlatın. - Sadece lfd engellediyse konsoldan
csf -dr KENDI_IPyeterlidir; güvenlik duvarını tamamen kapatmanız gerekmez.
Bu yüzden kurulumdan önceki ilk kural konsol erişiminin doğrulanmasıydı. CSF'i uzaktaki bir sunucuya, geri dönüş yolunu test etmeden kurmak, ipsiz tırmanmaya benzer: çoğu zaman sorun çıkmaz, çıktığında ise çok pahalıya patlar.
Sıkça Sorulan Sorular#
TESTING modunu kapatmayı unutursam ne olur?#
Sunucunuz korumasız kalır. TESTING açıkken lfd çalışmaz, yani brute force koruması devre dışıdır; üstelik kurulan cron görevi belirli aralıklarla tüm iptables kurallarını temizlediği için port kısıtlamaları da fiilen uygulanmaz. WHM'deki CSF ekranı bu durumda uyarı gösterir. Ayarlarınızı doğruladıktan sonra TESTING = "0" yapıp csf -r çalıştırmayı kurulumun son adımı olarak görün.
csf.allow'a eklediğim IP hâlâ engelleniyor, neden?#
Çünkü csf.allow yalnızca güvenlik duvarı katmanını ilgilendirir; lfd ayrı bir servistir ve kendi kararını verir. Art arda başarısız giriş denemesi yaparsanız lfd o adresi engel listesine yazabilir. Yönetici adreslerinizi csf.ignore dosyasına da ekleyip lfd'yi yeniden başlatın. Bir adresin tam olarak nerede engellendiğini csf -g IP komutuyla tek çıktıda görebilirsiniz.
CSF ve fail2ban'i aynı sunucuda kullanabilir miyim?#
Teknik olarak mümkündür ama önerilmez. lfd ile fail2ban aynı log dosyalarını okur, aynı olaylara tepki verir ve aynı iptables zincirlerine kural yazar. Sonuç, hangi kuralın hangi aracın olduğunu takip edemediğiniz karmaşık bir durumdur; birinin eklediği kuralı diğeri temizleyebilir. Bir tanesini seçin. cPanel sunucularda doğal tercih CSF, panelsiz Linux sunucularda ise fail2ban daha yaygındır.
CSF artık bakımı yapılmıyorsa kullanmaya devam etmeli miyim?#
Orijinal geliştirici 2025'te kapandı, ancak proje GPLv3 altında açık kaynak yapıldı ve devam ettiriliyor. cPanel & WHM sunucuları için cPanel kendi çatalını dağıtıyor ve güvenlik düzeltmelerini sağlıyor; bu ortamda kullanmaya devam etmek makuldür. Kritik olan nokta, sunucunuzun güncellemeleri çalışan bir kaynaktan alması. Kapanmış adresi arayan bir kurulumda otomatik güncellemeyi kapatın ya da güncel bakım kanalına geçin.
Yeni bir port açtım ama servise hâlâ erişemiyorum, sorun CSF'te mi?#
Önce portun gerçekten firewall'da açık olduğunu csf -l | grep PORT ile doğrulayın. Kural görünüyorsa sorun büyük ihtimalle CSF'te değildir: servis o portu dinlemiyor olabilir, farklı bir arayüze bağlanmış olabilir ya da sağlayıcı tarafındaki ağ güvenlik duvarı engelliyordur. ss -tlnp | grep PORT ile servisin dinlediğini doğrulayın; dinliyorsa ve CSF izin veriyorsa engel sunucu dışındadır.
lfd alarmları çok fazla geliyor, hepsini kapatabilir miyim?#
Kapatabilirsiniz ama kapatmamalısınız. Doğru yaklaşım seçici davranmaktır: cPanel sunucularda sürekli yanlış pozitif üreten sistem bütünlüğü kontrolünü ve her geçici engel için gelen bildirimleri kapatın, buna karşılık şüpheli süreç ve aşırı posta gönderimi uyarılarını mutlaka açık bırakın. Bu ikisi, ele geçirilmiş bir hesabı erken yakalamanın en etkili yoludur ve kapatıldıklarında saldırı ancak sunucunuz kara listeye girdiğinde fark edilir.