SSH (Güvenli Kabuk Protokolü), uzak Linux sistemlerine güvenli bir şekilde bağlanmak için kullanılan bir araçtır. Sistem yöneticileri için, SSH, uzaktan sunucularda günlük görevleri yerine getirmek için kritik bir öneme sahiptir. Ancak, SSH sunucularını güvenli hale getirmek için ek önlemler almak gereklidir. Bu kılavuzda, Ubuntu 20.04 VPS üzerindeki SSH için İki Faktörlü Kimlik Doğrulama (2FA) ayarlama sürecini adım adım anlatacağız. Ayrıca, 2FA kodunu kaybetmeniz durumunda ne yapmanız gerektiğini ve alınması gereken önlemleri de ele alacağız.
Ön Koşullar
- Ubuntu 20.04 VPS (cpynet adında bir sunucu kullanıyoruz)
- Root kullanıcı hesabına erişim (veya root ayrıcalıkları olan bir admin hesabına erişim)
Adım 1: Sunucuya Giriş Yapın ve Sunucu OS Paketlerini Güncelleyin
Öncelikle, root kullanıcı olarak SSH ile cpynet sunucunuza giriş yapın:
ssh root@IP_Adres -p Port_numarası
‘IP_Adres’ ve ‘Port_numarası’nı sunucunuzun IP adresi ve SSH port numarası ile değiştirin. Ayrıca, gerekiyorsa ‘root’ yerine admin hesabının kullanıcı adını yazın.
Başlamadan önce, sunucunuzdaki tüm Ubuntu OS paketlerinin güncel olduğundan emin olun. Bunu yapmak için aşağıdaki komutları çalıştırabilirsiniz:
apt-get update -y
apt-get upgrade -y
Adım 2: Google Authenticator’ı Kurun
İki faktörlü kimlik doğrulama için Google Authenticator kullanacağız. Bu nedenle, sisteminize Google Authenticator PAM modülünü kurmanız gerekiyor. Aşağıdaki komutu çalıştırarak bunu yapabilirsiniz:
apt-get install libpam-google-authenticator -y
Kurulum tamamlandığında, Google Authenticator’ı şu komutla başlatın:
google-authenticator
Kurulum sırasında aşağıdaki soruları yanıtlamanız gerekecek:
- Zaman tabanlı kimlik doğrulama token’ları kullanmak ister misiniz? (y/n):
y
yazarak devam edin. - QR kodunu tarayarak yedekleme yapacağınız bilgileri alın.
- Birden fazla kullanıma izin vermek ister misiniz? (y/n):
y
yazarak devam edin. - Oran sınırlamasını etkinleştirmek ister misiniz? (y/n):
y
yazarak devam edin.
Kurulum tamamlandıktan sonra, bir QR kodu ve çeşitli yedekleme kodları elde edeceksiniz. Bu bilgileri güvenli bir yerde saklayın.
Adım 3: Google Authenticator Uygulamasını Kurun
Akıllı telefonunuza Google Authenticator uygulamasını kurmalısınız. Uygulamayı yükledikten sonra, yukarıdaki QR kodunu tarayın. QR kodunu taradıktan sonra, telefonunuzda aşağıdaki gibi altı haneli bir tek kullanımlık şifre görmelisiniz:
Bu şifre 30 saniye içinde geçerliliğini yitirecektir, bu nedenle Ubuntu sunucusuna SSH ile giriş yapmak için yeni bir şifre almak üzere Google Authenticator uygulamanızı açmanız gerekecek.
Ayrıca yukarıdaki çıktıda gizli anahtar, doğrulama kodu ve acil durum kağıt kodlarını görebilirsiniz. Bunları daha sonra kullanmak üzere güvenli bir yerde saklamanız önerilir.
Adım 4: SSH’yi Google Authenticator Kullanacak Şekilde Yapılandırın
SSH’nin Google Authenticator’ı kullanacak şekilde yapılandırılması gerekiyor. Bunu yapmak için /etc/ssh/sshd_config
dosyasını düzenleyin:
nano /etc/ssh/sshd_config
Aşağıdaki satırları değiştirin:
UsePAM yes
ChallengeResponseAuthentication yes
Dosyayı kaydedip kapattıktan sonra, yapılandırmayı uygulamak için SSH hizmetini yeniden başlatın:
systemctl restart sshd
Sonrasında, /etc/pam.d/sshd
dosyasını düzenleyerek SSH servisi için PAM kurallarını tanımlamanız gerekecek:
nano /etc/pam.d/sshd
@include common-auth
satırından sonra aşağıdaki satırı ekleyin:
auth required pam_google_authenticator.so
Dosyayı kaydedip kapatın.
Adım 5: İki Faktörlü Kimlik Doğrulamayı Test Edin
Bu noktada, SSH sunucunuz artık iki faktörlü kimlik doğrulama ile yapılandırılmıştır. Şimdi bağlanıp test etme zamanı.
Uzak sistemde terminalinizi açın ve aşağıdaki gibi SSH ile sunucunuza giriş yapın:
ssh root@cpynet
Sistem parolanızı ve Google Authenticator tarafından üretilen doğrulama kodunu girmeniz istenecektir. Google Authenticator uygulamanızda görünen kodu girin ve Enter’a basarak sunucuya giriş yapın.
Adım 6: 2FA Kodunu Kaybetmeniz Durumunda Ne Yapmalısınız?
Eğer 2FA kodunu kaybederseniz veya Google Authenticator uygulamanız silinirse, aşağıdaki adımları izleyerek durumu kurtarabilirsiniz:
- Acil Durum Kodları: Google Authenticator kurulum sürecinde oluşturduğunuz acil durum kağıt kodlarını kullanabilirsiniz. Bu kodlar, 2FA’ya erişiminizi kaybettiğinizde, hesabınıza tekrar giriş yapmanızı sağlar.
- Yedekleme: 2FA’yı kurduğunuzda, uygulama tarafından sağlanan QR kodunu ve gizli anahtar bilgilerini güvenli bir yerde saklayın. Bu bilgiler, uygulama yeniden yüklendiğinde veya cihaz değiştirildiğinde yeniden kurulum yapmanıza yardımcı olur.
- Sunucuya Erişim: Eğer acil durum kodlarınızı veya yedekleme bilgilerinizi kaybettiyseniz ve SSH bağlantınıza erişiminizi kaybettiyseniz, sunucunuza fiziksel erişiminiz yoksa bir başka yönetici ile iletişime geçerek durumu bildirin. Eğer sunucu bir sağlayıcıdan kiralanmışsa, sağlayıcının destek ekibi ile irtibata geçerek durumu çözmelerini isteyin.
Alınması Gereken Önlemler
- Güvenli Yedekleme: Google Authenticator uygulamanızdaki QR kodunu ve gizli anahtar bilgilerini güvenli bir yerde (şifrelenmiş bir dosya veya parola yöneticisi gibi) saklayın. Acil durum kodlarınızı da yazılı olarak güvenli bir yerde saklayın.
- Açık Erişim Kontrolleri: Sunucunuza erişimi olan kullanıcıları sınırlayın. Yalnızca gerekli olan kullanıcıların erişimi olduğundan emin olun.
- Düzenli Güncellemeler: Sunucu işletim sisteminizi ve uygulamalarınızı düzenli olarak güncel tutun. Güvenlik açıklarını en aza indirmek için en son yamaları uygulayın.
- Erişim Kısıtlamaları: SSH bağlantılarına IP tabanlı erişim kısıtlamaları uygulayarak yalnızca belirli IP adreslerinin sunucunuza bağlanmasına izin verin.
- Güçlü Parolalar: SSH için güçlü ve karmaşık parolalar kullanın. Parolalarınızı düzenli aralıklarla değiştirin.
Bu kılavuz, Ubuntu 20.04 VPS sunucunuzda SSH için iki faktörlü kimlik doğrulamanın nasıl ayarlanacağını ve 2FA kodunu kaybettiğinizde ne yapmanız gerektiğini kapsamlı bir şekilde açıklamaktadır. Umarım faydalı olur!