APF Firewall Kurulumu

deli_bedri

New member
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:
- /usr/local/src dizinine geçiyoruz
PHP:
cd /usr/local/src
- Dosyayı sunucuya indiriyoruz.


PHP:
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

Sıkıştırılmış arşiv dosyasını açıyoruz.
PHP:
tar -xvzf apf-current.tar.gz

Uygulamanın bulunduğu dizine giriyoruz.

PHP:
cd apf-0.9.5-1/

Kurulum scriptini çalıştırıyoruz

PHP:
./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:
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:
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:
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:
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:
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:
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="[email protected]"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" [email protected]



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.



NOT : Bu döküman linux-sevenler.org sitesinden alınmıştır.
 

ahmetmavili33

New member
eline saglık dostumm

dostum bunu hangi işletim sistemine kuruyoruz sadec linuxmu omak zorunda vede kurulum nere yapacagzz
 

Hell

Başarıda bir sanattır.
her ne kadar, cpanel ile tümleşik çalışan csf tercih edilse de, apf de vazgeçilmezlerden biridir.
Bu arada sanırım hackhell içerisinde CSF kurulumu anlatılamış, bi arama yapayım yoksa bu konuya da ben deyineyim.
 
Üst