свободное ПО

warning: Creating default object from empty value in /usr/local/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

Внедрение цифровой подписи и шифрования для организации

Черновик.

Потребовалось начать использовать шифрование в организации, начал искать, через что это можно сделать.

Сначала смотрел в сторону GnuPG, но не смог разобраться, как внедрить ее в почтовые клиенты от Microsoft.

В итоге наковырял, что для шифрования и подписи писем есть S/MIME с сертификатами X.509.

И итоге для использования необходимо на компьютер под виндой установить:

  1. GnuGP - для создания запросов на сертификат и возможности шифрования и подписи файлов
  2. OpenSSL - для того, чтобы GnuGP шифровал файлы с помощью сертификатов X.509.

Сначала разбираемся с тем, кто будет удостоверяющим центром и как он будет подписывать сертификаты.

Удостоверяющим центром являюсь я, и обработка запросов сертификатов у меня под FreeBSD.

Создаем структуру под OpenSSL и самоподписанный корневой сертификат:

#Создаем структуру для хранения сертификатов
mkdir newcerts
mkdir private
echo 10000 > serial
touch index.txt

# Создаем самоподписанный корневой сертификат
openssl req -new -x509 -newkey rsa:3072 -keyout private/cakey.pem -out cacert.pem -days 3650
# Конвертируем в понятный для Windows сертификат
openssl x509 -outform der -in cacert.pem -out cacertificate.crt
# Просматриваем, что у нас получилось
openssl x509 -text -in cacert.pem
 

После этого через Kleopatra создаем для пользователя запрос на сертификат X.509 и передаем его на сервер. После чего на сервере создаем сертификат:

0
Your rating: Нет

Автоматическая проверка баланса у разных провайдеров через Астериск

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

У некоторых провайдеров, на пример - НСС, zadarma, sipnet, comtube, есть прямые телефоны для получения сразу баланса голосом, а у некоторых, типа МТС, нужно донабирать цифирки.

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

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

Итоговая конфигурация extensions.conf

[get-balance]
exten => balance-all,1,Background(provider/mtt)
exten => balance-all,n,Dial(SIP/mtt/88003335358,,L(20000)g)
exten => balance-all,n,Background(provider/sipnet)
exten => balance-all,n,Dial(SIP/sipnet/00,,L(5000)g)
exten => balance-all,n,Background(provider/zadarma)
exten => balance-all,n,Dial(SIP/zadarma/1111,,L(7000)g)
exten => balance-all,n,Background(provider/comtube)
exten => balance-all,n,Dial(SIP/comtube/102,,L(7000)g)
exten => balance-all,n,Background(provider/ncc)
exten => balance-all,n,Dial(Dongle/dongle-ncc/10011,20,L(10000)g)
exten => balance-all,n,Playback(provider/mts)
exten => balance-all,n,Dial(Dongle/dongle-mts/111,60,M(balance-mts)L(8000))
exten => balance-all,n,Hangup

0
Your rating: Нет

Результаты игр в SIP с Астериском

Заработали как-то следующие телефончики:

  • Международные от МТТ (кто может звонить, кроме МТТ непонятно)
    • +88314 (077) 600-96-34
  • Городской от МТТ -
  • номер от Comtube.ru - sip:791167@comtube.com
  • номер от Zadarma.ru - sip:79760@zadarma.com
    • 883510001246309 - международный от Zadarma
  • номер от SipNet.ru - sip:0041077073:@sipnet.ru
0
Your rating: Нет

Установка русских фраз для Asterisk

Подключение русских голосовых фраз для астериска проста, единственное, запнулся с местом, куда их нужно класть, во FreeBSD оказалось /usr/local/share/asterisk/sounds.

Качаем с ivrvoice и распаковываем архив в папку /usr/local/share/asterisk/sounds/ru

После этого в sip.conf в general или у пользователя прописываем:

language=ru

И вроде как - счастье.

0
Your rating: Нет

Автоматизация создания шаблонов для extensions.conf Asterisk

Т.к. в очередной раз решил попытаться всмпомнить, кто такой Asterisk, и попытался к нему прикрутить пару GSM модемов для входящих/исходящих звонков пришлось придумывать, как разруливать, через кого какие вызовы должны уходить.

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

Несколько позже, Stinky подсказал, вроде, более правильный адрес выписки из реестра Российской системы и плана нумерации на сайте Федерального агентства связи (Россвязь).

Из моментов, списки несколько расходятся - на МТТ для НСС Нижегородской области он больше. Как на самом деле - не знаю.

