Я использую 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 самостоятельно невозможно. См. Обсуждение Вот.