Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

UFW Firewall Kurulumu ve Yapılandırması: Güvenliğiniz İçin Kapsamlı Bir Rehber

UFW (Uncomplicated Firewall) Kurulumu ve Yapılandırması: Güvenliğiniz İçin Kapsamlı Bir Rehber

Günümüz siber güvenlik dünyasında, sunucularınızı ve sistemlerinizi yetkisiz erişimlerden korumak hayati öneme sahiptir. Linux sistemlerinde bu korumayı sağlamanın en yaygın ve etkili yollarından biri, bir güvenlik duvarı (firewall) kullanmaktır. UFW (Uncomplicated Firewall), Ubuntu ve Debian tabanlı sistemler için tasarlanmış, kullanımı kolay bir arayüze sahip olan ve temelinde iptables kullanan bir güvenlik duvarı yönetim aracıdır. Adı gibi 'basit' olmasına rağmen, oldukça güçlü ve esnek kurallar oluşturmanıza olanak tanır. Bu kapsamlı rehberde, UFW'nin ne olduğundan başlayarak, kurulumunu, temel yapılandırmasını, gelişmiş kuralların oluşturulmasını ve en iyi uygulamaları adım adım ele alacağız. Amacımız, sunucunuzun veya bilgisayarınızın ağ güvenliğini sağlamak için UFW'yi etkin bir şekilde kullanmanıza yardımcı olmaktır.

UFW (Uncomplicated Firewall) Nedir?
UFW, Linux kernel'inin netfilter çerçevesi için bir ön uçtur. Yani, karmaşık iptables komutlarını öğrenmek zorunda kalmadan güçlü güvenlik duvarı kuralları oluşturmanızı ve yönetmenizi sağlayan basit bir komut satırı arayüzü sunar. Özellikle yeni başlayanlar veya hızlıca güvenlik duvarı kuralları tanımlamak isteyenler için idealdir. UFW'nin temel prensibi, varsayılan olarak tüm gelen bağlantıları reddetmek ve sadece sizin izin verdiğiniz bağlantılara kapı açmaktır. Bu "varsayılan reddetme" politikası, güvenlik açısından oldukça sağlam bir yaklaşımdır.

Neden UFW Kullanmalıyız?
Bir güvenlik duvarı kullanmak, sisteminizin dışarıdan gelebilecek kötü niyetli saldırılara karşı ilk savunma hattıdır. UFW'nin başlıca avantajları şunlardır:
  • Basitlik: İptables'ın karmaşık sözdizimi yerine anlaşılır komutlar sunar.
  • Etkinlik: Arkasındaki güçlü iptables altyapısı sayesinde yüksek performanslı güvenlik sağlar.
  • Entegrasyon: Ubuntu ve Debian tabanlı sistemlerle derinlemesine entegredir, genellikle varsayılan olarak kurulu gelir veya kolayca kurulabilir.
  • Esneklik: Basit port açma/kapama işlemlerinden, IP adresi tabanlı kısıtlamalara ve uygulama profillerine kadar geniş bir kural yelpazesi sunar.
Sisteminizde UFW kurulu olmasa bile, bu rehber sayesinde kolayca kurup yapılandırabilirsiniz.

UFW Kurulumu
Çoğu Ubuntu ve Debian tabanlı sistemde UFW varsayılan olarak yüklü gelir; ancak etkinleştirilmemiştir. Eğer sisteminizde yüklü değilse, aşağıdaki adımları takip ederek kolayca kurabilirsiniz:

  • Adım 1: Paket Listesini Güncelleyin
    Öncelikle, sisteminizin paket listelerini güncelleyerek en son sürümde olduğunuzdan emin olun:
    Kod:
    sudo apt update
    Bu komut, sisteminizin yazılım depolarındaki paket bilgilerini yeniler.
  • Adım 2: UFW'yi Kurun (Gerekirse)
    Eğer UFW yüklü değilse, aşağıdaki komutla kurabilirsiniz:
    Kod:
    sudo apt install ufw
    Kurulum tamamlandıktan sonra UFW kullanıma hazır olacaktır, ancak henüz etkin değildir.

