Centos 7 güvenlik duvarı cmd açık bağlantı noktası

Kurulu işletim sistemi Güvenlik duvarı, yetkisiz trafiğin aradan geçmesini önlemek için kullanılır. bilgisayar ağları. Güvenlik duvarı için erişim kontrolünden sorumlu olan özel kurallar manuel veya otomatik olarak oluşturulur. Linux çekirdeği üzerinde geliştirilen bir işletim sistemi olan CentOS 7, yerleşik bir güvenlik duvarına sahiptir ve bir güvenlik duvarı kullanılarak yönetilir. FirewallD varsayılan olarak etkindir ve bugün bunun kurulumu hakkında konuşmak istiyoruz.

Yukarıda belirtildiği gibi CentOS 7'deki standart güvenlik duvarı FirewallD yardımcı programıdır. Bu nedenle bir güvenlik duvarı kurmanın bu araç örnek olarak kullanılarak tartışılmasının nedeni budur. Filtreleme kurallarını aynı iptables'ı kullanarak ayarlayabilirsiniz, ancak bu biraz farklı bir şekilde yapılır. Aşağıdaki bağlantıya tıklayarak söz konusu yardımcı programın yapılandırmasını öğrenmenizi öneririz; FirewallD'yi analiz etmeye başlayacağız.

Güvenlik Duvarı Temelleri

Ağlara duyulan güvene dayalı olarak trafiği yönetmek için birkaç bölge - kurallar kümesi vardır. Hepsine, tamamı güvenlik duvarı yapılandırmasını oluşturan kendi politikaları verilmiştir. Her bölgeye bir veya daha fazla ağ arayüzü atanır ve bu aynı zamanda filtrelemeyi ayarlamanıza da olanak tanır. Uygulanan kurallar doğrudan kullanılan arayüze bağlıdır. Örneğin, halka açık Wi-Fi'ye bağlanıldığında güvenlik duvarı kontrol düzeyini artıracak ve ev ağı zincir katılımcıları için ek erişim açacaktır. Söz konusu güvenlik duvarı aşağıdaki bölgeleri içerir:

  • güvenilir — tüm ağ cihazlarında maksimum güven düzeyi;
  • ev - grup yerel ağ. Ortamda güven var ama gelen bağlantılar yalnızca belirli makinelere açık;
  • çalışma - çalışma alanı. Çoğu cihaza güven var ve ek hizmetler etkinleştiriliyor;
  • dmz, yalıtılmış bilgisayarlar için bir bölgedir. Bu tür cihazların ağın geri kalan kısmıyla bağlantısı kesilir ve yalnızca belirli gelen trafiğe izin verir;
  • dahili — dahili ağların bölgesi. Güven tüm makinelere uygulanır, ek hizmetler açılır;
  • harici — bölge bir öncekinin tersidir. Harici ağlarda, NAT maskeleme etkindir, iç ağı kapatır, ancak erişim kazanma yeteneğini engellemez;
  • kamu - tüm cihazlara güvenmeyen ve gelen trafiğin bireysel olarak alındığı bir kamu ağları bölgesi;
  • blok - gelen tüm istekler gönderilen bir hatayla sıfırlanır icmp-ana bilgisayar yasaklı veya icmp6-adm-yasak;
  • düşüş - minimum güven düzeyi. Gelen bağlantılar herhangi bir bildirimde bulunulmadan kesilir.

Politikaların kendisi geçici veya kalıcı olabilir. Parametreler göründüğünde veya düzenlendiğinde, güvenlik duvarı eylemi yeniden başlatmaya gerek kalmadan anında değişir. Geçici kurallar uygulandıysa FirewallD yeniden başlatıldıktan sonra bunlar sıfırlanacaktır. Bu yüzden kalıcı kurala böyle deniyor; uzun süre korunacak kalıcı temel-kalıcı argümanı kullanırken.

FirewallD'yi Etkinleştirme

Öncelikle FirewallD'yi başlatmanız veya aktif durumda olduğundan emin olmanız gerekir. Yalnızca çalışan bir arka plan programı (çalışan bir program) arka plan) güvenlik duvarı kurallarını uygulayacaktır. Etkinleştirme yalnızca birkaç tıklamayla gerçekleştirilir:

  1. Klasik'i başlat "Terminal" herhangi bir uygun yöntem, örneğin menü aracılığıyla "Uygulamalar".
  2. Sudo systemctl start güvenlik duvarıd.service komutunu girin ve tuşuna basın Girmek.
  3. Yardımcı program süper kullanıcı adına yönetildiğinden, bir şifre girerek orijinalliğinizi onaylamanız gerekecektir.
  4. Hizmetin çalıştığından emin olmak için, güvenlik duvarı-cmd --state'i belirtin.
  5. Açılan grafik penceresi yeniden kimlik doğrulaması yapın.
  6. Yeni bir satır görüntülenecektir. Anlam "koşma" güvenlik duvarının çalıştığını gösterir.

Güvenlik duvarını geçici veya kalıcı olarak devre dışı bırakmanız gerekirse, aşağıdaki bağlantıdaki diğer makalemizde sunulan talimatları kullanmanızı öneririz.

Varsayılan kuralları ve kullanılabilir bölgeleri görüntüleyin

Normal çalışan bir güvenlik duvarının bile kendine özgü kuralları ve erişilebilir bölgeleri vardır. İlkeleri düzenlemeye başlamadan önce mevcut yapılandırmaya aşina olmanızı öneririz. Bu basit komutlar kullanılarak yapılır:

  1. Firewall-cmd --get-default-zone komutu, varsayılan bölgeyi belirlemenize yardımcı olacaktır.
  2. Etkinleştirdikten sonra gerekli parametrenin görüntüleneceği yeni bir satır göreceksiniz. Örneğin aşağıdaki ekran görüntüsünde bölge aktif olarak kabul ediliyor "halk".
  3. Ancak birden fazla bölge aynı anda aktif olabilir ve bunlar ayrı bir arayüzle ilişkilendirilir. Bu bilgiyi güvenlik duvarı-cmd --get-active-zones aracılığıyla öğrenin.
  4. Firewall-cmd --list-all komutu, varsayılan bölge için yapılandırılan kuralları görüntüler. Aşağıdaki ekran görüntüsüne bir göz atın. Aktif bölgenin olduğunu görüyorsunuz "halk" kural atandı "varsayılan"- varsayılan işlem, arayüz "enp0s3" ve iki hizmet eklendi.
  5. Mevcut tüm güvenlik duvarı bölgelerini bulmak istiyorsanız, güvenlik duvarı-cmd --get-zones girin.
  6. Belirli bir bölgenin parametreleri, güvenlik duvarı-cmd --zone=name --list-all aracılığıyla belirlenir; burada isim— bölge adı.

Gerekli parametreleri belirledikten sonra bunları değiştirmeye ve eklemeye devam edebilirsiniz. En popüler konfigürasyonlardan birkaçına daha yakından bakalım.

Arayüz bölgelerini ayarlama

