1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.

Шифруем почту при помощи Djigzo

  1. Как и большинство современных сервисов протоколы электронной почты разрабатывались для закрытой от всех сети ARPANET, и задачи по защите данных и сервисов изначально не ставилось. Проблемы стали видны позднее, когда появился интернет и при чем не малые. Но как бы то ни было мы сегодня имеем аутентификационные данные и текст передаваемые в открытом виде, то есть любой их может перехватить и прочитать. Последующие изменения, вроде передачи вместо пароля — хэша не на много исправило ситуацию. Мощности современных компов позволяют быстро вычислить пароль на основе хэша, хотя в этом необходимости и нет. Ведь можно вместо пароля и в дальнейшем для аутентификации использовать хэш (pass-the-hash). Единственный выход — шифрование всего и вся.
    Поставленную задачу можно реализовать несколькими способами. Самый простой из них — использование возможностей почтового клиента в связке с PGP/GPG или S/MIME. Если клиент изначально не поддерживает одну из технологий, то сегодня доступны специальные расширения под любую задачу — Enigmail, FireGPG, APG (Android Privacy Guard) и так далее. Пользователь самостоятельно контролирует все операции – генерирует и выбирает ключи, шифрует и расшифровывает сообщение, проверяет электронную подпись. Большой плюс такого способа — если письмо случайно попадет не по адресу, то посторонний прочесть его не сможет. Минус — все зависит от самого пользователя и уж очень много мороки с открытыми ключами. Для удобства придется настроить сервер централизованного хранения сертификатов, организовать систему их отзыва и доступ к сообщениям в случае отсутствия пользователя. В итоге даже в относительно небольшой организации предстоит произвести не малую работу, как техническую, так и организационную.
    Другой вариант защиты — шифрование всего SMTP/POP3/IMAP трафика. Это как минимум снизит вероятность прослушивания, хотя не убережет от утечки в случае отправки другому адресату. Такую возможность имеют большинство почтовых серверов и поддерживают практически все популярные сегодня клиенты. В особо тяжелых случаях можно использовать VPN соединение любого типа.
    Кроме этого реализовано ряд специализированных серверов. Среди OpenSource проектов наиболее активен проект Djigzo (djigzo.com) представляющий шлюз автоматически шифрующий всю проходящую почту с функциями DLP (Data Leak Prevention).
    В том случае когда нет возможности изменения текущих настроек почтовых серверов или они не желательны придут на помощь специальные шлюзы автоматически шифрующие исходящий почтовый трафик. Реализованы они по-разному доступны в том числе и софтовые решения. Среди OpenSource проектов популярен Djigzo Email Encryption Gateway, имеющий кроме всего прочего и модуль DLP (Data Leak Prevention) используемый для предотвращения выхода за пределы организации конфиденциальной информации. С его помощью фильтруются номера кредитных карт, банковских счетов, больших списков адресов электронной почты и многое другое. Шлюз можно установить на большинстве *nix систем поддерживающих Java 6 и Postfix. Проект предлагает пакеты для Ubuntu/Debian, RedHat/CentOS, исходные тексты и образы для виртуальных машин VMware, Hyper-V. В качестве клиента выступает аналогичный сервер или любая программа поддерживающая S/MIME. Вложения в виде PDF файлов могут просто закрываться паролем — статическим или динамическим. Отправитель затем просто сообщает пароль получателю любым другим способом (есть функция автоматической отправки SMS). Поддерживается совместная работа с практически любыми центрами сертификации(EJBCA, Microsoft CA) или внешними вроде Verisign или Comodo. Процессом шифрования управляют политики, настраиваемые для доменов и отдельных учетных записей. Также Djigzo может автоматически добавлять к сообщениям электронную подпись, позволяющую получателю удостовериться, что письмо отправлено именно этим корреспондентом. Поддерживается и технология DKIM (DomainKeys Identified Mail).
    Проектом предлагаются клиентские приложения для BlackBerry и Android используемые для отправки и получения шифрованных сообщений через Djigzo и проверки S/MIME подписи. Управление сервером производится при помощи простого в использовании веб-интерфейса.
    И главное Djigzo это именно шлюз, ставить его на рабочей почтовой системе не следует, почему поймешь чуть позже. Инструкция по установке доступная на сайте хоть и расписана под Ubuntu/Debian, но показывает использование исходных текстов. С deb и rpm пакетами процесс на порядок проще:

    Код:
    $ sudo apt-get install postgresql postfix openjdk-6-jre openjdk-6-jre-headless tzdata-java ant ant-optional mktemp wget libsasl2-modules tomcat6
    $ wget -c http://djigzo.com/downloads/djigzo-release-2.1.1-1/djigzo_2.1.1-1_all.deb
    $ wget -c http://djigzo.com/downloads/djigzo-release-2.1.1-1/djigzo-web_2.1.1-1_all.deb
    $ sudo dpkg -i ./djigzo_2.1.1-1_all.deb ./dpkg -i djigzo-web_2.1.1-1_all.deb
    $ sudo apt-get -f install
    
    Последняя команда необязательна, ее даем для подстраховки. По ходу будут созданы все необходимые каталоги, учетные данные и БД, подправлен /etc/sudoers.

    [+] Рисунок № 1
    [​IMG]
    [свернуть]


    В каталоге /etc/postfix появится два шаблона конфигурационных файла, которыми следует оригинальные:​

    Код:
    $ sudo mv djigzo-main.cf main.cf
    $ sudo mv djigzo-master.cf master.cf
    Для отсылки и приема сообщений Djigzo использует Postfix, работая в качестве фильтра. Суть работы понятна по одной строке:

    Код:
    $ cat cat /etc/postfix/main.cf
    ...
    content_filter = djigzo:127.0.0.1:10025
    То есть все, что проходит через Postfix отправляется на 10025 порт, где данные обрабатываются Djigzo. К слову использование сетевого порта позволяет вместо Postfix поставить и любой другой почтовый сервер, но это потребует дополнительных усилий и вряд ли имеет смысл.
    В принципе Djigzo уже работает, осталось настроить веб-интерфейс, чтобы всем управлять. Нужно просто указать Tomcat где искать файлы:

    Код:
    $ sudo nano /etc/default/tomcat6
    JAVA_OPTS="$JAVA_OPTS -Ddjigzo-web.home=/usr/share/djigzo-web"
    JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Xmx256M"
    TOMCAT6_SECURITY=no
    Во время установки генерируется сертификат, необходимо изменить владельца:

    Код:
    $ sudo chown tomcat6:djigzo /usr/share/djigzo-web/ssl/sslCertificate.p12
    Используя заготовки, добавляем HTTPS коннектор к Tomcat:

    Код:
    $ sudo cp /usr/share/djigzo-web/conf/tomcat/server-T6.xml \
    /etc/tomcat6/server.xml
    И прописываем путь к файлу для запуска Djigzo:

    Код:
    $ sudo nano /etc/tomcat6/Catalina/localhost/djigzo.xml
    <context docBase="/usr/share/djigzo-web/djigzo.war" unpackWAR="false"/>
    Перезапускаем сервер:

    Код:
    $ sudo service tomcat6 restart
    Набираем в браузере https://localhost:8443/djigzo, принимаем сертификат, для регистрации вводим логин — admin, пароль — admin.


    [+] Рисунок № 2
    [​IMG]
    [свернуть]


    [+] Рисунок № 3
    [​IMG]
    [свернуть]


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

     
  2. Я как неспециалист, поступил проще. ))
    Я закинул все свои ящики в почтовый клиент, взял программу для шифрования cybersafe (она поддерживает создание и работу с сертификатами для шифрования почты), установил генерированные сертификаты в почтовый клиент, отправил открытый ключ тому, кому пишу и все )
    5 минут дел.