UFW Temel Komutları ve Durum Yönetimi
UFW ile çalışırken en sık kullanacağınız komutlar şunlardır:

  • UFW Durumunu Kontrol Etme:
    UFW'nin etkin olup olmadığını ve hangi kuralların geçerli olduğunu görmek için:
    Kod:
    sudo ufw status
    veya daha detaylı bilgi için:
    Kod:
    sudo ufw status verbose
    Bu komut, etkin veya devre dışı olup olmadığını, varsayılan politikaları ve mevcut tüm kuralları listeler.
    ufw_status_output.png

    (Yukarıdaki bir örnek görsel çıktıyı temsil eder.)
  • UFW'yi Etkinleştirme:
    Kurulumdan sonra UFW'yi etkinleştirmek ve kuralları uygulamaya başlamak için:
    Kod:
    sudo ufw enable
    Uyarı: Bu komutu çalıştırmadan önce, SSH bağlantınızın kesilmemesi için SSH portuna (varsayılan 22) izin verdiğinizden emin olun! Eğer uzaktan bir sunucuda işlem yapıyorsanız ve SSH portuna izin vermeden etkinleştirirseniz, sunucuya erişiminizi kaybedebilirsiniz.
  • UFW'yi Devre Dışı Bırakma:
    UFW'yi tamamen durdurmak ve tüm kuralları devre dışı bırakmak için:
    Kod:
    sudo ufw disable
    Bu, genellikle sorun giderme veya geçici olarak tüm ağ erişimine izin verme durumlarında kullanılır.
  • UFW Kurallarını Sıfırlama:
    Tüm UFW kurallarını varsayılan ayarlarına döndürmek (yani tüm özel kuralları silmek) için:
    Kod:
    sudo ufw reset
    Dikkat: Bu komut, etkinleştirilmişse UFW'yi de devre dışı bırakır ve tüm kurallarınızı kalıcı olarak siler. Sıfırlamadan sonra UFW'yi tekrar etkinleştirmeniz gerekir.

Güvenlik Politikası ve Varsayılan Kurallar
UFW'nin varsayılan politikası oldukça güvenlidir:
Kod:
Default: deny (incoming), allow (outgoing), disabled (routed)
Bu, gelen tüm bağlantıların varsayılan olarak reddedildiği (deny) ve giden tüm bağlantıların varsayılan olarak izin verildiği (allow) anlamına gelir. Bu politikaları değiştirebilirsiniz, ancak çoğu durumda gelen bağlantıların reddedilmesi tercih edilen ve en güvenli yaklaşımdır.
Örneğin, varsayılan gelen bağlantı politikasını değiştirmek için:
Kod:
sudo ufw default allow incoming
Ancak, güvenlik açısından bu tavsiye edilmez. Varsayılan deny politikasına sadık kalın ve sadece ihtiyacınız olan portlara izin verin.

UFW ile Ortak Portlara İzin Verme Kuralları
Şimdi en temel ve en sık kullanılan UFW kurallarına geçelim: belirli portlara ve servislere gelen bağlantılara izin vermek.

  • SSH (Güvenli Kabuk) Erişimi:
    Uzak sunucunuza erişmek için SSH'ye izin vermelisiniz. SSH varsayılan olarak 22 numaralı portu kullanır.
    Kod:
    sudo ufw allow ssh
    veya port numarası ile:
    Kod:
    sudo ufw allow 22/tcp
    Bu kural, 22 numaralı TCP portundan gelen tüm bağlantılara izin verir. Eğer SSH portunuzu değiştirdiyseniz (ki bu iyi bir güvenlik uygulamasıdır), o port numarasını kullanmalısınız. Örneğin, SSH portunuz 2222 ise:
    Kod:
    sudo ufw allow 2222/tcp
  • HTTP (Web Sunucusu) Erişimi:
    Bir web sunucusu (Apache, Nginx vb.) çalıştırıyorsanız, web sitenizin internetten erişilebilir olması için HTTP (port 80) trafiğine izin vermelisiniz.
    Kod:
    sudo ufw allow http
    veya port numarası ile:
    Kod:
    sudo ufw allow 80/tcp
  • HTTPS (Güvenli Web Sunucusu) Erişimi:
    SSL/TLS şifrelemesi kullanan web siteleri (HTTPS) için 443 numaralı portu açmanız gerekir.
    Kod:
    sudo ufw allow https
    veya port numarası ile:
    Kod:
    sudo ufw allow 443/tcp

