2 adımlı doğrulama, kullanıcı adı ve parola çiftine ek olarak ikinci bir doğrulama yöntemi gerektiren ve kullanıcı hesaplarının güvenliğini korumak için kesinlikle tavsiye edilen bir yöntem haline gelmiştir. 2 adımlı kimlik doğrulama biyometrik veya akıllı kart gibi teknikler ile yapılabiliyor olsada web uygulamalarında yaygın olarak tek kullanımlık şifre kullanılmaktadır.

Gmail gibi uygulamaları kullandıysanız muhtemelen iOS veya Android cihazlarda kullanılabilir Google Authenticator (Google Şifrematik) uygulaması tarafından oluşturulan tek kullanımlık şifre ile tanışmışsınızdır. Google Authenticator uygulamasında kullanılan tek kullanımlık şifre algoritması Time-based One-Time Password (TOTP) (Zaman bazlı tek kullanımlık şifre) olarakta bilinir. TOTP algoritması IETF (RFC 6238) ve TOTP RFC tarafından onaylanan standart bir algoritmadır.

Google Authenticator Kurulum ve Yapılandırma

-Redhat türevi dağırımlar için gerekli olan paketlerin kurulumunu yapınız.

[[email protected] ~]# yum install pam-devel make gcc-c++ wget bzip2 -y

-Debian türevi dağıtımlar için gerekli olan paketlerin kurulumunu yapınız.

[[email protected] ~]# apt-get install libpam0g-dev make gcc-c++ wget bzip2 -y

-Dağıtım bağımlılığı olmadan Google Authenticator kurulumunu kaynak koddan yapabilirsiniz.

[[email protected] ~]# wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
[[email protected] ~]# tar -xvf libpam-google-authenticator-1.0-source.tar.bz2
[[email protected] ~]# cd libpam-google-authenticator-1.0  
[[email protected] ~]# make 
[[email protected] ~]# make install

-Google authenticator uygulamasını çalıştırınız. Kimlik doğrulama tokenlarını zamana dayalı yaptırmak için sorulan ilk soruya “y” cevabını veriniz.

[[email protected] ~]# google-authenticatorGoogle Authenticator-1

-2 adımlı doğrulamayı aktif hale getirebilmek için iOS, Android (daha fazlası için bkz. https://support.google.com/accounts/answer/1066447?hl=en ) cihazlarınızı kullanabilirsiniz. Kuracağınız google-authenticator uygulaması ile 2 adımlı doğrulamayı mobil cihazınızdan gerçekleştirebilirsiniz.

Android için: https://play.google.com/store/apps/details?id=com.google.android.apps.authen
iOS için: https://itunes.apple.com/en/app/google-authenticator/id388497605?mt=8

(Android kullanıcısı olduğum için Android ile nasıl yapılacağının ekran görüntülerini ekliyor olacağım. iOS ‘tada çok fark olacağını sanmıyorum.)

-Uygulamayı cihazınıza yükledikten sonra açınız. Burada “Sağlanan anahtarı giriniz” (Anahtar dediği komut çıktısındaki secret key’dir) veya “Barkod tarayın” seçeneklerinden herhangi biri ile yukarıda ki komut çıktısında verilen “secret key” veya “barkodu” kullanabiliriz. Barkod okuyucu daha kolay olacağı için barkod okuyucuyu seçip çıktıda verilen barkodu okutabilirsiniz.

Google Authenticator-3

Google Authenticator-4

 

 

 

 

 

 

 

 

 

-Komut çıktısında oluşturulan acil durum keylerini saklayınız. Örn.

Your emergency scratch codes are:
 89882283
 94754881
 46247184
 78993275
 54116421

[ Yukarıda çalıştırdığınız “google-authenticator” komut çıktısının devamı ]

-/root/.google_authenticator dosyasının güncellenmesini, man-in-the-middle gibi atakların önlenmesi, kaba kuvvet saldırılarının önlenmesi gibi sorulan soruları “y” ile kabul ediniz.

Google Authenticator-5

-Yaptığınız ayarları ” /root/.google_authenticator “dosyasından görebilirsiniz.

[[email protected] ~]# cat /root/.google_authenticator

-SSH erişiminizi google authenticator ile yapabilmek için “/etc/pam.d/sshd” dosyasına aşağıdaki satırı ekleyiniz. (auth ile başlayan satırların en üstü daha uygun olacaktır.)

[[email protected] ~]# vi /etc/pam.d/sshd

auth       required     pam_google_authenticator.so

-sshd_config dosyası içerisinde aşağıdaki satırı “yes” olarak güncelleyiniz.

[[email protected] ~]# vi /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

-SSH servisini yeniden başlatınız.

[[email protected] ~]# systemctl restart sshd.service

-Yaptığınız işlemi test edebilirsiniz. Farklı bir sunucu üzerinden ssh ile erişmek istediğinizde öncelikle Verifaction code (doğrulama kodu) ve daha sonra parola soracaktır.

[[email protected] ~]# ssh [email protected]
Verification code:
Password:

 

2 Adımlı Doğrulamayı Devre Dışı Bırakmak

-sshd_config dosyası içerisinde aşağıdaki satırı “no” olarak güncelleyiniz.

[[email protected] ~]# vi /etc/ssh/sshd_config

ChallengeResponseAuthentication no

-“/etc/pam.d/sshd” dosyasına eklediğiniz satırın başına # işaret ekleyerek yorum satırı haline getiriniz.

[[email protected] ~]# vi /etc/pam.d/sshd

#auth       required     pam_google_authenticator.so

-SSH servisini yeniden başlatınız.

[[email protected] ~]# systemctl restart sshd.service

-Bu şekilde 2 adımlı doğrulama devre dışı kalacaktır.

 

Acil Durum Kodlarını Kullanmak

Acil durumlarda Google-Authenticator komutunu çalıştırdığınızda verilen 5 adet acil durum kodunu kullanabilirsiniz. Bu kodlarda üretilen kodlar gibi tek kullanımlıktır. Kullanıldıktan sonra tekrar kullanılamazlar. Kullanılan kod saklı olduğu dosyadan silinir.

-Bu kodları görüntülemek için

[[email protected] ~]# cat .google_authenticator
 DDEVKHAI6TVD2OLZ
 " RATE_LIMIT 3 30 1456233974
 " WINDOW_SIZE 17
 " DISALLOW_REUSE 48541122
 " TOTP_AUTH
 89882283
 94754881
 46247184
 78993275
 54116421

-Her kullandığınız kod otomatik olarak bu dosya içerisinden silindiği gibi kendinize özel kodlar oluşturarak bu dosya içerisine ekleyebilirsiniz.

4 Thoughts on “2 Adımlı Doğrulama ile Linux SSH Güvenliği

  1. Faruk 14 Mart 2017 08:07 tarihinde yorum yaptı:

    Centos 7 için kurulum çalışmıyor, yazıyı güncelleme şansınız var mıdır ?

  2. omer 2 Ağustos 2017 00:03 tarihinde yorum yaptı:

    merhaba, yazıyı güncelleme şansın var mıdır ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation