Ubuntu 22.04 LTS'de UFW Güvenlik Duvarı Nasıl Kurulur ve Yapılandırılır

Herhangi bir işletim sisteminin temel taşlarından biri, tam sistem güvenliği için uygun şekilde yapılandırılmış bir güvenlik duvarıdır. Ubuntu, IP tablolarını kullanır; ancak, çoğu kullanıcı UFW ile ön uç olarak çalışan yazılımı kullanacaktır. (Karmaşık olmayan Güvenlik Duvarı).

UFW'nin en büyük avantajlarından bazıları, basitliği, kullanıcı dostu ve kullanımı kolay komut satırı olup, onu Linux'ta yeni başlayanlardan en ileri düzey ileri düzey kullanıcılara kadar harika kılar.

Aşağıdaki öğreticide, UFW kullanımına ilişkin bazı temel örneklerle birlikte komut satırı terminalini kullanarak Ubuntu 22.04 LTS Jammy Jellyfish masaüstü veya sunucusuna UFW Güvenlik Duvarı kurmayı ve kurmayı öğreneceksiniz. Lütfen öğreticinin yaygın olarak kullanılan bazı noktaları kapsadığını unutmayın. UFW çok daha fazlasını başarabilir ve ModSecurity ve Fail2Ban gibi yazılımlara entegre edilebilir. Yine de çoğunluk için bu eğitim harika bir başlangıç.

Ubuntu'yu Güncelle

Başlamadan önce, çakışmaları önlemek için sistem paketlerinizin güncel olduğundan emin olmak için hızlı bir güncelleme çalıştırın.

sudo apt update && sudo apt upgrade -y

UFW'yi Etkinleştirin, Yükleyin veya Kaldırın

Varsayılan olarak UFW yüklenmelidir, ancak bu kaldırılmışsa UFW'yi yeniden yükleyin.

sudo apt install ufw -y

Kurulduktan sonra ufw'yi etkinleştirin.

reklâm
sudo systemctl enable ufw --now

Ardından, etkin ve hatasız olduğundan emin olmak için UFW'nin durumunu doğrulayın.

systemctl status ufw

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Bir UFW güvenlik duvarı kurmanın bir sonraki adımı, güvenlik duvarının kendisini etkinleştirmek olacaktır.

sudo ufw enable

Örnek çıktı:

Firewall is active and enabled on system startup

Varsayılan olarak, tüm gelen trafik otomatik olarak engellenir ve güvenlik duvarı etkin olduğunda tüm gidenlere izin verilir. Bu, herhangi birinin sisteminize uzaktan bağlanmasını engelleyerek anında sisteminizi koruyacaktır.

Gelecekte, UFW'yi geçici bir süre için devre dışı bırakmanız gerekirse, aşağıdaki komutu kullanın.

sudo ufw disable

UFW'yi sisteminizden tamamen kaldırmak için (Tavsiye Edilmez).

reklâm
sudo apt remove ufw --purge

Sağlam bir seçeneğiniz yoksa veya özellikle halka bağlı bir sunucu ortamı çalıştırırken IPTable'ları nasıl kullanacağınızı bilmiyorsanız UFW'yi kaldırmayın. Bu felaket olacak.

UFW Durumunu Kontrol Edin

UFW etkinleştirildiğinde, güvenlik duvarı kurallarının durumunu görüntüleyin ve aşağıdakileri kullanın.

sudo ufw status verbose

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Yukarıdaki örnek, ayrıntılı bayrağı kullanmıştır ve alternatif bir seçenek, kuralları daha sonra kuralları silerken çok daha kolay yönetilebilir olan numara sırasına göre listelemektir.

sudo ufw status numbered

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Şimdi sahipsin [1], [2] Yukarıdaki çıktıda olduğu gibi tanımlama için UFW kurallarınızdaki numara etiketleri.

UFW Varsayılan İlkelerini Ayarlama/Yapılandırma