# diff ncc_parent_svyaz.txt.sort ncc_parent_mtt.txt.sort
9a11
> exten => _[7-8]953410XXXX,1,Macro(ncc,${EXTEN})
10a13
> exten => _[7-8]95341[3-4]XXXX,1,Macro(ncc,${EXTEN})

Далее был написан маленький скрипт на баше для конвертации номеров из формата "начальный номер диапазона конечный номер диапазона" в формат понятный астериску X[X-X]XXX

0
Your rating: Нет

Настройка астериска в качестве шлюза мужду городской линией и SIP провайдером

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

Возможно реализация кривая, но рабочаяя.

Имеем:

  1. Астериск, в данном случае Elastix 2.0
  2. плата YeaStar tdm800 с двумя FSO портами, в которую заведены две линии и настроенные на совершение звонков через них. Т.е. уже нормально определенную в системе.
  3. настроенное SIP подключение через sipnet.ru - sipnet2

Требуется:

  1. Создать контекст для входящих звонков
  2. Прописать входящим линиям созданный контекст

В файл extensions_additional.conf (в эластике - extensions_custom.conf) добавляем:

[from-pstn-for-forward]
        exten => s,1,Answer(10)
; Проигрываем звук, чтобы человек понял, что он попал туда, куда нужно

        exten => s,n,PlayTones(!950/230,!1400/230,!1800/230,!950/230,!1400/230,!1800/230)
        exten => s,n,WaitExten(10)
; Проигрываем звук, чтобы человек понял, что его номер принят и пошел дозвон
        exten => _8XXXXXXXXXX!,1,PlayTones(!950/230,!1400/230,!1800/230,!950/230,!1400/230,!1800/230)
        exten => _8XXXXXXXXXX!,n,Dial(SIP/sipnet2/8${EXTEN:1},60,tTg)

0
Your rating: Нет

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

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

Лечится путем раскомментирования в файле chan_dahdi.conf следующих строк:

busydetect=yes
busycount=6

После этого, астериск осознает что трубка повешена после 6-и гудков.

Найдено в статье "Настройка модуля канала Zap":

0
Your rating: Нет

Elastix - подключение русских голосовых фраз

Т.к. астериск говорит по английски изначально и знает по русски только цифры, пришлось искать, где скачать и как прикрутить русские голосовые фразы.

Нашлась статья - Elastix руководство по настройке - Подключение русских голосовых фраз. Спасибо автору. Дальше идет жесткий копипаст, чтобы не потерять.

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

Мне известны два сайте с бесплатными русскими голосовыми фразами:

Я пользуюсь с первого сайта.
Для установки голосвых фраз необходимо сделатьследующие:

0
Your rating: Нет

Asterisk - подмена набираемого номера

Продолжая играть в астериск, столкнулся с желанием звонить через него использую SIP клиенты прямо из телефонной книги. При этом вознкла проблема, что в телефонной книге большинство номеров имеет полный международный формат, т.е. +7-XXX-XXX-XX-XX. Соответственно, через обычную линию такое набирается не всегда хорошо и нужно заменить +7 на 8.

По статье "Как заменить +7 на 8 для Elastix" все сделал и заработало:

Для замены +7 на 8 в Elastix необходимо внести изменения в файл extensions_custom.conf. Для этого входим в панель управления Elastix, закладка PBX -> Tools, меню Asterisk File Editor. Листаем и находим необходимый нам файл extensions_custom.conf, и открываем его, нажав левой кнопкой мыши.
Находим в файле строку [from-internal-custom] и сразу после неё добавляем строку:

exten => _+7XXXXXXXXXX,1,GoTo(outbound-allroutes,8${EXTEN:2},1)

Для чистого Астериска подмену номера делал так же, в файле extensions.conf в необходимом контексте переход на экстеншен текущего контекста с заменой +7 на 8

exten => _+7XXXXXXXXXX,1,GoTo(8${EXTEN:2},1)

Как написано, ниже в комментариях, это очень жесткий способ, действующий на все направления, есть более мягкий и, наверное, правильный:

в Dial Patterns that will use this Route пункта Outbound Routes выставить:
prepend = 8
prefix = +7

0
Your rating: Нет

DHCP и DNS сервер под виндовс

Потребовалось настроить сеть и раздать интернет в небольшой организации с помощью имеющихся там машинок. Оказались все под Windows XP. Раздать входящий интернет оказалось без проблем. Сложнее было найти, кто бы раздавал адреса внутри сети.

Нашелся совмещенный DHCP и DNS сервер - Dual DHCP DNS Server.

Маленький, очень легкий, ничего лишнего и все просто. Может работать как службой, так и обычным приложением.

0
Your rating: Нет
Ленты новостей