Yukarıdaki bilgilerden de bildiğiniz gibi her arayüzün kendi varsayılan bölgesi vardır. Ayarlar kullanıcı tarafından veya programlı olarak değiştirilene kadar orada kalacaktır. Bir arayüzü bir oturum için bir bölgeye manuel olarak aktarmak mümkündür ve bu, sudo güvenlik duvarı-cmd --zone=home --change-interface=eth0 komutunun etkinleştirilmesiyle yapılır. Sonuç "başarı" aktarımın başarılı olduğunu gösterir. Güvenlik duvarı yeniden başlatıldıktan hemen sonra bu tür ayarların sıfırlandığını hatırlatalım.

Bu gibi parametreleri değiştirirken servislerin sıfırlanabileceğini dikkate almalısınız. Bazıları, örneğin SSH'nin mevcut olmasına rağmen belirli bölgelerde çalışmayı desteklemez. "Ev", ancak özel veya özel olanlarda hizmet çalışmayı reddedecektir. Firewall-cmd --get-active-zones komutunu girerek arayüzün yeni şubeye başarıyla bağlandığını doğrulayabilirsiniz.

Daha önce yaptığınız ayarlarınızı sıfırlamak istiyorsanız güvenlik duvarını yeniden başlatmanız yeterlidir: sudo systemctl restart firewalld.service .

Bazen arayüz bölgesini yalnızca bir oturum için değiştirmek her zaman uygun olmayabilir. Bu durumda, tüm ayarların kalıcı olarak girilmesi için yapılandırma dosyasını düzenlemeniz gerekecektir. Bunu yapmak için bir metin düzenleyici kullanmanızı öneririz nano Sudo yum install nano ile resmi depodan yüklenen . Daha sonra geriye kalan tek şey aşağıdakileri yapmaktır:

  1. Sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 yazarak yapılandırma dosyasını bir düzenleyici aracılığıyla açın; burada et0— gerekli arayüzün adı.
  2. Orijinalliği onaylayın hesap daha fazla eylem gerçekleştirmek için.
  3. Parametreyi bulun "ALAN" ve değerini istediğiniz değerle değiştirin; örneğin, genel veya ev .
  4. Tuşları basılı tutun Ctrl+O Değişiklikleri kaydetmek için.
  5. Dosya adını değiştirmeyin, sadece üzerine tıklayın Girmek.
  6. çıkış Metin düzeltici başından sonuna kadar Ctrl+X.

Artık arayüz bölgesi, konfigürasyon dosyasını bir sonraki düzenlemenize kadar belirttiğiniz gibi olacaktır. Güncellenen ayarların etkili olmasını sağlamak için sudo systemctl restart network.service ve sudo systemctl restart firewalld.service komutunu çalıştırın.

Varsayılan bölgeyi ayarlama

Yukarıda, varsayılan bölgeyi bulmamızı sağlayan bir komutu zaten göstermiştik. Ayrıca seçtiğiniz bir parametreyi ayarlayarak da değiştirilebilir. Bunu yapmak için konsola sudo güvenlik duvarı-cmd --set-default-zone=name yazmanız yeterlidir; isim— gerekli bölgenin adı.

Komutun başarısı yazıtla gösterilecektir. "başarı" ayrı bir hatta. Bundan sonra, yapılandırma dosyalarında aksi belirtilmediği sürece tüm mevcut arayüzler belirtilen bölgeye bağlanacaktır.

Programlar ve yardımcı programlar için kurallar oluşturma

Makalenin en başında her bölgenin eyleminden bahsettik. Bu tür dallardaki hizmetleri, yardımcı programları ve programları tanımlamak, her kullanıcının ihtiyaçlarına uyacak şekilde her biri için ayrı ayrı parametreler uygulamanıza olanak tanır. Başlamak için, mevcut olanların tam listesini öğrenmenizi öneririz. şu an hizmetler: güvenlik duvarı-cmd --get-services .

Sonuç doğrudan konsolda görüntülenecektir. Her sunucu bir boşlukla ayrılmıştır ve ilgilendiğiniz aracı listede kolayca bulabilirsiniz. Gerekli hizmet mevcut değilse, ek olarak kurulmalıdır. Resmi yazılım belgelerinde kurulum kuralları hakkında bilgi edinin.

Yukarıdaki komut yalnızca hizmet adlarını gösterir. Her biri için ayrıntılı bilgi, /usr/lib/firewalld/services yolunda bulunan ayrı bir dosya aracılığıyla elde edilir. Bu tür belgeler XML biçimindedir; örneğin SSH'ye giden yol şuna benzer: /usr/lib/firewalld/services/ssh.xml ve belge aşağıdaki içeriğe sahiptir:

SSH
Secure Shell (SSH), uzak makinelerde oturum açmak ve komutları yürütmek için kullanılan bir protokoldür. Güvenli şifreli iletişim sağlar. Makinenize güvenlik duvarlı bir arayüz üzerinden SSH aracılığıyla uzaktan erişmeyi planlıyorsanız bu seçeneği etkinleştirin. Bu seçeneğin kullanışlı olması için openssh-server paketinin kurulu olması gerekir.

Belirli bir bölgedeki servis desteği manuel olarak etkinleştirilir. İÇİNDE "Terminal" sudo güvenlik duvarı-cmd --zone=public --add-service=http komutunu vermelisiniz, burada --bölge=genel- etkinleştirme bölgesi ve --add-service=http— hizmetin adı. Lütfen böyle bir değişikliğin yalnızca bir oturum için geçerli olacağını unutmayın.

Kalıcı ekleme, sudo güvenlik duvarı-cmd --zone=public --permanent --add-service=http aracılığıyla yapılır ve sonuç "başarı"İşlemin başarıyla tamamlandığını gösterir.

Görüş tam liste Listeyi ayrı bir konsol satırında görüntüleyerek belirli bir bölge için kalıcı kurallar oluşturabilirsiniz: sudo güvenlik duvarı-cmd --zone=public --permanent --list-services .

Hizmete erişim eksikliği sorununun çözülmesi

Varsayılan olarak, güvenlik duvarı kuralları izin verilen en popüler ve güvenli hizmetleri listeler, ancak bazı standart veya Üçüncü taraf uygulamaları blokluyor. Bu durumda kullanıcının erişim sorununu çözmek için ayarları manuel olarak değiştirmesi gerekecektir. Bu iki farklı şekilde yapılabilir.

Bağlantı noktası yönlendirme

Bildiğiniz gibi tüm ağ servisleri belirli bir bağlantı noktasını kullanır. Güvenlik duvarı tarafından kolayca tespit edilir ve bu güvenlik duvarı kullanılarak engelleme gerçekleştirilebilir. Güvenlik duvarının bu tür eylemlerinden kaçınmak için gerekli bağlantı noktasını sudo güvenlik duvarı-cmd --zone=public --add-port=0000/tcp komutuyla açmanız gerekir; burada --bölge=genel- liman alanı, --add-port=0000/tcp— bağlantı noktası numarası ve protokolü. Firewall-cmd --list-ports seçeneği açık bağlantı noktalarının bir listesini görüntüler.

