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
Php Kodu:
- /usr/local/src dizinine geçiyoruzÂ
Php Kodu:
cd /usr/local/srcÂ
– Dosyayı sunucuya indiriyoruz.
Php Kodu:
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gzÂ
Sıkıştırılmış arşiv dosyasını açıyoruz.
Php Kodu:
tar -xvzf apf-current.tar.gzÂ
Uygulamanın bulunduğu dizine giriyoruz.
Php Kodu:
cd apf-0.9.5-1/Â
Kurulum scriptini çalıştırıyoruz
Php Kodu:
./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
Php Kodu:
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:
Php Kodu:
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
Php Kodu:
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:
Php Kodu:
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.
Php Kodu:
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
Php Kodu:
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=”you@yourco.com”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” service@lnwservers.com
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.
hackhell.com’dan alınmıştır…