APF Nedir ? 
APF kural tabanlı bir iptables güvenlik duvarıdır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır. 
Özellikleri 
- Kolay anlaşılan kural tabanlı ayar dosyası. 
- Bağımsız giriş ve çıkış filtreleme. 
- ID tabanlı çıkış kontrolu bu sayede belirtilen uygulamanın sahibine bakarak çıkış yapıp yapmamasına izin verebilirsiniz. 
- Genel tcp/udp port ve icmp tipi ayarlar 
- Sistemdeki her ip için özel yapılandırma. 
icmp ataklarını önlemek için icmp tabanlı koruma sistemi 
antidos yazılımı 
- dshield.org engel listesi bu listede aktif olan saldırganlar tüm apf kullanan sunucularda erişim hakları engellenir. 
- tcp/ip saldırılarını engelleemk için özel sysctl ayar dosyası 
- İstenmiyen trafiği engellemekiçin özel hazırlanabilen kural dizisi 
- Kernel seçeneklerini kullanabilme abort_on_overflow ve tcp syncookies gibi. 
- Kolay yönetilebilir bir güvenlik duvarı yazılımı. 
- Güvenebileceğiniz ve direk olarak engelleyeceğiniz hostları belirtebileceğiniz kural dosyası. 
- APF ile uyumlu 3. parti uygulamaları. 
Çok etkili bir güvenlik duvarı olmakla beraber sunucuların genelinde bu güvenlik duvarı kullanılmaktadır.Ayar dosyaları ve kurulumu kolaydır ve etkilidir. 
KURULUM 
- /usr/local/src dizinine geçiyoruz
cd /usr/local/src  
- Dosyayı sunucuya indiriyoruz.
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz  
Sıkıştırılmış arşiv dosyasını açıyoruz. 
tar -xvzf apf-current.tar.gz  
Uygulamanın bulunduğu dizine giriyoruz. 
cd apf-0.9.5-1/  
Kurulum scriptini çalıştırıyoruz
./install.sh  
.: APF installed 
Install path: /etc/apf 
Config path: /etc/apf/conf.apf 
Executable path: /usr/local/sbin/apf 
AntiDos install path: /etc/apf/ad/ 
AntiDos config path: /etc/apf/ad/conf.antidos 
DShield Client Parser: /etc/apf/extras/dshield/ 
- Ayar dosyasını açıp gerekli düzenlemeleri yapacağız
pico /etc/apf/conf.apf  
İlk önce değişkenlerin ne olduğunu size açıklayacağım sonra gerekli düzenlemeri yapacağız. 
DEVM="1" 
Devolopment mod olarak açıklanıyor güvenlik duvarı ilk kurulduğunda standart olarak bu modda siz ayarları yapana kadar her 5 dakikada bir güvenlik duvarı kurallarını temizliyor.Böylece ssh portunu engelleseniz bile 5 dakika içerisinde girebilirsiniz.Herşeyin yolunda gittiğini anladıktan sonra bu değeri 0 olarak ayarlayın ve güvenlik duvarını yeniden başlatın. 
LGATE_MAC="" 
Yerek ağ mac adresidir.Buraya bir değer girildiği zaman sadece buradan gelen isteklere izin verilicektir.Biz bu değeri boş bırakacağız. 
LGATE_LOG="0" 
Değeri 1 olarak ayarlarsanız bütün ağ trafiğinin kayıdı tutulucaktır.Biz bu değeride 0 olarak bırakacağız. 
EN_VNET="0" 
Bu değeri 1 olarak ayarlarsanız sistemdeki tüm ipler için farklı kurallar kurabilirsiniz./etc/apf/vnet/ dizinine bu kuralı yerleştirebilrisiniz gene standart olarak bir template bu dizinde var. 
TIF="" 
Güvenilen ağlar . 
DROP_LOG="1" 
Kernel tabanlı loglama. 
LRATE="60" 
Iptables in dakikada logladığı olay sayısı. 
IG_TCP_CPORTS="22" 
S istemde içeriye tcp portlarını belirtir.22 yazan yere virgul ile açılıcak portları yazının devamında ekleyeceğiz. 
IG_UDP_CPORTS="" 
İçeriye açılıcak udp portlarını gösterir. 
EGF="0" 
Bu değeri 1 olarak açıcağız çıkan paketlerin filtrelenmesi. 
EG_TCP_CPORTS="22" 
Sitemden dışarıya açılacak tcp portları. 
EG_UDP_CPORTS="" 
Sistemden dışarıya açılıcak udp portları. 
USE_DS="0" 
Dshield.org un engellenenler listesine bu seçeneği 1 olarak seçerseniz katkıda bulunursunuz.
Cpanel de Yapılacak değişiklikler 
- Ayar dosyamızı açıyoruz: 
pico /etc/apf/conf.apf  
- Dosya içinde aşağıdaki değişiklikleri yapıyoruz: 
Alıntı: 
USE_DS="0" 
ve 3 satır altındaki 
USE_AD="0" 
kısımlarını bulup 
USE_DS="1" 
USE_AD="1" 
olarak değiştiriyoruz. 
- IG_TCP_CPORTS yazan kısmı buluyoruz
içindeki portları silip aşağıdaki portları ekliyoruz
IG_TCP_CPORTS="20,21,22,25,26,53,80,110,143,443,465,993,995,2082,  2083,2086,2087,2095,2096"  
- IG_UDP_CPORTS kısmını buluyoruz, içindeki portları silip aşağıdaki portları eklliyoruz: 
IG_UDP_CPORTS="21,53,873" 
- EFG kısmını buluyoruz EGF="0" olan değeri EGF="1" olarak değiştiriyoruz
EG_TCP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz. 
EG_TCP_CPORTS="21,22,25,26,27,37,43,53,80,110,113,443,465,873,208  9" 
EG_UDP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz
EG_UDP_CPORTS="20,21,37,53,873"  
Çalıştırma 
Kod: 
/usr/local/sbin/apf -s 
komutunu uygulayarak güvenlik duvarımızı başlatıyoruz. SSH oturumumuzu kapatıp yeni bir oturum açıp sunucuya girmeye çalışıyoruz. Eğer herhangi bir sorunla karşılaşırda giremezseniz güvenlik duvarı kurallarının 5 dakika içinde silineceğini unutmayın. 
Başarılı bir şekilde giriş yaptıysanız editörümüz ile apf nin ayar dosyasını tekrar açıp devolopment moddan çıkartıcaz böylece artık güvenlik duvarı kuralları 5 dakikada bir temizlenmeyecektir: 
Kod: 
pico /etc/apf/conf.apf 
DEVM="1" olan kısımı bulup DEVM="0" değiştiriyorsunuz. 
Kod: 
/usr/local/sbin/apf -r 
komutu ile tekrar başlatıyoruz...
Güvenlik Duvarı ile kullanabileceğiniz parametreler 
/usr/local/sbin/apf -s 
Güvenlik Duvarını açar. 
/usr/local/sbin/apf -r 
Güvenlik Duvarını yeniden başlatır. 
/usr/local/sbin/apf -st 
Güvenlik Duvarının durumunu gösterir. 
/usr/local/sbin/apf -f 
Güvenlik Duvarını durdurur. 
/usr/local/sbin/apf -l 
Kuralları listeler.
Bir kullanıcının apf yardımı ile sistemden uzaklaştırılması 
Kod: 
/usr/local/sbin/apf -d ipnumarası 
şeklindedir. 
Sistemden uzaklaştırmak istediğiniz ip numarası 81.214.247.127 ise 
Kod: 
/usr/local/sbin/apf -d 81.214.247.127 
yazmanız yeterlidir.
Otomatik çalıştırma 
Son olarak apf nin sunucu yeniden başlatıldığında otomatik olarak başlatılmasını sağlamak için aşağıdkai komutu giriyoruz. 
Kod: 
chkconfig --level 2345 apf on 
APF antidos modülünün kurulumu 
Antidos modülü bir log analiz modülüdür arka arkaya gelen istekleri değerlendirerek bunu sizin belirlediğiniz değeri aştığında saldırganların sistemden uzaklaştırılmasını sağlamaktadır. 
/etc/apf/ad/conf.antidos 
yazıp konfigurasyon dosyasını açıyoruz, 
LP_KLOG="0" kısmını bulup 
LP_KLOG="1" şeklinde değiştiriyoruz 
DET_SF="0" kısmını bulup 
DET_SF="1" şeklinde değiştiriyoruz 
TRIG="12" kısmını bulup 
TRIG="10" şeklinde değiştiriyoruz 
SF_TRIG="25" kısmını bulup 
SF_TRIG="12" şeklinde değiştiriyoruz 
DROP_IF="0" kısmını bulup 
DROP_IF="1" şeklinde değiştiriyoruz 
IPT_BL="0" kısmını bulup 
IPT_BL="1" şeklinde değiştiriyoruz
USR_ALERT="0" kısmını bulup,USR_ALERT="1" olarak değiştiriyoruz. DET_SF="0" kısmını bulup, DET_SF="1" olarak değiştiriyoruz. Option: USR="
WeBCaNaVaRi'na Üye Olmadan Link'leri ve Kod'ları Göremezsiniz.
Link'leri Görebilmek İçin. Üye Ol. veya Giriş Yap.
"kısmını bulup mail adresinizi yazıyorsunuz. 
- Dosyayı kaydedip çıktıktan sonra : 
Kod: 
crontab -e 
yazarak crpntab ı açıyoruz buraya aşağıdaki girdiyi yazıyoruz. 
Kod: 
*/2 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1 
ve contabdan çıkıp 
Kod: 
/usr/local/sbin/apf -r 
komutu ile güvenlik duvarını tekrar başlatıyoruz.
APF Güvenlik Duvarının durumunu size mail ile bildirilsin 
APF güvenlik duvarının durumunun yani çalışıp çalışmadığının ve loglarının size bildirilmesini istiyorsanız aşağıdaki değişikliği yapın. 
- /etc/cron.daily/ klasörüne giriyoruz. 
cd /etc/cron.daily 
Bilgilendirme dosyasını açıyoruz. 
pico apfdurumbilgisi.sh 
İçinde aşağıdaki kodu yapıştırıyoruz mail adresinizi değiştirmeyi unutmayın. 
Kod: 
#!/bin/bash 
tail -100 /var/log/apf_log | mail -s "APF Durum Bilgisi" WeBCaNaVaRi'na Üye Olmadan Link'leri ve Kod'ları Göremezsiniz.
Link'leri Görebilmek İçin. Üye Ol. veya Giriş Yap.
 
Kaydedip çıkıyoruz ve dosyaya gerekli izini vereceğiz şimdi. 
Kod: 
chmod 755 apfdurumbilgisi.sh 
Artık hergün elinize çalışıp çalışmadığına dair bir rapor gelicektir.