Aralığa dahil olan bağlantı noktalarını açmanız gerekiyorsa sudo güvenlik duvarı-cmd --zone=public --add-port=0000-9999/udp satırını kullanın; burada --add-port=0000-9999/udp— bağlantı noktası aralığı ve protokolleri.

Yukarıdaki komutlar yalnızca bu tür parametrelerin kullanımını test etmenize izin verecektir. Başarılı olursa, aynı bağlantı noktalarını kalıcı ayarlara eklemelisiniz ve bu, sudo güvenlik duvarı-cmd --zone=public --permanent --add-port=0000/tcp veya sudo güvenlik duvarı-cmd -- girilerek yapılır. bölge=genel --kalıcı --add-port=0000-9999/udp . Açık kalıcı bağlantı noktalarının listesi şu şekilde görüntülenir: sudo güvenlik duvarı-cmd --zone=public --permanent --list-ports.

Hizmet Tanımı

Gördüğünüz gibi port eklemek herhangi bir zorluğa neden olmuyor ancak çok sayıda uygulama kullanıldığında prosedür daha karmaşık hale geliyor. Kullanımdaki tüm bağlantı noktalarını takip etmek zorlaşır, bu nedenle hizmeti tanımlamak daha iyi bir seçenek olacaktır:


Tek yapmanız gereken, hizmete erişimle ilgili sorunları çözmek için en uygun yöntemi seçmek ve verilen talimatları takip etmektir. Gördüğünüz gibi tüm eylemler oldukça kolay bir şekilde gerçekleştiriliyor ve hiçbir zorluk ortaya çıkmıyor.

Özel bölgeler oluşturma

FirewallD'nin başlangıçta belirli kurallara sahip çok sayıda farklı bölge oluşturduğunu zaten biliyorsunuz. Ancak öyle durumlar vardır ki sistem yöneticisi gibi özel bir bölge oluşturmanız gerekir. "genel ağ" Kurulu bir web sunucusu için veya "özelDNS"— DNS sunucusu için. Bu iki örneği kullanarak dal eklemeye bakacağız:


Bu makalede, özel bölgelerin nasıl oluşturulacağını ve bunlara nasıl hizmet ekleneceğini öğrendiniz. Yukarıda bunları varsayılan olarak ayarlamaktan ve arayüzleri atamaktan bahsetmiştik; tek yapmanız gereken doğru adları belirtmek. Kalıcı değişiklikler yaptıktan sonra güvenlik duvarınızı yeniden başlatmayı unutmayın.

Gördüğünüz gibi FirewallD güvenlik duvarı, en esnek güvenlik duvarı yapılandırmasını oluşturmanıza olanak tanıyan oldukça kapsamlı bir araçtır. Geriye kalan tek şey, yardımcı programın sistemle birlikte başladığından ve belirtilen kuralların hemen çalışmaya başladığından emin olmaktır. Bunu sudo systemctl active firewalld komutuyla yapın.

Sunucuyu dış tehditlerden korumanın ilk adımı, gelen ve giden trafiği filtreleyen bir güvenlik duvarıdır. Bu makalede, CentOS'ta güvenlik duvarının özel bir durumu olan iptables'ın kurulumunu tartışmak ve ayrıca onu kurmak ve devre dışı bırakmaktan bahsetmek istiyorum. Rehberim kapsamlı olmayacak; yalnızca en önemli olduğunu düşündüğüm ve işimde kullandığım yönleri dikkate alacağım.

Bu makale, sunucuyla ilgili tek bir makale serisinin parçasıdır.

giriiş

Iptables şu anda modern Linux dağıtımları arasında fiili standarttır. Güvenlik duvarı olarak başka nelerin kullanıldığını ilk anda hatırlayamıyorum bile. Dolayısıyla herhangi bir Linux yöneticisinin işlerinde bu güvenlik duvarını kurmayla uğraşması gerekir.

Bu güvenlik duvarına daha "uygun" yapılandırma için kullanılan farklı bağlantılar vardır. Ubuntu'nun var ufw, centos cinsinden - güvenlik duvarı, diğerlerini bilmiyorum. Şahsen ben bu araçları kullanmanın hiçbir rahatlığını görmüyorum. İşimin en başında öğrendiğim gibi, Linux güvenlik duvarını eski yöntemle kurmaya alışkınım. Sanırım sizinle paylaşacağım en basit ve en kullanışlı yol bu. Özü, güvenlik duvarı kurallarıyla bir komut dosyasının oluşturulması gerçeğine dayanmaktadır. Bu komut dosyası ihtiyaçlarınıza uyacak şekilde kolayca düzenlenebilir ve sunucudan sunucuya aktarılabilir.

Güvenlik duvarını devre dışı bırakma

Firewalld'u devre dışı bırakma konusuna zaten konu başlığımda değinmiştim. Öncelikle centos 7'de kurulumdan hemen sonra varsayılan olarak bulunan güvenlik duvarını devre dışı bırakalım:

# systemctl güvenlik duvarını durdur

Şimdi yeniden başlatmanın ardından tekrar açılmaması için başlangıçtan kaldıralım:

# systemctl güvenlik duvarını devre dışı bırak

Bundan sonra sunucudaki güvenlik duvarı ayarları tamamen açık hale gelir. İptables kurallarını şu komutla görüntüleyebilirsiniz:

iptables'ı yükleme

Aslında sunucumuzda zaten bir güvenlik duvarımız var ve çalışıyor, hiçbir kural yok, her şey açık. İptables'ı yapılandırmanın imkansız olduğu ek yönetim yardımcı programları kurmamız gerekecek. Örneğin, güvenlik duvarını yeniden başlatmak mümkün olmayacaktır:

# systemctl iptables.service'i yeniden başlat Yöntem çağrısı yapılamadı: iptables.service birimi yüklenemedi: Böyle bir dosya veya dizin yok.

Veya otomatik çalıştırmaya ekleyemezsiniz:

# systemctl iptables.service'i etkinleştir Yöntem çağrısı yapılamadı: Böyle bir dosya veya dizin yok

Bu tür hataları önlemek için gerekli paketi yardımcı programlarla birlikte yükleyin:

# yum -y iptables-hizmetlerini yükle

Artık başlatma ve çalıştırmaya iptables ekleyebilirsiniz:

# systemctl iptables.service'i etkinleştirin # systemctl iptables.service'i başlatın

Güvenlik duvarı kurma

Güvenlik duvarı kurallarını yönetmek için bir komut dosyası kullanıyorum. Hadi oluşturalım:

# mcedit /etc/iptables.sh

Daha sonra onu gerekli kurallarla dolduracağız. Senaryonun tüm önemli kısımlarını ayrıştıracağım ve Formda tam olarak vereceğim Metin dosyası makalenin sonunda. Kurallar kopyalayıp yapıştırmayı yasaklamak için resim şeklinde yapılmıştır. Bu durum kuralların işleyişinde hatalara yol açabiliyor ki ben de yazıyı hazırlarken karşılaştım.

