Назад | Перейти на главную страницу

ejabberd starttls_required в c2s / s2s и отключить SSLv3 + незащищенные шифры

Я использую ejabberd в Ubuntu. Моя конфигурация выглядит так:

  {5269, ejabberd_s2s_in, [
                       {shaper, s2s_shaper},
                       {max_stanza_size, 131072},
                       starttls_required
                      ]},
  {5222, ejabberd_c2s, [
                    {access, c2s},
                    {shaper, c2s_shaper},
                    {max_stanza_size, 65536},
                    starttls_required,
                    starttls, {certfile, "./xmpp.pem"}
                   ]},
  {s2s_use_starttls, true}.
  {s2s_certfile, "./xmpp.pem"}.

Тем не менее xmpp.net показывает, что s2s TLS не «требуется», а только «разрешен». Кроме того, SSLv3 включен для c2s и s2s и некоторых небезопасных шифров, таких как RC4.

Как отключить SSLv3 и RC4 и принудительно запустить запуск всех подключений?

Спасибо!

Это старый вопрос, но я хотел бы добавить обновленный ответ для всех, кто ищет и находит его, но использует более современную версию ejabberd (14.12 на момент написания). Следующие параметры (в новом формате конфигурации YAML) должны сделать starttls обязательными, изменить список шифров на что-то приличное и отключить устаревшую поддержку SSL для s2s-соединений:

s2s_use_starttls: required
s2s_ciphers: "HIGH:!3DES:!aNULL:!SSLv2:@STRENGTH"
s2s_protocol_options:                                                            
  - "no_sslv2"                                                                   
  - "no_sslv3" 

для соединений c2s вы можете сделать что-то подобное, за исключением того, что это относится к директиве прослушивания c2s:

-
  port: 5222
  module: ejabberd_c2s
  protocol_options:                                                            
    - "no_sslv2"                                                               
    - "no_sslv3" 
  ciphers: ...                                                              

Требуется StartTLS:

{s2s_use_starttls, require}. вместо того {s2s_use_starttls, true}. (имейте в виду, что в настоящее время вы не сможете подключиться к gmail.com и всем доменам, которые они размещают).

Слабые шифры:

Видеть http://www.process-one.net/docs/ejabberd/guide_en.html#sec27. Я думаю, это означает что-то вроде добавления {ciphers, "..."} к ejabberd_c2s параметры. Проверить с openssl ciphers -V '...' чтобы увидеть, какие шифры разрешены в строке шифра.

Насколько я могу судить, отключить SSLv3 без перекомпиляции ejabberd самостоятельно невозможно. См. Обсуждение Вот.