Belirli IP Adreslerinden Gelen Bağlantılara İzin Verme veya Engelleme
Bazen sadece belirli bir IP adresinden veya IP aralığından gelen bağlantılara izin vermek isteyebilirsiniz. Bu, daha yüksek güvenlik gerektiren durumlar için kullanışlıdır.

  • Belirli Bir IP'den Belirli Bir Porta İzin Verme:
    Sadece 192.168.1.100 IP adresinden SSH portuna (22) gelen bağlantılara izin vermek için:
    Kod:
    sudo ufw allow from 192.168.1.100 to any port 22
    "to any port 22" kısmı, tüm hedeflere 22 numaralı porttan gelen trafiğe izin verildiğini belirtir.
  • Belirli Bir IP'den Tüm Portlara İzin Verme:
    192.168.1.100 IP adresinden tüm bağlantılara izin vermek için:
    Kod:
    sudo ufw allow from 192.168.1.100
    Dikkat: Bu kural, belirtilen IP adresinden tüm portlara ve protokollere erişime izin verir. Güvenlik açısından dikkatli kullanılmalıdır.
  • Belirli Bir IP Adresini Engelleme:
    Belirli bir IP adresinden gelen tüm bağlantıları engellemek için:
    Kod:
    sudo ufw deny from 203.0.113.45
    Bu, belirli bir kötü niyetli IP adresini engellemek için hızlı bir çözümdür.

Uygulama Profilleri Kullanımı
UFW, bazı yaygın uygulamalar için önceden tanımlanmış profillerle birlikte gelir. Bu profiller, uygulamanın çalışması için gereken portları otomatik olarak açar. Bu, özellikle Apache, Nginx veya OpenSSH gibi uygulamalar için kullanışlıdır.

  • Mevcut Uygulama Profillerini Listeleme:
    Sisteminizde hangi uygulama profillerinin mevcut olduğunu görmek için:
    Kod:
    sudo ufw app list
    Bu komut, yüklü paketlere göre UFW tarafından tanınan profilleri listeler (örneğin 'OpenSSH', 'Nginx HTTP', 'Nginx HTTPS').
  • Uygulama Profilini Kullanarak İzin Verme:
    Örneğin, Nginx HTTP trafiğine izin vermek için:
    Kod:
    sudo ufw allow 'Nginx HTTP'
    Bu, Nginx'in 80. portunu otomatik olarak açar.

UFW Günlük Kayıtları (Logging)
UFW'nin etkinliğini izlemek ve olası saldırıları veya bağlantı girişimlerini tespit etmek için günlük kaydı tutması önemlidir.

  • Günlük Kaydını Etkinleştirme:
    Kod:
    sudo ufw logging on
    Günlük seviyesini de belirleyebilirsiniz (off, low, medium, high, full). Varsayılan düşük seviyedir.
    Kod:
    sudo ufw logging medium
  • Günlük Kayıtlarını Devre Dışı Bırakma:
    Kod:
    sudo ufw logging off
  • Günlükleri Görüntüleme:
    UFW günlükleri genellikle `/var/log/ufw.log` veya genel sistem günlüklerinde (`/var/log/syslog`) bulunur. Bunları `tail` veya `less` komutlarıyla görüntüleyebilirsiniz:
    Kod:
    tail -f /var/log/ufw.log

Kural Silme
Yanlış bir kuralı silmeniz veya artık ihtiyacınız olmayan bir kuralı kaldırmanız gerekebilir. UFW kurallarını iki şekilde silebilirsiniz:

  • Kural Numarasına Göre Silme:
    Önce mevcut kuralları numaralı olarak listelemeniz gerekir:
    Kod:
    sudo ufw status numbered
    Çıktıda her kuralın başında bir numara olacaktır. Silmek istediğiniz kuralın numarasını belirleyin ve ardından:
    Kod:
    sudo ufw delete 1
    (Burada '1' silinecek kuralın numarasıdır.)
  • Kuralın Kendisini Belirterek Silme:
    Silmek istediğiniz kuralı, oluşturduğunuz komutun aynısını kullanarak ancak 'allow' yerine 'delete' ile belirterek silebilirsiniz:
    Kod:
    sudo ufw delete allow 80/tcp
    Bu yöntem, kural numaralarını hatırlamak zorunda kalmadan daha sezgisel olabilir.