Sunucunun yerel bir ağ için İnternet'e açılan bir ağ geçidi olduğu bir durumu ele alacağız.

Öncelikle scriptte kullanacağımız tüm değişkenleri ayarlayalım. Bu gerekli değildir ancak ayarların sunucudan sunucuya aktarılması kolay olduğundan önerilir. Değişkenleri yeniden atamanız yeterli olacaktır.

Yeni kuralları uygulamadan önce tüm zincirleri temizliyoruz:

Kuralların hiçbirine uymayan tüm trafiği engelliyoruz:

Tüm localhost'a ve yerel trafiğe izin ver:

Ping'e izin veriyoruz:

Buna ihtiyacınız yoksa icmp için izin verme kuralları eklemeyin.

Sunucunun kendisine İnternet erişimini açıyoruz:

Tüm gelen sunucu bağlantılarını açmak istiyorsanız aşağıdaki kuralı ekleyin:

Şimdi en yaygın ağ saldırılarına karşı koruma ekleyelim. Öncelikle durumu olmayan tüm paketleri atalım:

Boş paketleri engelleme:

Kendinizi syn-flood saldırılarından korumak:

Yerel ağdan erişime kısıtlama getirmezseniz herkesin İnternet'e erişmesine izin veririz:

Daha sonra İnternet'ten yerel ağa erişimi yasaklıyoruz:

Yerel ağımızın İnternet'i kullanabilmesi için nat'ı etkinleştiriyoruz:

Sunucuya erişimi kaybetmemek için kuralları uyguladıktan sonra ssh üzerinden bağlantılara izin veriyoruz:

Ve sonunda, yeniden başlatmanın ardından geçerli olacak şekilde kuralları yazıyoruz:

Ssh hariç tüm gelen bağlantıları engelleyen ve yerel ağdan internete erişime izin veren basit bir yapılandırma derledik. Aynı zamanda bazı ağ saldırılarına karşı da kendimizi koruduk.

Komut dosyasını kaydedin, yürütülebilir hale getirin ve çalıştırın:

# chmod 0740 /etc/iptables.sh # /etc/iptables.sh

Kuralları gözden geçirelim ve tüm kuralların yürürlükte olup olmadığını kontrol edelim:

# iptables -L -v -n

Lütfen kuralları yalnızca sunucu konsoluna erişiminiz varsa uygulamanız gerektiğini unutmayın. Ayarlarda bir hata varsa erişimi kaybedebilirsiniz. Acil bir durumda güvenlik duvarını devre dışı bırakabildiğinizden ve ayarları değiştirebildiğinizden emin olun.

Bağlantı noktalarını açma

Şimdi konfigürasyonumuzu biraz genişletelim ve iptables’ta bazı servisler için portlar açalım. Diyelim ki çalışan bir web sunucumuz var ve ona internetten erişim açmamız gerekiyor. Web trafiği için kurallar ekleyin:

Web sunucusunun çalışmalarında kullandığı 80 ve 443 numaralı bağlantı noktalarına gelen bağlantılara izin eklendi.

Eğer yüklediyseniz posta sunucusu, o zaman kullanılan tüm bağlantı noktalarında gelen bağlantılara izin vermeniz gerekir:

Doğru çalışma için DNS sunucuları UDP bağlantı noktası 53'ü açmanız gerekir

Bağlantı noktası yönlendirme

Bağlantı noktalarını harici bir arayüzden yerel ağdaki bazı bilgisayarlara iletmenin gerekli olduğu bir durumu ele alalım. Diyelim ki almanız gerekiyor rdp erişimiİnternetten 10.1.3.50 bilgisayarına. TCP bağlantı noktası 3389'u iletiyoruz:

Bilinen bir bağlantı noktasını dışarıdan açığa çıkarmak istemiyorsanız, standart olmayan bir bağlantı noktasından hedef bilgisayarın rdp bağlantı noktasına yönlendirme yapabilirsiniz:

Dışarıdan bir bağlantı noktasını yerel ağa iletirseniz, harici ağdan dahili ağa erişimi engelleyen kuralı açıklamayı unutmayın. Örneğimde bu kural şöyledir: $IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT

Veya bu kuraldan önce, dahili hizmete harici erişim için bir izin verme kuralı oluşturun, örneğin:

$IPT -A İLERİ -i $WAN -d 10.1.3.50 -p tcp -m tcp --dport 3389 -j KABUL

Günlükleri etkinleştirme

Kurulum sırasında, engellenen paketleri izlemek ve zaten açmış gibi görünen gerekli hizmetlere neden erişimin olmadığını öğrenmek için günlükleri etkinleştirmek yararlı olacaktır. Engellenen tüm paketleri trafiğin yönüne karşılık gelen ayrı zincirlere (block_in,block_out,block_fw) gönderiyorum ve günlüklerde her yönü işaretliyorum. Bu, bilgilendirme yapmayı daha kolay hale getirir. Ayarları kaydetmeden önce aşağıdaki kuralları komut dosyasının en sonuna ekleyin:

Engellenen tüm paketleri /var/log/messages dosyasından takip edebilirsiniz.

Kurulumu tamamladıktan sonra bu satırları yorumlayın ve günlüğe kaydetmeyi devre dışı bırakın. Günlükler çok hızlı büyüdüğü için kesinlikle bunu yapmaya değer. Şahsen ben bu tür bilgileri saklamanın pratik bir manasını görmüyorum.

iptables nasıl devre dışı bırakılır

Aniden güvenlik duvarına artık ihtiyacınız olmadığına karar verirseniz, onu aşağıdaki şekilde devre dışı bırakabilirsiniz:

# systemctl iptables.service'i durdur

Bu komut güvenlik duvarını durdurur. Ve aşağıdakiler onu başlangıçtan kaldırır:

# systemctl iptables.service'i devre dışı bırak

Güvenlik duvarını devre dışı bırakarak tüm bağlantılara izin verdik.

Çözüm

Söz verdiğim gibi, dikkate aldığımız temel kuralları içeren bitmiş bir senaryoyu yayınlıyorum

İptables kurulumu yaparken son derece dikkatli olmanız gerektiğini bir kez daha belirtmek isterim. Sunucu konsoluna erişiminiz yoksa bu işe başlamayın. Bu yazıyı yazarken bile kurallardaki saçma bir hata nedeniyle sunucuya erişimimi kaybettim. Bu hata, kopyalama ve çift çizgi kaybı nedeniyle ortaya çıktı - yerini tek bir çizgi aldı.

OTUS'ta çevrimiçi “Linux Yöneticisi” kursu. Kurs yeni başlayanlar için değildir; kabul için ağlar ve ağlar hakkında temel bilgilere ihtiyacınız vardır. Linux kurulumu sanal makineye. Eğitim 5 ay sürüyor ve sonrasında başarılı kurs mezunları ortaklarla mülakata girebilecek. Bu kursun size neler kazandıracağı:

  • Linux mimarisi bilgisi.
  • Gelişim modern yöntemler ve veri analizi ve işleme araçları.
  • Gerekli görevler için bir konfigürasyon seçme, süreçleri yönetme ve sistem güvenliğini sağlama yeteneği.
  • Bir sistem yöneticisinin temel çalışma araçlarına hakim.
  • Linux üzerinde oluşturulan ağların dağıtımı, yapılandırılması ve bakımının ayrıntılarının anlaşılması.
  • Ortaya çıkan sorunları hızlı bir şekilde çözebilme ve sistemin istikrarlı ve kesintisiz çalışmasını sağlama yeteneği.
