İki faktörlü doğrulama (2FA), kullanıcıların hesaplarına daha güvenli bir şekilde erişmelerini sağlayan bir güvenlik önlemidir. Linux sunucularda iki faktörlü doğrulama, genellikle bir şifre ve ikinci bir doğrulama yöntemi (örneğin, mobil uygulama tarafından oluşturulan bir kod) ile yapılır. Bu makalede, Linux sunucularda iki faktörlü doğrulamanın nasıl etkinleştirileceğini ve konfigürasyonunun nasıl yapılacağını anlatacağım. Hazırsanız başlıyorum.
Linux Sunucularda İki Faktörlü Doğrulama Nasıl Yapılır?
1. İki Faktörlü Doğrulamanın Faydaları
İki faktörlü doğrulama, bir şifrenin çalınması durumunda bile sisteme izinsiz girişleri önlemek için ek bir güvenlik katmanı sunar. Standart doğrulama yöntemleri (şifre kullanımı) saldırganlar tarafından kolayca aşılabilirken, 2FA, saldırganın sadece şifreye değil aynı zamanda ikinci faktöre (genellikle bir mobil uygulamadan alınan tek kullanımlık şifre) sahip olmasını gerektirir. Bu yöntem, özellikle uzaktan erişim sunucuları ve hassas verilerin yönetildiği sistemler için oldukça önemlidir.
2. Linux Sunucularında İki Faktörlü Doğrulama Nasıl Çalışır?
Linux sunucularında iki faktörlü doğrulama genellikle bir şifre ve Google Authenticator gibi bir uygulama kullanılarak yapılır. Bu uygulamalar, her oturum açma girişimi sırasında değişen tek kullanımlık şifreler (TOTP – Time-based One-Time Password) üretir. Kullanıcı oturum açmak istediğinde, hem şifresini hem de mobil cihazındaki uygulama tarafından üretilen geçici kodu girmek zorundadır.
3. Linux Sunucusunda İki Faktörlü Doğrulama İçin Gerekenler
- Google Authenticator veya benzeri bir mobil uygulama (iOS veya Android)
- Linux Sunucu
- SSH erişimi
libpam-google-authenticator
paketinin kurulumu
4. Kurulum ve Yapılandırma Adımları
4.1. Gerekli Paketlerin Yüklenmesi
İki faktörlü doğrulama için öncelikle gerekli olan libpam-google-authenticator
paketini yüklememiz gerekmektedir. Bu paket, sunucuda iki faktörlü doğrulama için Google Authenticator ile uyumlu bir modül sağlar.
Debian/Ubuntu:
sudo apt update
sudo apt install libpam-google-authenticator
RedHat/CentOS:
sudo yum install epel-release
sudo yum install google-authenticator
4.2. Google Authenticator Ayarlarının Yapılması
Google Authenticator ile iki faktörlü doğrulama kullanabilmek için kullanıcı düzeyinde yapılandırma yapılmalıdır. Bu adımlar, her kullanıcı için ayrı ayrı gerçekleştirilir.
google-authenticator
Bu komut çalıştırıldığında, birkaç soru sorulacaktır:
- Do you want authentication tokens to be time-based (y/n)?: “y” seçilmelidir.
- Scan the provided QR code with your Google Authenticator app: QR kodunu telefonunuzdaki Google Authenticator uygulaması ile tarayın.
- Do you want me to update your “/home/user/.google_authenticator” file (y/n)?: “y” ile onaylayın.
- Do you want to disallow multiple uses of the same authentication token (y/n)?: Bu, her kodun bir kez kullanılmasını sağlar. “y” seçilmelidir.
- By default, tokens are good for 30 seconds. Do you want to increase the window (y/n)?: Standart süre uygunsa “n” seçilebilir.
- If the computer system’s time is off by more than 30 seconds, tokens might not work. Do you want to enable time-based authentication (y/n)?: “y” seçilmelidir.
Bu adımları tamamladığınızda, /home/kullanıcı/.google_authenticator
dosyası oluşturulacak ve bu dosyada, doğrulama işlemi için gereken anahtarlar ve ayarlar bulunacaktır.
4.3. PAM Yapılandırmasının Güncellenmesi
Pluggable Authentication Modules (PAM), Linux sistemlerinde kimlik doğrulama işlemlerini yönetir. Google Authenticator modülünün devreye alınması için PAM yapılandırmasının güncellenmesi gerekmektedir.
SSH oturumları için PAM konfigürasyonunu düzenlemek için /etc/pam.d/sshd
dosyasına aşağıdaki satırı ekleyin:
auth required pam_google_authenticator.so
Bu satır, SSH girişleri sırasında Google Authenticator modülünü devreye alır.
4.4. SSH Konfigürasyonunun Güncellenmesi
İki faktörlü doğrulamayı etkinleştirmek için SSH yapılandırmasının da güncellenmesi gerekmektedir. SSH yapılandırma dosyası olan /etc/ssh/sshd_config
dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/ssh/sshd_config
Dosyada aşağıdaki parametreleri bulun ve şu şekilde ayarlayın:
ChallengeResponseAuthentication yes
UsePAM yes
Ardından SSH servisini yeniden başlatın:
sudo systemctl restart sshd
4.5. İki Faktörlü Doğrulamanın Test Edilmesi
Yapılandırmayı tamamladıktan sonra, sunucuya SSH ile giriş yaparken iki faktörlü doğrulama sisteminin çalışıp çalışmadığını test edin. Giriş yapmaya çalıştığınızda, önce şifrenizi girecek, ardından Google Authenticator uygulamasındaki doğrulama kodunu girmeniz istenecektir.
ssh kullanıcı_adı@sunucu_adresi
Password: *********
Verification code: 123456
Eğer her iki adım da başarılı olursa, sunucuya başarıyla giriş yapacaksınız.
5. Ekstra Güvenlik Adımları
5.1. Root Kullanıcısı İçin İki Faktörlü Doğrulama
Sunucularda root kullanıcısı için iki faktörlü doğrulama kullanmak ek bir güvenlik katmanı sağlayacaktır. Bunun için root kullanıcısı için de aynı adımları uygulayarak Google Authenticator’ı yapılandırabilirsiniz.
5.2. Yedek Kodlar
Google Authenticator kullanırken, internet bağlantısı olmayan veya telefonunuzu kaybettiğiniz durumlarda yedek kodlar kullanabilirsiniz. Bu kodlar, google-authenticator
komutu ile oluşturulmuş olabilir ve genellikle .google_authenticator
dosyasında saklanır.
Değerlendirme
İki faktörlü doğrulama, Linux sunucularına yetkisiz erişimleri engellemek için etkili bir güvenlik önlemidir. Google Authenticator ile TOTP tabanlı doğrulama yöntemi, sunuculara ek bir güvenlik katmanı ekler. Bu adımları izleyerek, sunucularınızı daha güvenli hale getirebilir ve yetkisiz erişimlere karşı koruma sağlayabilirsiniz.
Bu makale, Linux sunucularında iki faktörlü doğrulama (2FA) kurulumunu ve yapılandırmasını detaylı bir şekilde anlatmaktadır. Sunucularınızın güvenliğini artırmak için bu adımları uygulayarak yetkisiz erişimleri önleyebilirsiniz. Yorumlardan bize yazabilirsiniz.