Image

Bilgi Veritabanı → CentOS 7 Üzerinde SSH için Google Authenticator Kullanarak İki Faktörlü Kimlik Doğrulama Ayarları

[Virtual sunucular]
Yayın tarihi: 29.11.2022

SSH hizmeti, en çok parola tahmin saldırısına maruz kalan hizmetlerden biridir. Sunucunuzu yeni başlattıktan birkaç saat sonra loglarda bilinmeyen IP adreslerinden bağlantı denemelerini görmeye başlayabilirsiniz. Bu girişimlerin sayısını azaltmak için, sshd ayarlarında bağlantı port numarasını değiştirmenizi öneririz. Güçlü bir şifre belirlemek de önemlidir; büyük-küçük harf, sembol ve rakam içeren bir şifre kullanmalısınız. Linux sunucularında genellikle bir normal kullanıcı, diğeri root olmak üzere iki şifre hatırlamanız gerekir. Birden fazla sunucu olduğunda ise, oturum bilgilerini (host, kullanıcı adı ve parola) saklamak için çeşitli uygulamalar kullanılır. Ancak, kötü niyetli kişiler çalışma istasyonunuza erişim sağladığında tüm bu bilgilerin güvenliği tehlikeye girebilir. Bu durumda bir çözüm mevcuttur.

İki faktörlü kimlik doğrulama - giriş ve parola yanında telefonunuzdaki bir uygulama da kullanılır. Bu uygulama, belirli bir zaman ve benzersiz bir anahtar üzerinden sayı kombinasyonları oluşturur. Giriş ve parola girdikten sonra Google Authenticator uygulamasındaki doğrulama kodunu girmeniz istenir.

Gerekli Paketleri Yükleyelim

yum install pam pam-devel google-authenticator 

Mobil Uygulamayı Yükleyelim

Kurulum

Varsayılan olarak SSH bağlantısında kullanıcı girişi yasaklanmalıdır. Eğer yeni bir sunucu kurulumuna başladıysanız, bir kullanıcı oluşturun, şifre belirleyin ve komutla giriş yapın:

adduser kullanıcıadı
passwd kullanıcıadı
su kullanıcıadı


İki faktörlü doğrulama ayarlamak istediğiniz kullanıcı ile şu komutu çalıştırın:

google-authenticator

İlk bildiride ./google_authenticator dosyasını güncellemek isteyip istemediğiniz sorulacak, “y” tuşuna basın. Kodun tekrar kullanımını önlemek için sorulduğunda tekrar “y” tuşuna basın. Diğer ayarlar için de “y” basarak devam edin.

Gizli anahtar ve acil durum kurtarma kodlarını bir kağıda yazın. Bu bilgiyi çevrimdışı saklayın çünkü bir başkası bu bilgilere erişse bile, giriş için sunucu adresi, kullanıcı adı ve parolayı bilmesi gerekecektir.

Artık PAM yapılandırmalarını SSH hizmetine uygulayalım; bu işlemleri root kullanıcısı ile yapmalısınız:

vi /etc/pam.d/sshd

Dosyanın başına şu satırları ekleyin:

#%PAM-1.0
auth required pam_unix.so no_warn try_first_pass 
auth required pam_google_authenticator.so

Dosyadaki diğer satırları aynen bırakın. Dosyayı kaydedin ve SSH hizmetini ayarlayın.

vi /etc/ssh/sshd_config

ChallengeResponseAuthentication no" parametresini bulun ve "no"yu "yes" olarak değiştirin. Değişiklikleri kaydedin ve hizmeti yeniden başlatın.

service sshd restart

Şimdi mobil cihazınızda uygulamayı ayarlayın. “Anahtarı manuel gir” seçeneğini bulun, kaydettiğiniz gizli anahtarı girin ve kaydedin. Artık parola girdikten sonra doğrulama kodu için bu kodu kullanabilirsiniz.

Modifikasyonlar:

  • Giriş Sıralamasını Değiştirme:

Önce doğrulama kodu, ardından parola girmek isterseniz, ilk satırı kaldırarak dosyanın şu şekilde görünmesini sağlayın:

#%PAM-1.0
auth required pam_google_authenticator.so
  • Root Kullanıcısı için İki Faktörlü Doğrulama

Örneğin sunucuya normal kullanıcı olarak giriş yapmak, ardından su komutunu kullanarak root parolasını ve uygulama kodunu girmek istiyorsanız, root kullanıcısı ile ./google_authenticator uygulamasını çalıştırın. Mobil uygulamayı yeni kodla ayarlayın ve şu dosyaya ekleyin:

vi /etc/pam.d/su

Dosyanın başına şu satırları ekleyin:

#%PAM-1.0
auth required pam_unix.so no_warn try_first_pass 
auth required pam_google_authenticator.so


İşlem tamam, hizmeti yeniden başlatmanız gerekmez. Root girişinde artık doğrulama kodu istenecektir.


P.S. Hatalardan kaçınmak için farklı bir SSH oturumunda deneme yapmanızı öneririz; böylece gerekirse düzenlemelere geri dönebilirsiniz.





No Comments Yet