Giriş sınavında kendinizi test edin ve daha fazla ayrıntı için programa bakın.

FirewallD, CentOS 7 sunucularında varsayılan olarak bulunan bir güvenlik duvarı yönetim aracıdır.Temel olarak IPTable'ları çevreleyen bir pakettir ve bir grafik yapılandırma aracı, güvenlik duvarı yapılandırması ve bir güvenlik duvarı yapılandırma aracıyla birlikte gelir. Komut satırı güvenlik duvarı-cmd. IPtables hizmeti ile her değişiklik eski kuralların silinmesini ve dosyada yeni kurallar oluşturulmasını gerektirir. /etc/sysconfig/iptables` ve güvenlik duvarı ile yalnızca farklar uygulanır.

Güvenlik DuvarıD bölgeleri

FirewallD, Iptables'daki kurallar ve zincirler yerine hizmetleri ve bölgeleri kullanır. Varsayılan olarak aşağıdaki bölgeler mevcuttur:

  • düşürmek– Tüm gelen ağ paketlerini yanıt vermeden bırakın, yalnızca gidenleri bırakın ağ bağlantıları mevcut.
  • engellemek– icmp-host-prohibited mesajıyla gelen tüm ağ paketlerini reddedin, yalnızca giden ağ bağlantılarına izin verilir.
  • halk– halka açık alanlarda kullanım için yalnızca seçilen gelen bağlantılar kabul edilir
  • harici– Maskelemeli harici ağlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • dmz– askerden arındırılmış bölge DMZ, halka açık olarak erişilebilir Sınırlı erişim dahili ağa yalnızca seçilen gelen bağlantılar kabul edilir.
  • Ev– Ana bölgedeki bilgisayarlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • dahili– Dahili ağınızdaki bilgisayarlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • güvenilir– Tüm ağ bağlantıları kabul edilir.

Mevcut tüm bölgelerin listesini almak için:

# güvenlik duvarı-cmd --get-zones iş bırakma dahili harici güvenilir ev dmz genel bloğu

Varsayılan bölgelerin listesini görüntülemek için:

# güvenlik duvarı-cmd --get-default-zone public

Varsayılan bölgeyi değiştirmek için:

Güvenlik Duvarı Hizmetleri

FirewallD hizmetleri, güvenlik duvarı için hizmet giriş bilgilerini içeren XML yapılandırma dosyalarıdır. Mevcut tüm hizmetlerin bir listesini almak için:

# güvenlik duvarı-cmd --get-services amanda-istemci amanda-k5-istemci bacula bacula-istemci ceph ceph-mon dhcp dhcpv6 dhcpv6-istemci dns docker-kayıt defteri dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-çoğaltma ftp yüksek kullanılabilirlik http https imap imaps ipp ipp-istemci ipsec iscsi-hedef kadmin kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster radius rpc-bind r senkronize samba samba-istemci aklı başında smtp smtps snmp snmptrap squid ssh sinerji sistem günlüğü syslog-tls telnet tftp tftp-istemci tinc tor-çorap iletim-istemci vdsm vnc-sunucu wbem-https xmpp-bosh xmpp-istemci xmpp-yerel xmpp-sunucu

XML yapılandırma dosyaları dizinlerde saklanır /usr/lib/güvenlik duvarı/hizmetler/ Ve /etc/firewalld/services/.

FirewallD ile güvenlik duvarı kurma

Örnek olarak, bir web sunucusu, 7022 numaralı bağlantı noktasında SSH ve bir posta sunucusu çalıştırıyorsanız FirewallD ile bir güvenlik duvarını nasıl yapılandırabileceğiniz aşağıda açıklanmıştır.

İlk önce DMZ için varsayılan bölgeyi ayarlayacağız.

# güvenlik duvarı-cmd --set-default-zone=dmz # güvenlik duvarı-cmd --get-default-zone dmz

DMZ'de HTTP ve HTTPS için kalıcı hizmet kuralları eklemek için aşağıdaki komutu çalıştırın:

# güvenlik duvarı-cmd --zone=dmz --add-service=http --permanent # güvenlik duvarı-cmd --zone=dmz --add-service=https --permanent

Bağlantı noktası 25'i (SMTP) ve bağlantı noktası 465'i (SMTPS) açın:

Güvenlik duvarı-cmd --zone=dmz --add-service=smtp --permanent güvenlik duvarı-cmd --zone=dmz --add-service=smtps --permanent

Açık, IMAP, IMAPS, POP3 ve POP3S bağlantı noktaları:

Firewall-cmd --zone=dmz --add-service=imap --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service=imaps --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service= pop3 --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service=pop3s --kalıcı

SSH portu 7022 olarak değiştirildiği için SSH hizmetini (port 22) kaldıracağız ve 7022 numaralı portu açacağız.

Güvenlik duvarı-cmd --remove-service=ssh --kalıcı güvenlik duvarı-cmd --add-port=7022/tcp --permanent

Değişiklikleri uygulamak için güvenlik duvarını yeniden başlatmamız gerekiyor:

Güvenlik duvarı-cmd --yeniden yükle

Son olarak kuralları listeleyebilirsiniz.

FirewallD, CentOS 7 sunucularında varsayılan olarak bulunan bir güvenlik duvarı yönetim aracıdır.Temel olarak IPTable'ları çevreleyen bir sarmalayıcıdır ve grafiksel bir yapılandırma aracı olan güvenlik duvarı-config ve bir komut satırı aracı olan güvenlik duvarı-cmd ile birlikte gelir. IPtables hizmeti ile her değişiklik eski kuralların silinmesini ve dosyada yeni kurallar oluşturulmasını gerektirir. /etc/sysconfig/iptables` ve güvenlik duvarı ile yalnızca farklar uygulanır.

Güvenlik DuvarıD bölgeleri

FirewallD, Iptables'daki kurallar ve zincirler yerine hizmetleri ve bölgeleri kullanır. Varsayılan olarak aşağıdaki bölgeler mevcuttur:

  • düşürmek– Tüm gelen ağ paketlerini yanıt vermeden bırakın; yalnızca giden ağ bağlantıları kullanılabilir.
  • engellemek– icmp-host-prohibited mesajıyla gelen tüm ağ paketlerini reddedin, yalnızca giden ağ bağlantılarına izin verilir.
  • halk– halka açık alanlarda kullanım için yalnızca seçilen gelen bağlantılar kabul edilir
  • harici– Maskelemeli harici ağlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • dmz- askerden arındırılmış bölge DMZ, kamuya açık ve dahili ağa sınırlı erişimle, yalnızca seçilen gelen bağlantılar kabul edilir.
  • Ev– Ana bölgedeki bilgisayarlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • dahili– Dahili ağınızdaki bilgisayarlar için yalnızca seçilen gelen bağlantılar kabul edilir.
  • güvenilir– Tüm ağ bağlantıları kabul edilir.