UFW güvenlik duvarının varsayılan ilkesi, gelen tüm bağlantıları reddetmek ve yalnızca sisteme giden bağlantılara izin vermektir. IP adresine/aralıklarına, programlara, bağlantı noktalarına veya hepsinin birleşimlerine izin vermediğiniz sürece, hiç kimsenin sunucunuza erişemeyeceği tipik olarak en güvenli varsayılan yol. Sisteminiz, varsayılan olarak, özel güvenlik gereksinimleriniz olmadıkça ayarlamamanız gereken dışarıya erişebilir.

reklâm

Varsayılan UFW güvenlik duvarı politikaları şu konumda bulunabilir: / etc / default / ufw.

Aşağıdaki komutu yazarak kuralları ayarlamak için:

Ayrıca bakınız  Debian 11/10'da MakeMKV Nasıl Kurulur

Tüm gelen bağlantıları reddet:

sudo ufw default deny incoming

Tüm giden bağlantılara izin ver:

sudo ufw default allow outgoing

Bu, etkinleştirildiğinde zaten varsayılan kurallar olarak ayarlanmıştır, ancak bunları amacınıza uyacak şekilde değiştirmek için aynı ilkeyi kullanabilirsiniz.

Örneğin, tüm gelen iletişimler varsayılan olarak engellenir, ancak tüm gidenlerin engellenmesini ve yalnızca onaylanmış giden bağlantılara izin verilmesini istiyorsanız, aşağıdaki komutu kullanın.

Tüm giden bağlantıları engelle:

sudo ufw default deny outgoing

Bu aşırı bir önlemdir; ortalama bir sunucu ve masaüstü için gelen bağlantıları engellemek genellikle yeterlidir, ancak belirli ortamlar ekstra güvenlik önleminden yararlanabilir. Dezavantajı, sürekli olarak yeni kurallar belirleyerek zaman alıcı olabilen tüm giden bağlantıları ana şebekeye bağlamanız gerektiğidir.

UFW Uygulama Profillerini Görüntüle

Tüm uygulama profillerini göstermek için aşağıdakini yazarak bunu yapabilirsiniz.

sudo ufw app list

Örnek çıktı:

reklâm
Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Yukarıdakiler sadece bir örnektir ve hiç kimse aynı uygulamaları yüklemeyeceğinden herkesin farklı listeleri olacaktır.

Uygulama profillerinin kullanışlı bir özelliği, UFW uygulama listesinde listelenen hizmet hakkında daha fazla bilgi edinmektir.

Bunu yapmak için, mevcut bir profil hakkında daha fazla bilgi bulmak için aşağıdaki komutu yazın.

sudo ufw app info 'Nginx Full'

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Yukarıdaki gibi, uygulamanın genel açıklamasının ve kullandığı bağlantı noktasının çıktısı. Bu, açık bağlantı noktalarını araştırdığınızda ve hangi uygulamalarla ilgili olduklarından ve ne yaptıklarından emin değilseniz kullanışlı bir özelliktir.

UFW'de IPv6'ya İzin Ver/Etkinleştir

Sisteminiz IPv6 ile yapılandırılmışsa, UFW'nin IPv6 ve IPv4 desteği ile yapılandırıldığından emin olmanız gerekir. Varsayılan olarak, bu otomatik olarak etkinleştirilmelidir; ancak, kontrol etmeli ve gerekirse değiştirmelisiniz. Bunu aşağıdaki şekilde yapabilirsiniz.

Varsayılan UFW güvenlik duvarı dosyasını açın.

reklâm
sudo nano /etc/default/ufw

Ayarlanmadıysa, aşağıdaki satırı evet olarak ayarlayın.

IPV6=yes

CTRL + O dosyadaki yeni değişiklikleri kaydetmek için, ardından CTRL + X dosyadan çıkmak için

Şimdi değişiklikleri etkinleştirmek için UFW güvenlik duvarı hizmetini yeniden başlatın.

sudo systemctl restart ufw

UFW SSH Bağlantılarına İzin Ver/Etkinleştir

