2 faktörlü kimlik doğrulama kullanarak sistemimi nasıl daha güvenli hale getirebilirim?


16

Başlık hemen hemen söylüyor. 2 faktörlü kimlik doğrulama, bir kerelik parolalar, sabit simgeler ve diğer geliştirilmiş güvenlik özellikleri hakkında daha fazla şey duyuyorum. Yalnızca şifre kullanma güvenliğinin azalmasıyla birlikte Ubuntu'daki güvenliğimi nasıl geliştirebileceğimi bilmek istiyorum. Unity ile 14.04 LTS kullanıyorum.

Yanıtlar:


30

Google tarafından oluşturulan ve Google Şifrematik olarak bilinen açık kaynaklı Takılabilir Kimlik Doğrulama Modülünü (PAM) kullanabilirsiniz . Bu modül standart depolarda ve GitHub'dan temin edilebilir, böylece kaynaktan oluşturabilirsiniz. Aynı adda Android, iOS veya Blackberry Uygulaması ile birleştiğinde, şifrenizle birlikte kimlik doğrulama için zamana dayalı, zamana duyarlı kodlar oluşturur. Bir PAM modülü olduğu için hemen hemen her yere bırakılabilir . Başlayalım!

yükleme

Başlamak için PAM'ı aşağıdakilerle kurabilirsiniz:

sudo apt-get install libpam-google-authenticator

Basit!

Kurulum:

Yüklendikten sonra, Android, iOS veya Blackberry için ilgili mobil uygulamayı da yüklemek isteyeceksiniz (mobil platformunuza bağlı olarak). Her biri diğeri olmadan işe yaramaz. Mobil cihazınız için ihtiyacınız olan uygulamayı aldıktan sonra, bir terminalde aşağıdakileri çalıştırın:

google-authenticator

Bu size birkaç soru sorarak başlayacaktır. İlki "Evet" cevabını vermeniz gereken tek soru ve kodların zamana dayalı olmasını isteyip istemediğinizi sorar. Bundan sonra, her soruyu okuyun ve sizin için en anlamlı seçimi yapın.

İlk kurulumu tamamladıktan sonra , terminalinizde çok büyük bir QR kodu ve diğer bazı bilgileri göreceksiniz . Cihazınızı eşleştirmek için QR kodunu kullanmak istemiyorsanız "Yeni Gizli Anahtarınız:" yazan satır çok gerekli bir satırdır, bu yüzden ayarlanana kadar bu pencereyi kapatmayın! Bu, mobil cihazınızı kaybederseniz giriş yapmak için kullanacağınız öğeler olduğu için size "sıfırdan kodlar" da sağlar. Onları not alın ve güvenli bir yerde saklayın.

Şimdi mobil cihazınızda Google Şifrematik uygulamanızı açın ve "Hesap oluştur" u seçin. Oluşturulan QR kodunu tarayabilir veya "Sağlanan anahtarı kullan" seçeneğini belirleyebilirsiniz. QR kodunu tararsanız, her şey otomatik olarak "your_user @ your_host" adlı bir hesaba kaydedilir. Ancak, "Sağlanan anahtarı kullan" seçeneğini belirlerseniz, adı, anahtarı ve simge türünü el ile girmeniz gerekir. İsim istediğiniz herhangi bir şey olabilir. Anahtar, önceden oluşturulan gizli anahtar olacaktır. Tür, varsayılan zamana dayalı olacaktır. Ayarladıktan sonra, hesabı Google Authenticator uygulamasının ana bölmesinde ve yanında daire şeklinde bir zamanlayıcı göreceksiniz. Bu zamanlayıcı her 30 saniyede bir tükenir ve yeni bir kod oluşturulur.

Etkinleştirme!

İşte sihir geliyor. Bu bir PAM modülü olduğundan, çeşitli yerlerde kullanılabilir. sudoİsteklere, SSH girişlerine ve lightdm girişine kimlik doğrulama ekleyerek ilerleyeceğim. Ancak, bu öğreticiyi okuduktan sonra, aynı tekniklere dayanarak başka bir yerde etkinleştirebilirsiniz.

