hacktricks/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md

82 lines
5.6 KiB
Markdown
Raw Permalink Normal View History

# PAM - Pluggable Authentication Modules
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
### Temel Bilgiler
2021-06-23 17:08:03 +00:00
**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.
2024-02-07 04:06:18 +00:00
#### Konfigürasyon Dosyaları
2024-02-07 04:06:18 +00:00
* **Solaris ve UNIX tabanlı sistemler**, genellikle `/etc/pam.conf` konumunda bulunan merkezi bir konfigürasyon dosyası kullanır.
* **Linux sistemleri**, hizmete özgü konfigürasyonları `/etc/pam.d` içinde depolayarak bir dizin yaklaşımını tercih eder. Örneğin, oturum açma hizmetinin konfigürasyon dosyası `/etc/pam.d/login` konumundadır.
2021-06-23 17:08:03 +00:00
Oturum açma hizmeti için bir PAM konfigürasyon örneği şu şekilde görünebilir:
```
2021-06-23 17:08:03 +00:00
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ı**
2021-06-23 17:08:03 +00:00
Bu alanlar veya yönetim grupları, kimlik doğrulama ve oturum yönetimi sürecinin farklı yönlerinden sorumlu olan **auth**, **account**, **password** ve **session**'ı içerir:
2021-06-23 17:08:03 +00:00
* **Auth**: Kullanıcı kimliğini doğrular, genellikle bir şifre istemekle.
* **Account**: Hesap doğrulamasını yönetir, grup üyeliği veya günün saatine bağlı 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 oturumu başlatıldığında veya sona erdiğinde, dizinleri bağlama veya kaynak sınırlarını ayarlama gibi işlemleri yönetir.
2021-06-23 17:08:03 +00:00
#### **PAM Modül Kontrolleri**
2021-06-23 17:08:03 +00:00
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:
2021-06-23 17:08:03 +00:00
* **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ı, sonraki modül başarısız oluncaya kadar aynı alanın geri kalan kontrollerini atlar.
* **Optional**: Yalnızca yığın içindeki tek modülse başarısızlığa neden olur.
2021-06-23 17:08:03 +00:00
#### Örnek Senaryo
2021-06-23 17:08:03 +00:00
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.
2021-06-23 17:08:03 +00:00
### Referanslar
2022-04-28 16:01:33 +00:00
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}