VPS Sunucuda Firewall Kuralları Nasıl Yapılandırılır

VPS’te firewall kurallarını varsayılan reddet ilkesiyle nasıl yapılandıracağınızı, SSH erişimini kaybetmeden güvenli test yöntemlerini adım adım öğrenirsiniz.

Yazı boyutu
VPS Sunucuda Firewall Kuralları Nasıl Yapılandırılır

Fotoğraf: cottonbro studio / Pexels

Bir bakışta

  • Firewall, VPS'e gelen ve giden trafiği kurallarla süzerek gereksiz portları kapalı tutar.
  • Varsayılan reddet ilkesiyle yalnızca SSH, HTTP ve HTTPS gibi gerekli servisler açılmalıdır.
  • Kuralları uygularken mevcut SSH oturumunu kapatmadan test etmek erişimi kaybetmeyi önler.

Firewall Nedir ve VPS Güvenliğinde Neden Bu Kadar Önemlidir?

Bir VPS satın aldığınız andan itibaren o sunucu, kamuya açık bir IP adresiyle internete bağlanır. Bu da sunucunuzun yalnızca sizin ziyaretçileriniz tarafından değil, sürekli olarak otomatik tarama araçları ve botlar tarafından da "yoklandığı" anlamına gelir. Bu botlar açık portları bulmaya, zayıf parolalı servisleri tespit etmeye ve bilinen güvenlik açıklarını istismar etmeye çalışır.

Firewall (güvenlik duvarı), sunucunuza gelen ve sunucunuzdan giden ağ trafiğini belirlediğiniz kurallara göre süzen bir mekanizmadır. Basitçe söylemek gerekirse, hangi kapının açık, hangisinin kapalı olacağına karar veren bir kapıcı gibi düşünülebilir. Bir port için kural tanımlamadıysanız ve o port üzerinde çalışan bir servis yoksa risk düşüktür; ama arka planda çalışan, sizin haberdar olmadığınız bir servis varsa, firewall olmadan bu servis dışarıya açık kalabilir.

Burada önemli bir noktayı baştan netleştirmek gerekir: Firewall tek başına sihirli bir koruma katmanı değildir. Güçlü parolalar, güncel yazılımlar, düzenli yedekleme ve diğer önlemlerle birlikte çalışan, genel güvenlik stratejisinin sadece bir parçasıdır. Ama yine de en temel ve en erken uygulanması gereken adımlardan biridir.

Yaygın Firewall Araçlarına Genel Bakış: iptables, ufw, firewalld

Linux tabanlı VPS'lerde karşınıza çıkabilecek üç yaygın araç vardır:

iptables, Linux çekirdeğindeki netfilter alt sistemini doğrudan yöneten, oldukça eski ve güçlü bir araçtır. Esneklik açısından üstündür ama komut sözdizimi yeni başlayanlar için karmaşık gelebilir. Zincirler (chain), tablolar ve hedefler gibi kavramları anlamak zaman alabilir.

ufw (Uncomplicated Firewall), adından da anlaşılacağı gibi iptables'ın karmaşıklığını basitleştirmek için tasarlanmıştır. Ubuntu ve Debian tabanlı dağıtımlarda yaygın olarak bulunur veya kolayca kurulabilir. "İzin ver", "reddet" gibi anlaşılır komutlarla çalışır.

firewalld ise özellikle CentOS, RHEL ve Fedora gibi dağıtımlarda öne çıkan, "zone" (bölge) tabanlı bir yaklaşım sunar. Farklı ağ arayüzlerini farklı güven seviyelerine atayabilir ve kuralları anlık olarak (servisi yeniden başlatmadan) uygulayabilir.

Yeni başlayanlar için genel tavsiye şudur: Sunucunuzun dağıtımında hangi araç varsayılan olarak geliyorsa veya topluluk desteği açısından hangisi daha yaygınsa onunla başlamak, öğrenme sürecini kolaylaştırır. Ubuntu/Debian kullanıcıları genellikle ufw ile, CentOS/RHEL kullanıcıları ise firewalld ile daha rahat ilerler. iptables bilgisi ise her ikisinin de arka planında ne olduğunu anlamak için faydalıdır.

Temel Mantık: Varsayılan Reddet, Sadece Gerekeni Aç