Gelişmiş UFW Kuralları
UFW, sadece temel port ve IP filtrelemesinden daha fazlasını yapabilir.

  • Belirli Bir Arabirime Kural Uygulama:
    Birden fazla ağ arabiriminiz varsa (örneğin eth0, eth1), kuralı belirli bir arabirime uygulayabilirsiniz.
    eth0 arabiriminden gelen HTTP (80) trafiğine izin vermek için:
    Kod:
    sudo ufw allow in on eth0 to any port 80
    veya giden trafik için:
    Kod:
    sudo ufw allow out on eth1 to any port 53
    (DNS sorguları için)
  • Belirli Protokolleri Engelleme:
    TCP veya UDP gibi belirli protokolleri hedef alabilirsiniz.
    UDP port 53 (DNS) trafiğini engellemek için:
    Kod:
    sudo ufw deny proto udp from any to any port 53
  • Bağlantı Limitleme (Rate Limiting - Brute-Force Koruması):
    UFW, belirli bir süre içinde çok sayıda bağlantı girişimini algılayıp kısıtlayarak brute-force saldırılarına karşı koruma sağlayabilir. Bu özellikle SSH gibi hizmetler için önemlidir.
    SSH bağlantılarını limitlemek için:
    Kod:
    sudo ufw limit ssh
    Bu kural, 6 saniye içinde 6'dan fazla bağlantı girişiminde bulunan IP adreslerini otomatik olarak engeller. Limitleme kuralı, deny kuralından önce işlenir.

Önemli Uyarılar ve En İyi Uygulamalar

Firewall kurallarınızı uygulamadan önce her zaman dikkatli olun! Özellikle uzaktan bir sunucuda çalışıyorsanız, yanlış bir kural uygulamanız durumunda sunucuya erişiminizi kaybetme riskiyle karşı karşıya kalabilirsiniz. Her zaman SSH bağlantısını kesintiye uğratmayacak kuralları önceliklendirin veya sanal makine üzerinde test edin. İdeal olarak, UFW'yi etkinleştirmeden önce SSH portuna izin veren kuralı ekleyin ve sonra etkinleştirin.

  • En az ayrıcalık prensibi: Sadece ihtiyacınız olan portları ve hizmetleri açın. "Her şeyi aç" yaklaşımı ciddi güvenlik riskleri taşır.
  • Düzenli kontrol:
    Kod:
    sudo ufw status verbose
    komutuyla kurallarınızı düzenli olarak kontrol edin.
  • Günlükleri inceleme: ufw.log dosyasını düzenli olarak kontrol ederek anormal bağlantı girişimlerini tespit edin.
  • Yedekleme: Önemli UFW kural setlerinizi yedeklemeyi düşünebilirsiniz. Kurallar /etc/ufw dizininde saklanır.

Ek Kaynaklar ve Belgeler
Daha fazla bilgi, gelişmiş yapılandırmalar ve güncel bilgiler için resmi UFW belgelerini ziyaret etmeniz önerilir:
https://ubuntu.com/server/docs/security-firewall
Bu resmi belgeler, UFW'nin tüm yeteneklerini keşfetmeniz için en iyi kaynaktır.

Sonuç
UFW (Uncomplicated Firewall), Linux sistemleriniz için güçlü, kullanımı kolay ve esnek bir güvenlik duvarı çözümüdür. Bu rehberde adım adım kurulumunu, temel yapılandırmasını, ortak servisler için kuralların nasıl oluşturulacağını, IP bazlı kısıtlamaları, uygulama profillerini, günlük kaydını ve gelişmiş bazı kuralları ele aldık. Güvenlik duvarınızı doğru bir şekilde yapılandırarak sisteminizi yetkisiz erişimlere ve olası siber tehditlere karşı korumuş olursunuz. Unutmayın, güvenlik sürekli bir süreçtir ve kurallarınızı düzenli olarak gözden geçirmek ve güncellemek önemlidir. Sisteminizin güvenliğini sağlamak için UFW'yi etkin bir şekilde kullanmaya başlayabilirsiniz.
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected