Linux & Open Source

Kaleyi Güçlendirmek: Linux Sunucu Güvenliği ve Zorlaması İçin Kapsamlı Bir Rehber

Altyapı olarak kod ve bulut-native geliştirme dünyasında sunucu artık sadece bir makine değil; uygulamanızın bütünlüğünün temelidir. Ancak varsayılan bir Linux kurulumu, kutudan çıkar çıkmaz nadiren güvenlidir. Uyumluluk ve kolay kullanım için tasarlanmıştır, sürekli otomatik bot saldırılarına ve yetenekli saldırganlara karşı savunma yapmak için değil. Bu gönderi, temel parola korumasının ötesine geçerek sağlam bir derinlemesine savunma stratejisine ulaşan Linux ortamınızı güvence altına alma çok katmanlı yaklaşımını inceler.

Savunmanın İlk Hattı: SSH Zorlaması

Güvenli Kabuk (SSH), saldırganların açmaya çalıştığı ilk kapıdır. Varsayılan yapılandırmalar ünlü derecede güvensizdir ve 22 numaralı bağlantı noktasını kaba kuvvet (brute-force) denemelerine açık bırakır. SSH'yi zorlamak için erişim yöntemlerini kısıtlamamız ve maruziyeti azaltmamız gerekir.

Yönetici (root) oturum açmasını ve taban tabanlı kimlik doğrulamayı devre dışı bırakarak başlayın. Bunun yerine, kırılması katlanarak daha zor olan SSH anahtar çiftlerine güvenin. /etc/ssh/sshd_config dosyanızı aşağıdaki yönergelerle güncelleyin:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers deployer admin

Bu değişiklikleri yaptıktan sonra SSH hizmetini yeniden başlatın. Mevcut oturumunuzu kapatmadan önce, yeni anahtarınızla giriş yapabildiğinizden emin olun; aksi takdirde kilitlenmiş kalabilirsiniz. Ayrıca, otomatik tarayıcılardan kaynaklanan gürültüyü azaltmak için varsayılan SSH bağlantı noktasını standart olmayan yüksek bir sayıya değiştirmeyi düşünün.

Bağlama Dayalı Erişim Kontrolü: SELinux ve AppArmor

Apache veya Nginx gibi bir uygulamadaki bir güvenlik açığı istismar edildiğinde, saldırgan genellikle bu hizmetin ayrıcalıklarına erişir. SELinux (Red Hat tabanlı) ve AppArmor (Debian tabanlı) gibi Zorunlu Erişim Kontrolü (MAC) sistemleri, programları sınırlı bir kaynak kümesine hapsederek bunu önler.

SELinux üç modda çalışır: Uygulayan (Enforcing), İzleyen (Permissive) ve Devre Dışı (Disabled). Gerçek bir güvenlik istiyorsanız SELinux'u asla devre dışı modda çalıştırmayın. Uygulayan modda, yetkisiz erişimi aktif olarak engeller. Hata ayıklama konusunda endişeli geliştiriciler için audit2allow gibi araçlar, yanlışlıkla işaretlenen meşru işlemler için politika modülleri oluşturmaya yardımcı olabilir.

# Mevcut durumu kontrol et
sestatus

# Engellenen erişim günlüklerini görüntüle
sudo ausearch -m avc -ts recent

AppArmor genellikle yapılandırmak daha kolay olsa da, SELinux daha ince taneli kontrol sunar. Dağıtımınıza ve ekip uzmanlığınıza uygun olanı seçin, ancak aktif olduğundan emin olun.

Ağ Sınırı: Güvenlik Duvarları ve Saldırı Önleme

Güvenlik duvarınız kapıcı görevi görür. iptables, nftables veya ufw (Basitleştirilmiş Güvenlik Duvarı) gibi daha yüksek seviyeli bir araç kullanıyor olun, prensip aynıdır: Yalnızca gerekli olanları beyaz listeye alın. Varsayılan olarak tüm gelen trafiği engelleyin ve yalnızca 22 (SSH), 80 (HTTP) ve 443 (HTTPS) bağlantı noktalarına izin verin.

Bununla birlikte, iyi yapılandırılmış bir güvenlik duvarı bile, zayıf bir parola kullanan kötü niyetli bir aktörden gelen geçerli bir isteği durduramaz. İşte burada Fail2ban devreye girer. Fail2ban, tekrarlanan başarısız oturum açma girişimlerini günlük dosyalarında izler ve sorumlu IP adreslerini geçici olarak yasaklar. Kaba kuvvet saldırılarını hafifletmek için vazgeçilmez bir araçtır.

sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status sshd

Görünürlük ve Uyumluluk: Denetim

Göremediğiniz bir şeyi güvence altına alamazsınız. Linux Denetim Çerçevesi, sistem çağrılarını, dosya erişimlerini ve kullanıcı komutlarını izlemek için güçlü bir yol sağlar. Denetim kurallarını yapılandırarak, bir web sunucusu işleminin /etc/passwd dosyasına yazmaya çalışması gibi anormallikleri tespit edebilirsiniz.

Denetim çabalarınızı /etc, /var/log ve /root gibi kritik dizinlere odaklayın. Saldırganlar yerel günlüklere erişim sağlarsa bunlarla oynamalarını önlemek için denetim günlüklerinin merkezi bir günlük sunucusuna iletildiğinden emin olun.

Sistem Zorlaması: Son Katman

Son olarak, genel sistem zorlama uygulamalarını hayata geçirin. Bu, çekirdeğinizi ve paketlerinizi güncel tutmayı, gereksiz hizmetleri kaldırmayı ve passwd ve PAM yapılandırmaları aracılığıyla güçlü parola politikalarını zorlamayı içerir. Yalnızca veya aşırı ayrıcalıklara sahip olmayan kullanıcı hesapları olduğundan emin olmak için kullanıcı hesaplarını düzenli olarak gözden geçirin.

Sonuç

Sunucu güvenliği tek seferlik bir kurulum değildir; sürekli bir süreçtir. SSH zorlaması, SELinux gibi MAC sistemleri, sıkı güvenlik duvarı kuralları, Fail2ban ile otomatik saldırı önleme ve kapsamlı denetimi birleştirerek, hem yaygın hem de sofistike saldırılara dayanabilen dayanıklı bir ortam yaratırsınız. Linux sunucunuza hak ettiği saygıyı gösterin, uygulamalarınız da buna uyacaktır.

Share: