jabber daemons

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

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

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение leave »

rapidssl

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

а я вот что нашел. http://hyperstruct.net/2007/6/20/instal ... n-ejabberd сертификаты получил, только неработает что-то. честно скажу - пока не до конца понимаю что делаю, спешу просто, надо чтобы работало, потому как сижу без связи. в логах ejabberd второй ветки такое:

Код: Выделить всё

=ERROR REPORT==== 2009-03-18 20:50:21 ===
** State machine <0.3673.0> terminating
** Last event in was {xmlstreamelement,
                         {xmlelement,"starttls",
                             [{"xmlns","urn:ietf:params:xml:ns:xmpp-tls"}],
                             []}}
** When State == wait_for_feature_request
**      Data  == {state,{socket_state,gen_tcp,#Port<0.5451>,<0.3672.0>},
                        ejabberd_socket,#Ref<0.0.0.40243>,"1121336876",
                        {sasl_state,"jabber","zazoid.com",[],
                                    #Fun<ejabberd_c2s.1.74696376>,
                                    #Fun<ejabberd_c2s.2.131707924>,undefined,
                                    undefined},
                        c2s,c2s_shaper,false,true,false,false,
                        [{certfile,"/etc/jabber/ssl.pem"}],
                        false,undefined,[],"zazoid.com",[],undefined,
                        {0,nil},
                        {0,nil},
                        {0,nil},
                        {0,nil},
                        {dict,0,16,16,8,80,48,
                              {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                               []},
                              {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                []}}},
                        undefined,undefined,undefined,false,
                        {userlist,none,[]},
                        unknown,unknown,
                        {{192,168,111,169},46841},
                        "en"}
** Reason for termination =
** {{badmatch,{error,"SSL_CTX_use_PrivateKey_file failed: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch"}},
    [{ejabberd_socket,starttls,3},
     {ejabberd_c2s,wait_for_feature_request,2},
     {gen_fsm,handle_msg,7},
     {proc_lib,init_p,5}]}
куда копать пока понять немогу. вроде все по шагам сделал, без сбоев. там надо было дебиан патчить, но у меня дженту и там это уже исправлено на удивление, но сбой какраз где-то в этом месте, как вы можете видеть, т.е. в другой функции но с похожим названием и она там рядом.

в чем смысл ошибки вообще?

хотя, повторюсь, мне бы ща сделать чтобы работало, а со смыслом я бы потом разобрался

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение leave »

вообще, насколько я вижу, ругается не ejabberd, а очень даже libssl:
SSL_CTX_use_PrivateKey_file failed: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
для начала перепроверь путь к .pem в конфиге ejabberd, убедись, что используешь правильный .crt при проверке
покажи еще вывод

Код: Выделить всё

openssl s_client -connect your_jabber:5223 -CAfile /bla/bla/ca.crt

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

насчет libssl была мысль, но непонятно пока что, что оно откуда берет и что чем является.

путь к pem перепроверил миллион раз, а вот откуда оно берет crt чесговоря непонятно.

вывод таков:

Код: Выделить всё

openssl s_client -connect zazoid.com:5223 -CAfile /home/testor/storage/keys/xmpp/ca.crt
CONNECTED(00000003)
1474:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
а вообще все уже какбы уже не так горит, но тем не менее делать надо, не только я этим серваком пользуюсь.

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение leave »

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

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

strace - опыта нет вообще, не владею

а как оно вообще работает? ну сам прицнип. я знал просто оно почему-то постоянно вылетает у меня из головы, всмысле общая схема.

делать то просто как-то надо. возвращать как было - не годится. менять джаббер - еще хуже.

может попробывать таки перейти на jabberd2? потому как вникать в erlang ради того чтобы раз в год поковырять глючный ejabberd это явно не вариант.

michael
Неотъемлемая часть форума
Сообщения: 434
Зарегистрирован: 12 апр 2004, 11:00
Откуда: г. Владивосток
Контактная информация:

Re: jabber daemons

Сообщение michael »

strace пишет системные вызовы, которые делает программа. Потом можно просто погрепать на предмет open и посмотреть, какие файлы программа пытается открыть.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

вариант, но ejabberd то на эрланге, который вроде как работает с виртуальной машиной, что-то у меня сомнения что выйдет натравить на него strace. да и на какой файл конкретно его натравливать - тоже непонятно, пугает меня этот ejabberd.

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение leave »

на тот, который в ps ax|grep jabber светится

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

Код: Выделить всё

ps aux | grep jabber
jabber    3663  0.0  0.0   1736   428 ?        S    Jan19   0:34 /usr/lib/erlang/erts-5.6.3/bin/epmd -daemon
jabber    7571  0.0  7.4  52064 38600 ?        Sl   Mar18   5:11 /usr/lib/erlang/erts-5.6.3/bin/beam -- -root /usr/lib/erlang -progname erl -- -home /var/run/jabber -sname ejabberd@main -s ejabberd -kernel inetrc "/etc/jabber/inetrc" -sasl sasl_error_logger {file,"/var/log/jabber/sasl.log"} -mnesia dir "/var/spool/jabber" -noshell -noshell -noinput
jabber   14329  0.0  0.0   1732   408 ?        Ss   Mar18   0:00 inet_gethost 4
jabber   14330  0.0  0.1   1868   644 ?        S    Mar18   0:00 inet_gethost 4
root     19828  0.0  0.1   2876   720 pts/5    R+   01:47   0:00 grep --colour=auto jabber
теперь понимаешь что меня смущает?)

не, ну я конечно преувеличиваю, я вполне себе в курсе что я показал все что запущено от юзера jabber, но помоему это неплохая иллюстрация причин моего подозрительного отношения к этому странному приложению

michael
Неотъемлемая часть форума
Сообщения: 434
Зарегистрирован: 12 апр 2004, 11:00
Откуда: г. Владивосток
Контактная информация:

Re: jabber daemons

Сообщение michael »

Во-первых, даже если там используется виртуальная машина, всё равно открыть файл сама она не сможет, придётся syscall делать, который strace перехватит. Во-вторых, strace умеет перехватывать syscall'ы потомков, так что не суть важно сколько процессов в итоге порождается. Просто попробуй.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Re: jabber daemons

Сообщение tes+or »

если ввести:
/usr/lib/erlang/erts-5.6.3/bin/beam -- -root /usr/lib/erlang -progname erl -- -home /var/run/jabber -sname ejabberd@main -s ejabberd -kernel inetrc "/etc/jabber/inetrc" -sasl sasl_error_logger {file,"/var/log/jabber/sasl.log"} -mnesia dir "/var/spool/jabber" -noshell -noshell -noinput
что с трэйсером что без - оно не запускается и ругается:

Код: Выделить всё

Environment variable BINDIR is not set
что-то знакомое, но к чему это - немогу вспомнить.

если запустить тупо как ejabberd, то оно даже запускается, хоть и не фунциклирует особо, но соединения принимать таки пытается.

если запустить через трэйсер, то в вывод валится килобайт 100 различного текста. я не готов это разбирать, нет.

наверное таки имеет смысл ставить что-то попроще. посмотрю в сторону jabberd2. или таки переходить на публичные сервера.

вобщем да, джаббер это круто, но толку с него если с реализациями протокола такой напряг.

michael
Неотъемлемая часть форума
Сообщения: 434
Зарегистрирован: 12 апр 2004, 11:00
Откуда: г. Владивосток
Контактная информация:

Re: jabber daemons

Сообщение michael »

1) Посмотри ejabberd, это, наверняка, скрипт, устанавливающий всякие переменные типа BINDIR. Думаю, у тебя должно быть BINDIR=/usr/lib/erlang/erts-5.6.3/bin
2) Не надо читать 100kb текста, пусть этим grep занимается.

Ответить