Linux sunucularının güvenliği, siber tehditlerin ve yetkisiz erişimlerin önüne geçmek için büyük önem taşır. Güvenlik duvarları (firewall), ağ trafiğini yöneterek yalnızca belirli bağlantılara izin verir ve şüpheli erişimleri engeller. Linux’ta en yaygın kullanılan güvenlik duvarı araçları iptables ve UFW (Uncomplicated Firewall) gibi yazılımlardır.
Ardından, UFW’yi etkinleştirin:
Mevcut durumunu kontrol etmek için:
Mevcut kuralları görüntülemek için:
Eğer birden fazla sunucu yönetiyorsanız, güvenlik politikalarınızı merkezileştirmek için Ansible veya FirewallD gibi araçları da değerlendirebilirsiniz.
1. Güvenlik Duvarı Nedir ve Neden Kullanılmalıdır?
Güvenlik duvarı, sunucunuza gelen ve giden ağ trafiğini kontrol eden bir sistemdir. Özellikle şu nedenlerle güvenlik duvarı kullanımı kritik öneme sahiptir:- Yetkisiz erişimleri önler.
- Sunucunun saldırılara karşı savunmasını güçlendirir.
- Belirli IP adreslerini ve portları kısıtlayarak güvenliği artırır.
- Zararlı trafiği filtreleyerek ağ performansını iyileştirir.
2. Linux’ta Güvenlik Duvarı Seçenekleri
Linux işletim sistemlerinde en yaygın kullanılan güvenlik duvarı araçları şunlardır:- iptables: Geleneksel ve güçlü bir güvenlik duvarı aracıdır. Manuel kurallar tanımlayarak detaylı güvenlik ayarları yapabilirsiniz.
- UFW (Uncomplicated Firewall): iptables’ı daha kolay yönetmek için geliştirilmiş bir arayüzdür. Kullanıcı dostu yapısı nedeniyle tercih edilir.
- firewalld: Red Hat tabanlı sistemlerde (CentOS, RHEL, Fedora) kullanılan dinamik güvenlik duvarı yönetim aracıdır.
3. UFW ile Güvenlik Duvarı Yapılandırması
UFW, özellikle Ubuntu ve Debian tabanlı sistemlerde yaygın olarak kullanılır.3.1. UFW’yi Kurma ve Etkinleştirme
Öncelikle, UFW’nin sisteminizde yüklü olup olmadığını kontrol edin. Eğer yüklü değilse, şu komutla yükleyebilirsiniz:
Bash:
sudo apt update
sudo apt install ufw -y
Bash:
sudo ufw enable
Bash:
sudo ufw status verbose
3.2. Temel UFW Kuralları
- Belirli bir portu açma: (Örneğin, SSH için 22 numaralı port)
Bash:sudo ufw allow 22/tcp
- HTTP (80) ve HTTPS (443) trafiğini açma:
Bash:sudo ufw allow 80/tcp sudo ufw allow 443/tcp
- Belirli bir IP adresine izin verme:
Bash:sudo ufw allow from 192.168.1.100
- Belirli bir portu kapatma:
Bash:sudo ufw deny 3306/tcp
- Tüm bağlantıları engelleme (önemli işlemlerden önce dikkat edilmelidir):
Bash:sudo ufw default deny incoming sudo ufw default deny outgoing
Bash:
sudo ufw reload
4. iptables ile Güvenlik Duvarı Yapılandırması
iptables, Linux’ta ağ trafiğini denetlemek için kullanılan güçlü bir güvenlik duvarı aracıdır. Daha karmaşık ve esnek güvenlik kuralları oluşturmak için idealdir.4.1. iptables Kurulumu
Bazı sistemlerde iptables varsayılan olarak kurulu gelmeyebilir. Yüklemek için:
Bash:
sudo apt install iptables -y # Debian/Ubuntu
sudo yum install iptables -y # CentOS/RHEL
Bash:
sudo iptables -L -v
4.2. Temel iptables Kuralları
- SSH bağlantılarını açma (22 numaralı port)
Bash:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Web sunucusu için HTTP ve HTTPS trafiğini açma
Bash:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Belirli bir IP adresinden gelen trafiğe izin verme
Bash:sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
- Tüm gelen bağlantıları reddetme (Dikkatli kullanın!)
Bash:sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
- Kuralları kaydetme
iptables ayarları yeniden başlatıldığında sıfırlanır. Kalıcı hale getirmek için:
Bash:sudo iptables-save > /etc/iptables.rules
Bash:sudo iptables-restore < /etc/iptables.rules
5. Güvenlik Duvarı Yapılandırmasında Dikkat Edilmesi Gerekenler
- SSH bağlantısını engellememek için dikkatli olun. Yanlış yapılandırma, sunucuya erişiminizi kaybetmenize neden olabilir.
- Önce test ortamında değişiklik yapın. Üretim ortamında anlık değişiklikler sorunlara yol açabilir.
- Düzenli olarak güvenlik duvarı kurallarınızı gözden geçirin ve güncelleyin.
- Günlükleri kontrol ederek şüpheli aktiviteleri takip edin:
Bash:sudo ufw logging on sudo journalctl -u ufw --no-pager
Eğer birden fazla sunucu yönetiyorsanız, güvenlik politikalarınızı merkezileştirmek için Ansible veya FirewallD gibi araçları da değerlendirebilirsiniz.