Varsayılan olarak UFW, SSH bağlantılarına izin vermez. Güvenlik duvarını uzaktan etkinleştirmiş olsaydınız, kilitlendiğinizi fark ederdiniz.

Bunu düzeltmek için, özellikle uzak bir sunucuya bağlıysa, UFW güvenlik duvarını etkinleştirmeden önce aşağıdaki SSH yapılandırmasını ayarlamanız gerekir.

İlk olarak, SSH uygulama profilini etkinleştirin.

sudo ufw allow ssh

Varsayılan 22 numaralı bağlantı noktası dışında, örneğin 3541 numaralı bağlantı noktası dışında SSH bağlantıları için özel bir dinleme bağlantı noktası ayarladıysanız, aşağıdakini yazarak bağlantı noktasını UFW güvenlik duvarında açacaksınız.

reklâm
sudo ufw allow 3541/tcp

Tüm SSH bağlantılarını engellemek veya portu değiştirmek ve eskilerini engellemek istiyorsanız.

Tüm SSH bağlantılarını engellemek için (Yerel erişimin mümkün olduğundan emin olun), aşağıdaki komutu kullanın.

sudo ufw deny ssh/tcp

Özel SSH bağlantı noktasını değiştiriyorsanız, yeni bir bağlantı noktası açın ve mevcut olanı kapatın; öğretici örnek 3541 numaralı bağlantı noktasıdır.

sudo ufw deny 3541/tcp 

UFW Bağlantı Noktalarına İzin Ver/Etkinleştir

UFW ile, belirli bir uygulama için belirtilen bağlantılara izin vermek için güvenlik duvarında belirli bağlantı noktaları açabilirsiniz. Uygulama için özelleştirilmiş kurallar belirleyebilirsiniz. Bu kuralın mükemmel bir örneği, bağlantı noktasını dinleyen bir web sunucusu kurmaktır. 80 (HTTP) ve 443 (HTTPS) varsayılan olarak.

Ayrıca bakınız  Ubuntu 22.10/22.04/20.04'te Code::Blocks Kurulumu

HTTP Bağlantı Noktası 80'e İzin Ver

Uygulama profiline göre izin ver:

sudo ufw allow 'Nginx HTTP'

Hizmet adına göre izin ver:

sudo ufw allow http

Bağlantı noktası numarasına göre izin ver:

reklâm
sudo ufw allow 80/tcp

HTTPS Bağlantı Noktası 443'e İzin Ver

Uygulama profiline göre izin ver:

sudo ufw allow 'Nginx HTTPS'

Hizmet adına göre izin ver:

sudo ufw allow https

Bağlantı noktası numarasına göre izin ver:

sudo ufw allow 443/tcp

Aşağıdaki komutu kullanarak tüm kuralları varsayılan olarak etkinleştirebileceğinizi unutmayın.

sudo ufw allow 'Nginx Full'

UFW Bağlantı Noktası Aralıklarına İzin Ver

UFW, bağlantı noktası aralıklarına erişime izin verebilir. Bir bağlantı noktası aralığını açarken, bağlantı noktası protokolünü tanımlamanız gerekir.

TCP ve UDP ile bağlantı noktası aralığına izin ver:

sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp

Alternatif olarak, bir vuruşta birden fazla bağlantı noktasına izin verebilirsiniz, ancak menzil daha erişilebilir olabilir.

reklâm
sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp

UFW'de Uzak Bağlantılara İzin Ver/Etkinleştir

UFW Belirli IP Adresine İzin Ver

Örneğin, belirtilen IP adreslerine izin vermek için dahili bir ağdasınız ve sistemlerin birlikte iletişim kurmasını istiyorsanız, aşağıdaki komutu kullanın.

sudo ufw allow from 192.168.55.131

UFW Belirli Bağlantı Noktasında Belirli IP Adresine İzin Ver

Bir IP'nin sisteminize tanımlanmış bir bağlantı noktasında bağlanmasını sağlamak için (örnek bağlantı noktası "3900"), aşağıdakini yazın.

