CentOS Linux

CentOS/RHEL Sunucularda SSH İki Faktörlü Kimlik Doğrulama (2FA) Kurulumu

haberler sunucucozumleri.com
Share

Bu makale sizlere Google Authenticator’ı kullanarak CentOS/RHEL sunucusunda SSH iki faktörlü kimlik doğrulamanın nasıl kurulacağını gösterecektir. Bu kurulum CentOS/RHEL sunucunuzdaki SSH hizmetinin güvenliğini büyük ölçüde artıracaktır.

Öncelikle..

İki Faktörlü Kimlik Doğrulama Nasıl Çalışır?

Uzak CentOS/RHEL sunucunuzda oturum açmak için genellikle yalnızca bir parola girmeniz veya SSH anahtarını kullanmanız gerekir. İki faktörlü kimlik doğrulama (2FA), oturum açmak için iki parça bilgi girmenizi gerektirir, dolayısıyla SSH sunucunuzda oturum açmak için zamana dayalı tek seferlik bir şifre de girmeniz gerekecektir. Bu tek seferlik parola, bir IETF standardı olan TOTP algoritması kullanılarak hesaplanır. Günümüzde pek çok web sitesi ve hizmet (Facebook, Google, Twitter, vb.) kullanıcıların hesaplarını güvenceye almaları için 2FA sunmaktadır ve SSH sunucunuz için 2FA’yı etkinleştirmek iyi bir fikirdir.

Not : Bu yazıda kullanacağımız açık kaynak sunucu yazılımı google-authenticator EPEL deposundan kuruludur. Google şirketi, kimlik doğrulama sürecine hiçbir şekilde dahil olmaz. Sunucu yazılımı ve mobil uygulamanın ağ erişimine ihtiyacı yoktur.

1. Adım: Google Authenticator’ı CentOS/RHEL Sunucusunda Kurun ve Yapılandırın

CentOS/RHEL sunucunuzda oturum açın ve Google Authenticator’ı EPEL (Extra Package for Enterprise Linux) deposundan yüklemek için aşağıdaki komutları çalıştırın. qrencodekomut satırında QR kodu oluşturmak için kullanılır.

sudo yum install -y epel-release

sudo yum install -y google-authenticator qrencode qrencode-libs

SSH komut satırında google-authenticator kodunu çalıştırarak kurulumu başlatabilirsiniz.

“Kimlik doğrulama belirteçlerinin zamana dayalı olmasını istiyor musunuz?” sorusuna y ile evet cevabı verin

Ardından, telefonunuzdaki Google Authenticator uygulamasını kullanarak taramanız gereken bir QR kodu göreceksiniz.

QR kodu, yalnızca SSH sunucunuz ve TOTP mobil uygulamanız tarafından bilinen gizli anahtarı temsil eder. QR tarattıktan sonra uygulamada altı haneli tek satır kodu görebilirsiniz. Varsayılan olarak, her 30 saniyede bir değişir. Uygulama erişimini veya telefonunuzu kaybetme riskine acil durumlar için oluşturulan kodları güvenli bir yere not etmeyi unutmayın.

Bir sonraki soruda kullanımda hemen sonra 6 haneli kodun geçersiz kılmayı etkinleştirmek için y basıp devam edin. Ardından ilerleyen ilk 4 dakikada acil durum kodlarının şu an kullanılabilir olmasını hayır (n) diyerek deva ediyoruz. En son kısımda ise rate limit yani deneme sınırını etkinleştirerek brute force ataklarının önüne geçebilirsiniz.

2. Adım: SSH Daemon’u Google Authenticator’ı Kullanacak Şekilde Yapılandırın

  • 2FA ile şifre doğrulama
  • 2FA ile ortak anahtar kimlik doğrulaması

 

SSH sunucu yapılandırma dosyasını açın.

sudo nano /etc/ssh/sshd_config

Dosyada aşağıdaki iki parametreyi bulun ve her dosyada de yes olarak ayarladığınızdan emin olun.

UsePAM yes

ChallengeResponseAuthentication yes

Bu adımddan sonra ssh yapılandırma dosyasını düzenleyeceğiz.

nano /etc/pam.d/sshd

kodunu çalıştırarak en son satıra aşağıdaki kodu ekleyin.

auth required pam.google_authenticator.so nullok

Dosyayı kaydedip kapatın.

Daha sonrasında yapılandırma dosyalarındaki değişikliklerin geçerli olması için ssh servisini yeniden başlatın.

 

systemctl restart sshd.service

Önemli not: bu adımdan sonra kurulumun çalışıp çalışmadığını test edeceğiz. Test esnasında bulut sunucu ile ssh bağlantınızın kopmaması için başka bir pencerede yeni bir bağlantı açmanız her ihtimale karşı şiddetle önerilir.

 

Yeni bağlantıda bulut sunucunuz sizden paroladan sonra Verification Code isteyecektir sunucu. Eğer istediyse uygulamada oluşan geçici 6 haneli kodu yazarak bulut sunucunuza girebilirsiniz. Kurulum başarıyla tamamlanmıştır.