PAM - Pluggable Authentication Modules

Reading time: 3 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin

Temel Bilgiler

PAM (Pluggable Authentication Modules), bilgisayar hizmetlerine erişmeye çalışan kullanıcıların kimliğini doğrulayan bir güvenlik mekanizması olarak işlev görür ve erişimlerini çeşitli kriterlere göre kontrol eder. Bu, yalnızca yetkilendirilmiş kullanıcıların belirli hizmetlerle etkileşimde bulunmasını sağlamak için dijital bir kapı bekçisi gibidir ve sistem aşırı yüklenmelerini önlemek için kullanımını sınırlayabilir.

Yapılandırma Dosyaları

  • Solaris ve UNIX tabanlı sistemler, genellikle /etc/pam.conf konumunda bulunan merkezi bir yapılandırma dosyası kullanır.
  • Linux sistemleri, hizmete özgü yapılandırmaları /etc/pam.d içinde saklayarak bir dizin yaklaşımını tercih eder. Örneğin, oturum açma hizmetinin yapılandırma dosyası /etc/pam.d/login konumundadır.

Oturum açma hizmeti için bir PAM yapılandırma örneği şu şekilde görünebilir:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so

PAM Yönetim Alanları

Bu alanlar veya yönetim grupları, kimlik doğrulama ve oturum yönetim sürecinin farklı yönlerinden sorumlu olan auth, account, password ve session'ı içerir:

  • Auth: Kullanıcı kimliğini doğrular, genellikle bir şifre istemekle.
  • Account: Hesap doğrulamasını yönetir, grup üyeliği veya zaman kısıtlamaları gibi koşulları kontrol eder.
  • Password: Şifre güncellemelerini yönetir, karmaşıklık kontrolleri veya sözlük saldırılarını önleme dahil.
  • Session: Bir hizmet oturumunun başlangıcında veya sonunda dizinleri monte etme veya kaynak sınırlarını ayarlama gibi işlemleri yönetir.

PAM Modül Kontrolleri

Kontroller, modülün başarı veya başarısızlığa yanıtını belirler ve genel kimlik doğrulama sürecini etkiler. Bunlar şunları içerir:

  • Required: Gerekli bir modülün başarısızlığı, nihai bir başarısızlığa yol açar, ancak yalnızca tüm sonraki modüller kontrol edildikten sonra.
  • Requisite: Başarısızlık durumunda sürecin hemen sonlandırılması.
  • Sufficient: Başarı, aynı alanın geri kalan kontrollerini atlar, yalnızca bir sonraki modül başarısız olursa.
  • Optional: Yalnızca yığındaki tek modülse başarısızlığa neden olur.

Örnek Senaryo

Birden fazla auth modülü ile bir kurulumda, süreç katı bir sırayı takip eder. Eğer pam_securetty modülü giriş terminalini yetkisiz bulursa, root girişleri engellenir, ancak "required" durumu nedeniyle tüm modüller yine de işlenir. pam_env ortam değişkenlerini ayarlar, bu da kullanıcı deneyimine yardımcı olabilir. pam_ldap ve pam_unix modülleri, kullanıcıyı kimlik doğrulamak için birlikte çalışır; pam_unix daha önce sağlanan bir şifreyi kullanmaya çalışarak kimlik doğrulama yöntemlerinde verimliliği ve esnekliği artırır.

Referanslar

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin