Linux'ta firewalld ile Nasıl Başlanır?

Yayınlanan: 2022-07-08
Linux komut satırını gösteren dizüstü bilgisayar ekranı.
fatmawati achmad zaenuri/Shutterstock.com

Linux için komut satırında veya GUI arayüzü ile yapılandırılması kolay modern, güçlü bir güvenlik firewalld arıyorsanız, muhtemelen aradığınız şey firewalld'dir.

Güvenlik Duvarı İhtiyacı

Ağ bağlantılarının bir kaynağı ve bir hedefi vardır. Kaynaktaki yazılım bağlantıyı talep eder ve hedefteki yazılım bunu kabul eder veya reddeder. Kabul edilirse, genel olarak ağ trafiği olarak adlandırılan veri paketleri, bağlantı üzerinden her iki yönde de geçebilir. Bu, ister kendi evinizdeki odayı paylaşıyor olun, ister ev ofisinizden işe uzaktan bağlanıyor olun, ister uzak, bulut tabanlı bir kaynak kullanıyor olun, bu durum için geçerlidir.

Bir Güvenlik Duvarı Aslında Ne Yapar?
İLGİLİ Bir Güvenlik Duvarı Gerçekte Ne Yapar?

İyi güvenlik uygulaması, bilgisayarınızla olan bağlantıları sınırlandırmanız ve kontrol etmeniz gerektiğini söylüyor. Güvenlik duvarlarının yaptığı budur. Ağ trafiğini IP adresine, bağlantı noktasına veya protokole göre filtreler ve önceden tanımlanmış bir dizi kriteri ( güvenlik duvarı kuralları ) karşılamayan bağlantıları reddederler. Özel bir etkinlikteki güvenlik personeli gibiler. İsminiz listede yoksa içeri giremezsiniz.

Elbette, güvenlik duvarı kurallarınızın normal etkinliklerinizi kısıtlayacak kadar kısıtlayıcı olmasını istemezsiniz. Güvenlik duvarınızı yapılandırmak ne kadar basit olursa, yanlışlıkla çakışan veya acımasız kurallar oluşturma şansınız o kadar az olur. Anlaşılması çok karmaşık olduğu veya komut sözdizimi çok opak olduğu için güvenlik duvarı kullanmadıklarını söyleyen kullanıcılardan sık sık duyuyoruz.

firewalld duvarı, hem komut satırında hem de özel GUI uygulaması aracılığıyla güçlü ancak kurulumu kolaydır. Başlık altında, Linux güvenlik duvarları, çekirdek tarafı ağ filtreleme çerçevesi olan netfilter güvenir. Burada, kullanıcı alanında, netfilter ile etkileşim kurmak için iptables , ufw karmaşık olmayan güvenlik duvarı ve firewalld gibi çeşitli araçlara sahibiz.

Bize göre firewalld en iyi işlevsellik, ayrıntı düzeyi ve basitlik dengesini sunar.

güvenlik duvarı yükleme

firewalld için iki bölüm vardır. firewalld , güvenlik duvarı işlevselliğini sağlayan arka plan programı ve firewall-config var. Bu, firewalld için isteğe bağlı GUI'dir. firewall-config içinde "d" olmadığını unutmayın.

firewalld Ubuntu, Fedora ve Manjaro'ya kurmak her durumda basittir, ancak her birinin önceden yüklenmiş ve paketlenmiş olanlarla ilgili kendi görüşleri vardır.

Ubuntu'ya kurmak için firewalld ve firewall-config kurmamız gerekiyor.

 sudo apt güvenlik duvarı yükleyin 

Ubuntu'ya firewalld yükleme

 sudo apt güvenlik duvarı yapılandırmasını kurun 

Ubuntu'da firewall-config yükleme

Fedora'da firewalld zaten kuruludur. Sadece firewall-config eklememiz gerekiyor.

sudo dnf install firewall-config

Fedora'ya firewall-config yükleme

Manjaro'da her iki bileşen de önceden kurulu değildir, ancak tek bir komutla her ikisini de kurabilmemiz için tek bir pakette toplanmıştır.

 sudo pacman -Sy güvenlik duvarı 

Manjaro'da firewalld ve firewall-config'i tek komutla yükleme

Bilgisayarın her açılışında çalışmasına izin vermek için firewalld arka planını etkinleştirmemiz gerekiyor.

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

Güvenlik duvarının önyüklemede otomatik olarak başlatılmasını etkinleştirme

