wikipedia yazdı:APF kural tabanlı bir iptables firewalldır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır.
Özellikleri:
- Kolay anlasılan kural tabanlı ayar dosyası.
- Bagımsız giris ve çıkıs filtreleme.
- ID tabanlı çıkıs kontrolu bu sayede belirtilen uygulamanın sahibine bakarak çıkıs 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 erisim hakları engellenir.
- tcp/ip saldırılarını engelleemk için özel sysctl ayar dosyası
- İstenmiyen trafigi engellemekiçin özel hazırlanabilen kural dizisi
- Kernel seçeneklerini kullanabilme abort_on_overflow ve tcp syncookies gibi.
- Kolay yönetilebilir firewall yazılımı.
- Güvenebileceginiz ve direk olarak engelleyeceginiz hostları belirtebileceginiz kural dosyası.
- APF ile uyumlu 3. parti uygulamaları.
Çok etkili bir firewall olmakla beraber sunucuların genelinde bu firewall kullanılmaktadır.Ayar dosyaları ve kurulumu kolaydır ve etkilidir.
Kurulum
1.) /usr/local/src dizinine geçiyoruz.
Kod:
cd /usr/local/src
2.) Dosyayı sunucuya indiriyoruz
Kod:
wget
http://www.rfxnetworks.com/downloads/apf-current.tar.gz
3.)Sıkıstırılmıs arsiv dosyasını açıyoruz.
Kod:
tar -xvzf apf-current.tar.gz
4.)Uygulamanın bulundugu dizine giriyoruz
Kod:
cd apf-0.9.5-1/
5.)Kurulum scriptini çalıstırıyoruz.
Kod:
./install.sh
http://members.lycos.co.uk/anlatim/res/apf1.jpg
yüklendigine gösteren mesaj ekrana geliyor
Alıntı
.: 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/
6.)Ayar dosyasını açıp gerekli düzenlemeleri yapacagız
Kod:
pico /etc/apf/conf.apf
İlk önce degiskenlerin ne oldugunu size açıklayacagım sonra gerekli düzenlemeri yapacagız.
DEVM="1"evolopment mod olarak açıklanıyor firewall ilk kuruldugunda standart olarak bu modda siz ayarları yapana kadar her 5 dakikada bir firewall kurallarını temizliyor.Böylece ssh portunu engelleseniz bile 5 dakika içerisinde girebilirsiniz.Herseyin yolunda gittigini anladıktan sonra bu degeri 0 olarak ayarlayın ve firewall ı yeniden baslatın.
LGATE_MAC="": Yerek ag mac adresidir.Buraya bir deger girildigi zaman sadece buradan gelen isteklere izin verilicektir.Biz bu degeri bos bırakacagız.
LGATE_LOG="0": Degeri 1 olarak ayarlarsanız bütün ag trafiginin kayıdı tutulucaktır.Biz bu degeride 0 olarak bırakacagız.
EN_VNET="0": Bu degeri 1 olarak ayarlarsanız sistemdeki tüm ipler için farklı kurallar kurabilirsiniz./etc/apf/vnet/ dizinine bu kuralı yerlestirebilrisiniz gene standart olarak bir template bu dizinde var.
TIF="":Güvenilen aglar .
DROP_LOG="1": Kernel tabanlı loglama.
LRATE="60": Iptables in dakikada logladıgı olay sayısı.
IG_TCP_CPORTS="22":Sistemde içeriye tcp portlarını belirtir.22 yazan yere virgul ile açılıcak portları yazının devamında ekleyecegiz.
IG_UDP_CPORTS="": İçeriye açılıcak udp portlarını gösterir.
EGF="0":Bu degeri 1 olarak açıcagız çıkan paketlerin filtrelenmesi.
EG_TCP_CPORTS="22":Sitemden dısarıya açılacak tcp portları.
EG_UDP_CPORTS="":Sistemden dısarıya açılıcak udp portları.
USE_DS="0"Dshield.org un engellenenler listesine bu seçenegi 1 olarak seçerseniz katkıda bulunursunuz.
simdi cpanel sunucuları için yapacagımız degisiklikleri adım adım anlatalım.
Kod:
pico /etc/apf/conf.apf
1.)Yazarak tekrar ayar dosyamızı açıyoruz
Kod:
USE_DS="0"
ve 3 satır altındaki
Kod:
USE_AD="0"
kısımlarını bulup
Kod:
USE_DS="1"
Kod:
USE_AD="1"
olarak degistiriyoruz.
http://members.lycos.co.uk/anlatim/res/apf.jpg
2.) IG_TCP_CPORTS yazan kısmı buluyoruz
http://members.lycos.co.uk/anlatim/res/apf2.jpg
içindeki portları silip asagıdaki portları ekliyoruz
Kod:
20,21,22,25,26,53,80,110,143,443,465,993,995,2082, 2083,2086,2087,2095,2096
Görünümü su sekilde oluyor
Kod:
IG_TCP_CPORTS="20,21,22,25,26,53,80,110,143,443,46 5,993,995,2082,2083,2086,2087,2095,2096"
http://members.lycos.co.uk/anlatim/res/apf3.jpg
3.) IG_UDP_CPORTS kısmını buluyoruz
içindeki portları silip asagıdaki portları eklliyoruz
Kod:
21,53,873
Görünümü su sekilde oluyor
Kod:
IG_UDP_CPORTS="21,53,873"
http://members.lycos.co.uk/anlatim/res/apf4.jpg
3.)EFG kısmını buluyoruz EGF="0" olan degeri EGF="1" olarak degistiriyoruz.
http://members.lycos.co.uk/anlatim/res/apf5.jpg
4.) EG_TCP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip asagıdaki portları ekliyoruz.
Kod:
21,22,25,26,27,37,43,53,80,110,113,443,465,873,208 9
Görünümü su sekilde oluyor
Kod:
EG_TCP_CPORTS="21,22,25,26,27,37,43,53,80,110,113, 443,465,873,2089"
5.) EG_UDP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip asagıdaki portları ekliyoruz.
Kod:
20,21,37,53,873
Görünümü su sekilde oluyor
Kod:
EG_UDP_CPORTS="20,21,37,53,873"
http://members.lycos.co.uk/anlatim/res/apf6.jpg
ayar dosyası ile isimiz bitti dosyayı kaydedip çıkıyoruz.
Diger kontrol paneli yazılımları için yapıcagınız degisiklikler de bunlardır.
Alıntı
----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"
6.)
Kod:
/usr/local/sbin/apf -s
komutunu uygulayarak firewall umuzu baslatıyoruz.SSH oturumumuzu kapatıp yeni bir oturum açıp sunucuya girmeye çalısıyoruz.Eger herhangi bir sorunla karsılasırda giremezseniz firewall kurallarının 5 dakika içinde silinecegini unutmayın.
http://members.lycos.co.uk/anlatim/res/apf8.jpg
7.)Basarılı bir sekilde giris yaptıysanız editörümüz ile apf nin ayar dosyasını tekrar açıp devolopment moddan çıkartıcaz böylece artık firewall un kuralları 5 dakikada bir temizlenmeyecektir
Kod:
pico /etc/apf/conf.apf
DEVM="1" olan kısımı bulup DEVM="0" degistiriyorsunuz.
8.)
Kod:
/usr/local/sbin/apf -r
komutunu vererke firewall u yeniden baslatıyoruz.
Firewall ile kullanabileceginiz parametreler
/usr/local/sbin/apf -s : Firewall u açar.
/usr/local/sbin/apf -r : Firewall u yeniden baslatır.
/usr/local/sbin/apf -st : Firewall un durumunu gösterir.
/usr/local/sbin/apf -f : Firewall u durdurur.
/usr/local/sbin/apf -l : Kuralları listeler.
Bir kullanıcının apf yardımı ile sistemden uzaklastırılması
Kod:
/usr/local/sbin/apf -d ipnumarası
seklindedir sistemden uzaklastırmak istediginiz ip numarası 81.214.247.127 ise
Kod:
/usr/local/sbin/apf -d 81.214.247.127
yazmanız yeterlidir.
Son olarak apf nin sunucu yeniden baslatıldıgında otomatik olarak baslatılmasını saglamak için asagıdkai komutu giriyoruz.
Kod:
chkconfig --level 2345 apf on
Servera bir nmap çekip açık portlara bakalım.
http://members.lycos.co.uk/anlatim/res/nmap.jpg
Hersey istedigimiz gibi
http://mescafe.net/lapis/Smileys/default/smiley.gif
APF antidos modülünün kurulumu:
Antidos modülü bir log analiz modülüdür arka arkaya gelen istekleri degerlendirerek bunu sizin belirlediginiz degeri astıgında saldırganların sistemden uzaklastırılmasını saglamaktadır.
Kod:
/etc/apf/ad/conf.antidos
yazıp konfigurasyon dosyasını açıyoruz
LP_KLOG="0" kısmını bulup
LP_KLOG="1"
olarak degistiriyoruz.
http://members.lycos.co.uk/anlatim/res/apf10.jpg
USR_ALERT="0" kısmını bulup
USR_ALERT="1" olarak degistiriyoruz.
DET_SF="0" kısmını bulup
DET_SF="1" olarak degistiriyoruz
Option: USR="
you@yourco.com (
you@yourco.com)"kısmını bulup mail adresinizi yazıyorsunuz.
dosyayı kaydedip çıktıktan sonra
Kod:
crontab -e
yazarak crpntab ı açıyoruz buraya asagı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 firewall a restart atıyoruz.
APF Firewall unun durumu size mail ile bildirilsin
APF firewall unun durumunun yani çalısıp çalısmadıgının ve loglarının size bildirilmesini istiyorsanız asagıdaki degisikligi yapın
1.)/etc/cron.daily/ klasörüne giriyoruz
Kod:
cd /etc/cron.daily
2.)bilgilendirme dosyasını açıyoruz
Kod:
pico apfdurumbilgisi.sh
3.)İçinde asagıdaki kodu yapıstırıyoruz mail adresinizi degistirmeyi unutmayın.
Kod:
#!/bin/bash
tail -100 /var/log/apf_log | mail -s "APF Durum Bilgisi"
dropby21@hotmail.com
4.)Kaydedip çıkıyoruz ve dosyaya gerekli izini verecegiz simdi.
Kod:
chmod 755 apfdurumbilgisi.sh
artık hergün elinize çalısıp çalısmadıgına dair bir rapor gelicektir.
http://members.lycos.co.uk/anlatim/res/apf11.jpg