Miklix

Ubuntu Sunucuda Güvenlik Duvarı Nasıl Kurulur?

Yayınlandı: 15 Şubat 2025 21:34:34 UTC
Son güncelleme: 12 Ocak 2026 08:37:30 UTC

Bu makale, ufw (Uncomplicated FireWall'ın kısaltması) kullanarak GNU/Linux'ta nasıl güvenlik duvarı kurulacağına dair açıklamalar ve bazı örnekler sunmaktadır. Adı gerçekten de çok uygun; gereğinden fazla port açık bırakmadığınızdan emin olmanın çok kolay bir yoludur.


Bu sayfa, mümkün olduğunca çok kişi tarafından erişilebilir olması amacıyla İngilizce'den makine çevirisiyle çevrilmiştir. Ne yazık ki, makine çevirisi henüz mükemmelleştirilmiş bir teknoloji değildir, bu nedenle hatalar meydana gelebilir. Tercih ederseniz, orijinal İngilizce versiyonu buradan görüntüleyebilirsiniz:

How to Set Up a Firewall on Ubuntu Server

Bu gönderideki bilgiler Ubuntu Server 14.04 x64'e dayanmaktadır. Diğer sürümler için geçerli olmayabilir. (Güncelleme: Bu gönderideki bilgilerin Ubuntu Server 24.04'te de temelde geçerli ve işlevsel olduğunu doğrulayabilirim, ancak aradan geçen 10 yılda ufw, yaygın sunucu uygulamaları için profiller oluşturarak (örneğin, 80 ve 443 portlarını ayrı ayrı etkinleştirmek yerine "Nginx full" seçeneğini etkinleştirebilirsiniz) biraz daha "akıllı" hale geldi ve yeni kuralların uygulanması için tüm güvenlik duvarını devre dışı bırakmak/etkinleştirmek artık gerekli değil.)

GNU/Linux (Ubuntu) sunucularıyla ilk başladığımda, güvenlik duvarı kurmak, iptables için potansiyel olarak karmaşık bir yapılandırma dosyasını manuel olarak oluşturmayı ve sürdürmeyi gerektiriyordu. Ancak, yakın zamanda Uncomplicated Firewall'ın kısaltması olan ufw'yi keşfettim ve gerçekten de öyle :-)

Ubuntu Server 14.04 kurulumumda ufw zaten yüklüydü, ancak sizinkinde yüklü değilse, depolardan yüklemeniz yeterli:

sudo apt-get install ufw

UFW aslında sadece iptables yapılandırmasını basitleştiren bir araçtır; arka planda filtrelemeyi hala iptables ve Linux çekirdeği güvenlik duvarı yapar, bu nedenle ufw bunlardan daha az veya daha güvenli değildir. Bununla birlikte, ufw bir güvenlik duvarını doğru şekilde yapılandırmayı çok daha kolay hale getirdiği için, insan hatası riskini azaltabilir ve bu nedenle deneyimsiz yöneticiler için muhtemelen daha güvenlidir.

Sunucunuz hem IPv6 hem de IPv4 ile yapılandırılmışsa, UFW için de bunun etkinleştirildiğinden emin olun. /etc/default/ufw dosyasını düzenleyin ve IPV6=yes yazan satırı arayın. Benim kurulumumda zaten vardı, ancak yoksa veya hayır yazıyorsa, düzenlemeniz gerekir.

Ardından, komut istemini kullanarak açmak istediğiniz portları etkinleştirmeniz yeterlidir. Sunucunuza SSH üzerinden bağlıysanız, bunu da etkinleştirdiğinizden emin olun, aksi takdirde bağlantınız kesilebilir ve etkinleştirdiğinizde sunucunuza erişiminiz engellenebilir – sunucuya fiziksel erişiminiz olup olmadığına bağlı olarak bu biraz rahatsız edici olabilir ;-)

Örneğin, standart 22 numaralı portta SSH kullanıyorsanız ve hem şifrelenmemiş (80 numaralı portta HTTP) hem de şifrelenmiş (443 numaralı portta HTTPS) bağlantıları destekleyen bir web sunucusu yapılandırıyorsanız, ufw'yi yapılandırmak için aşağıdaki komutları vermeniz gerekir:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Daha fazla kurala ihtiyacınız varsa, yukarıdaki gibi eklemeniz yeterlidir.

Statik bir IP adresiniz varsa ve yalnızca tek bir konumdan SSH üzerinden bağlantı kurmanız gerekiyorsa, SSH bağlantılarını şu şekilde tek bir kaynak adresine kısıtlayabilirsiniz:

sudo ufw allow from 192.168.0.1 to any port 22

Elbette, bunun yerine kendi IP adresinizi girin.

İşlem tamamlandığında, aşağıdaki komutu girerek ufw'yi etkinleştirin:

sudo ufw enable

Ve işlem tamam! Güvenlik duvarı çalışıyor ve sunucunuzu yeniden başlattığınızda otomatik olarak başlayacak :-)

Ufw yapılandırmasında değişiklikler yaparsanız, bunların geçerli olması için onu devre dışı bırakıp tekrar etkinleştirmeniz gerekebilir, örneğin:

sudo ufw disable
sudo ufw enable

Mevcut yapılandırmayı görüntülemek için aşağıdaki komutu girmeniz yeterlidir:

sudo ufw status

Eğer ufw etkinleştirilmemişse, bu sadece "aktif değil" mesajını gösterecektir; aksi takdirde, şu anda tanımlanmış kuralları listeleyecektir.

Bluesky'de paylaşFacebook'ta paylaşLinkedIn'de paylaşTumblr'da paylaşX'te paylaşLinkedIn'de paylaşPinterest'e Pinleyin

Mikkel Christensen

Yazar Hakkında

Mikkel Christensen
Mikkel miklix.com'un yaratıcısı ve sahibidir. Profesyonel bilgisayar programcısı/yazılım geliştiricisi olarak 20 yılı aşkın deneyime sahiptir ve şu anda büyük bir Avrupa BT şirketinde tam zamanlı olarak çalışmaktadır. Blog yazmadığı zamanlarda, boş zamanlarını çok çeşitli ilgi alanları, hobiler ve aktivitelerle geçirmektedir ve bu da bir dereceye kadar bu web sitesinde kapsanan konuların çeşitliliğine yansıyabilir.