SSH

Bunu önce yapıyorum çünkü fazladan bir adım var. Yapmanız gereken ilk şey, SSH yapılandırma dosyanızı düzenlemektir:

gksudo gedit /etc/ssh/sshd_config

Şu satırı arayın:

ChallengeResponseAuthentication no

ve "hayır" ı "evet" olarak değiştirin.

Şimdi, ssh için PAM modülünü düzenlemeniz gerekir:

gksudo gedit /etc/pam.d/sshd

Bu dosyanın sonuna aşağıdaki satırı ekleyin:

auth required pam_google_authenticator.so nullok

İçin "nullok" argümanı sistemini anlatır değil , bir kullanıcı set-up olmadıysa iki faktörlü kimlik doğrulamasını Doğrulama kodu talep. Bu düzenlemeden sonra ssh hizmetinizi yeniden başlatın:

sudo service ssh restart

sudo İstekler

PAM dosyasını aşağıdakiler için düzenleyin sudo:

gksudo gedit /etc/pam.d/sudo

En sonuna aşağıdaki satırı ekleyin:

auth required pam_google_authenticator.so nullok

Şimdi her sudoistek bir doğrulama kodu ve bir şifre isteyecektir.

LightDM (GUI Oturum Açma)

LightDM için PAM dosyasını düzenleyin:

gksudo gedit /etc/pam.d/lightdm

En sonuna aşağıdaki satırı ekleyin:

auth required pam_google_authenticator.so nullok

Bu kadar! GUI üzerinden her oturum açışınızda, şifrenizden sonra bir doğrulama kodu istenir.

Sistem Çapında ve TTY Oturum Açma

Yukarıdaki yöntemleri etkinleştirseniz bile, CTRL+ ALT+ ile bir TTY'ye geçerseniz yine de bir doğrulama kodu istemez F#. Bunu düzeltmek için common-authPAM dosyasını düzenleyin :

gksudo gedit /etc/pam.d/common-auth

ve sonuna aşağıdaki satırı ekleyin:

auth required pam_google_authenticator.so nullok

Not: Bu ortak kimlik doğrulama dosyası diğer tüm kimlik doğrulama türü dosyalarına dahil edildiğinden, kimlik doğrulama için gerekli satırları diğer dosyalardan kaldırmanız gerekir. Aksi takdirde, doğrulama kodunu iki kez soracak ve daha sonra oturum açmanıza izin vermeyecektir.

Sarmak

Gördüğünüz gibi, bu kimlik doğrulamasını eklemek oldukça kolaydı. LightDM dışında bir ekran yöneticisi kullanıyorsanız, yukarıdaki lightdm satırını kolayca buna göre değiştirebilirsiniz. Mobil cihazınız ve sisteminiz bu gizli anahtarı zaten paylaştığından, her zaman senkronize olmalıdır. Bu kurulum için Google sunucuları veya başka herhangi bir internet kaynağı ile etkileşim yoktur. Her iki cihaz da tamamen çevrimdışı olsa bile, uygulamanızda görünen doğrulama kodları doğru olacaktır. Etkinleştirdiğiniz yöntemlerden biriyle oturum açmanız gerektiğinde, mobil uygulamanızı açtığınızdan ve geçerli doğrulama kodunu aldığınızdan emin olun.

İyi eğlenceler!!


Sonraki notlar için yorum. İyi yazılmış! +1 =)
Terrance

+1 - bu hem gerçekten harika hem de iyi yazılmış.
Nathan Osman

1
Ve sonra telefonunuzun artık gücü olmadığına karar vermek ve kapatmak istiyor. :) +1
Rinzwind

Karalama kodları bunun için, @Rinzwind: D

TTY'de iki faktörlü etkinleştirme talimatları eklendi.

1

FreeOTP , Google Play'de (geçerli kodu açık kaynak olmayan) Google Şifrematik Android uygulamasına açık kaynaklı bir alternatiftir. FreeOTP, F- Droid'de (ve Google Play'de ) kullanılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.