Ve şimdi çalışması için arka plan programını başlatmamız gerekiyor.

 sudo systemctl firewalld'yi başlat 

firewalld arka plan programını başlatma

firewalld başladığını ve sorunsuz çalıştığını kontrol etmek için systemctl kullanabiliriz:

 sudo systemctl durum güvenlik duvarı 

systemctl ile firewalld durumunu kontrol etme

Çalışıp çalışmadığını kontrol etmek için firewalld da kullanabiliriz. Bu, --state seçeneğiyle firewall-cmd komutunu kullanır. firewall-cmd "d" olmadığını unutmayın:

 sudo güvenlik duvarı-cmd --durumu 

firewall-cmd komutu ile firewalld durumunu kontrol etme

Artık güvenlik duvarını kurduk ve çalıştırdık, onu yapılandırmaya geçebiliriz.

Bölge Kavramı

firewalld güvenlik duvarı bölgeleri temel alır. Bölgeler, güvenlik duvarı kuralları ve ilişkili bir ağ bağlantısı koleksiyonlarıdır. Bu, altında çalışabileceğiniz farklı bölgeleri ve farklı bir dizi güvenlik sınırlamasını uyarlamanıza olanak tanır. Örneğin, normal, günlük koşu için tanımlanmış bir bölgeniz, daha güvenli koşu için başka bir bölgeniz ve “hiçbir şey içeride, hiçbir şey dışarıda” tam kilitleme bölgesi olabilir.

Bir bölgeden diğerine ve etkili bir şekilde bir güvenlik seviyesinden diğerine geçmek için, ağ bağlantınızı bulunduğu bölgeden altında çalışmak istediğiniz bölgeye taşırsınız.

Bu, birini tanımlanmış bir güvenlik duvarı kuralı kümesinden diğerine taşımayı çok hızlı hale getirir. Bölgeleri kullanmanın başka bir yolu, dizüstü bilgisayarınızın evdeyken bir bölgeyi, dışarıdayken ve halka açık Wi-Fi kullanırken diğerini kullanmasını sağlamaktır.

firewalld önceden yapılandırılmış dokuz bölgeyle birlikte gelir. Bunlar düzenlenebilir ve daha fazla bölge eklenebilir veya kaldırılabilir.

  • drop : Gelen tüm paketler bırakılır. Giden trafiğe izin verilir. Bu en paranoyak ayardır.
  • blok : Gelen tüm paketler bırakılır ve gönderene icmp-host-prohibited bir mesaj gönderilir. Giden trafiğe izin verilir.
  • güvenilir : Tüm ağ bağlantıları kabul edilir ve diğer sistemlere güvenilir. Bu en güvenilir ayardır ve sabit test ağları veya eviniz gibi çok güvenli ortamlarla sınırlandırılmalıdır.
  • public : Bu bölge, diğer bilgisayarların hiçbirine güvenilemeyeceği genel ağlarda veya diğer ağlarda kullanım içindir. Küçük bir ortak ve genellikle güvenli bağlantı istekleri kabul edilir.
  • harici : Bu bölge, NAT maskeleme (port yönlendirme) etkinleştirilmiş olan harici ağlarda kullanım içindir. Güvenlik duvarınız, trafiği erişilebilir durumda olan ancak yine de gizli olan özel ağınıza yönlendiren bir yönlendirici görevi görür.
  • dahili : Bu bölge, sisteminiz bir ağ geçidi veya yönlendirici görevi gördüğünde dahili ağlarda kullanılmak üzere tasarlanmıştır. Bu ağdaki diğer sistemler genellikle güvenilirdir.
  • dmz : Bu bölge, çevre savunmanızın dışındaki "askerden arındırılmış bölge"de bulunan ve ağınıza sınırlı erişimi olan bilgisayarlar içindir.
  • work : Bu bölge iş makinaları içindir. Bu ağdaki diğer bilgisayarlar genellikle güvenilirdir.
  • home : Bu bölge ev makineleri içindir. Bu ağdaki diğer bilgisayarlar genellikle güvenilirdir.

Ev, iş ve iç bölgeler işlev olarak çok benzer, ancak bunları farklı bölgelere ayırmak, belirli bir senaryo için bir dizi kuralı kapsayarak bir bölgeyi beğeninize göre ayarlamanıza olanak tanır.

Varsayılan bölgenin ne olduğunu bulmak iyi bir başlangıç ​​noktasıdır. Bu, firewalld kurulduğunda ağ arayüzlerinizin eklendiği bölgedir.

 sudo firewall-cmd --get-default-zone 

