APF Nedir? APF Linux Firewall Kurulumu..

149

Merhaba Değerli Ziyaretçimiz

Bu makalemizde sizlere APF (Advanced Policy Firewall) nedir ,nasıl çalışır ,neler yapılabilir ve kurulumu nasıl yapılır detaylı bir şekilde anlatmaya çalışacağız.

APF Nedir ?

APF kural tabanlı bir iptables güvenlik duvarıdır.Ayarlanması ve kullanılması özellikle sunucular için çok kolaydır.APF iptables tabanlı çalışan çalışan bir güvenlik yazılımıdır.

APF Özellikleri

Özellikleri

– Kolay anlaşılan kural tabanlı ayar dosyasını oluşturarak çalıştıran bir sistemdir.
– Bağımsız giriş ve çıkış filtreleme imkanı sunmaktadır.
– ID tabanlı çıkış kontrolü ile  bu sayede belirtilen uygulamanın sahibine bakarak çıkış yapıp yapmamasına izin verebilmektedir.
– Genel tcp/udp port ve icmp tipi ayarları kolaylıkla yapabilirsiniz.
– Sistemdeki her ip için özel yapılandırma ayarı yapılabilmektedir.
– icmp ataklarını önlemek için icmp tabanlı koruma sistemi mevcuttur.
– antidos yazılımı mevcuttur.
– dshield.org engel listesi bu listede aktif olan saldırganlar tüm apf kullanan sunucularda erişim hakları engellenmektedir.
– tcp/ip saldırılarını engellemek için özel sysctl ayar dosyası yapılandırılabilir.
– İstenmeyen trafiği engellemek için özel hazırlanabilen kural dizisi mevcuttur.
– Kernel seçeneklerini kullanabilme ( abort_on_overflow ve tcp syncookies vb…)
– Kolay yönetilebilir bir güvenlik duvarı yazılımıdır.
– Güvenebileceğiniz ve direk olarak engelleyeceğiniz hostları belirtebileceğiniz kural dosyası yapılandırması.
– APF ile uyumlu 3. parti uygulamaları mevcuttur.

Ç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” info@ekonomikhost.net

Kaydedip çıkıyoruz ve dosyaya gerekli izini vereceğiz şimdi.

Kod:
chmod 755 apfdurumbilgisi.sh

Artık her gün elinize çalışıp çalışmadığına dair bir rapor gelecektir.

 

Yardımcı olması dileğiyle…



Leave a Comment

Paylaş