Addition/Force.Users.to.Change.Password.in.90.Days

From iRedMail

(Difference between revisions)
Jump to: navigation, search
(Created page with ' = Requirements = This tutorial is applied to iRedMail-0.7.0 stable, if you're running a earlier version, please upgrade it to 0.7.0. Why v0.7.0: * We have new SQL column '''"p…')
(→Check postfix setting)
 
(2 intermediate revisions not shown)
Line 2: Line 2:
= Requirements =
= Requirements =
-
This tutorial is applied to iRedMail-0.7.0 stable, if you're running a earlier version, please upgrade it to 0.7.0.
+
This tutorial is applied to iRedMail-0.7.0 stable, if you're running an earlier version, please upgrade it to 0.7.0.
-
Why v0.7.0:
+
Why at least v0.7.0:
-
* We have new SQL column '''"passwordlastchange"''' in table '''"vmail.mailbox"'''.
+
* With MySQL backend:
-
* Roundcube will save date of password change in column '''"passwordlastchange"''' of table '''"vmail.mailbox"'''. Works in both OpenLDAP and MySQL backend.
+
** we have new SQL column '''"passwordlastchange"''' in table '''"vmail.mailbox"'''.
 +
** Roundcube will save date of password change in column '''"passwordlastchange"''' of table '''"vmail.mailbox"'''.
= Check postfix setting =
= Check postfix setting =
-
* Execute below command to make sure you have '''"$smtpd_sender_restrictions"''' in '''"proxy_read_maps"'''. If you don't have it, please append it to '''"proxy_read_maps"''' manually.
+
* Open Postfix config file '''/etc/postfix/main.cf''', make sure you have '''"$smtpd_sender_restrictions"''' in '''"proxy_read_maps"''' setting. If you don't have it, please append it to '''"proxy_read_maps"''' manually.
{{cmd|<pre>
{{cmd|<pre>
-
# postconf proxy_read_maps
 
proxy_read_maps = ... $smtpd_sender_restrictions
proxy_read_maps = ... $smtpd_sender_restrictions
</pre>}}
</pre>}}

Current revision as of 10:40, 22 August 2011

Contents

Requirements

This tutorial is applied to iRedMail-0.7.0 stable, if you're running an earlier version, please upgrade it to 0.7.0.

Why at least v0.7.0:

  • With MySQL backend:
    • we have new SQL column "passwordlastchange" in table "vmail.mailbox".
    • Roundcube will save date of password change in column "passwordlastchange" of table "vmail.mailbox".

Check postfix setting

  • Open Postfix config file /etc/postfix/main.cf, make sure you have "$smtpd_sender_restrictions" in "proxy_read_maps" setting. If you don't have it, please append it to "proxy_read_maps" manually.
Terminal:
proxy_read_maps = ... $smtpd_sender_restrictions

For MySQL backend only

Update postfix settings

  • Update postfix setting "smtpd_sender_restrictions" in its config file /etc/postfix/main.cf (Linux) or /usr/local/etc/postfix/main.cf (FreeBSD), add "check_sender_access" to verify date of password last change.
File: main.cf
smtpd_sender_restrictions = check_sender_access proxy:mysql:/etc/postfix/mysql/force_password_change.cf, permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated
  • Create new file: /etc/postfix/mysql/force_password_change.cf.
File: /etc/postfix/mysql/force_password_change.cf
user        = vmail
password    = [PASSWORD_OF_vmail]
hosts       = 127.0.0.1
port        = 3306
dbname      = vmail
query       = SELECT 'REJECT PLEASE CHANGE YOUR PASSWORD IMMEDIATELY.' FROM mailbox WHERE username='%s' AND passwordlastchange < DATE_SUB(NOW(), INTERVAL 90 DAY) LIMIT 1
  • Restart postfix to make it work.

For OpenLDAP backend

Update postfix setting

Personal tools