Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Односторонняя работа TLS в качестве транспорта

1

Добрый день!

Стоит задача заворачивать SIP в TLS на участе юзер - Астериск. Asterisk 1.8.7.0

Сгенерировал необходимые ключи, сертификаты, подписал их, в общем, выполнил все действия описанные тут: http://www.voip-info.org/wiki/view/SIP+TLS. В sip.conf прописал так:

[general]

tlsenable=yes

tlsbindaddr=0.0.0.0

tlscertfile=/etc/asterisk/certificates/asterisk.pem

tlsdontverifyserver=no

tlscipher=DES-CBC3-SHA

[999]

transport=tls

Тестирую на двух софтфонах (Blink and MicroSIP). Оба успешно регистрируются на PBX. Параметры TLS согласовываются, handshake проходит нормально.

asterisk*CLI> sip show peer 999

  • Name : 999

    .....................

    Addr->IP : x.x.x.x:5061

    Defaddr->IP : (null)

    Prim.Transp. : TLS

    Allowed.Trsp : TLS

    Status : Unmonitored

    Useragent : Blink 0.2.7 (Windows)

    Reg. Contact : sip:999@x.x.x.x:5061;transport=tls

asterisk*CLI> sip show tcp

Address Transport Type

x.x.x.x:1545 TLS Server

В результате.

Blink и MicroSIP:

Исходящие вызовы ходят успешно. TLS - работает.

Входящие - вываливается в консоли ошибка:

SSL certificate ok

== Problem setting up ssl connection: error:00000000:lib(0):func(0):reason(0) [Oct 12 13:32:33] WARNING[1369]: tcptls.c:222 handletcptlsconnection: FILE * open failed!

удалить закрыть спам изменить тег редактировать

спросил 2011-10-12 14:53:06 +0400

pazuzu Gravatar pazuzu
11 1 2 3

обновил 2011-10-12 15:44:24 +0400

Comments

Попробуйте включить больше уровень debug. core set debug 10 и core set verbose 10. Лог желательно куда-то в pastebin.com

litnimax ( 2011-10-12 15:56:16 +0400 )редактировать

3 Ответа

0

Заметил еще одну особенность.

При входящем звонке на Blink и MicroSIP Asterisk пытается инициировать TLS handshake и на этом этапе все рубится, полагаю, по той причине, что один раз (при регистрации) он уже прошел успешно.

Когда я звоню на PhonerLite то все происходит без TLS handshake, а по уже установленному (во время регистрации) TLS соединению.

ссылка удалить спам редактировать

ответил 2011-10-13 13:49:45 +0400

pazuzu Gravatar pazuzu
11 1 2 3
0

это все в стадии большого експеремента. нормально работает только по IAX2. на voip-info.org есть софтфоны в которых это работает. безопасность во всех бесплатных версиях "взлом возможен непроффессиолналом".

хотите безопасно - делайте тунели тем же openvpn..

ссылка удалить спам редактировать

ответил 2011-10-12 18:47:38 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

SIP TLS тоже уже давно нормально работает. Со SNOMами, платным Bria под всевозможные платформы. Тот же Blink вполне нормально работает, видимо у автора где-то косяк с настройкой. Насчет отсутствия безопасности - откуда такие сведения?

asteriskguru ( 2011-10-13 10:51:56 +0400 )редактировать

Пробовал с PhonerLite SIP TLS летает на УРА и входящие и исходящие. В PhonerLite как-то кривенько реализован SRTP. Он в sdp присылает m=audio RTP/AVP, а по "ГОСТу" должен был-бы прислать m=audio RTP/SAVP. В результате астериск пишет, что он пытается установить соединение без SRTP и дропает звонок. Как же так выходит, что один работает с TLS нормально другой - болт? Ведь и регистрируются на астериске они все успешно.

pazuzu ( 2011-10-13 12:12:12 +0400 )редактировать

В настройках PhonerLite, оказывается, есть возможность поставить галочку напротив пункта SAVP и тогда все приходит как надо. Протестировал работу SIP TLS на Bria Pro 2.4 - все работает. В результате у меня уже два успешно работающих софтфона чего мне в принципе достаточно. Однако проблема работы с другими софтфонами остается невыясненной.

pazuzu ( 2011-10-13 15:16:09 +0400 )редактировать

это все фигня. там не шифруется сип мессеж вообще помнится.а то что шифруется шифруется коротким ключем. вобщем все это для галочки и не обеспечивает безопасности.

meral ( 2011-10-13 15:38:35 +0400 )редактировать

Насколько я знаю, SIP TLS шифрует все без исключения SIP сообщения. Да, обмен ключом, используемый для шифрации SRTP проходит в plaintext через SIP. По-этому использовать SRTP без SIP TLS почти бессмысленно. Но когда включен и SRTP и SIP TLS, то безопасность обеспечивается по полной программе. Вы сможете прослушать такой звонок, если весь трафик физически пойдет через вас?

asteriskguru ( 2011-10-14 10:04:10 +0400 )редактировать

погугли security hack tls asterisk. это в теории. на практике там мелкие ключи используются для обхода ограничений по експорт технологий+ дофига данных(для подбора) + нет смены ключа во время разговора. есть значительный шанс расшифровки записанного дампа. да и номера оно вроде не шифрует. на практике это защита для отмазки.

meral ( 2011-10-14 14:13:17 +0400 )редактировать
0

Поставил софтфон PhonerLite. Входящие на него, каким-то чудом, работают. К сожалению PhonerLite мне не подходит из-за некорректной работы SRTP. Зато получил возможность сравнить дебаг. Выкладываю только кусок в той части где начинается различие: http://pastebin.com/acX1XwdY

ссылка удалить спам редактировать

ответил 2011-10-12 16:53:18 +0400

pazuzu Gravatar pazuzu
11 1 2 3

Comments

дебаг не очень читабельный. Видимо копи-пейст из консоли "захватил" символы по окраске текста. Попробуйте скопировать соответствующий кусок лог-файла. Я совсем недавно тестировал asterisk-1.8.6 с Blink - работало в обе стороны. Какая версия блинка? Если исключить второе "плечо" звонка и воспользоваться командой originate - то же самое?

asteriskguru ( 2011-10-17 14:43:38 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-10-12 14:53:06 +0400

Просмотрен: 3,259 раз

Обновлен: Sep 08 '14

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.