Поряд із шифруванням листів та використанням електронно-цифрового підпису, одним із найефективніших та маловитратних способів захисту електронної пошти від злому є грамотна парольна політика безпеки. Записані на папірцях, що зберігаються в загальнодоступних файлах або просто недостатньо складні паролі, завжди є великим брехнею в інформаційній безпеці підприємства і можуть призвести до серйозних інцидентів з відчутними для бізнесу наслідками. Саме тому на будь-якому підприємстві має існувати сувора парольна безпекова політика.

Втім, будь-який безпека знає, що парольна політика приноситиме результат тільки тоді, коли вона не просто існує, але й неухильно дотримується всіх, або хоча б ключових співробітників організації. Домогтися цього важче, ніж здається. І без того сильно завантажені роботою співробітники постійно забувають про необхідність зміни пароля, або йдуть шляхом найменшого опору, щоразу роблячи пароль все простіше і простіше, зводячи таким чином нанівець весь ефект. Саме тому питання дотримання парольної політики на підприємствах зазвичай вирішується різними технічними засобами.
Для того, щоб стежити за дотриманням парольної політики в Zimbra, жодних сторонніх програм не потрібно. Домогтися цього можна за допомогою вбудованих засобів.
Спочатку варто розібратися в тому, як влаштовано керування паролями в Zimbra. У момент створення нового облікового запису адміністратором їй присвоюється тимчасовий пароль. Після цього користувач зможе самостійно увійти до облікового запису та змінити пароль. Усі паролі зберігаються у зашифрованому вигляді на сервері з Zimbra та завдяки цьому недоступні навіть адміністратору сервера. Саме тому, якщо користувач забуває пароль, йому доведеться створювати новий. Нагадаємо, що до недавнього часу для створення нового пароля була потрібна участь адміністратора, але в останній версії Zimbra Creative Suite 8.8.9 було додано можливість для користувачів самостійно встановлювати новий пароль.

Параметри парольної політики можна знайти в налаштуваннях окремих користувачів та груп користувачів. Налаштувати можна:
- Password length - дозволяє встановити мінімальну та максимальну довжину пароля. За промовчанням мінімальна довжина пароля становить 6 символів, а максимальна – 64 символи.
- Password aging — дозволяє встановити час, після якого пароль стає недійсним. Користувачам не обов'язково чекати закінчення терміну дії пароля, замінити його можна і до закінчення терміну його дії
- Minimum upper case characters - дозволяє встановити мінімальну кількість великих літер, що використовуються в паролі
- Minimum lower case characters - дозволяє встановити мінімальну кількість малих літер, що використовуються в паролі
- Minimum numeric characters — дозволяє встановити мінімальну кількість цифр від 0 до 9, які використовуються в паролі
- Minimum punctuation symbols — дозволяє встановити мінімальну кількість розділових знаків і спецсимволів, що використовуються в паролі
- Enforce password history — дозволяє встановити число паролів, що запам'ятовуються, щоб користувач періодично не використовував повторювані паролі
- Password locked — ця опція дозволяє заборонити користувачеві змінювати пароль
- Enable failed log in lockout — ця опція дозволяє настроїти реакцію системи на введення неправильного пароля
Як бачите, налаштування паролів у Zimbra досить гнучкі та здатні підлаштуватися під парольну політику на практично будь-якому підприємстві. Крім того, за рахунок використання простенького скрипту можна налаштувати відправку користувачам нагадувань про те, що час дії їхнього пароля незабаром закінчиться. Завдяки такому нагадуванню, співробітник зможе в спокійній обстановці змінити пароль, у той час як пошта, що не відкривається з ранку, у проґавленого моменту зміни пароля співробітника може негативно позначитися на його ефективності.
Щоб цей скрипт запрацював, його треба скопіювати у файл і зробити цей файл виконуваним. Рекомендується автоматизувати виконання цього скрипту за допомогою Cron так, щоб він щодня сповіщав користувачів, які давно не оновлювали пароль, що він незабаром перестане працювати. Крім того, у скрипті замість zimbra.server.com необхідно підставити ім'я вашого власного домену.
#!/bin/bash
# Задаем ряд переменных:
# Сперва количество дней для первого напоминания, затем для последнего:
FIRST="3"
LAST="1"
# Задаем адрес отправителя:
FROM="admin@zimbra.server.com"
# Задаем адрес получателя, который будет получать письмо со списком аккаунтов с истекшими паролями
ADMIN_RECIPIENT="admin@zimbra.server.com"
# Указываем путь к исполняемому файлу 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@zextras.com
Джерело: habr.com
