Herhangi bir işletim sistemindeki güvenlik, kullanıcı dosyaları, yapılandırmalar, hizmetler ve diğerleri gibi birden çok öğe buna bağlı olduğundan, her gün mücadele edilmesi gereken ana öncüllerden biri olmalıdır. Güvenlik parametrelerinin yanlış yapılandırılması, saldırganların eylemlerini gerçekleştirmek için ücretsiz erişime sahip olabilmesi için kapıları açık bırakan bir güvenlik açığıyla ilişkilendirilir.
Ana güvenlik mekanizmalarından biri sistemin güvenlik duvarına bağlıdır, çünkü bu sayede hem sistemin hem de içinde depolanan uygulamaların ve nesnelerin güvenliğini artırmak için ağdan gelen ve giden paketleri filtrelemek ve çeşitli kurallar oluşturmak mümkündür. .l.
Bu nedenle bugün Solvetic, pf kullanarak FreeBSD'de güvenlik duvarının nasıl yapılandırılacağını ayrıntılı olarak açıklayacaktır.
pf nedirPF (Packet Filter - Packet Filter), FreeBSD sistemleri için, sistemin tüm öğelerinin erişimini ve davranışını çok daha merkezi bir şekilde yönetmemizi sağlayan yüzlerce kural oluşturabileceğimiz bir güvenlik duvarı yazılımı olarak geliştirilmiştir.
Şimdi FreeBSD'de pf'nin nasıl etkinleştirileceğini ve yapılandırılacağını göreceğiz.
1. Linux güvenlik duvarı nasıl etkinleştirilir
pf FreeBSD'de yerleşik olmasına rağmen, aşağıdaki satırları /etc/rc.conf dosyasına istenen bazı düzenleyicilerle eklemeliyiz:
nano /etc/rc.confEklenecek satırlar şunlardır:
echo 'pf_enable = "EVET"' >> /etc/rc.confecho 'pf_rules = "/ usr / local / etc / pf.conf"' >> /etc/rc.confecho 'pflog_enable = "EVET"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf
Bu satırları ekledikten sonra Ctrl + O tuşlarını kullanarak değişiklikleri kaydediyoruz ve Ctrl + X tuşlarını kullanarak editörden çıkıyoruz.
Eklediğimiz satırlar:
PF hizmetini etkinleştirin
pf_enable = "EVET"
PF kurallarını bu özel dosyadan alın
pf_rules = "/ usr / yerel / etc / pf.conf"
PF için günlük desteğini etkinleştir
pflog_enable = "EVET"
pflogd'nin günlük dosyasını saklaması gereken dosyayı ifade eder.
pflog_logfile = "/ var / log / pflog"Orada günlükler / var / log / pflog dosyasında saklanacaktır.
2. Linux /usr/local/etc/pf.conf dosyasında kurallar nasıl oluşturulur
Önceki satırlar eklendikten sonra, pf'nin okuması gereken ve koruma sırasında dikkate alınacak kuralları oluşturmak için /usr/local/etc/pf.conf dosyasına erişeceğiz.
Bir editör kullanarak erişiyoruz:
nano /usr/local/etc/pf.confYeni bir dosya olduğu için, kuralların olasılığı binlercedir, bu durumda aşağıdaki bağlantıya gidebilir ve bir web sunucusu için geçerli olan kuralı kopyalayabilir ve yapılandırma dosyamıza yapıştırabiliriz:
Orada, her durumda doğru olanı için ext_if alanındaki ağ bağdaştırıcısını değiştirmeyi hesaba katmalıyız.
Bu dosyaya aşağıdaki kuralları ekledik:
# vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domain, ntp, smtp, www, https, ftp}" int_udp_services = "{domain, ntp} "kaybedilmiş oturum açma arabiriminde atlama ayarla $ ext_if # Tüm rastgele kimlikli parçada normalleştirme scrub yeniden birleştirme bloke günlükte geri dön allantispoof $ ext_if # 'hızlı-ateşli kaba kuvvet denemeleri yapılabilir kalıcı bloklama # ftp-proxy'den hızlı bir çapalayıcıya sahip olmalıdır "ftp-proxy / *" # SSH, hızlı proto tcp'de 26 numaralı bağlantı noktasını dinliyor, 26 numaralı bağlantı noktası için $ ext_if durumu koru (max-src-conn 15, max-src-conn-rate 5/3, aşırı yük boşaltma global) # Webserverpass proto tcp herhangi bir $ ext_if bağlantı noktasından $ webports # Temel giden trafiğin $ ext_if üzerinden hızlı bir şekilde herhangi bir bağlantı noktasına gönderilmesine izin verir $ int_tcp_services herhangi bir bağlantı noktasına hızlı bir şekilde geçiş $ ext_if proto udp $ int_udp_servicesAkılda tutulması gereken hayati bir şey, pf'nin kuralları oluşturmak için tanımlanmış bir sıraya sahip olmasıdır ve bu:
makrolarMakrolar, pf.conf'ta referans verilmeden önce tanımlanmalıdır.
TablolarTablolar, kuralların performansını ve esnekliğini artırmak için bir mekanizma sağlar.
SeçeneklerSeçenekler, paket filtreleme motorunun davranışını ayarlar.
Trafik NormalleştirmeBu kural, dahili makineleri İnternet protokolleri ve uygulamalarında tutarsızlıklara karşı korur.
KuyrukTanımlanmış kurallara göre bant genişliği kontrolü sağlar
TercümeBu seçenek, adreslerin nasıl eşleneceğini veya yeniden yönlendirileceğini belirtir.
Paket FiltrelemeKural tabanlı bir kilit sunar
Kurallar oluşturulduktan sonra Ctrl + O kullanarak değişiklikleri kaydeder ve Ctrl + X kullanarak editörden çıkarız.
3. Linux pf hizmeti nasıl etkinleştirilir
Ardından, FreeBSD'de pf hizmetini kontrol etmek ve başlatmak için bir dizi komut çalıştıracağız.
Aşama 1
pf etkinleştirme durumunu doğrulamak için şu satırı uygularız:
pfctl -e
Adım 2
pf hizmetini başlatmak için aşağıdaki satırı uygularız:
hizmet pf başlangıç
Aşama 3
Aşağıdakileri çalıştırarak hizmeti kontrol ediyoruz:
hizmet pf kontrolü
4. Adım
Bu noktada aşağıdaki seçeneklerden herhangi birini de uygulayabiliriz:
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.confpf hizmetini durdurmak istiyorsak şunu yürütürüz:
hizmet pf durdurmapf hizmetini yeniden başlatmak için:
hizmet pf yeniden başlatma
Adım 5
pf hizmetinin mevcut durumunu görmek istiyorsak:
hizmet pf durumu
6. Adım
pf güvenlik duvarı, sistemde meydana gelen tüm güvenlik olaylarını saklamak ve kaydetmek için pflog hizmetini kullanır, kullanım seçenekleri şunlardır:
hizmet pflog başlatma hizmeti pflog durdurma hizmeti pflog yeniden başlatma
4. FreeBSD Linux'ta pf nasıl kullanılır
Paket filtresi durum bilgisi dahil olmak üzere pf kural kümesini ve parametre ayarlarını görüntüleyebilmek için pfctl komutunu kullanmanız gerekecektir.
Bu bilgiyi görmek için aşağıdakileri uygularız:
pfctl -s kuralları
Buna ek olarak, aşağıdakiler gibi daha fazla seçeneğimiz olacak:
Kural numarası ekle
pfctl -vvsr gösterisi
Durumu göster
pfctl -s durumpfctl -s durum | daha fazla
pf'yi devre dışı bırak
pfctl -d
pf'yi etkinleştir
pfctl -e
Tüm kuralları temizle
pfctl -F hepsi
Yalnızca sorguları sil
pfctl -F kuyruğu
Tüm durumları temizle
pfctl -F bilgisi
pf olaylarını görüntüle
tcpdump -n -e -ttt -r / var / log / pflog
FreeBSD'de firewall ile çalışırken pf'nin ne kadar pratik bir araç olduğunu görebiliriz.