Firewall yapılandırmasının temel felsefesi "varsayılan olarak reddet, yalnızca gerekli olanı aç" (deny by default) prensibidir. Yani:

  • Gelen (incoming) trafik için varsayılan politika reddetme olmalıdır.
  • Giden (outgoing) trafik genellikle serbest bırakılır, çünkü sunucunuzun güncelleme indirmesi, dış API'lere istek atması gibi işlemler için kısıtlama genelde gerekmez (ileri düzey senaryolarda giden trafik de sınırlanabilir).
  • Yalnızca gerçekten ihtiyaç duyduğunuz servisler için port açılır: SSH (uzaktan yönetim için), HTTP ve HTTPS (bir web sitesi barındırıyorsanız).

Bu yaklaşımın mantığı basittir: Kullanmadığınız bir servisin portu asla açık olmamalıdır. Örneğin sunucunuzda çalışan ama sizin haberiniz olmayan bir veritabanı servisi varsa, bu servisin portunu dışarıya kapalı tutmak, olası bir saldırı yüzeyini ortadan kaldırır. "Belki ileride lazım olur" düşüncesiyle port açmak, güvenlik açısından önerilmez.

Adım Adım Temel Kural Seti Oluşturma

ufw ile genel akış şu şekilde ilerler: Önce varsayılan politikalar belirlenir (gelen trafik reddet, giden trafik izin ver). Ardından SSH, HTTP ve HTTPS gibi ihtiyaç duyulan servisler tek tek izinli hale getirilir. Son olarak firewall etkinleştirilir. Kuralları eklerken servis isimleriyle çalışmak (örneğin "OpenSSH" gibi) mümkün olduğu için, port numaralarını ezbere bilmek zorunda kalmazsınız.

firewalld ile benzer bir kurulum "zone" mantığı üzerinden yapılır. Varsayılan zone genellikle "public" olur ve bu zone'a hangi servislerin (ssh, http, https) dahil edileceği belirlenir. Değişiklikler kalıcı hale getirilip ardından yeniden yüklenir.

iptables ile aynı mantık daha manuel şekilde kurulur: Önce INPUT zincirinin varsayılan politikası DROP olarak ayarlanır, ardından zaten kurulu olan bağlantılara (established/related) izin veren bir kural eklenir, sonra SSH/HTTP/HTTPS portları için ayrı kabul (ACCEPT) kuralları tanımlanır.

Burada kritik bir nokta, kuralların sırasının önemidir. Firewall kuralları genellikle yukarıdan aşağıya, sırayla değerlendirilir ve bir paket ilk uyan kurala göre işlem görür. Bu yüzden geniş kapsamlı bir "reddet" kuralını, spesifik "izin ver" kurallarından önce koymak, o izinlerin hiçbir zaman devreye girmemesine yol açabilir. Araçların çoğu (ufw, firewalld) bu sıralamayı sizin için belli ölçüde yönetse de, iptables ile doğrudan çalışırken sıralamaya dikkat etmek gerekir.

SSH Portunu Değiştirme ve Erişimi Kısıtlama

SSH, VPS'inize uzaktan bağlanmanın standart yoludur ve varsayılan olarak 22 numaralı portu kullanır. Tam da bu yaygınlığı nedeniyle, otomatik tarama botlarının en sık hedeflediği portlardan biridir; sunucunuzu açtığınız andan itibaren bu port üzerinde sürekli deneme-yanılma girişimleriyle karşılaşabilirsiniz.

SSH portunu farklı bir numarayla değiştirmek, güvenlik açığını tamamen kapatmaz; kararlı ve hedefli bir saldırgan farklı portları da tarayabilir. Ancak bu basit önlem, otomatik ve rastgele botların oluşturduğu "gürültüyü" büyük ölçüde azaltır, log dosyalarınızın daha okunabilir kalmasını sağlar.

Daha güçlü bir önlem ise belirli IP adreslerinden erişime izin verme yaklaşımıdır. Eğer sabit (statik) bir IP adresinden bağlanıyorsanız, SSH portuna yalnızca o IP'den gelen bağlantılara izin verip diğer tüm dünyayı reddedebilirsiniz. Bu, güvenlik açısından oldukça etkilidir ama dikkatli uygulanmalıdır: IP adresiniz değişirse (örneğin dinamik IP kullanan bir ev interneti üzerinden bağlanıyorsanız) kendinizi sunucudan dışarıda bırakma riski vardır.

Kuralları Test Ederken Kendinizi Dışarıda Bırakmamak

