APF Nedir?
APF kural tabanlı bir iptables güvenlik duvarıdır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır.
Özellikleri
Kurulum
Yüklendiğine gösteren mesaj ekrana geliyor:
.: 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/
İ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
ve 3 satır altındaki
USE_AD="0"
kısımlarını bulup
USE_DS="1"
USE_AD="1"
olarak değiştiriyoruz.
içindeki portları silip aşağıdaki portları ekliyoruz:
IG_TCP_CPORTS="20,21,22,25,26,53,80,110,143,443,46 5,993,995,2082,2083,2086,2087,2095,2096"
Ayar dosyası ile işimiz bitti dosyayı kaydedip çıkıyoruz.Diğer kontrol paneli yazılımları
için yapıcağınız değişiklikler de bunlardır.
----Ensim -----
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"
IG_UDP_CPORTS="53"
EGF="1"
EG_TCP_CPORTS="21,22,25,53,80,110,443"
EG_UDP_CPORTS="20,21,53"
----Plesk -----
IG_TCP_CPORTS="20,21,22,25,53,80,110,143,443,465,9 93,995,8443"
IG_UDP_CPORTS="37,53,873"
EGF="1"
EG_TCP_CPORTS="20,21,22,25,53,37,43,80,113,443,465 ,873"
EG_UDP_CPORTS="53,873"
---- Direct ADmin -----
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2222,800 0,8050,8005,3784"
IG_UDP_CPORTS="21,53,8000,8050,8005,3784"
EGF="1"
EG_TCP_CPORTS="21,22,25,37,43,53,80,443,8000,8050, 8005,3784"
EG_UDP_CPORTS="20,21,53,8000,8050,8005,3784"
Çalıştırma
/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:
pico /etc/apf/conf.apf
DEVM="1" olan kısımı bulup DEVM="0" değiştiriyorsunuz.
/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ı
Sistemden uzaklaştırmak istediğiniz ip numarası 81.214.247.127 ise
/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.
chkconfig --level 2345 apf on
Servera bir nmap çekip açık portlara bakalım:
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="[email protected]"kısmını bulup mail adresinizi yazıyorsunuz.
Dosyayı kaydedip çıktıktan sonra,
crontab -e
yazarak crpntab ı açıyoruz buraya aşağıdaki girdiyi yazıyoruz
*/2 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1
ve contabdan çıkıp
/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
tail -100 /var/log/apf_log | mail -s "APF Durum Bilgisi" [email protected]
Artık hergün elinize çalışıp çalışmadığına dair bir rapor gelicektir.
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.
- Genell 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ı.
Kurulum
- /usr/local/src dizinine geçiyoruz.
- Dosyayı sunucuya indiriyoruz
- Sıkıştırılmış arşiv dosyasını açıyoruz.
- Uygulamanın bulunduğu dizine giriyoruz.
- Kurulum scriptini çalıştırıyoruz.
Yüklendiğine gösteren mesaj ekrana geliyor:
.: 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
İ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:
- Dosya içinde aşağıdaki değişiklikleri yapıyoruz:
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,46 5,993,995,2082,2083,2086,2087,2095,2096"
- IG_UDP_CPORTS kısmını buluyoruz, içindeki portları silip aşağıdaki portları eklliyoruz:
- 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_UDP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz.
Ayar dosyası ile işimiz bitti dosyayı kaydedip çıkıyoruz.Diğer kontrol paneli yazılımları
için yapıcağınız değişiklikler de bunlardır.
----Ensim -----
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"
IG_UDP_CPORTS="53"
EGF="1"
EG_TCP_CPORTS="21,22,25,53,80,110,443"
EG_UDP_CPORTS="20,21,53"
----Plesk -----
IG_TCP_CPORTS="20,21,22,25,53,80,110,143,443,465,9 93,995,8443"
IG_UDP_CPORTS="37,53,873"
EGF="1"
EG_TCP_CPORTS="20,21,22,25,53,37,43,80,113,443,465 ,873"
EG_UDP_CPORTS="53,873"
---- Direct ADmin -----
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2222,800 0,8050,8005,3784"
IG_UDP_CPORTS="21,53,8000,8050,8005,3784"
EGF="1"
EG_TCP_CPORTS="21,22,25,37,43,53,80,443,8000,8050, 8005,3784"
EG_UDP_CPORTS="20,21,53,8000,8050,8005,3784"
Çalıştırma
/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:
pico /etc/apf/conf.apf
DEVM="1" olan kısımı bulup DEVM="0" değiştiriyorsunuz.
/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ı
- /usr/local/sbin/apf -d ipnumarası
Sistemden uzaklaştırmak istediğiniz ip numarası 81.214.247.127 ise
/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.
chkconfig --level 2345 apf on
Servera bir nmap çekip açık portlara bakalım:
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="[email protected]"kısmını bulup mail adresinizi yazıyorsunuz.
Dosyayı kaydedip çıktıktan sonra,
crontab -e
yazarak crpntab ı açıyoruz buraya aşağıdaki girdiyi yazıyoruz
*/2 * * * * root /etc/apf/ad/antidos -a >> /dev/null 2>&1
ve contabdan çıkıp
/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
- Bilgilendirme dosyasını açıyoruz
- İçinde aşağıdaki kodu yapıştırıyoruz mail adresinizi değiştirmeyi unutmayın.
tail -100 /var/log/apf_log | mail -s "APF Durum Bilgisi" [email protected]
- Kaydedip çıkıyoruz ve dosyaya gerekli izini vereceğiz şimdi.
Artık hergün elinize çalışıp çalışmadığına dair bir rapor gelicektir.