Apf ( Firewall ) Kurulumu

Merhaba Değerli Ziyaretçimiz;
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.
* 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ı.

Ç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

*

Kod:
/usr/local/src

dizinine geçiyoruz.

Kod:
cd /usr/local/src

* Dosyayı sunucuya indiriyoruz

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

* Sıkıştırılmış arşiv dosyasını açıyoruz.

Kod:
tar -xvzf apf-current.tar.gz

* Uygulamanın bulunduğu dizine giriyoruz.

Kod:
cd apf-0.9.5-1/

* Kurulum scriptini çalıştırıyoruz.

Kod:
./install.sh

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

Kod:
nano /etc/apf/conf.apf

İlk önce değişkenlerin ne olduğunu size açıklayacağım sonra gerekli düzenlemeri yapacağız.

Kod:
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.

Kod:
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.

Kod:
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.

Kod:
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.

Kod:
TIF=”"

Güvenilen ağlar .

Kod:
DROP_LOG=”1″

Kernel tabanlı loglama.

Kod:
LRATE=”60″

Iptables in dakikada logladığı olay sayısı.

Kod:
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 ekleyeceğiz.

Kod:
IG_UDP_CPORTS=”"

İçeriye açılıcak udp portlarını gösterir.

Kod:
EGF=”0″

Bu değeri 1 olarak açıcağız çıkan paketlerin filtrelenmesi.

Kod:
EG_TCP_CPORTS=”22″

Sitemden dışarıya açılacak tcp portları.

Kod:
EG_UDP_CPORTS=”"

Sistemden dışarıya açılıcak udp portları.

Kod:
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:

Kod:
nano /etc/apf/conf.apf

* Dosya içinde aşağıdaki değişiklikleri yapı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 değiştiriyoruz.

* IG_TCP_CPORTS yazan kısmı buluyoruz

içindeki portları silip aşağıdaki portları ekliyoruz:

Kod:
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:

Kod:
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.

Kod:
  EG_TCP_CPORTS="21,22,25,26,27,37,43,53,80,110,113,443,465,873,2089"

* EG_UDP_CPORTS kısmını buluyoruz içindeki port listesini temizleyip aşağıdaki portları ekliyoruz.

Kod:
 EG_UDP_CPORTS="20,21,37,53,873"

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 —–

Kod:
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 —–

Kod:
IG_TCP_CPORTS="20,21,22,25,53,80,110,143,443,465,993,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 —–

Kod:
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2222,8000,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

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:
nano /etc/apf/conf.apf
Kod:
DEVM="1"

olan kısımı bulup

Kod:
DEVM="0"

değiştiriyorsunuz.

Kod:
/usr/local/sbin/apf -r

komutu ile tekrar başlatıyoruz…

Güvenlik Duvarı ile kullanabileceğiniz parametreler

Kod:
/usr/local/sbin/apf -s

Güvenlik Duvarını açar.

Kod:
/usr/local/sbin/apf -r

Güvenlik Duvarını yeniden başlatır.

Kod:
/usr/local/sbin/apf -st

Güvenlik Duvarının durumunu gösterir.

Kod:
/usr/local/sbin/apf -f

Güvenlik Duvarını durdurur.

Kod:
/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

Servera bir nmap çekip açık portlara bakalım: ApfApf

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.

Kod:
/etc/apf/ad/conf.antidos

yazıp konfigurasyon dosyasını açıyoruz,

Kod:
LP_KLOG="0"

kısmını bulup

Kod:
LP_KLOG="1"

şeklinde değiştiriyoruz

Kod:
DET_SF="0"

kısmını bulup

Kod:
DET_SF="1"

şeklinde değiştiriyoruz

Kod:
TRIG="12"

kısmını bulup

Kod:
TRIG="10"

şeklinde değiştiriyoruz

Kod:
SF_TRIG="25"

kısmını bulup

Kod:
SF_TRIG="12"

şeklinde değiştiriyoruz

Kod:
DROP_IF="0"

kısmını bulup

Kod:
DROP_IF="1"

şeklinde değiştiriyoruz

Kod:
IPT_BL="0"

kısmını bulup

Kod:
IPT_BL="1"

şeklinde değiştiriyoruz

Kod:
USR_ALERT=”0″

kısmını bulup,

Kod:
USR_ALERT=”1″

olarak değiştiriyoruz.

Kod:
DET_SF=”0″

kısmını bulup,

Kod:
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

Kod:
cd /etc/cron.daily

* Bilgilendirme dosyasını açıyoruz

Kod:
nano 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" mailadresiniz@hotmail.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.

İyi çalışamlar…