Firewall yapılandırmasının en riskli anı, kuralları uyguladığınız andır. Yanlış bir kural, SSH erişiminizi bloke edip sunucunuza bir daha normal yoldan bağlanamamanıza yol açabilir. Bunu önlemek için birkaç temel alışkanlık edinmek faydalıdır:

  • Mevcut SSH bağlantınızı kapatmayın. Yeni kuralları uygularken açık olan terminal oturumunuzu kapatmadan, ikinci bir terminal penceresinden yeni bir bağlantı deneyin. Eğer yeni bağlantı başarısız olursa, hâlâ açık olan ilk oturumdan düzeltme yapabilirsiniz.
  • Sağlayıcınızın panelindeki konsol veya VNC erişimini bir güvenlik ağı olarak aklınızda bulundurun. Çoğu VPS sağlayıcısı, SSH dışında tarayıcı üzerinden doğrudan sunucu konsoluna erişim imkanı sunar. SSH ile bağlantınız tamamen kesilse bile bu konsol üzerinden firewall kurallarını düzeltebilirsiniz.
  • Değişiklik öncesi mevcut kuralları not edin veya yedekleyin. Bir sorun çıkması durumunda önceki duruma hızlıca dönebilmek işinizi kolaylaştırır.

Bu adımları atlamak, özellikle ilk kez firewall yapılandıran kullanıcılar için sık karşılaşılan bir hata kaynağıdır.

Kuralları Kalıcı Hale Getirme ve Yeniden Başlatma Sonrası Kontrol

Kuralları doğru şekilde uyguladıktan sonra, bunların sunucu yeniden başlatıldığında da geçerli kalması gerekir. ufw ve firewalld gibi araçlarda, servis etkinleştirildiği ve sistem başlangıcında otomatik çalışacak şekilde ayarlandığı sürece kurallar genellikle kalıcı olarak saklanır ve yeniden başlatma sonrası otomatik olarak yüklenir.

iptables ile doğrudan çalışıyorsanız durum biraz farklıdır: iptables kuralları varsayılan olarak yalnızca çalışma anında (bellekte) geçerlidir ve sunucu yeniden başlatıldığında sıfırlanabilir. Bu nedenle kuralların ayrı bir mekanizmayla kaydedilmesi ve sistem açılışında geri yüklenmesi gerekir.

Hangi aracı kullanırsanız kullanın, önemli bir alışkanlık şudur: Sunucuyu bilinçli olarak yeniden başlattıktan sonra, firewall kurallarınızın hâlâ aktif olup olmadığını kontrol edin. Bu doğrulama adımı, "kurallarım kalıcı sanıyordum ama aslında sıfırlanmış" gibi sürpriz durumların önüne geçer.

Düzenli Gözden Geçirme, Log Kontrolü ve Diğer Güvenlik Katmanları

Firewall kurallarını bir kez oluşturup unutmak, uzun vadede yeterli değildir. Zamanla sunucunuzda yeni servisler kurabilir, bazı servisleri kaldırabilir veya ihtiyaçlarınız değişebilir. Bu nedenle:

  • Firewall loglarını zaman zaman inceleyin. Reddedilen bağlantı denemeleri, hangi portların ne sıklıkla hedef alındığı hakkında fikir verir ve şüpheli örüntüleri fark etmenizi sağlar.
  • Kullanılmayan kuralları ve gereksiz açık portları periyodik olarak temizleyin. Artık kullanmadığınız bir servis için hâlâ açık duran bir port, gereksiz bir risk kaynağıdır.
  • fail2ban gibi tamamlayıcı araçları değerlendirin. Firewall, hangi portların açık olacağını belirlerken; fail2ban gibi araçlar, örneğin SSH'a art arda başarısız giriş denemesi yapan IP adreslerini otomatik olarak geçici veya kalıcı şekilde engelleyerek ek bir koruma katmanı sağlar.
  • Sistem ve yazılım güncellemelerini ihmal etmeyin. Açık bir port üzerinden çalışan servisin kendisinde bilinen bir güvenlik açığı varsa, firewall kuralı doğru olsa bile risk devam eder.

Sonuç olarak firewall, VPS güvenliğinin temel taşlarından biridir ama tek başına yeterli değildir. Varsayılan reddet mantığıyla kurulmuş, yalnızca gerekli portları açan, düzenli olarak gözden geçirilen bir kural seti; güncel yazılımlar, güçlü kimlik doğrulama yöntemleri ve tekrarlayan saldırı denemelerini engelleyen araçlarla birlikte kullanıldığında, sunucunuz için katmanlı ve gerçekçi bir güvenlik yaklaşımı oluşturur.

Vps Hattı Editör Ekibi

Sanal sunucuda güç bul

Tüm yazıları

Sen ne düşünüyorsun?

Yorumlar onaylandıktan sonra yayınlanır. E-posta adresin yayınlanmaz.

Okumaya devam et

Tüm yazılar
Bülten

Haftanın fikirleri, gelen kutunda.

Teknoloji ve daha fazlası için hazırladığımız haftalık özeti kaçırma.