在 Zimbra 中配置密碼安全策略

除了電子郵件加密和數字簽名的使用之外,保護電子郵件免遭黑客攻擊的最有效且最具成本效益的方法之一就是良好的密碼安全策略。 寫在紙上、存儲在公共文件中或強度不夠的密碼始終是企業信息安全的重大漏洞,並可能導致嚴重事件,造成切實的業務後果。 這就是為什麼任何企業都應該有嚴格的密碼安全策略。

在 Zimbra 中配置密碼安全策略

然而,任何安全官員都知道,密碼策略只有存在,並且每個人,或者至少是組織的關鍵員工都嚴格遵守,才會帶來結果。 實現這一點比看起來更難。 已經負擔過重的員工經常忘記更改密碼的必要性,或者遵循阻力最小的路徑,每次都使密碼變得越來越簡單,從而使整體效果失效。 這就是為什麼企業中的密碼策略合規問題通常通過各種技術手段來解決。

Zimbra 不需要任何第三方應用程序來強制執行密碼策略。 這可以使用內置工具來實現。

首先,有必要了解 Zimbra 中密碼管理的工作原理。 創建新帳戶時,管理員會為其分配一個臨時密碼。 之後,用戶將可以獨立登錄該帳戶並更改密碼。 所有密碼均以加密形式存儲在 Zimbra 服務器上,因此即使是服務器管理員也無法訪問它們。 這就是為什麼如果用戶忘記密碼,他將不得不創建一個新密碼。 回想一下,直到最近,創建新密碼都需要管理員的參與,但最新版本的 Zimbra Creative Suite 8.8.9 添加了用戶自行設置新密碼的功能。

在 Zimbra 中配置密碼安全策略
密碼策略設置可以在個人用戶和用戶組的設置中找到。 您可以設置:

  • 密碼長度 - 允許您設置最小和最大密碼長度。 默認情況下,密碼長度最小為 6 個字符,最大長度為 64。
  • 密碼時效 - 允許您設置密碼失效的時間。 用戶不必等待密碼過期,可以在密碼過期前更改
  • 最小大寫字符數 - 允許您設置密碼中使用的最小大寫字符數
  • 最小小寫字符數 - 允許您設置密碼中使用的最小小寫字符數
  • 最少數字字符 - 允許您設置密碼中使用的最少位數(0 到 9)
  • 最少標點符號 - 允許您設置密碼中使用的標點符號和特殊字符的最少數量
  • 強制執行密碼歷史記錄 - 允許您設置要記住的密碼數量,以便用戶不會定期使用重複的密碼
  • 密碼鎖定 - 此選項允許您防止用戶更改密碼
  • 啟用失敗登錄鎖定 - 此選項允許您配置系統對輸入錯誤密碼的反應

正如您所看到的,Zimbra 中的密碼設置非常靈活,能夠適應幾乎任何企業的密碼策略。 此外,通過使用簡單的腳本,您可以向用戶發送密碼即將過期的提醒。 有了這樣的提醒,員工將能夠在輕鬆的氛圍中更改密碼,而錯過了更改密碼時刻的員工早上打不開的郵件可能會對他的工作效率產生負面影響。

為了使該腳本正常工作,您需要將其複製到一個文件並使該文件可執行。 建議使用 Cron 自動執行此腳本,以便它通知未每天更新密碼的用戶它將很快停止工作。 此外,在腳本中,您必須替換為您自己的域的名稱,而不是 zimbra.server.com。

#!/bin/bash
# Задаем ряд переменных:
# Сперва количество дней для первого напоминания, затем для последнего:
FIRST="3"
LAST="1"
# Задаем адрес отправителя:
FROM="[email protected]"
# Задаем адрес получателя, который будет получать письмо со списком аккаунтов с истекшими паролями
ADMIN_RECIPIENT="[email protected]"
# Указываем путь к исполняемому файлу Sendmail
SENDMAIL=$(ionice -c3 find /opt/zimbra/common/sbin/sendmail* -type f -iname sendmail)
# Получаем список всех пользователей.
USERS=$(ionice -c3 /opt/zimbra/bin/zmprov -l gaa $DOMAIN)
# Указываем дату с точностью до секунды:
DATE=$(date +%s)
# Проверяем каждого из них:
for USER in $USERS
 do
# Узнаем, когда был установлен пароль
USERINFO=$(ionice -c3 /opt/zimbra/bin/zmprov ga "$USER")
PASS_SET_DATE=$(echo "$USERINFO" | grep zimbraPasswordModifiedTime: | cut -d " " -f 2 | cut -c 1-8)
PASS_MAX_AGE=$(echo "$USERINFO" | grep "zimbraPasswordMaxAge:" | cut -d " " -f 2)
NAME=$(echo "$USERINFO" | grep givenName | cut -d " " -f 2)
# Проверяем, нет ли среди пользователей тех, у кого срок действия пароля уже истек.
if [[ "$PASS_MAX_AGE" -eq "0" ]]
then
  continue
fi
# Высчитываем дату окончания действия паролей
EXPIRES=$(date -d  "$PASS_SET_DATE $PASS_MAX_AGE days" +%s)
# Считаем, сколько дней осталось до окончания срока действия пароля
DEADLINE=$(( (($DATE - $EXPIRES)) / -86400 ))
# Отправляем письмо пользователям
SUBJECT="$NAME - Ваш пароль станет недействительным через $DEADLINE дней"
BODY="
Здравствуйте, $NAME,
Пароль вашего аккаунта станет недействительным через $DEADLINE дней, Пожалуйста, создайте новый как можно скорее.
Вы можете также создать напоминание о смене пароля в календаре Zimbra.
Заранее спасибо.
С уважением, IT-отдел
"
# Первое предупреждение
if [[ "$DEADLINE" -eq "$FIRST" ]]
then
	echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
	echo "Reminder email sent to: $USER - $DEADLINE days left"
# Последнее предупреждение
elif [[ "$DEADLINE" -eq "$LAST" ]]
then
	echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
	echo "Reminder email sent to: $USER - $DEADLINE days left"
# Final
elif [[ "$DEADLINE" -eq "1" ]]
then
    echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
	echo "Last chance for: $USER - $DEADLINE days left"
fi
done

因此,我們可以說,即使對於那些實施了嚴格密碼政策的企業來說,Zimbra Collaboration Suite 也非常適合,並且由於內置功能,員工可以非常簡單地實現其嚴格執行。

對於與 Zextras Suite 相關的所有問題,您可以通過電子郵件聯繫 Zextras 公司代表 Katerina Triandafilidi [電子郵件保護]

來源: www.habr.com

添加評論