Varsayılan güvenlik duvarı bölgesini bulma

Varsayılan bölgemiz genel bölgedir. Bir bölgenin yapılandırma ayrıntılarını görmek için --list-all seçeneğini kullanın. Bu, bir bölge için eklenen veya etkinleştirilen her şeyi listeler.

 sudo firewall-cmd --zone=public --list-all 

Kamusal alanın ayrıntılarını listeleme

Bu bölgenin ağ bağlantısı enp0s3 ile ilişkili olduğunu ve DHCP, mDNS ve SSH ile ilgili trafiğe izin verdiğini görebiliriz. Bu bölgeye en az bir arayüz eklendiğinden bu bölge aktiftir.

firewalld , bir bölgeden gelen trafiği kabul etmek istediğiniz hizmetleri eklemenize olanak tanır. Bu bölge daha sonra bu tür trafiğe izin verir. Bu, örneğin mDNS'nin 5353 numaralı bağlantı noktasını ve UDP protokolünü kullandığını hatırlamaktan ve bu ayrıntıları bölgeye manuel olarak eklemekten daha kolaydır. Gerçi bunu sen de yapabilirsin.

Önceki komutu ethernet bağlantısı ve Wi-Fi kartı olan bir dizüstü bilgisayarda çalıştırırsak, benzer bir şey göreceğiz, ancak iki arayüze sahip.

 sudo firewall-cmd --zone=public --list-all 

İçinde iki arabirim bulunan bir bölge

Her iki ağ arayüzümüz de varsayılan bölgeye eklendi. Bölge, ilk örnekle aynı üç hizmet için kurallara sahiptir, ancak DHCP ve SSH, adlandırılmış hizmetler olarak eklenirken, mDNS bir bağlantı noktası ve protokol eşleştirmesi olarak eklenmiştir.

Tüm bölgeleri listelemek için --get-zones seçeneğini kullanın.

 sudo güvenlik duvarı-cmd --get bölgeleri 

Tüm firewalld bölgelerini listeleme

Tüm bölgelerin yapılandırmasını bir kerede görmek için --list-all-zones seçeneğini kullanın. Bunu less içine aktarmak isteyeceksiniz.

 sudo firewall-cmd --list-all-zones | az 

Tüm bölgelerin ayrıntılarını listeleme

Bu yararlıdır çünkü listede gezinebilir veya bağlantı noktası numaralarını, protokolleri ve hizmetleri aramak için arama özelliğini kullanabilirsiniz.

Daha az görüntülenen tüm bölgelerin ayrıntıları

Dizüstü bilgisayarımızda, Ethernet bağlantımızı genel alandan ev alanına taşıyacağız. Bunu --zone ve --change-interface seçenekleriyle yapabiliriz.

 sudo firewall-cmd --zone=home --change-interface=enp3s0 

Ana bölgeye bir ağ arayüzü ekleme

Ana bölgeye bir göz atalım ve değişikliğimiz yapılıp yapılmadığını görelim.

 sudo firewall-cmd --zone=home --list-all 

Ağ arayüzü eklenmiş ana bölge

Ve o sahip. Ethernet bağlantımız ana bölgeye eklendi.

Ancak bu kalıcı bir değişiklik değildir. Güvenlik duvarının kayıtlı yapılandırmasını değil, çalışan yapılandırmasını değiştirdik. Yeniden başlatırsak veya --reload seçeneğini kullanırsak, önceki ayarlarımıza geri döneriz.

Bir değişikliği kalıcı kılmak için, uygun şekilde adlandırılmış --permanent seçeneğini kullanmamız gerekir.

Bu, güvenlik duvarının depolanan yapılandırmasını değiştirmeden güvenlik duvarını tek seferlik gereksinimler için değiştirebileceğimiz anlamına gelir. Değişiklikleri yapılandırmaya göndermeden önce de test edebiliriz. Değişikliğimizi kalıcı kılmak için kullanmamız gereken format:

 sudo firewall-cmd --zone=home --change-interface=enp3s0 --kalıcı

Bazı değişiklikler yaparsanız ancak bazılarında --permanent kullanmayı unutursanız, --runtime-to-permanent seçeneğini kullanarak güvenlik duvarının geçerli çalışan oturumunun ayarlarını yapılandırmaya yazabilirsiniz.

 sudo firewall-cmd -- çalışma zamanından kalıcıya 

