Ubuntu sunucularında SSH erişimini güvence altına almak, modern sistem yöneticilerinin öncelikli görevlerinden biridir.
Ubuntu sunucularında SSH erişimini güvence altına almak, modern sistem yöneticilerinin öncelikli görevlerinden biridir. SSH Two-Factor Authentication (2FA), geleneksel şifre tabanlı kimlik doğrulamasına ek olarak ikinci bir doğrulama katmanı ekleyerek yetkisiz erişimleri büyük ölçüde engeller. Bu yöntem, genellikle bir mobil uygulama üzerinden üretilen geçici kodları kullanır ve brute-force saldırılarına karşı etkili koruma sağlar. Ubuntu sunucularında Google Authenticator gibi araçlarla kolayca uygulanabilir. Bu makalede, adım adım kurulum sürecini inceleyerek sunucunuzu daha güvenli hale getireceğiz. Kurulum, root veya sudo yetkisine sahip kullanıcılar için uygundur ve minimum kesintiyle gerçekleştirilir.
SSH 2FA kurulumuna başlamadan önce sunucunuzun güncel olduğundan emin olun. Bu aşama, sistem kararlılığını sağlar ve olası uyumsuzlukları önler. Terminal üzerinden şu komutları çalıştırın: sudo apt update ve sudo apt upgrade -y. Ardından, Google Authenticator PAM modülünü yükleyin: sudo apt install libpam-google-authenticator -y. Bu paket, OTP (One-Time Password) doğrulamasını SSH ile entegre eder.
Paket yüklendikten sonra, mevcut SSH bağlantınızı koruyun ve yeni bir terminal oturumu açmayın. Sunucu yeniden başlatma gerektirmeyen bu işlem, mevcut yapılandırmaları bozmaz. Yükleme tamamlandıktan sonra, kullanıcı bazında authenticator ayarlarını yapılandıracağız. Bu hazırlık, sonraki adımların sorunsuz ilerlemesini temin eder ve toplam süre yaklaşık 5 dakikayı geçmez. Her adımda logları kontrol edin: sudo tail -f /var/log/auth.log.
Her kullanıcı için ayrı authenticator anahtarı oluşturun. Root veya hedef kullanıcı olarak google-authenticator komutunu çalıştırın. Bu komut, bir QR kod üretir; mobil cihazınıza Google Authenticator, Authy veya benzeri bir uygulama yükleyerek tarayın. Uygulama, 30 saniyede bir yenilenen 6 haneli kodlar gösterecektir. Kurulum sırasında şu soruları yanıtlayın: Zaman tabanlı token’lar için “y”, birden fazla adres için “y”, rate limiting için “y” ve güncelleme için “n”. Oluşan ~/.google_authenticator dosyasını koruyun ve izinlerini ayarlayın: chmod 400 ~/.google_authenticator. Bu dosya, sunucuda saklanır ve mobil kodlarla eşleşir. Test için üretilen acil durum kodlarını not alın; kaybolursa erişim sorunu yaşanabilir.
/etc/ssh/sshd_config dosyasını nano veya vim ile açın: sudo nano /etc/ssh/sshd_config. Aşağıdaki satırları ekleyin veya düzenleyin: ChallengeResponseAuthentication yes, AuthenticationMethods publickey,keyboard-interactive (public key kullanıyorsanız) veya sadece keyboard-interactive. PAM modülünü etkinleştirin: UsePAM yes. Değişiklikleri kaydedin ve SSH servisini yeniden başlatın: sudo systemctl restart ssh. Bu yapılandırma, şifre girdikten sonra OTP sorusu getirir. Public key ile birleştirildiğinde maksimum güvenlik sağlar. Yapılandırma hatası durumunda eski bağlantılarla düzeltin.
Yeni bir terminalden SSH bağlantısı deneyin: ssh kullanıcı@ip-adresi. Şifre girdikten sonra “Verification code:” sorusu gelecektir; mobil uygulamadan kodu girin. Başarılı giriş, 2FA’nın çalıştığını doğrular. Hatalı kodlarda 3 deneme sınırı vardır. Logları inceleyin: grep "google-authenticator" /var/log/auth.log. Sorun yaşarsanız, pamtester ile test edin: pamtester sshd kullanıcı authenticate. Bu adımlar, kurulumun bütünlüğünü teyit eder ve olası sorunları erken tespit eder.
2FA kurulumunu tamamladıktan sonra, ek önlemler alın. Fail2Ban yükleyin: sudo apt install fail2ban -y ve SSH jail’ini etkinleştirin. Bu, tekrarlanan başarısız girişleri IP ban’lar. Ayrıca, root SSH erişimini devre dışı bırakın: sshd_config’te PermitRootLogin no. Düzenli yedekleme yapın; ~/.google_authenticator dosyasını güvenli bir yere kopyalayın. Mobil uygulama kaybında acil kodları kullanın veya yeni anahtar üretin. Bu uygulamalar, 2FA’yı katmanlı savunma stratejisinin parçası yapar.
Sistem bakımında, Ubuntu güncellemelerini otomatikleştirin: sudo apt install unattended-upgrades -y. Performans için OTP rate’ini izleyin ve sunucu trafiğini sınırlayın. Bu yaklaşımlar, uzun vadeli güvenliği sağlar ve bakım yükünü minimize eder. Kurulum sonrası izleme, proaktif yönetim için esastır.
Ubuntu sunucunuzda SSH 2FA uygulamak, erişim güvenliğinizi önemli ölçüde artırır. Bu rehberdeki adımları izleyerek, saniyeler içinde etkili bir koruma katmanı ekleyebilirsiniz. Düzenli testler ve güncellemelerle sisteminizi güncel tutun; böylece verilerinizi yetkisiz erişimlere karşı koruyun. Bu yatırım, potansiyel güvenlik ihlallerinin maliyetini önler ve kurumsal standartlara uyumu sağlar.