sudo ufw allow from 192.168.55.131 to any port 3900

Belirtilen Bağlantı Noktasına Alt Ağ Bağlantılarına İzin Ver

Bir IP aralığı alt ağından belirli bir bağlantı noktasına tam bir bağlantı aralığına ihtiyacınız varsa, aşağıdaki kuralı oluşturarak bunu etkinleştirebilirsiniz.

sudo ufw allow from 192.168.1.0/24 to any port 3900

Bu, 192.168.1.1 ile 192.168.1.254 arasındaki tüm IP adreslerinin 3900 numaralı bağlantı noktasına bağlanmasına izin verecektir.

Belirli Ağ Arayüzüne İzin Ver

Örneğin, belirli bir ağ arayüzüne bağlantılara izin verin, "Eth2" belirtilen bir bağlantı noktası 3900'e. Bunu, aşağıdaki kuralı oluşturarak başarabilirsiniz.

sudo ufw allow in on eth2 to any port 3900

UFW'de Uzak Bağlantıları Reddet/Engelle

UFW'nin varsayılan kurulum politikasına göre, kurulduğunda tüm gelen bağlantılar şu şekilde ayarlanır: "inkar etmek." Bu, bağlantıların geçmesine izin vermek için bir kural oluşturmadığınız sürece gelen tüm trafiği reddeder.

Ancak, günlüklerinizde size saldırmaya devam eden belirli bir IP adresi fark ettiniz. Aşağıdaki ile engelleyin.

reklâm
sudo ufw deny from 203.13.56.121

Bir bilgisayar korsanı, sizi hacklemek için aynı alt ağdan birden fazla IP adresi kullanır. Engellemek için aşağıdakileri oluşturun.

sudo ufw deny from 203.13.56.121/24

Belirli bağlantı noktalarına erişimi reddetmek için belirli kurallar oluşturabilirsiniz. Aşağıdaki örneği yazın.

sudo ufw deny from 203.13.56.121/24 to any port 80
sudo ufw deny from 203.13.56.121/24 to any port 443

UFW Kurallarını Sil/Kaldır

Kural numarasını kullanarak bir UFW kuralını silmek için aşağıdakini yazarak kural numaralarını listelemelisiniz.

sudo ufw status numbered

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Örnek, üçüncü kuralı silecektir. IP Adresi 1.1.1.1, yukarıda vurgulanmıştır.

Terminalinize aşağıdakini yazın.

sudo ufw delete 3

Örnek çıktı:

reklâm
Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Y yazın, sonra GİRİŞ ANAHTARI kural numarasının kaldırılmasına devam etmek için. Bu durumda, yukarıdaki eğitim örneğinde üç numaralı kuraldı.

UFW Günlüklerine Erişin ve Görüntüleyin

UFW günlük kaydı varsayılan olarak düşük olarak ayarlanmıştır, bu çoğu masaüstü sistemi için uygundur. Ancak, sunucular daha yüksek düzeyde günlük kaydı gerektirebilir.

Ayrıca bakınız  Debian 11/10'da Tripwire IDS Nasıl Kurulur

UFW günlüğünü düşük (Varsayılan) olarak ayarlamak için:

sudo ufw logging low

UFW günlüğünü orta düzeyde izlemeye ayarlamak için:

sudo ufw logging medium

UFW günlüğünü yüksek olarak ayarlamak için:

sudo ufw logging high

Son seçenek, günlüğe kaydetmeyi tamamen devre dışı bırakmaktır, bundan memnun olduğunuzdan ve günlük denetimi gerektirmeyeceğinden emin olun.

sudo ufw logging off

UFW günlüklerini görüntülemek için, bunlar varsayılan konumda tutulur. /var/log/ufw.log.

reklâm

Canlı günlükleri görüntülemenin kolay ve hızlı bir yolu tail komutunu kullanmaktır.

sudo ufw tail -f /var/log/ufw.log

Alternatif olarak, birçok yeni satırı yazdırabilirsiniz. -n.

