1. `iptables` ile Güvenlik Duvarı Konfigürasyonu
Linux sunucularındaki güvenliği artırmanın ilk yolu, trafiği denetlemek için güçlü bir güvenlik duvarı kullanmaktır. `iptables`, Linux'ta en yaygın kullanılan güvenlik duvarı aracıdır. Bu komut sayesinde belirli IP adreslerinden gelen bağlantıları engelleyebilir veya sadece belirli portları açarak trafiği sınırlayabilirsiniz.
Örnek:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -j DROP
Bu komutlar, yalnızca SSH (22. port) ve HTTP (80. port) trafiğini kabul eder ve geri kalan tüm bağlantıları engeller.
2. `fail2ban` ile Brute Force Saldırılarına Karşı Koruma
Birçok sunucu, zayıf şifrelerle yapılan brute force saldırılarına karşı savunmasızdır. `fail2ban` komutu, başarısız oturum açma girişimlerini izler ve belirli bir sayıya ulaşan IP adreslerini otomatik olarak engeller. Bu komut sayesinde, saldırganların sürekli denemeleri engellenir.
Örnek:
sudo apt-get install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
3. `chmod` ile Dosya İzinlerini Sıkılaştırmak
Sunucu güvenliğinin en kritik unsurlarından biri, dosya izinleridir. Yanlış dosya izinleri, kötü niyetli kullanıcıların sisteminize zarar vermesine yol açabilir. `chmod` komutu, dosya ve dizin izinlerini değiştirmenizi sağlar.
Örnek:
chmod 700 /path/to/important_file
chmod 755 /path/to/important_folder
Bu komutlarla, yalnızca belirli kullanıcıların dosya ve dizinlere erişmesini sağlayabilirsiniz.
4. `ssh` ile Güvenli Bağlantı Sağlamak
Sunucuya bağlanırken, parolayla giriş yapmak yerine SSH anahtarları kullanmak, güvenliği önemli ölçüde artırır. Bu yöntem, kimlik doğrulama sürecini daha güvenli hale getirir.
Örnek:
ssh-keygen -t rsa -b 2048
ssh-copy-id user@hostname
5. `chroot` ile İzolasyon Sağlamak
Sunucunuzda çalışan uygulamaları izole etmek, güvenliği artırmanın harika bir yoludur. `chroot`, belirli bir kullanıcı veya uygulamanın yalnızca belirli bir dizinde çalışmasını sağlar. Bu, sistemdeki geri kalan kısmın güvende kalmasına yardımcı olur.
Örnek:
sudo chroot /var/www/website
6. `ufw` ile Basit Güvenlik Duvarı Yönetimi
Linux'ta bir diğer güvenlik duvarı aracı `ufw` (Uncomplicated Firewall) ile, ağ trafiğini yönetmek oldukça basittir. Özellikle yeni başlayanlar için kullanımı çok daha kolay olan `ufw`, temel güvenlik duvarı yönetimini sağlar.
Örnek:
sudo ufw enable
sudo ufw allow 22
sudo ufw deny 80
7. `auditd` ile Sistem Olaylarını İzlemek
Linux sunucularınızda neler olup bittiğini takip etmek için `auditd` kullanabilirsiniz. Bu komut, sistemdeki tüm kritik işlemleri kaydeder ve logları düzenli olarak kontrol ederek potansiyel tehditleri erken tespit edebilirsiniz.
Örnek:
sudo apt-get install auditd
sudo auditctl -w /etc/passwd -p wa
Bu komut, `/etc/passwd` dosyasındaki tüm değişiklikleri izler ve kaydeder.
Sonuç
Linux sunucularındaki güvenlik, sadece birkaç komutla sağlanamaz; ancak bu ileri seviye komutları kullanarak güvenliği büyük ölçüde artırabilirsiniz. Sunucunuzda doğru yapılandırmalarla, potansiyel tehditleri önceden engelleyebilir ve önemli verilerinizi koruyabilirsiniz. Unutmayın, güvenlik bir süreçtir ve sürekli güncel kalmak gerekir.