Linux'ta firewalld ile Nasıl Başlanır?
Yayınlanan: 2022-07-08 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.
İ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
sudo apt güvenlik duvarı yapılandırmasını kurun
Fedora'da firewalld
zaten kuruludur. Sadece firewall-config
eklememiz gerekiyor.
sudo dnf install firewall-config
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ı
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
Ve şimdi çalışması için arka plan programını başlatmamız gerekiyor.
sudo systemctl firewalld'yi başlat
firewalld
başladığını ve sorunsuz çalıştığını kontrol etmek için systemctl
kullanabiliriz:
sudo systemctl durum güvenlik duvarı
Ç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
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 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
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
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 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
Bu yararlıdır çünkü listede gezinebilir veya bağlantı noktası numaralarını, protokolleri ve hizmetleri aramak için arama özelliğini kullanabilirsiniz.
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 göz atalım ve değişikliğimiz yapılıp yapılmadığını görelim.
sudo firewall-cmd --zone=home --list-all
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
İ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
firewalld
versiyonumuz 192 hizmeti listeledi. Bir bölgede bir hizmeti etkinleştirmek için --add-service
seçeneğini kullanın.
--add-service
seçeneğini kullanarak bir bölgeye bir servis ekleyebiliriz.
sudo güvenlik duvarı-cmd --zone=genel --add-service=http
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
İ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.
Ç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.
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.
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.
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.