Mevcut tüm bölgelerin listesini almak için:

# güvenlik duvarı-cmd --get-zones iş bırakma dahili harici güvenilir ev dmz genel bloğu

Varsayılan bölgelerin listesini görüntülemek için:

# güvenlik duvarı-cmd --get-default-zone public

Varsayılan bölgeyi değiştirmek için:

Güvenlik Duvarı Hizmetleri

FirewallD hizmetleri, güvenlik duvarı için hizmet giriş bilgilerini içeren XML yapılandırma dosyalarıdır. Mevcut tüm hizmetlerin bir listesini almak için:

# güvenlik duvarı-cmd --get-services amanda-istemci amanda-k5-istemci bacula bacula-istemci ceph ceph-mon dhcp dhcpv6 dhcpv6-istemci dns docker-kayıt defteri dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-çoğaltma ftp yüksek kullanılabilirlik http https imap imaps ipp ipp-istemci ipsec iscsi-hedef kadmin kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster radius rpc-bind r senkronize samba samba-istemci aklı başında smtp smtps snmp snmptrap squid ssh sinerji sistem günlüğü syslog-tls telnet tftp tftp-istemci tinc tor-çorap iletim-istemci vdsm vnc-sunucu wbem-https xmpp-bosh xmpp-istemci xmpp-yerel xmpp-sunucu

XML yapılandırma dosyaları dizinlerde saklanır /usr/lib/güvenlik duvarı/hizmetler/ Ve /etc/firewalld/services/.

FirewallD ile güvenlik duvarı kurma

Örnek olarak, bir web sunucusu, 7022 numaralı bağlantı noktasında SSH ve bir posta sunucusu çalıştırıyorsanız FirewallD ile bir güvenlik duvarını nasıl yapılandırabileceğiniz aşağıda açıklanmıştır.

İlk önce DMZ için varsayılan bölgeyi ayarlayacağız.

# güvenlik duvarı-cmd --set-default-zone=dmz # güvenlik duvarı-cmd --get-default-zone dmz

DMZ'de HTTP ve HTTPS için kalıcı hizmet kuralları eklemek için aşağıdaki komutu çalıştırın:

# güvenlik duvarı-cmd --zone=dmz --add-service=http --permanent # güvenlik duvarı-cmd --zone=dmz --add-service=https --permanent

Bağlantı noktası 25'i (SMTP) ve bağlantı noktası 465'i (SMTPS) açın:

Güvenlik duvarı-cmd --zone=dmz --add-service=smtp --permanent güvenlik duvarı-cmd --zone=dmz --add-service=smtps --permanent

Açık, IMAP, IMAPS, POP3 ve POP3S bağlantı noktaları:

Firewall-cmd --zone=dmz --add-service=imap --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service=imaps --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service= pop3 --kalıcı güvenlik duvarı-cmd --zone=dmz --add-service=pop3s --kalıcı

SSH portu 7022 olarak değiştirildiği için SSH hizmetini (port 22) kaldıracağız ve 7022 numaralı portu açacağız.

Güvenlik duvarı-cmd --remove-service=ssh --kalıcı güvenlik duvarı-cmd --add-port=7022/tcp --permanent

Değişiklikleri uygulamak için güvenlik duvarını yeniden başlatmamız gerekiyor:

Güvenlik duvarı-cmd --yeniden yükle

Son olarak kuralları listeleyebilirsiniz.

CentoOS 7'den itibaren trafik filtreleme kurallarını yapılandırmak için yeni bir araç ortaya çıktı güvenlik duvarı. İptables kurallarını yönetmek için kullanılması tavsiye edilir. CentOS 8'de standart iptables filtreleme paketi yerine artık nftables çerçevesi kullanılıyor ve güvenlik duvarı kurallarını güvenlik duvarı aracılığıyla yapılandırdığınızda aslında nftables'ı yapılandırıyorsunuz. Bu yazımızda CentOS 8 (CentOS 7 de aynıdır) çalıştıran bir sunucuda güvenlik duvarının kurulumuna, temel kavramlarına ve yapılandırılmasına bakacağız.


Güvenlik Duvarı– dinamik kural yönetimi desteği (yeniden başlatmadan) ve kalıcı güvenlik duvarı kurallarının uygulanması ile sunucuyu istenmeyen trafiğe karşı koruyan bir güvenlik duvarı. Nftable'lar için bir arayüz olarak çalışır. FirewallD hemen hemen tüm Linux dağıtımlarında kullanılabilir.

Temel güvenlik duvarı kavramları, bölgeleri ve kuralları

Kurulum ve konfigürasyona başlamadan önce güvenlik duvarı güven düzeyini belirlemek için kullanılan bölge kavramını tanıtacağız. çeşitli bağlantılar. Farklı bölgeler için güvenlik duvarıçeşitli filtreleme kuralları uygulayabilir, belirtebilirsiniz aktif seçeneklerönceden tanımlanmış hizmetler, protokoller ve bağlantı noktaları, bağlantı noktası yönlendirme ve zengin kurallar biçimindeki güvenlik duvarı.

Güvenlik duvarı bölgeye uygulanan kurallara bağlı olarak gelen trafiği bölgeye göre filtreler. Eğer IP- istek gönderenin adresi belirli bir bölgenin kurallarıyla eşleşiyorsa paket bu bölge üzerinden gönderilecektir. Adres, sunucuda yapılandırılan bölgelerden herhangi biriyle eşleşmiyorsa paket, varsayılan bölge tarafından işlenecektir. Kurulum sırasında güvenlik duvarı varsayılan bölge denir halk.

Firewalld, çeşitli hizmetler için izinlerle önceden yapılandırılmış bölgelere sahiptir. Bu ayarları kullanabilir veya kendi bölgelerinizi oluşturabilirsiniz. Firewalld kurulurken oluşturulan varsayılan bölgelerin listesi (/usr/lib/firewalld/zones/ dizininde saklanır):

düşürmek minimum güven seviyesi. Tüm gelen bağlantılar yanıt verilmeden engellenir, yalnızca giden bağlantılara izin verilir;
engellemek bölge bir öncekine benzer, ancak gelen istekler reddedildiğinde, Ipv4 için icmp-host-prohibited veya Ipv6 için icmp6-adm-prohibited mesajı gönderilir;
halk halka açık, güvenilmeyen ağları temsil eder. Seçilen gelen bağlantılara tek tek izin verebilirsiniz;
harici Ağ geçidi olarak bir güvenlik duvarı kullanıldığında harici ağlar. Dahili ağınızın özel ancak erişilebilir kalması için NAT maskelemesi için yapılandırılmıştır;
dahili dış bölge kelimesinin zıt anlamlısı. Ev sahibinin yeterli düzeyde güveni var, bir dizi ek hizmet mevcut;
dmz DMZ'de bulunan bilgisayarlar (ağın geri kalanına erişimi olmayan izole bilgisayarlar) için kullanılır. Yalnızca belirli gelen bağlantılara izin verilir;
iş makineleri için bölge (ağdaki bilgisayarların çoğu güvenilirdir);
Ev ev ağı bölgesi. Çoğu bilgisayara güvenilebilir ancak yalnızca belirli gelen bağlantılar desteklenir;
güvenilir ağdaki tüm makinelere güvenin. Mevcut tüm seçenekler arasında en açık olanıdır ve bilinçli kullanım gerektirir.

