~2 min read • Updated Jan 27, 2026

1. Backend احراز هویت چیست؟


در iRedMail، Backend احراز هویت جایی است که:

  • کاربران ایمیل تعریف می‌شوند
  • پسوردها ذخیره می‌شوند
  • دامنه‌ها و aliasها مدیریت می‌شوند
  • Policyها و محدودیت‌ها نگه‌داری می‌شوند

Postfix و Dovecot هیچ دیتایی ذخیره نمی‌کنند؛ فقط از Backend سؤال می‌پرسند.


2. جایگاه Backend در معماری iRedMail


User Login (SMTP / IMAP)
        ↓
Postfix / Dovecot
        ↓  (Auth Query)
Backend Auth (DB / LDAP)

اگر Backend down شود:

  • SMTP AUTH fail می‌شود
  • IMAP login fail می‌شود
  • ایمیل عملاً از کار می‌افتد

3. انواع Backend در iRedMail


1️⃣ Backend دیتابیس (پیشنهادی)

معمولاً:

  • MariaDB / MySQL
  • PostgreSQL

مناسب برای:

  • بیشتر سرورها
  • مدیریت ساده
  • Performance بالا

2️⃣ Backend LDAP (سازمانی)

معمولاً:

  • OpenLDAP
  • اتصال به Active Directory

مناسب برای:

  • سازمان‌های بزرگ
  • SSO
  • ساختارهای سلسله‌مراتبی

4. مقایسه Database vs LDAP


ویژگیDatabaseLDAP
سادگی⭐⭐⭐⭐⭐⭐
Performance⭐⭐⭐⭐⭐⭐⭐
مقیاس‌پذیری⭐⭐⭐⭐⭐⭐⭐
نگه‌داریآسانپیچیده
پیشنهاد iRedMailفقط سازمانی

5. Backend دیتابیس (MariaDB / MySQL)


دیتابیس‌های مهم

DBکاربرد
vmailکاربران و دامنه‌ها
iredadminپنل مدیریت
amavisdpolicy و spam

جدول‌های حیاتی در vmail

Tableتوضیح
mailboxکاربران ایمیل
domainدامنه‌ها
aliasaliasها
sender_bccpolicyها

نحوه احراز هویت (DB)

  • Postfix → SQL map
  • Dovecot → SQL auth

مسیرهای تنظیمات:

/etc/postfix/mysql/*.cf
/etc/dovecot/dovecot-sql.conf

6. Backend LDAP (OpenLDAP)


ساختار نمونه LDAP

dc=example,dc=com
 ├── ou=Users
 ├── ou=Groups
 └── ou=Domains

نحوه احراز هویت LDAP

  • bind user
  • search DN
  • verify password

مسیرهای تنظیمات:

/etc/postfix/ldap/*.cf
/etc/dovecot/dovecot-ldap.conf

7. امنیت پسوردها


الگوریتم‌های امن:

  • SSHA512 (LDAP)
  • BCRYPT / SHA512 (DB)

پسوردها هرگز plaintext ذخیره نمی‌شوند.


8. بکاپ حیاتی Backend


Backup دیتابیس

mysqldump vmail > vmail.sql

Backup LDAP

slapcat > ldap.ldif

بدون بکاپ = ریسک مرگبار.


9. Debug و عیب‌یابی


تست DB Auth

mysql vmail

تست LDAP

ldapsearch -x

بررسی لاگ‌ها

/var/log/maillog

10. خطاهای رایج


❌ Auth fail برای همه کاربران

  • DB down
  • permission اشتباه

❌ Login کند

  • query بد
  • index نداشتن

11. Best Practice حرفه‌ای


  • DB backend برای ۹۰٪ سناریوها
  • Replication برای دیتابیس‌های بزرگ
  • Backup روزانه
  • مانیتور latency

Written & researched by Dr. Shahin Siami