Написано по мотивам заметки о «особенностях» оборудования DLink. Когда работаешь с VoIP оборудованием часто хочется простоты, чтобы телефон
просто настраивался, просто работал и его было просто использовать. Но есть продукты, где за простотой, которую производитель придает продукту кроются просто адские неприятные подробности. Так, наряду с установкой FreePBX как оболочки АТС для предпри
ятия мы всегда смотрим на возможные дешевые решения для малых организаций и подразделений организаций. И вот мы увидели, что компания Atcom выпустила прошивку 3.0 для своих станций на blackfin (IP01, IP02, IP04 и т.п.), которая была в наличии у нас и попробовали её. Все выглядит вкусно:
- Возможно создавать свои конфиги
- Полная запись разговоров
- Фаервол и защита от атак по SIP
- И еще море возможностей
Но от вкусностей осталось послевкусие...
По приведенным вкусностям оказалось следующее:
- Возможно, но только extensions.conf, users.conf и dundi.conf. What? Остальное если отредактировать — будет потеряно при перезагрузке.
- Есть, пишется на windows шару. Но местами в интерфейсе есть ошибки, которые галочку не позволяют поставить.
- Есть. Но фаервол сделан так, что чтобы закрыть все дыры (о них ниже), нужно явно определить все исходящие и входящие порты, которые нужны всей системе. SIP, RTP, DNS, NTP, IAX2, DUNDi и т.п. ICMP при это разрешить не получится. и вообще много чего не получится. Почти ничего не получится.
Про остальное море, в котором можно утонуть, если копнуть глубже. Итак, по нарастающей, начнем с самых простых проблем и странностей:
- На входе нас встречает поле Language, в котором... Ничего нельзя выбрать. Оказалось, оставили как задел для будущих прошивок.
- Реально, я никогда не видел так много опечаток в английском языке в интерфейсах устройств. Я нашел 6 опечаток, притом сильно не искал.
- Внутри — asterisk 3.0. Китайцы при компилировании изменили версию asterisk ручками. Интересно, зачем? Запутать следы?
- Недавно вышла версия 4.0. Из изменений — полностью отключили ssh. Занавес.
Проблемы средней тяжести:
- На GSM портах CallerID определяется как ++. рекомендация производителя: откатить прошивку на v2.0.
- Невозможность сохранить настройки GSM порта. Совет: сбросить на заводские настройки, при том что ошибка заключается в JavaScript страницы.
- Фаервол. Есть галочка drop all. Она реально дропает все, даже исходящие пакеты. Вам нужно будет явно разрешить все сервисы, при этом указать вы можете только dstport. А как вы по dstport откроете RTP? Вы знаете на какой адрес и порт ваш asterisk захочет отправить RTP? Прийдется разрешать для этого весь UDP. Ой, а SIP мы попутно тоже разрешили? Ну, не судьба. В мануале про этот «ньюанс» ничего нет.
Тяжкие смертельные грехи:
- SSH можно открыть без авторизации. Вообще. Есть ссылка в FAQ, которая помимо авторизации веб-интерфейса включает или отключает ssh.
- На SSH нельзя поменять пароль. Вообще. В сумме с первым пунктом это означает что если вы не закрыли ssh — к вам зайдет кто угодно. В фаерволе система не дает создавать правила с DENY на 80 и 22 порты, поэтому 22 порт получится закрыть только с deny all, который с voip теоретически несовместим.
- Но есть новость и хуже — интерфейс AMI всегда открыт в астериске на всех интерфейсах с полными правами, в мануале про это ничего не написано. А? Без комментариев, последствия представьте сами.
В итоге система, которая выглядит как простая АТС, с возможностью настройки, которая потенциально небезопасна и без очень-очень-очень вдумчивой настройки безопасной быть не может. Похоже для простых АТС на базе астериска и с достаточной гибкостью и функциональностью альтернатив Askozia сейчас нет.