sudo ufw tail /var/log/ufw.log -n 30

Bu, günlüğün son 30 satırını yazdıracaktır. GREP ve diğer sıralama komutlarıyla daha fazla ince ayar yapabilirsiniz.

UFW Kurallarını Test Edin

Güvenlik duvarı ayarlarıyla uğraşırken iyi bir seçenek olan son derece kritik sistemler, -kuru çalışma bayrağı. Bu, gerçekleşmiş ancak işlemeyen değişikliklerin bir örneğini görmenizi sağlar.

sudo ufw --dry-run enable

Devre dışı bırakmak için -kuru çalışma bayrağı, aşağıdaki komutu kullanın.

sudo ufw --dry-run disable

UFW Kurallarını Sıfırla

Güvenlik duvarınızı, gelen tüm engellenmiş ve giden tüm izinler ayarlanmış olarak orijinal durumuna sıfırlamak için, sıfırlamak için aşağıdakini yazın.

sudo ufw reset

Sıfırlamayı onaylayın, aşağıdakileri girin:

reklâm
sudo ufw status

Çıktı şöyle olmalıdır:

Status: inactive 

UFW güvenlik duvarı sıfırlamasıyla, şimdi güvenlik duvarını yeniden etkinleştirmeniz ve tüm kural ekleme sürecini başlatmanız gerekecek. Reset komutu mümkünse az kullanılmalıdır.

Tüm Açık Bağlantı Noktalarını Bul/Ara (Güvenlik Kontrolü)

Çoğu sistem, bağlantı noktalarının açık olabileceğinin farkında değildir. İnternetteki her IP adresinin günlük olarak tarandığı çağda, perde arkasında neler olup bittiğini izlemek çok önemlidir.

En iyi seçenek Nmap'i kurmak ve ardından bu ünlü uygulamayı kullanarak açılan portları listelemektir.

sudo apt install nmap -y

Ardından, sistemin dahili IP adresini bulun.

hostname -I

Örnek çıktı:

192.168.50.214

Şimdi sunucunun IP adresi ile aşağıdaki Nmap komutunu kullanın.

reklâm
nmap 192.168.50.214

Örnek çıktı:

Ubuntu 22.04 LTS'de UFW Güvenlik Duvarını Yapılandırın/Etkinleştirin

Yukarıdaki gibi, UFW kurallarında izin verilen 80 numaralı bağlantı noktası dışındaki tüm bağlantı noktaları kapalıdır, bu nedenle bu tatmin edicidir.

Ancak, kapatmadan veya engellemeden önce açık bağlantı noktaları bulursanız, hizmetleri bozabileceğinden veya daha kötü durumda sizi bir sunucudan kilitleyebileceğinden emin değilseniz, önce bunların ne olduğunu araştırın.

Bu noktadan itibaren, açık portları kapatmak veya kısıtlamak için öğreticide öğrendiğiniz özel UFW kuralları oluşturabilirsiniz.

Yorumlar ve Sonuç

Öğretici, Ubuntu 22.04 LTS'de masaüstü veya sunucu için UFW'yi nasıl kuracağınızı ve yapılandıracağınızı başarıyla göstermiştir.

UFW, uzman olmayan kullanıcıların kafasını karıştırabilecek diğer seçeneklere kıyasla basit bir güvenlik duvarı sistemi olduğu için şiddetle tavsiye edilir. Siber suçların ve bilgisayar korsanlığının yükselişi göz önüne alındığında, sisteminizi korumanın kesin ve hızlı bir yolu.

UFW'nin eksik olmaya başlayacağı tek alan, milyonlarca olmasa da yüz binlerce IP'nin engellenebileceği büyük kural kümeleri ve IP kara listeleridir. Başka alternatiflere ihtiyaç duyulabilir, ancak bu, çoğu kullanıcıyı etkilemeyecektir, çünkü bu sunucular tipik olarak iyi bir hazır seçeneğe sahiptir.

reklâm


Aradığınız şey değil mi? Ek öğreticiler aramayı deneyin.