Ubuntu sunucularında güvenlik, her sistem yöneticisinin öncelikli sorumluluğudur.
Ubuntu sunucularında güvenlik, her sistem yöneticisinin öncelikli sorumluluğudur. Firewall konfigürasyonu, yetkisiz erişimleri engelleyerek sunucunuzu korumanın temel yollarından biridir. Ubuntu’da varsayılan olarak sunulan Uncomplicated Firewall (UFW), iptables’in karmaşıklığını ortadan kaldıran kullanıcı dostu bir arayüz sunar. Bu makalede, Ubuntu sunucunuz için özel bir firewall scripti oluşturma sürecini adım adım ele alacağız. Bu script, UFW’yi otomatik olarak kuracak, yaygın servisler için kurallar tanımlayacak ve sistemi güvenli hale getirecektir. Kurumsal ortamlar için ideal olan bu yaklaşım, manuel konfigürasyon hatalarını minimize eder ve tekrar kullanılabilirlik sağlar.
UFW, Ubuntu’nun resmi depolarında bulunur ve hızlıca kurulabilir. Öncelikle, sunucunuzun güncel olduğundan emin olun: sudo apt update && sudo apt upgrade -y komutunu çalıştırın. Ardından UFW’yi yükleyin: sudo apt install ufw -y. Bu işlem, firewall motorunu etkinleştirir ve temel komutları kullanıma hazır hale getirir. UFW’nin varsayılan politikası, tüm gelen trafiği reddetmek üzere ayarlanmıştır; bu, sunucunuzu anında daha güvenli kılar.
Temel yapılandırma için SSH erişimini korumayı unutmayın. sudo ufw allow OpenSSH veya sudo ufw allow 22/tcp ile SSH portunu açın. Firewall’u etkinleştirmek için sudo ufw enable komutunu kullanın; sistem yeniden başlatıldığında otomatik olarak çalışacaktır. Durumu kontrol etmek adına sudo ufw status verbose komutunu öneririz. Bu komut, logging seviyesini, varsayılan politikaları ve aktif kuralları gösterir. Kurumsal sunucularda, logging’i etkinleştirmek (sudo ufw logging on) izlenebilirlik sağlar ve olası saldırı girişimlerini syslog dosyalarında kaydeder.
Manuel komutlar yerine bir bash scripti hazırlamak, birden fazla sunucuda tutarlı konfigürasyon sağlar. Scripti /usr/local/bin/firewall-setup.sh yoluna kaydedin ve chmod +x ile çalıştırılabilir hale getirin. Script, parametrelerle esneklik kazanmalı; örneğin, HTTP/HTTPS için web sunucusu kuralları ekleyebilir. Başlangıçta UFW durumunu kontrol edin ve gerekirse sıfırlayın: ufw --force reset.
Script, shebang ile başlar: #!/bin/bash. Root yetkisi kontrolü ekleyin: if [[ $EUID -ne 0 ]]; then echo "Root gerekli"; exit 1; fi. Ardından UFW’yi yükleyin ve SSH kuralını ekleyin. Web servisleri için ufw allow 80/tcp ve ufw allow 443/tcp gibi komutlar zincirleyin. Varsayılan politikaları ayarlayın: ufw default deny incoming ve ufw default allow outgoing. Son olarak, enable edin ve durumu loglayın. Bu yapı, scripti modüler kılar; fonksiyonlar halinde ayırarak bakımını kolaylaştırır.
Aşağıdaki örnek script, temel bir kurumsal setup için uygundur. Parametre olarak web_enable alabilir:
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "Lütfen root olarak çalıştırın."
exit 1
fi
apt update && apt install ufw -y
ufw --force reset
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
if [[ "$1" == "web" ]]; then
ufw allow 80/tcp
ufw allow 443/tcp
fi
ufw --force enable
ufw status verbose
Bu scripti sudo ./firewall-setup.sh web ile çalıştırarak HTTP/HTTPS’i açabilirsiniz. Hata yönetimi için trap komutları ekleyin, örneğin trap 'echo Hata oluştu' ERR.
Scripti test etmek için yeni bir Ubuntu sunucusu (örneğin 22.04 LTS) kurun ve çalıştırın. Uygulama sonrası ufw status numbered ile kuralları listeleyin; gereksizleri ufw delete 2 ile silin. Kurumsal ortamda, scripti Ansible veya cron job ile otomatize edin. Günlük logları /var/log/ufw.log dosyasından inceleyin; fail2ban entegrasyonu ile brute-force saldırılarını engelleyin.
Test sürecinde, harici bir makineden telnet veya nmap ile port taraması yapın: nmap -p 1-1000 sunucu_ip. Yalnızca izin verilen portların açık olduğunu doğrulayın. İç ağ trafiği için rate limiting ekleyin: ufw limit OpenSSH. Bu, saatte 6’tan fazla bağlantıyı engeller ve DDoS benzeri saldırıları yavaşlatır. Script sonrası yeniden başlatma testi yapın; UFW kalıcı olmalıdır.
Bakım için haftalık cron job kurun: 0 2 * * 0 ufw status >> /var/log/ufw-weekly.log. Yeni servis eklerken scripti güncelleyin ve versiyon kontrolü yapın (Git önerilir). Güvenlik yamalarını takip edin; UFW’nin kararlı sürümlerini tercih edin. Bu yaklaşımla, firewall konfigürasyonunuz proaktif ve ölçeklenebilir kalır.
Bu rehberle, Ubuntu sunucularınızda profesyonel bir firewall scripti implement edebilirsiniz. Düzenli testler ve güncellemelerle güvenliğinizi maksimize edin; unutmayın, güvenlik sürekli bir süreçtir. Uygulamaya hemen başlayarak sunucularınızı riske atmayın.