مسعود سلطانی راد
مسعود سلطانی راد
خواندن ۲ دقیقه·۱ سال پیش

Authentication Models در پایگاه داده Postgresql


PostgreSQL مدل های مختلف احراز هویت را برای اطمینان از امنیت و مدیریت صحیح دسترسی کاربران ارائه می دهد. این مدل ها تعامل بین کاربران PostgreSQL و سرور را مدیریت می کنند. در اینجا، ما رایج ترین روش های احراز هویت موجود در PostgreSQL را مورد بحث قرار می دهیم.

Authentication Models در پایگاه داده Postgresql

Trust Authentication

در Trust Authentication، سرور PostgreSQL به هرگونه تلاش برای اتصال از میزبان های مشخص شده، بدون نیاز به رمز عبور اعتماد می کند. اگرچه پیکربندی آن ساده است، اما می تواند خطرات امنیتی ایجاد کند، به خصوص زمانی که برای اتصالات از راه دور استفاده می شود. این روش فقط برای محیط های توسعه و آزمایش محلی توصیه می شود.

# نمونه پیکربندی Trust Authentication در “pg_hba.conf”

local   all             all                                     trust

Password Authentication

سه مدل مختلف احراز هویت مبتنی بر رمز عبور در PostgreSQL وجود دارد:

password: این روش رمز عبور را به صورت متن واضح ارسال می کند. در برابر استراق سمع آسیب پذیر است و برای ایمن سازی پایگاه داده شما توصیه نمی شود.

Md5 : رمزهای عبور با استفاده از الگوریتم  hash  MD5 رمزگذاری می شوند. این روش امنیت بهتری را ارائه می دهد، زیرا فقط hash از طریق شبکه منتقل می شود.

scram-sha-256: ایمن ترین روش احراز هویت مبتنی بر رمز عبور است که توسط PostgreSQL ارائه شده است. از الگوریتم hash SCRAM-SHA-256 استفاده می کند و ویژگی هایی مانند salting و تعداد تکرار را برای افزایش بیشتر امنیت ارائه می دهد.

# نمونه پیکربندی احراز هویت رمز عبور در “pg_hba.conf”

host    all             all             ۰٫۰٫۰٫۰/۰                  md5

Peer and Ident Authentication

هر دو روش peer و ident کاربر سیستم عامل را به یک کاربر PostgreSQL با همان نام ترسیم می کنند. روش peer برای اتصالات محلی استفاده می شود، در حالی که ident برای اتصالات TCP/IP استفاده می شود.

# نمونه پیکربندی احراز هویت همتا در “pg_hba.conf”

local   all             all                                     peer

# نمونه پیکربندی احراز هویت در “pg_hba.conf”

host    all             all             ۰٫۰٫۰٫۰/۰               ident map=my_ident_map

احراز هویت مبتنی بر گواهی (SSL)

این روش از گواهینامه های SSL/TLS برای برقراری ارتباط امن بین کاربر و سرور استفاده می کند. با تأیید گواهی های مشتری در برابر یک مرجع صدور گواهی (CA) امنیت را افزایش می دهد.

# نمونه پیکربندی احراز هویت SSL در “pg_hba.conf”

hostssl all             all             ۰٫۰٫۰٫۰/۰               cert clientcert=1

احراز هویت LDAP

LDAP (Lightweight Directory Access Protocol) معمولاً برای مدیریت کاربران و گروه ها در یک سازمان استفاده می شود. PostgreSQL می تواند کاربران را در برابر سرور LDAP احراز هویت کند. سرور LDAP مسئول تأیید اعتبار کاربر PostgreSQL است.

# نمونه پیکربندی احراز هویت LDAP در “pg_hba.conf”

host    all             all              ۰٫۰٫۰٫۰/۰   ldap ldapserver=ldap.example.com ldapprefix=”uid=” ldapsuffix=”,ou=people,dc=example,dc=com”

در نتیجه، PostgreSQL مدل‌های احراز هویت مختلفی را متناسب با نیازهای مختلف ارائه می‌کند. مهم است که یک روش مناسب را با توجه به نیازهای امنیتی محیط خود انتخاب کنید.

برای دریافت خدمات پایگاه داده با ما در ارتباط باشید.

postgresqlمشاوره postgresqlآموزش postgresqldatabaseمسعود سلطانی راد
چند سالی هست در حوزه داده ها ( نگهداری و تحلیل آنها) فعالیت دارم و همیشه سعی کردم آموخته هایم رو به اشتراک بگذارم soltanirad@artarad.ir www.artarad.ir
شاید از این پست‌ها خوشتان بیاید