Как обезопасить Roundcube в Ubuntu 16.04

Вступление

Поскольку электронная почта является такой важной частью современного общения, важно помнить о безопасности всех частей вашего почтового конвейера. Roundcube - клиент веб-почты с мощными функциями безопасности и широкими возможностями настройки из своего хранилища плагинов. В этой статье объясняется, как дополнительно обезопасить базовую существующую установку Roundcube.

Если вы использовали SSL при настройке https://www.digitalocean.com/community/tutorials/how-to-install-your-own-webmail-client-with-roundcube-on-ubuntu-16-04#imap-settings [IMAP] и STMP в первоначальной настройке Roundcube, тогда соединение между Roundcube и вашим почтовым сервером уже защищено. Однако подключение вашего браузера к Roundcube отсутствует, а сами ваши электронные письма отправляются в открытом виде. Ваша учетная запись Roundcube также защищена только паролем.

В этом руководстве вы защитите эти три части конвейера электронной почты:

  • Добавление SSL в Apache с помощью Let’s Encrypt.

  • Добавление two-factor authentication в вашу учетную запись Roundcube с плагином Roundcube.

  • Использование GPG для подписи и шифрования электронной почты с помощью плагина Roundcube.

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

  • Один сервер Ubuntu 16.04 с установленным Roundcube, следуя этому https://www.digitalocean.com/community/tutorials/how-to-install-your-own-webmail-client-with-roundcube-on-ubuntu-16-04 [ Roundcube по Ubuntu 16.04 учебник. После завершения этого обязательного руководства у вас будет полнофункциональный, но частично небезопасный веб-клиент электронной почты.

  • Смартфон или планшет с установленным TOTP-совместимым приложением, например, Google Authenticator (iOS, https://play.google. .com / магазин / приложений / подробности? ID = com.google.android.apps.authenticator2 & гл = еп [Android]). Вы будете использовать это для настройки двухфакторной аутентификации.

Вы можете узнать больше о многофакторной аутентификации во введении к https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-16 -04 [Как настроить многофакторную аутентификацию для SSH в Ubuntu 16.04]. Вы можете узнать больше о GPG в Как использовать GPG для шифрования и подписи сообщений.

Шаг 1 - Добавление SSL для безопасного доступа к Roundcube

Прямо сейчас, если вы посещаете установку Roundcube, используя доменное имя вашего сервера в браузере, вы будете подключены через HTTP вместо HTTPS. Для полной защиты всей цепочки связи от вашего браузера до вашего почтового сервера, это соединение с Roundcube должно использовать SSL / TLS.

Один из простых способов сделать это - использовать бесплатные SSL-сертификаты от Let’s Encrypt. Roundcube установлен поверх стека LAMP, поэтому вы можете следить за https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16 -04 [Как обезопасить Apache с Let’s Encrypt в Ubuntu 16.04] для подробного ознакомления с настройкой. Вот краткое резюме:

Сначала установите клиент Let Encrypt.

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache

Затем получите сертификат SSL и убедитесь, что автообновление работает. Замените ++ своим доменом и используйте дополнительные флаги + -d + для любых поддоменов или псевдонимов.

sudo certbot --apache -d
sudo certbot renew --dry-run

Во время интерактивной настройки (после ввода + sudo certbot --apache -d +), когда вас спросят, хотите ли вы выполнить базовую или безопасную настройку, обязательно выберите * secure *. Это обеспечит перенаправление всего HTTP-трафика на HTTPS.

Теперь у вас есть безопасное соединение с вашего компьютера к вашей установке Roundcube, которая, в свою очередь, устанавливает безопасное соединение с вашим почтовым сервером IMAP / SMTP. Есть еще несколько вещей, которые вы можете сделать, чтобы улучшить безопасность вашей электронной почты, но они требуют плагинов.

На следующем шаге используется плагин для усиления безопасности учетной записи Roundcube путем добавления двухфакторной аутентификации.

Шаг 2 - Установка плагина двухфакторной аутентификации

Пока проект Roundcube работает над функциональностью графического интерфейса для плагинов, на данный момент все плагины должны быть установлены через командную строку. Есть два способа сделать это:

  • * Ручная установка *, который был первым доступным методом. Это включает в себя загрузку плагина (который обычно является файлом + .zip + или в Git-репозитории), а затем его активацию путем изменения файла конфигурации Roundcube + / var / www / roundcube / config / config.inc.ph + ,

  • * Полуавтоматическая установка *, которая является более современным методом. Это отвечает на менеджер пакетов PHP, Composer, чтобы установить плагины, указанные в его файле конфигурации.

Некоторые плагины рекомендуют один метод установки поверх другого. The плагин 2FA работает с обоими методами и не дает рекомендаций, поэтому здесь мы будем использовать полуавтоматическую установку из-за простоты использования.

Composer управляется файлом + composer.json, хранящимся в` + $ R_HOME / composer.jsonp`. Чтобы включить Composer, создав этот файл конфигурации. Roundcube поставляется с базовым файлом конфигурации под названием + composer.json-dist +, поэтому мы начнем с его копии.

cd /var/www/roundcube
sudo cp composer.json-dist composer.json

В этом файле по умолчанию уже указано несколько основных плагинов, поэтому затем запустите Composer, чтобы установить их и завершить начальную настройку. Убедитесь, что вы запустите Composer из каталога + / var / www / roundcube +.

sudo composer install

Затем, чтобы добавить плагин 2FA, нам нужно добавить его в файл + composer.json.

Синтаксис строки плагина: " / ":" ". Таким образом, для плагина 2FA добавляемая строка будет " / ":" ".

Откройте файл + composer.json для редактирования, используя` + nano + `или ваш любимый текстовый редактор.

sudo nano /var/www/roundcube/composer.json

Найдите блок require, который начинается с " require ": {. Каждая строка между фигурными скобками (+ {+ и +} +) является строкой плагина. Все строки плагинов в блоке должны заканчиваться запятой, кроме самой последней записи.

Добавьте строку плагина 2FA в конец блока и обязательно добавьте запятую к предыдущей строке.

/var/www/roundcube/composer.json

. . .
"require": {
   "php": ">=5.4.0",
   "pear/pear-core-minimal": "~1.10.1",
   "pear/net_socket": "~1.2.1",
   "pear/auth_sasl": "~1.1.0",
   "pear/net_idna2": "~0.2.0",
   "pear/mail_mime": "~1.10.0",
   "pear/net_smtp": "~1.7.1",
   "pear/crypt_gpg": "~1.6.2",
   "pear/net_sieve": "~1.4.0",
   "roundcube/plugin-installer": "~0.1.6",
   "endroid/qr-code": "~1.6.5"

},
. . .

Сохраните и закройте файл, затем запустите команду Composer, чтобы обновить информацию о пакете для установки нового плагина.

sudo composer update

Когда Composer спросит, хотите ли вы включить плагин, введите + Y +, чтобы продолжить. Как только он будет установлен, выйдите из Roundcube и снова войдите в систему, чтобы включить плагин.

Теперь, когда плагин установлен, нам нужно использовать его, чтобы настроить 2FA на нашей учетной записи через графический интерфейс Roundcube.

Шаг 3 - Включение 2FA на вашем аккаунте

Для начала войдите в Roundcube, используя IP-адрес вашего сервера или домен в браузере. Нажмите кнопку * Настройки * в правом углу, затем * 2-Факторная аутентификация * в левой части навигации.

изображение: https: //assets.digitalocean.com/articles/roundcube-security/QlcwvKy.png [страница настроек двухфакторной аутентификации Roundcube]

В разделе «Опции двухфакторной аутентификации» установите флажок * «Активировать», затем нажмите «Создать секрет» *.

Затем нажмите * Показать коды восстановления * и сохраните четыре отображаемых кода восстановления в безопасном месте. Вы будете использовать эти коды для входа, если не можете сгенерировать токен (например, если вы потеряли свой телефон).

Наконец, нажмите кнопку * Сохранить *.

Это активирует 2FA, но теперь вам нужно добавить секрет в ваше TOTP-совместимое приложение, такое как Google Authenticator. Нажмите кнопку * Показать QR * код, которая появилась после того, как вы сохранили свой секрет и отсканировали код с вашим приложением. Если сканирование не работает, вы также можете ввести секретный код вручную.

изображение: https: //assets.digitalocean.com/articles/roundcube-security/vrraKDc.png [Круглый код двухфакторной аутентификации QR-кода]

Наконец, когда ваше приложение генерирует коды, убедитесь, что оно работает, введя код в поле рядом с кнопкой * Проверить код *, затем нажмите эту кнопку. Если это работает, вы увидите окно с надписью * Code OK *, и вы можете нажать кнопку * OK * внизу, чтобы закрыть это окно. Если есть проблема, попробуйте повторно добавить секрет в ваше приложение.

Последний шаг защиты ваших цифровых сообщений - шифрование фактических сообщений, которые вы отправляете по электронной почте. Мы сделаем это на следующем шаге, используя плагин под названием Enigma.

Шаг 4 - Включение зашифрованной электронной почты с GPG

В Enigma добавлена ​​поддержка просмотра и отправки подписанных зашифрованных писем. Если вы следовали предыдущее руководство по установке Roundcube , то плагин Enigma уже включен в вашей установке. Если нет, вы можете следовать той же процедуре, которую вы использовали для плагина 2FA на шаге 2, чтобы добавить плагин Enigma сейчас.

Для начала нам нужно включить некоторые параметры шифрования по умолчанию. Войдите в Roundcube и нажмите кнопку * Настройки * в правом верхнем углу. Оттуда, нажмите * Preferences *, а затем * Encryption * в списке * Section *.

изображение: https: //assets.digitalocean.com/articles/roundcube-security/kNwyhTr.png [Установить параметры шифрования]

В списке * Основные параметры * есть 7 настроек шифрования. Включение всех 7 обеспечит максимальную безопасность, но это принесет некоторый компромисс в удобстве использования.

Вот каждый из параметров в меню * Основные параметры * и наши предложения (необходимые, рекомендуемые или дополнительные) для каждого, но вы должны выбрать параметры, которые соответствуют вашему сценарию использования:

  • * Включить шифрование и подпись сообщений *: обязательно. Это позволяет подписывать и шифровать сообщения.

  • * Включить проверку подписи сообщений * Рекомендуется. Если кто-то отправляет вам подписанное письмо, этот параметр заставляет Roundcube попытаться проверить отправителя по его адресу электронной почты и ключу.

  • * Включить расшифровку сообщений *: рекомендуется. Если кто-то отправляет вам зашифрованное письмо, этот параметр заставляет Roundcube использовать ваши ключи GPG для его расшифровки.

  • * Подписывать все сообщения по умолчанию *: Необязательно. Он подписывает каждое отправляемое вами электронное письмо, даже если человек, которому вы его отправляете, не имеет поддержки GPG. Если они этого не сделают, они увидят множество символов в нижней части письма. Вы также можете переключить эту опцию при составлении электронного письма.

  • * Шифровать все сообщения по умолчанию *: Необязательно. Это шифрует каждое отправляемое вами электронное письмо, при условии, что у вас есть открытый ключ человека, которому вы отправляете электронное письмо. Вы также можете переключить эту опцию при составлении электронного письма.

  • * Присоединить мой открытый ключ PGP по умолчанию *: Необязательно. Это добавит ваш открытый ключ GPG в качестве вложения в каждое отправленное вами электронное письмо. Если у получателя есть поддержка GPG, его почтовый клиент увидит ключ и установит его в свою связку ключей, чтобы затем он мог отправить вам зашифрованную электронную почту.

  • * Сохранять пароли закрытых ключей для * устанавливает количество времени, в течение которого Roundcube запоминает парольную фразу, которую вы вводите при шифровании или дешифровании электронной почты, поэтому вам не придется вводить ее каждый раз.

После того, как вы выбрали свои настройки, нажмите * Сохранить. * Далее, нажмите * Персоны * в столбце * Настройки *.

изображение: https: //assets.digitalocean.com/articles/roundcube-security/ESIwBCI.png [Обновить личность]

Значением по умолчанию является единое имя с адресом электронной почты, с которым вы зарегистрировались. Нажмите на электронную почту и заполните поле * Отображаемое имя *. Вы можете при желании заполнить другие поля, такие как * Организация *. Когда вы закончите, нажмите кнопку * Сохранить *.

Последняя часть конфигурации создает ключ. Нажмите * PGP Keys * в левой навигационной панели.

Если у вас уже есть ключ GPG, вы можете нажать * Импорт * в правом верхнем углу и импортировать свой секретный ключ, а затем снова щелкнуть его, чтобы импортировать ваш открытый ключ.

Если у вас нет ключа GPG или вы хотите создать новый, нажмите кнопку со знаком «плюс» (* + *) в нижней части столбца * PGP Keys *. Оттуда выберите идентификатор, для которого вы хотите создать ключ, и выберите надежность ключа (чем больше размер ключа, тем сложнее его сломать, но тем медленнее будет выполнять шифрование). Наконец, выберите надежный пароль и нажмите * Сохранить *.

Когда вы получаете проверенное подписанное электронное письмо, Roundcube отображает зеленую * проверенную подпись из * уведомления вверху:

изображение: https: //assets.digitalocean.com/articles/roundcube-security/HOjm9fV.png [Подписанное электронное письмо]

Когда вы получаете и расшифровываете зашифрованное электронное письмо, Roundcube отображает * Сообщение расшифрованного * сообщения:

изображение: https: //assets.digitalocean.com/articles/roundcube-security/CAN7RYZ.png [расшифрованное электронное письмо]

Чтобы использовать шифрование GPG в своих сообщениях, создайте новое письмо, щелкнув значок * Mail * в левом верхнем углу, а затем * Compose *. Нажмите значок * Encryption *, чтобы увидеть доступные варианты шифрования. Это зависит от того, что вы выбрали в настройках шифрования. Если вы следовали нашим рекомендациям, вы должны увидеть * Цифровую подпись этого сообщения *, * Зашифровать это сообщение * и * Прикрепить мой открытый ключ *. Когда вы отправляете электронное письмо, проверьте параметры шифрования, которые вы хотите.

Заключение

Благодаря добавлению SSL, двухфакторной аутентификации и GPG-шифрования ваш конвейер электронной почты становится значительно более безопасным. Отсюда вы можете продолжить расширение и настройку Roundcube, изучив Roundcube Plugin Repository.

Related