Главная > Технический изврат > Ejabberd: получаем grade A на xmpp.net

Ejabberd: получаем grade A на xmpp.net

Дело было вечером, делать было нечего. И решил я заполучить вот такую плашку:

xmpp.net score


С дефолтными настройками получается максимум класс C, что как бы стыдно. Обнаруженные недостатки связаны с использованием небезопасных протоколов (SSLv3) и алгоритмов шифрования. Порывшись в документации, удалось настроить следующее:

c2s config:

listen: 
  - 
...
    starttls_required: true
    protocol_options: 
      - "no_sslv2"
      - "no_sslv3"
    tls_compression: false
    dhfile: "/usr/local/etc/ejabberd/dh.pem"
    ciphers: "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES256-GCM-SHA384:CAMELLIA256-SHA:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-SEED-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:AES128-GCM-SHA256:SEED-SHA:CAMELLIA128-SHA:AES128-SHA256:AES128-SHA:IDEA-CBC-SHA"

s2s config:

s2s_use_starttls: optional
s2s_protocol_options: 
  - "no_sslv2"
  - "no_sslv3"
s2s_tls_compression: false
s2s_dhfile: "/usr/local/etc/ejabberd/dh.pem"
s2s_ciphers: "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES256-GCM-SHA384:CAMELLIA256-SHA:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-SEED-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:AES128-GCM-SHA256:SEED-SHA:CAMELLIA128-SHA:AES128-SHA256:AES128-SHA:IDEA-CBC-SHA"

Файл dh.pem создается командой openssl dhparam -out dh.pem 2048

Из соображений совместимости пришлось сделать необязательным starttls для s2s. Также отвалились некоторые старые клиенты, не умеющие TLS. Например, старая миранда. Как костыль, можно поднять для них слушатель на другом порту, но это уже по желанию админа.

  1. Пока что нет комментариев.
*