İÇİNDE güvenlik duvarı kalıcı ve geçici olmak üzere iki tür kural kullanılır. Geçici kurallar sunucu yeniden başlatılana kadar çalışır. Varsayılan olarak, kural eklerken güvenlik duvarı, kurallar geçici kabul edilir ( Çalışma süresi). Kalıcı olarak bir kural eklemek için bayrağı kullanmanız gerekir. - kalıcı. Bu tür kurallar sunucu yeniden başlatıldıktan sonra uygulanacaktır.

CentOS'ta güvenlik duvarını yükleme ve etkinleştirme

CentOS 7/8'de, güvenlik duvarı varsayılan olarak işletim sistemiyle birlikte yüklenir. Kaldırdıysanız ve güvenlik duvarını yüklemek istiyorsanız standart /dnf yöneticisini kullanabilirsiniz:

# yum install güvenlik duvarıd -y - Centos 7 için
# dnf, Centos 8 için güvenlik duvarını yükleyin -y -

Şeytana güvenlik duvarı sunucu başlatıldığında otomatik olarak başlatılıyorsa, onu eklemeniz gerekir:

# systemctl güvenlik duvarını etkinleştir

Ve koş:

# systemctl güvenlik duvarını başlat

Hizmet durumunu kontrol edin:

# systemctl durumu güvenlik duvarıd

● güvenlik duvarıd.service - güvenlik duvarıd - dinamik güvenlik duvarı arka plan programı Yüklendi: yüklendi (/usr/lib/systemd/system/firewalld.service; etkin; satıcı ön ayarı: etkin) Etkin: 14.10.2019 Pazartesi 14:54'ten beri etkin (çalışıyor) :40 +06; 22 saniye önce Dokümanlar: man:firewalld(1) Ana PID: 13646 (firewalld) CGrup: /system.slice/firewalld.service └─13646 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 14 Ekim 14:54:40 server.vpn.ru systemd: Firewalld başlatılıyor - dinamik güvenlik duvarı arka plan programı... 14 Ekim 14:54:40 server.vpn.ru systemd: Firewalld - dinamik güvenlik duvarı arka plan programı başlatıldı.

Veya şu komutla:

# güvenlik duvarı-cmd --durum

Firewall-cmd komutu, nftables/iptables'a yönelik bir güvenlik duvarı ön ucudur.

# güvenlik duvarı-cmd --durum

Güvenlik duvarı kurallarıyla çalışma

Varsayılan kurallar:

Güvenlik duvarı kurallarını ayarlamadan önce, varsayılan olarak hangi bölgenin kullanıldığını kontrol etmeniz gerekir:

# güvenlik duvarı-cmd --get-default-zone

Güvenlik duvarını yeni kurduğumuz ve henüz yapılandırmadığımız için varsayılan bir bölgemiz var halk.

Aktif bölgeyi kontrol edelim. Ayrıca bir tane de var - halka açık:

# güvenlik duvarı-cmd --get-active-zones

Genel arayüzler: eth0

Gördüğünüz gibi eth0 ağ arayüzü bölge tarafından kontrol ediliyor halk.

Temel kuralları görüntülemek için şunu girin:

# güvenlik duvarı-cmd --list-all

Genel (aktif) hedef: varsayılan icmp-block-inversion: arayüz yok: eth0 kaynakları: hizmetler: dhcpv6-client ssh portları: protokoller: maskeli balo: ileri port yok: kaynak portları: icmp-blocks: zengin kurallar:

Listeden DHCP istemcisi ve ssh ile ilgili olağan işlemlerin bu bölgeye eklendiğini görebilirsiniz.

Mevcut bölgeler

Tüm bölgelerin listesini görüntülemek için şu komutu çalıştırmanız gerekir:

# güvenlik duvarı-cmd --get-zones

Aşağıdaki listeyi aldım:

Dmz'yi engelle harici ev dahili genel güvenilir iş

Belirli bir bölgenin kurallarını kontrol etmek için bayrak bölgesini eklemeniz gerekir.

# güvenlik duvarı-cmd --zone=ana sayfa --list-all

Ana sayfa hedefi: varsayılan icmp-block-inversion: arayüz yok: kaynaklar: hizmetler: dhcpv6-client mdns samba-client ssh portları: protokoller: maskeli balo: ileri bağlantı noktaları yok: kaynak bağlantı noktaları: icmp blokları: zengin kurallar:

Tüm bölgelerin kuralları şu komutla görüntülenebilir:

# güvenlik duvarı-cmd --tüm bölgeleri listele

Çok sayıda bölge olabileceğinden liste oldukça büyük olacaktır.

Varsayılan bölgeyi değiştirin.

Varsayılan hepsi Ağ arayüzleri bölgede bulunan halk, ancak şu komutla herhangi bir bölgeye aktarılabilirler:

# güvenlik duvarı-cmd --zone=ana sayfa -change-interface=eth0

Parametreden sonra --bölge= istenilen bölgeyi belirtin.

Varsayılan bölgeyi değiştirmek için şu komutu kullanmanız gerekir:

# güvenlik duvarı-cmd --set-default-zone=home

Uygulama kuralları ekleme

Bir uygulamaya bağlantı noktası açmak için istisnalara bir hizmet ekleyebilirsiniz. Mevcut hizmetlerin listesini görüntüleyin:

Çıktı çok sayıda hizmet içerecektir. detaylı bilgi hizmet hakkında onun içinde yer almaktadır xml dosya. Bu dosyalar dizinde bulunur /usr/lib/firewalld/services.dll

Örneğin:

# cd /usr/lib/firewalld/services

Posta (SMTP) Bu seçenek, gelen SMTP posta dağıtımına izin verir. Uzak ana bilgisayarların posta dağıtmak için doğrudan makinenize bağlanmasına izin vermeniz gerekiyorsa bu seçeneği etkinleştirin. Postanızı ISP'nizin sunucusundan POP3 veya IMAP yoluyla alıyorsanız veya fetchmail gibi bir araç kullanıyorsanız bunu etkinleştirmenize gerek yoktur. Yanlış yapılandırılmış bir SMTP'nin, sunucu yapabilir uzak makinelerin spam göndermek için sunucunuzu kullanmasına izin verin.

XML dosyası, güvenlik duvarında açılacak hizmetin, protokolün ve port numarasının açıklamasını içerir.

Kural eklerken parametreyi kullanabilirsiniz. --add-hizmet belirli bir hizmete erişimi açmak için:

# güvenlik duvarı-cmd --zone=genel --add-service=http

# güvenlik duvarı-cmd --zone=genel --add-service=https

Kuralları ekledikten sonra hizmetlerin belirtilen bölgeye eklenip eklenmediğini kontrol edebilirsiniz:

# güvenlik duvarı-cmd --zone=genel --list-hizmetler

Dhcpv6 istemcisi http https ssh

Bu kuralların kalıcı olmasını istiyorsanız, eklerken parametreyi de eklemeniz gerekir. -kalıcı.

Bir hizmeti bir bölgeden kaldırmak için:

# güvenlik duvarı-cmd --kalıcı --zone=genel --remove-service=http

Dhcpv6 istemcisi https ssh testi

Hizmetinizi istisnalara eklemek istiyorsanız bir dosya oluşturabilirsiniz. xml kendiniz ve doldurun. Herhangi bir hizmetten veri kopyalayabilir, adı, açıklamayı ve bağlantı noktası numarasını değiştirebilirsiniz.

Dosyayı kopyalayalım smtp.xml kullanıcı hizmetleriyle çalışmak için dizine:

# cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services

Dosyadaki hizmet açıklamasını değiştirin.

Kendim xml dosyası Ayrıca hizmetinizin adına göre yeniden adlandırmanız gerekir. Bundan sonra güvenlik duvarını yeniden başlatmanız ve hizmetimizin listede olup olmadığını kontrol etmeniz gerekir:

Servisi aradım Ölçek ve listede göründü:

Sistem günlüğü-tls telnet testi tftp

Artık oluşturulan hizmeti herhangi bir bölgeye ekleyebilirsiniz:

# güvenlik duvarı-cmd --zone=genel --add-service=test --kalıcı

# güvenlik duvarı-cmd --zone=genel --kalıcı --list-hizmetler

Dhcpv6 istemcisi http https ssh testi

İhtiyacınız olan hizmeti listede bulamadıysanız güvenlik duvarında gerekli bağlantı noktasını şu komutla açabilirsiniz:

# güvenlik duvarı-cmd --zone=public -add-port=77/tcp - 77 numaralı bağlantı noktasını aç TCP
# güvenlik duvarı-cmd --zone=public -add-port=77/udp - 77 numaralı bağlantı noktasını aç udp
# güvenlik duvarı-cmd --zone=public -add-port=77-88/udp - 77-88 bağlantı noktası aralığını aç udp
# güvenlik duvarı-cmd --zone=public -list-ports - izin verilen bağlantı noktalarının listesini kontrol edin

ICMP yanıtlarını engelle/izin ver:

# güvenlik duvarı-cmd --zone=genel --add-icmp-block=echo-reply
# güvenlik duvarı-cmd --zone= genel --remove-icmp-block=echo-reply

Eklenen bağlantı noktasını kaldır:

# güvenlik duvarı-cmd --zone=public -remove-port=77/udp - geçici kural 77'yi kaldır udp

# güvenlik duvarı-cmd --permanent --zone=public -remove-port=77/udp - kalıcı kuralı kaldır

Kendi bölgelerinizi ekleme

Kendi bölgenizi yaratabilirsiniz (onu ben arayacağım) bizim):

# güvenlik duvarı-cmd --kalıcı --yeni-bölgemiz=bizim

Yeni bir bölge oluşturduktan ve bir hizmet oluşturduktan sonra yeniden başlatma gerekir güvenlik duvarı:

# güvenlik duvarı-cmd --yeniden yükle

# güvenlik duvarı-cmd --get-zones

Dmz'yi engelleyin harici ev dahili olarak halka açık güvenilir çalışmamız

Alan bizim mevcut. Buna hizmetler ekleyebilir veya belirli bağlantı noktalarını açabilirsiniz.

Firewalld: IP adreslerini engelleme, istisnalar oluşturma

Güvenlik duvarı istisnalarına güvenilir IP adresleri ekleyebilir veya istenmeyenleri engelleyebilirsiniz.

İstisnalara belirli bir tane eklemek için IP adresi(örneğin 8.8.8.8) sunucunuzda güvenlik duvarı, şu komutu kullanın:

# güvenlik duvarı-cmd --zone=public --add-rich-rule = "kural ailesi = "ipv4" kaynak adresi = "8.8.8.8" kabul et"

Alanı kontrol edin ve emin olun IP zengin kurallardaki istisnalara eklendi:

Genel (etkin) hedef: varsayılan icmp-block-inversion: arayüz yok: eth0 kaynakları: hizmetler: dhcpv6-client http https ssh test bağlantı noktaları: protokoller: maskeli balo: ileri bağlantı noktaları yok: kaynak bağlantı noktaları: icmp blokları: zengin kurallar: kural ailesi = "ipv4" kaynak adresi = "8.8.8.8" kabul et

Engellemek IP, değiştirilmesi gerekiyor kabul etmek Açık reddetmek:

# güvenlik duvarı-cmd --zone=public --add-rich-rule = "kural ailesi = "ipv4" kaynak adresi = "8.8.4.4" reddet"

# güvenlik duvarı-cmd --zone=genel --list-all

Genel (etkin) hedef: varsayılan icmp-block-inversion: arayüz yok: eth0 kaynakları: hizmetler: dhcpv6-client http https ssh test bağlantı noktaları: protokoller: maskeli balo: ileri bağlantı noktaları yok: kaynak bağlantı noktaları: icmp blokları: zengin kurallar: kural ailesi = "ipv4" kaynak adresi = "8.8.8.8" kabul et kural ailesi = "ipv4" kaynak adresi = "8.8.4.4" reddet

Belirli bir hizmete yalnızca belirli bir IP adresinden gelen istekler için izin verebilirsiniz:

#firewall-cmd --permanent --add-rich-rule "rule family = "ipv4" kaynak adresi = "10.10.1.0/24" hizmet adı = "https" kabul et"

Sunucuya gelen tüm istekleri acilen engellemeniz gerekiyorsa panik komutunu kullanın:

# güvenlik duvarı-cmd --panik-açık

Panik modunu şu komutla devre dışı bırakabilirsiniz:

# güvenlik duvarı-cmd --panik-kapalı

Veya sunucuyu yeniden başlatarak.

Güvenlik duvarı yapılandırmasını engelleyerek yerel hizmetlerin kök hakları oluşturduğunuz güvenlik duvarı kuralları değiştirilemedi:

# güvenlik duvarı-cmd --kilitleme açık

Engelleme modunu devre dışı bırakın:

# güvenlik duvarı-cmd --kilitleme-kapalı

Güvenlik duvarında bağlantı noktası yönlendirme

Güvenlik duvarında bir bağlantı noktası yönlendirme kuralı oluşturabilirsiniz. 443 numaralı bağlantı noktasını 9090'a iletmek için:

# güvenlik duvarı-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=9090 --permanent

Bağlantı noktası yönlendirme kuralını kaldırmak için:

# güvenlik duvarı-cmd --zone=genel --remove-forward-port=port=443:proto=tcp:toport=9090




Tepe