- 1. Ubuntu Sunucuda Güvenlik Duvarı (UFW) Ayarları Nedir?
- 2. Ubuntu Sunucuda Güvenlik Duvarı (UFW) Ayarları Nasıl Yapılır?
- 2.1. UFW durumunu kontrol et
- 2.2. UFW kurulu mu, değilse yükle
- 2.3. Varsayılan politikaları ayarla (Tavsiye edilen)
- 2.4. SSH bağlantısını kaybetmemek için SSH portunu aç
- 2.5. Web sunucusu portlarını aç (HTTP/HTTPS)
- 2.6. Gerekiyorsa diğer portları tanımla
- 2.7. UFW’yi etkinleştir
- 2.8. Mevcut kuralları ve durumu görüntüle
- 2.9. Belirli bir portu kapat (kural sil)
- 2.10. UFW’yi geçici olarak devre dışı bırak
- 2.11. Loglama (kayıt) ayarını aç
- 3. Gerekli Şartlar / Bilinmesi Gerekenler
Bu rehber Ubuntu sunucularında temel seviye güvenlik için UFW kullanarak hızlı ve güvenli bir başlangıç yapmanızı sağlar. Adım adım gerekli kuralların nasıl belirleneceğini, öncelikli olarak hangi portların açılması gerektiğini ve sunucuyu uzaktan erişim kaybetmeden nasıl aktif hale getireceğinizi anlatır.
Hedef, gereksiz trafiği engelleyip yalnızca ihtiyaç duyulan servisleri izin vererek saldırı yüzeyini azaltmaktır; rehberdeki komutlar ve önerilerle sunucunuz temel düzeyde korunmuş olur.
Ubuntu Sunucuda Güvenlik Duvarı (UFW) Ayarları Nedir?
UFW (Uncomplicated Firewall), Ubuntu sunucuda iptables kurallarını kolay komutlarla yönetmeni sağlayan basit bir güvenlik duvarı aracıdır.
Temel işi:
- İstediğin portları açmanı (HTTP, HTTPS, SSH vb.)
- Gereksiz veya tehlikeli gördüğün portları kapatmanı
- Gelen/giden trafiği IP, port ve protokole göre filtrelemeni
UFW, Ubuntu’da varsayılan güvenlik duvarı çözümüdür ve çoğu sunucu için iptables ile uğraşmadan hızlı kurulum imkanı sağlar. Daha fazla teknik detay için resmi Ubuntu dokümantasyonuna bak: Ubuntu UFW Dokümanı.
Daha kapsamlı sunucu konuları için Sunucu Yönetimi kategorisindeki diğer yazılarımıza da göz atın.
Ubuntu Sunucuda Güvenlik Duvarı (UFW) Ayarları Nasıl Yapılır?
Aşağıdaki adımları sırayla uygula. Tüm komutları sudo yetkisi ile terminalde çalıştır.
UFW durumunu kontrol et
Önce UFW aktif mi değil mi bak:
sudo ufw status verbose
Çıktıda inactive görüyorsan henüz etkin değil demektir.
UFW kurulu mu, değilse yükle
Yeni Ubuntu sürümlerinde genelde yüklü gelir. Yüklü değilse:
sudo apt update && sudo apt install ufw -y
Varsayılan politikaları ayarla (Tavsiye edilen)
Gelen trafiği varsayılan olarak engelle, giden trafiğe izin ver:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Bu ayardan sonra tek tek izin verdiğin portlar dışında hiçbir bağlantı içeri giremez.
SSH bağlantısını kaybetmemek için SSH portunu aç
Sunucuya SSH ile bağlıysan önce SSH’a izin ver, yoksa UFW aktif olduğunda bağlantıyı kesersin.
Varsayılan SSH portu (22) için:
sudo ufw allow ssh
SSH farklı portta ise örneğin 2222:
sudo ufw allow 2222/tcp
Web sunucusu portlarını aç (HTTP/HTTPS)
Apache/Nginx gibi bir web sunucun varsa aşağıdaki portları aç:
HTTP (80):
sudo ufw allow 80/tcp
HTTPS (443):
sudo ufw allow 443/tcp
İstersen servis adlarıyla da açabilirsin:
sudo ufw allow "Apache Full"
veya
sudo ufw allow "Nginx Full"
Gerekiyorsa diğer portları tanımla
Örnek yaygın portlar:
| Servis | Port | Komut |
|---|---|---|
| MySQL | 3306 | sudo ufw allow 3306/tcp |
| PostgreSQL | 5432 | sudo ufw allow 5432/tcp |
| FTP | 21 | sudo ufw allow 21/tcp |
| DNS | 53 | sudo ufw allow 53 |
Güvenlik için veritabanı portlarını mümkünse sadece belirli IP’lere aç:
sudo ufw allow from 1.2.3.4 to any port 3306 proto tcp
UFW’yi etkinleştir
Gerekli port izinlerini verdikten sonra UFW’yi aktif et:
sudo ufw enable
“Command may disrupt existing ssh connections” uyarısı çıkarsa, SSH portunu açtığından eminsen y yaz ve devam et.
Mevcut kuralları ve durumu görüntüle
Tanımlı portları ve durumu görmek için:
sudo ufw status numbered
numbered parametresi, her kurala numara verir; silme işlemlerinde işini kolaylaştırır.
Belirli bir portu kapat (kural sil)
Artık kullanılmayan bir portu kapatmak için önce numarasına bak:
sudo ufw status numbered
Örneğin 3 numaralı kuralı silmek için:
sudo ufw delete 3
Veya doğrudan kuralı hedefleyebilirsin:
sudo ufw deny 21/tcp
UFW’yi geçici olarak devre dışı bırak
Test için tüm kuralları geçici olarak kapatmak istersen:
sudo ufw disable
Tekrar açmak için:
sudo ufw enable
Loglama (kayıt) ayarını aç
Daha sonra analiz etmek için UFW loglarını aktif et:
sudo ufw logging on
Loglar genelde /var/log/ufw.log veya syslog üzerinden izlenir.
Gerekli Şartlar / Bilinmesi Gerekenler
- Sunucuda sudo yetkisine sahip bir kullanıcıyla işlem yapmalısın.
- UFW’yi etkinleştirmeden önce mutlaka SSH portuna izin ver. Aksi durumda sunucuya uzaktan erişimi kaybedebilirsin.
- Üretim ortamında sadece gerçekten kullandığın minimum port setini açık bırak. Gereksiz her port saldırı yüzeyini artırır.
- Veritabanı ve yönetim panelleri gibi kritik servisleri, mümkünse sadece belirli IP adreslerine aç.
- Varsayılan politikayı deny incoming tut, sadece gereken portları allow ile aç.
- Firewall değişikliklerinden sonra, uygulamalarının çalıştığından emin olmak için bağlantı testleri yap (curl, telnet, nc gibi araçlarla).
- Sunucu üzerinde başka bir güvenlik duvarı (cloud firewall, panel firewall) kullanıyorsan, kuralların birbiriyle çakışmadığından emin ol.
- Güvenlik sadece UFW ile bitmez; mutlaka düzenli güncelleme, güçlü şifre/SSH key ve izleme araçlarıyla destekle.