====== Asterisk. Телефонное оборудование и безопасность ======
===== Вебинар =====
===== Программа курса =====
* [[http://www.specialist.ru/course/asterisk2|Asterisk. Уровень 2. Телефонное оборудование и безопасность]]
===== Модуль 0. Подготовка стенда в классе =====
* Узнать свой номер стенда
* Удалить виртуалки
* Удалить профили putty
* Отключить не используемые адаптеры
* Записать логин пароль и IP (сообщить преподавателю) рабочей станции
* Проверить наличие дистрибутивов и образов
===== Модуль 1. Развертывание компьютерной и телефонной сети предприятия =====
==== Теория ====
* Базовая схема компьютерной сети предприятия
* Базовая схема телефонии предприятия
==== Лабораторные работы: Настройка ip и voip сети предприятия ====
* [[Настройка стендов слушателей#Скрипты автоконфигурации]]
==== 1.1 Настройка интернет шлюза и сервера ====
будущий_gate# sh conf/net_gate.sh
будущий_gate# init 6
будущий_server# sh conf/net_server.sh
будущий_server# init 6
==== 1.2 Настройка сервисов DHCP и DNS ====
gate# sh conf/dhcp.sh
server# sh conf/dns.sh
==== 1.3 Настройка клиентской системы Windows ====
* Настройка IP протокола на использование DHCP
C:\> ipconfig /release
C:\> ipconfig /renew
gate# dhcp-lease-list
gate# ip n
==== 1.4 Настройка сервера Asterisk, sip каналов и базового плана звонков ====
* [[Сервис Asterisk#Установка]]
* [[Сервис Asterisk#Настройка CHAN_SIP каналов]]
* [[Сервис Asterisk#Настройка базового плана нумерации]]
* Самостоятельная работа **"Ручная"** настройка пользовательского оборудования SIP Phone Panasonic KX-HDVXXX ([[SIP Phone Panasonic KX-HDVXXX#Настройка через WEB интерфейс]]) на номер 401
===== Вопросы =====
* Перечислите варианты, позволяющие узнать IP адрес, полученный оборудованием?
===== Модуль 2: Подключение телефонного оборудования к Asterisk =====
==== Теория ====
==== Обзор типов телефонного оборудования и вариантов подключения его к Asterisk ====
* [[https://ru.wikipedia.org/wiki/IP-%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD|IP-телефон]]
* [[https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%8B_%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F|Телефонные платы расширения]]
* [[https://www.digium.com/products/telephony-cards|Digium Telephony Cards]]
* [[https://ru.wikipedia.org/wiki/VoIP-%D1%88%D0%BB%D1%8E%D0%B7|VoIP-шлюз]]
==== Интерфейсы FXS, FXO и PRI ====
* [[https://ru.wikipedia.org/wiki/FXS|FXS (Foreign Exchange Station или Subscriber)]]
* [[https://ru.wikipedia.org/wiki/FXO|FXO (Foreign eXchange Office)]]
* [[https://en.wikipedia.org/wiki/Loop_start|Loop start (often called kewlstart)]]
* [[https://ru.wikipedia.org/wiki/Мультиплексирование_с_разделением_по_времени|Мультиплексирование с разделением по времени]]
* [[https://ru.wikipedia.org/wiki/ISDN|ISDN (Integrated Services Digital Network)]]
* [[https://ru.wikipedia.org/wiki/PRI|Интерфейс первичного уровня (Primary Rate Interface, PRI)]]
* [[https://ru.wikipedia.org/wiki/Q.931|Q.931 - протокол управления соединениями для цифровой телефонии ISDN]]
==== Схема интеграции VoIP и классического телефонного оборудования предприятия ====
* [[https://ru.wikipedia.org/wiki/%D0%9E%D1%84%D0%B8%D1%81%D0%BD%D0%B0%D1%8F_%D0%90%D0%A2%D0%A1|Офисная АТС, учрежденческая АТС (УАТС)]]
* [[https://ru.wikipedia.org/wiki/IP-%D0%90%D0%A2%D0%A1|IP-АТС, IP-УАТС (IP-PBX, от Internet Protocol и Private Branch Exchange)]]
==== Использование методик расчета количества каналов для подключения Asterisk к PSTN и PBX ====
* [[https://ru.wikipedia.org/wiki/%D0%AD%D1%80%D0%BB%D0%B0%D0%BD%D0%B3|Эрланг (обозначение Эрл) — безразмерная единица интенсивности нагрузки]]
==== Лабораторные работы: Подключение голосовых шлюзов и IP телефонов к Asterisk ====
==== 2.1 Интеграция Asterisk с классической PBX с использованием персонального голосового шлюза Linksys SPA-3102 ====
**Сценарий**: Забыли про номерной план 4XX!!! В компании используется аналоговая ATC с номерным планом 1XX, разворачиваем рядом Asterisk, и переводим отдельных абонентов на более высокий класс обслуживания с помощью персональных шлюзов.
**Методическая рекомендация**: Выполнять лабораторную работу в два этапа, отдельно для интерфейсов FXS и FXO
* 2.1.1 Переключение телефона 1XX сотрудника на Asterisk и предоставление ему услуг
server# cat /etc/asterisk/sip.conf
...
[101+X]
type=friend
secret=tpassword101+X
host=dynamic
gate# dhcp-lease-list
* [[Linksys SPA-3102#Включение WEB интерфейса на WAN интерфейсе]] (Узнать назначенный устройству IP адрес)
* [[Linksys SPA-3102#Настройка VoIP параметров]]
* Подключение к VoIP ([[Сервис Asterisk#Шаблон конфигурации для осуществления исходящих вызовов]])
* Сервис FollowMe ([[Сервис Asterisk#Переадресация вызовов на внешний номер]])
server# cat /etc/asterisk/extensions.conf
См. /* возможно, стоит переделать с использованием макросов */ комментарий
...
exten => 101+X,1,Dial(SIP/${EXTEN},10)
same => n,FollowMe(${EXTEN})
;exten => 101+Y,1,Dial(SIP/${EXTEN},10)
; same => n,FollowMe(${EXTEN})
...
* 2.1.2 Соединение телефонов 1XX, подключенных к Asterisk с телефонами, подключенными к АТС
server# cat /etc/asterisk/sip.conf
...
[fxo101+X]
type=friend
secret=fpassword101+X
host=dynamic
server# cat /etc/asterisk/extensions.conf
...
exten => _1XX/101+X,1,Dial(SIP/fxo101+X/${EXTEN})
;exten => _1XX/101+Y,1,Dial(SIP/fxo101+Y/${EXTEN})
* Linksys SPA-3102 ([[Linksys SPA-3102#Настройка FXO/LINE/PSTN Line]])
==== 2.2 Отладка и мониторинг телефонного оборудования по протоколу Syslog ====
* [[Локализация системы#Локализация временной зоны]]
* [[Регистрация событий в Linux#Регистрация сообщений, переданных по сети]] в Linux
* Linksys SPA-3102 [[Linksys SPA-3102#Отладка через Syslog]]
==== 2.3 Подключение оборудования к Asterisk с использованием телефонных плат ====
**Сценарий**: Делаем Linksys из Asterisk и Платы Digium TDM
* [[Плата Digium TDM]]
==== 2.4 Подключение телефонного оборудования к MGMT сети ====
**Методическая рекомендация**: проверку доступности стойки со стендов слушателей можно совместить с первой половиной (многопортовый FXS шлюз) следующей работы
Для системы server использовать алиасы и адрес 192.168.1.10/24
Для системы host (win у прохода) использовать адрес 192.168.X.5/24
плюс дополнительный адрес 192.168.1.5/24 на LAN
(!!! сделать, чтобы не было два default и зависимости от gate)
Для системы client1 оставить dhcp (поможет в отладке лабы provisioning для spa3102)
* Debian/Ubuntu: [[Настройка сети в Linux#Статическая настройка параметров]]
* Настройка IP параметров [[TAU-32M.IP]]
* Настройка IP параметров [[SMG-1016]]
==== 2.5 Интеграция Asterisk с PBX с использованием многопортового голосового шлюза TAU-32M.IP ====
**Сценарий **: В компании используется аналоговая ATC с номерным планом 1XX, разворачиваем рядом Asterisk, и переводим отдельных абонентов на более высокий класс обслуживания с помощью многопортового шлюза с FXO/FXS интерфейсами.
Примечание:
* Закомментировать все элементы конфигурации, относящиеся к spa3102
* К линиям на столах слушателей подключены телефоны, которые играют роль абонентов Asterisk с номерами 103 ... 108, подключенными к порты FXS 3..8. Их линии ATC подключаются к портам FXO 11..16
* В 109-ю линию включается телефон преподавателя - абонент классической PBX
* Методически преподавтель показывает все этапы, слушатели делают окончательный вариант
* Для тестирования доступности оборудования в стойке, при ее передаче, убрать на шлюзе алиас 192.168.1.1/24
Конфигурация:
* TAU-32M.IP [[TAU-32M.IP#Настройка параметров SIP и плана номеров]]
server# cat /etc/asterisk/sip.conf
;[101+X]
;...
...
;[fxo101+X]
;...
...
[tau32m]
type=peer
host=192.168.1.2
;directmedia=no
* TAU-32M.IP [[TAU-32M.IP#Настройка FXS интерфейсов]]
* TAU-32M.IP [[TAU-32M.IP#Настройка FXO интерфейсов для звонков PBX->TAU32->SIP]]
* TAU-32M.IP [[TAU-32M.IP#Настройка FXO интерфейсов для звонков SIP->TAU32->PBX]]
server# cat /etc/asterisk/extensions.conf
...
;exten => _1XX,1,Dial(SIP/${EXTEN},10)
;...
;exten => _1XX/101+X,1,Dial(SIP/fxo101+X/${EXTEN})
exten => _1XX,1,Dial(SIP/tau32m/${EXTEN},10)
; same => n,NoOp(${DIALSTATUS})
same => n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?call_pbx)
same => n,FollowMe(${EXTEN})
same => n,Hangup()
same => n(call_pbx),Dial(SIP/tau32m/fxo${CALLERID(num)},,D(ww${EXTEN}))
...
==== 2.6 Подключение "Городских линий" через оборудование с интерфейсом FXO к Asterisk ====
* Подготовительное задание: [[Сервис Asterisk#Шаблон конфигурации для обработки входящих вызовов]]
Демонстрирует преподаватель, поскольку конфигурация не отличается от ранее выполненных заданий. !!! На преподавательском астериске, убедиться что шлюзы с него видны!!!
**Общий сценарий**: Старую АТС выключили. В компанию приходит несколько городских линий для абонентов 4XX.
**Сценарий 1**: Подключаем несколько (2-3) городских линий 84951234560+X к Asterisk с помощью однопортовых шлюзов слушателей с FXO интерфейсом. Телефон на столе преподавателя (84951234560) и телефоны слушателей, шлюзы которых не используются, играют роль абонентов PSTN. Так же, нужно добавить функционал отправки вызова обратно в город (на телефон слушателя) в случае отсутствия ответа.
* [[Linksys SPA-3102#Настройка параметров аналоговой линии]] (Демонстрация важности настройки Disconnect Tone)
server# cat /etc/asterisk/sip.conf
...
[pstn2]
type=friend
secret=ppassword2
host=dynamic
[pstn3]
type=friend
secret=ppassword3
host=dynamic
[pstn4]
type=friend
secret=ppassword4
host=dynamic
server# cat /etc/asterisk/extensions.conf
...
exten => _8XXXXXXXXXX,1,Dial(SIP/voip1_00000X/${EXTEN})
exten => _8XXXXXXXXXX,n,Dial(SIP/pstn2/${EXTEN})
exten => _8XXXXXXXXXX,n,Dial(SIP/pstn3/${EXTEN})
exten => _8XXXXXXXXXX,n,Dial(SIP/pstn4/${EXTEN})
...
exten => frompstn,1,Dial(SIP/401&SIP/402,10)
same => n,Goto(default,84951234565,1)
...
* Linksys SPA-3102 ([[Linksys SPA-3102#Настройка FXO/LINE/PSTN Line]])
**Сценарий 2**: Подключаем городские линии Asterisk с помощью много-портового шлюза с FXO интерфейсами.
Реализация:
* Номера 84951234560 и 84951234561 играют роль городских линий, пришедших в офис и подключаются к портам FXO 9 и 10, которые объединяются в fxogroup 84951234569 (выдуманный номер, играющий роль общего номера для обоих линий).
* Телефонные линии слушателей 84951234560+X включены в телефоны играют роль абонентов PSTN
* Звонок из города, производится на любой из номеров 84951234560 или 84951234561 эмулируя передачу телефонным оператором вызова номера 84951234569 в свободную линию клиента.
* Звонок в город производится с телефона 402 преподавателя (два параллельных звонка с двух каналов)
Конфигурация:
* TAU-32M.IP [[TAU-32M.IP#Объединение FXO интерфейсов в группу для звонков SIP->TAU32->PBX]]
server# cat /etc/asterisk/extensions.conf
...
exten => _8XXXXXXXXXX,1,Dial(SIP/tau32m/84951234569,,D(ww${EXTEN}))
...
exten => 84951234569,1,Dial(SIP/401&SIP/402,10)
; same => n,Goto(default,84951234567,1)
...
==== 2.7 Подключение Asterisk к PBX через оборудование с интерфейсом PRI ====
**Сценарий**: В компании используется классическая ATC с PRI интерфейсом, разворачиваем рядом Asterisk, новые IP телефоны, план нумерации для них. Соединяем абонентов старой АТС и Asterisk с помощью шлюза с PRI интерфейсом. Программируем в классической ATC транк в номерной план Asterisk через PRI интерфейс.
=== Настройка Asterisk и голосового шлюза ===
* [[SMG-1016]]
server# cat /etc/asterisk/sip.conf
...
;[tau32m]
; ...
...
[smg1016]
type=peer
host=192.168.1.3
;directmedia=no
server# cat /etc/asterisk/extensions.conf
...
;exten => _1XX,1,Dial(SIP/tau32m/${EXTEN})
;...
...
exten => _1XX,1,Dial(SIP/smg1016/${EXTEN})
...
exten => _8XXXXXXXXXX,1,Dial(SIP/smg1016/${EXTEN})
...
==== 2.8 Подключение к Asterisk телефонных аппаратов ====
* Настройка SIP каналов
server# cat /etc/asterisk/sip.conf
...
;[101+X]
; ...
...
[403]
type=friend
secret=tpassword403
host=dynamic
[404]
type=friend
secret=tpassword404
host=dynamic
* [[Сервис Asterisk#Мониторинг текущего состояния абонента (BLF)]] (поддержка должна быть включена до настройки в телефоне)
* Для дополнительных кнопочных панелей требуется внешний блок питания
==== 2.9 Использование Provisioning для настройки пользовательского телефонного оборудования ====
=== Настройка сервисов DHCP, TFTP и HTTP для поддержки Provisioning ===
* Сервис DHCP [[Сервис DHCP#Стандартная конфигурация]] [[Сервис DHCP#Проверка конфигурации и запуск]]
* [[Сервис ТFTP]]
* [[Сервис HTTP#Установка и запуск сервера Apache]]
gate# dhcp-lease-list
=== Подготовка файлов конфигурации VoIP оборудования для Provisioning ===
* [[Cisco 7912#Использование Provisioning]] для Cisco 7912
* [[Linksys SPA-3102#Использование Provisioning]] для Linksys SPA-3102
* [[SIP Phone Panasonic KX-HDVXXX#Использование Provisioning]] для SIP Phone Panasonic KX-HDVXXX
* [[SIP Phone Digium D40#Использование Provisioning]] для Digium D40
server# tcpdump -n -e -s0 -A host 192.168.X.IPPHONE
* Linksys SPA-3102 [[Linksys SPA-3102#Восстановление фабричных настроек]]
* SIP Phone Panasonic KX-HDVXXX [[SIP Phone Panasonic KX-HDVXXX#Сброс к заводским установкам]]
=== Дополнительные задания ===
* [[Сервис Asterisk#Интеграция с Microsoft AD и LDAP]]
* [[Сервис Asterisk#Provisioning]]
==== 2.10 Подключение Asterisk к PBX через плату с интерфейсом PRI ====
* [[Плата OpenVox D130]]
===== Вопросы =====
* В чем разница между FXO и FXS интерфейсами?
* Чем отличаются сети с коммутацией пакетов от сетей с коммутацией каналов?
* Какая формула используется для расчета необходимого количества телефонных линий?
* Какое сообщение используется в PRI для инициализации исходящего вызова?
* Как определить, поддерживает ли оборудование Provisioning?
* В каком файле хранится конфигурация драйвера для телефонной платы?
===== Модуль 3: Управление прохождением голосового трафика через NAT и FIREWALL =====
==== Теория ====
* [[https://www.mango-office.ru/support/tekhnicheskaya_podderzhka/sip_oborudovanie/obshchie_voprosy_po_sip_telefonam/translyatsiya_setevykh_adresov_nat_vidy_skhemy_raboty/|Трансляция сетевых адресов (NAT) и SIP]]
* [[http://voiplab.by/wiki/asterisk/61-asterisk-13-za-nat-net-zvuka-v-odnu-storonu-net-slyshimosti|Asterisk 11 за NAT, нет звука в одну сторону, нет слышимости... Что делать?]]
* [[http://asterisk.ru/knowledgebase/RTP+Symmetric|Симметричный RTP]]
* Варианты расположения VoIP участников с точки зрения NAT и FIREWALL
* Особенности протоколов сигнализации SIP и IAX с точки зрения NAT и FIREWALL
* Элементы конфигурации Asterisk с точки зрения NAT и FIREWALL
==== Лабораторные работы: Прохождения голосового трафика через NAT и FIREWALL ====
==== 3.1 Распространение IP телефонии за пределы офиса ====
* [[Сервис Asterisk#Подключение Asterisk к Asterisk по протоколу IAX]]
или, для видеозвонков:
* [[Сервис Asterisk#Видеозвонки]]
* [[Сервис Asterisk#Настройка базового функционала IP PBX]] для подключение Asterisk к Asterisk по протоколу SIP
* [[Сервис Asterisk#Настройка плана нумерации]]
==== 3.2 Настройка NAT и FIREWALL на интернет шлюзе предприятия ====
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
* Отключаем маршруты в сети слушателей
* Настраиваем NAT ([[Сервис NAT#Трансляция на основе адреса отправителя]])
==== 3.3 Подключение SIP абонента (server.corpX.un), находящегося за NAT к Asterisk провайдера ====
voip1.un# cat /etc/asterisk/sip.conf
...
[000001]
...
;nat=yes
nat=force_rport,comedia
;canreinvite=no
directmedia=no
qualify=yes
...
[000006]
...
;nat=yes
nat=force_rport,comedia
qualify=yes
;canreinvite=no
directmedia=no
...
server# service asterisk restart
==== 3.4 Подключение Asterisk, находящегося за NAT к VoIP провайдеру ====
=== CHAN SIP ===
!!!Примечание!!!
Эксперимент работает не сразу, попробовать
* pfctl -F states на voip1.un
* отключить windows firewall на host системе
server# cat /etc/asterisk/sip.conf
[general]
...
localnet=192.168.1.0/255.255.255.0
localnet=192.168.X.0/255.255.255.0
;;externip=172.16.1.X
;externaddr=172.16.1.X:6050
externaddr=172.16.1.X
;;defaultexpiry=60
...
[voip1_00000X]
...
nat=comedia
qualify=yes
directmedia=no
...
=== PJSIP ===
* [[https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip+to+work+through+NAT|Asterisk and Phones Connecting Through NAT to an ITSP]]
* [[Сервис Asterisk#Настройка RES_PJSIP каналов]]
==== 3.5 Использование DNS View для подключения к Asterisk предприятия ====
* [[Сервис NAT#Трансляция портов сервисов]]
* Настраиваем DNS View ([[Финальная настройка DNS сервера]])
==== 3.6 Подключение пользователей к Asterisk, находящемуся за NAT ====
!!!Примечание!!!
На преподавательской системе прописать маршруты в сети слушателей (из-за сети 192.168.1.5/24)
server# cat /etc/asterisk/sip.conf
...
[402]
...
nat=force_rport,comedia
directmedia=no
qualify=yes
...
[corpY]
...
nat=force_rport,comedia
directmedia=no
;;qualify=yes
...
==== 3.7 Подключение Asterisk к Asterisk ====
* Достаточно перезапустить сервисы Asterisk для вступления в силу новых параметров DNS (см. /etc/asterisk/dnsmgr.conf)
server# service asterisk restart
===== Вопросы =====
* Верно ли, что для получения входящих вызовов от VoIP провайдера Asterisk должен иметь публичный адрес?
* Перечислите, какие задачи решают директивы конфигурации nat, directmedia, qualify, localnet/externip?
* Когда требуется открывать доступ к Asterisk из внешней сети?
* В каком файле конфигурации Asterisk можно указать диапазон портов для голосового трафика?
* Что должны разрешать правила в пакетном фильтре для передачи голосового трафика?
* Что должны разрешать правила в пакетном фильтре для передачи SIP сигнализации?
===== Модуль 4: Подключение внешних пользователей к телефонии предприятия =====
==== Теория ====
* [[http://voipapplication.blogspot.com/2009/01/120000-phone-bill-voip-hacked-small.html|"Voip hackers runs up a phone bill worth $120,000".]]
==== Вопросы безопасности при подключении внешних пользователей ====
* [[Сервис Asterisk#Поддерживаемые версии]]
* [[Сервис Asterisk#Список проблем безопасности]]
==== Варианты защиты Asterisk от несанкционированного использования ====
* Сервис Asterisk ([[Сервис Asterisk#Зашита от несанкционированного использования]])
* [[https://code.google.com/p/sipvicious/|SIPVicious security tools]]
==== Лабораторные работы: Внешние пользователи и безопасность ====
==== 4.1 Использование хешей паролей ====
* [[http://asterisk-support.ru/forum/topics/3032/|SIP авторизация и MD5]]
* [[Сервис Asterisk#Использование хешей паролей для каналов типа user]]
==== 4.2 Настройка безопасного распространения файлов конфигурации VoIP оборудования ====
gate# dhcp-lease-list
server# tcpdump -n -e -s0 -A host 192.168.X.IPPHONE and port 80
server# cd /var/www/html/
server# mv -v spa-000E08NNNNNN.cfg /root/
* [[Пакет OpenSSL#Использование алгоритмов симметричного шифрования]]
* Linksys SPA-3102 [[Linksys SPA-3102#Безопасное распространение файлов конфигурации]]
* Linksys SPA-3102 [[Linksys SPA-3102#Восстановление фабричных настроек]]
* [[Пакет OpenSSL#Создание самоподписанного сертификата]] для системы server.corpX.un
* [[Сервис HTTP#Поддержка протокола HTTPS]]
* SIP Phone Panasonic KX-HDVXXX [[SIP Phone Panasonic KX-HDVXXX#Использование Provisioning]]
==== 4.3 Шифрование телефонного трафика ====
* Требует телефона с поддержкой TLS SRTP, например - [[ZoIPer]] 3.15 (требует добавление самоподписанного сертификата в систему) или [[PhonerLite]] (принимает самоподписанный сертификат)
* Прослушивание голосового трафика (на gate, [[Утилита Wireshark]], [[Файловый сервер SAMBA#Публичный каталог доступный на запись]])
gate# tcpdump -ni eth1 -s0 -w file1.dmp
* [[Пакет OpenSSL#Создание самоподписанного сертификата]] для системы server.corpX.un
* [[Сервис Asterisk#Использование TLS]] в Asterisk
==== 4.4 Настройка Asterisk для защиты от несанкционированного использования ====
* [[https://val.bmstu.ru/unix/voip/python-2.7.10.msi]]
* [[https://val.bmstu.ru/unix/voip/sipvicious-0.2.8.zip]]
=== Ищем сервера Asterisk ===
C:\bin\sipvicious-0.2.8>svmap.py 172.16.1.1-172.16.1.254
C:\>c:\Python27\python.exe C:\sipvicious-0.2.8\svmap.py 172.16.1.1-172.16.1.10
...
* [[Сервис Asterisk#Сокрытие версии]]
=== Подключаемся под произвольной учетной записью ===
server# cat /etc/asterisk/sip.conf
[general]
...
autocreatepeer=no
...
server# asterisk -rx 'sip show settings' | grep AutoCreate
AutoCreate Peer: Off
=== Звоним анонимно ===
!!! Для демонстрации необходимо установить струю версию [[ZoIPer]] !!!
server# cat /etc/asterisk/sip.conf
[general]
...
allowguest=no
...
server# asterisk -rx 'sip show settings' | grep unknown
Allow unknown access: Yes
=== Определяем имена каналов ===
c:\Python27\python.exe C:\sipvicious-0.2.8\svwar.py --force -e100-999 172.16.1.X
...
server# asterisk -rx 'sip show settings' | grep rejects
Always auth rejects: No
server# cat /etc/asterisk/sip.conf
[general]
...
alwaysauthreject=yes
...
=== Подбираем пароль к каналу ===
server# cat /etc/asterisk/sip.conf
...
[401]
secret=1234
...
C:\bin\sipvicious-0.2.8>svcrack.py -u401 -r1-9999 -z4 172.16.1.X
C:\bin\sipvicious-0.2.8>svcrack.py -u401 -d passwd.txt 172.16.1.X
=== Ограничиваем доступ к каналу ===
* [[Сервис Asterisk#Использование шаблонов в именах CHAN_SIP каналов]]
==== 4.5 Использование контекстов, для построения матрицы доступа SIP каналов к номерным планам ====
server# cat /etc/asterisk/sip.conf
[general]
...
context=default
...
subscribecontext=blf
...
[office](!)
context=from-office
...
[internet](!)
context=from-internet
...
[401]
context=from-office
...
[402]
context=from-internet
...
[403]
context=from-office
...
[404]
context=from-office
...
[voip1_00000X]
context=incoming
...
server# cat /etc/asterisk/iax.conf
...
[corpY]
;type=user
context=from-corp
...
server# cat /etc/asterisk/extensions.conf
[default]
exten => _X.,1,Playback(vm-goodbye)
exten => _X.,n,Hangup()
[blf]
exten => _4XX,hint,SIP/${EXTEN}
[from-office]
include => to-office
include => to-corp
include => to-pstn
[from-internet]
include => to-office
include => to-corp
[from-corp]
include => to-office
[to-office]
;exten => _1XX ...
exten => 301 ...
exten => _4XX ...
[to-corp]
exten => _00Y[41]XX,1,Set(CALLERID(num)=00X${CALLERID(num)})
exten => _00Y[41]XX,n,Dial(IAX2/corpY/${EXTEN:3})
[to-pstn]
exten => _8XXXXXXXXXX,1,Dial(SIP/voip1_00000X/${EXTEN})
[incoming]
exten => voip1_00000X,1,Dial(SIP/401&SIP/402&SIP/403&SIP/404)
* Сервис FollowMe ([[Сервис Asterisk#Переадресация вызовов на внешний номер]])
server# cat /etc/asterisk/extensions.conf
...
[to-pstn]
;!!! Authenticate !!!
exten => _89XXXXXXXXX,1,Dial(SIP/voip1_00000X/${EXTEN})
exten => _8495XXXXXXX,1,Dial(SIP/voip1_00000X/${EXTEN})
exten => _8499XXXXXXX,1,Dial(SIP/voip1_00000X/${EXTEN})
...
==== 4.6 Меняем порт sip для внешних подключений к asterisk ====
* [[Финальная настройка DNS сервера]]
* [[Сервис NAT#Трансляция портов сервисов]]
# nslookup -q=SRV _sip._udp.corpX.un
==== 4.7 Использование возможностей пакетных фильтров и дополнительного ПО для защиты Asterisk от несанкционированного использования ====
* [[Сервис Fail2ban]]
===== Вопросы =====
* Почему не рекомендуется использовать решения VPN для IP телефонии?
* На что следует обратить внимание при настройке защиты Asterisk в первую очередь?
* Что определяют параметры конфигурации autocreatepeer, allowguest, alwaysauthreject в конфигурации Asterisk?
===== Модуль 5: Итоговая работа =====
==== Задание 1: Настройка SIP оборудования ====
* [[Сервис Asterisk#Настройка базового функционала IP PBX]]
gate# dhcp-lease-list
* [[Базовая станция DECT KX-UDS124]]
* [[Микросотовый терминал KX-UDTXXX]]