Güvenlik duvarı yapılandırmasını yeniden yükleme

İLGİLİ: DHCP (Dinamik Ana Bilgisayar Yapılandırma Protokolü) Nedir?

Hizmet Ekleme ve Kaldırma

firewalld birçok hizmet hakkında bilgi sahibidir. --get-services seçeneğini kullanarak bunları listeleyebilirsiniz.

 sudo güvenlik duvarı-cmd --get-hizmetleri 

Güvenlik duvarının ada göre başvurabileceği hizmetleri listeleme

firewalld versiyonumuz 192 hizmeti listeledi. Bir bölgede bir hizmeti etkinleştirmek için --add-service seçeneğini kullanın.

Tanınan hizmetlerin listesi

--add-service seçeneğini kullanarak bir bölgeye bir servis ekleyebiliriz.

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

HTTP hizmetini bir bölgeye ekleme

Hizmetin adı, firewalld hizmetler listesindeki girişiyle eşleşmelidir.

Bir hizmeti kaldırmak için --remove-service --add-service ile değiştirin

Bağlantı Noktaları ve Protokoller Ekleme ve Kaldırma

Hangi bağlantı noktalarının ve protokollerin ekleneceğini seçmeyi tercih ederseniz, bunu da yapabilirsiniz. Eklediğiniz trafik türü için bağlantı noktası numarasını ve protokolü bilmeniz gerekir.

Genel bölgeye HTTPS trafiği ekleyelim. Bu, 443 numaralı bağlantı noktasını kullanır ve bir TCP trafiği biçimidir.

 sudo güvenlik duvarı-cmd --zone=genel --add-port=443/tcp 

Bir bölgeye bağlantı noktası ve protokol eşleştirmesi ekleme

İlk ve son bağlantı noktalarının arasına " - " tire işareti koyarak, örneğin "400-450" gibi bir dizi bağlantı noktası sağlayabilirsiniz.

Bir bağlantı noktasını kaldırmak için --remove-port --add-port ile değiştirin.

İLGİLİ: TCP ve UDP Arasındaki Fark Nedir?

GUI'yi kullanma

“Süper” tuşuna basın ve “güvenlik duvarı” yazmaya başlayın. firewall-config uygulaması için tuğla duvar simgesini göreceksiniz.

Uygulamayı başlatmak için bu simgeye tıklayın.

GUI kullanarak firewalld bir hizmet eklemek, bölgeler listesinden bir bölge seçmek ve hizmetler listesinden hizmeti seçmek kadar kolaydır.

"Yapılandırma" açılır menüsünden "Çalışma Zamanı" veya "Kalıcı"yı seçerek çalışan oturumu veya kalıcı yapılandırmayı değiştirmeyi seçebilirsiniz.

Yapılandırma açılır menüsü

Çalışan oturumda değişiklik yapmak ve değişiklikleri yalnızca çalıştıklarını test ettikten sonra uygulamak için “Yapılandırma” menüsünü “Çalışma Zamanı” olarak ayarlayın. Değişikliklerinizi yapın. İstediğinizi yaptıklarından memnun olduğunuzda, Seçenekler > Çalışma Zamanından Kalıcı Olarak Menü seçeneğini kullanın.

Bir bölgeye port ve protokol girişi eklemek için bölge listesinden bölgeyi seçin ve “Portlar”a tıklayın. Ekle düğmesine tıklamak, bağlantı noktası numarasını vermenizi ve bir menüden protokolü seçmenizi sağlar.

Güvenlik duvarı yapılandırma GUI'sini kullanarak bir bağlantı noktası ve protokol eşleştirmesi ekleme

Bir protokol eklemek için “Protokoller”e tıklayın, “Ekle” düğmesine tıklayın ve açılır menüden protokolü seçin.

Genel alanda, güvenlik duvarı yapılandırma GUI'sinde bir protokol

Bir arayüzü bir bölgeden diğerine taşımak için “Bağlantılar” listesinde arayüze çift tıklayın, ardından açılır menüden bölgeyi seçin.

Güvenlik duvarı yapılandırma GUI'sinde bir ağ arabirimini bir bölgeden diğerine taşıma

Buzdağının tepesi

firewalld ile yapabileceğiniz daha pek çok şey var, ancak bu, çalışmaya başlamanız için yeterlidir. Size verdiğimiz bilgilerle, bölgelerinizde anlamlı kurallar oluşturabileceksiniz.