По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Дистрибутив FreePBX Distro имеет встроенный скрипт, который позволяет изменить текущую (используемую) версию Asterisk. Важно, что сделать это можно буквально за минуту, и без проблем вернуться на ранее используемую версию.
При смене версии используется только одна команда, после ввода которой, мы остается следовать подсказкам меню. Команда следующая:
[root@localhost ~]# asterisk-version-switch
На следующем этапе, скрипт спросит на какую версию вы хотите переключиться:
Pick the Asterisk Version you would like to change to.
Press 1 and the Enter key for Asterisk 11
Press 2 and the Enter key for Asterisk 13
Press 3 and the Enter key for Asterisk 14 (Currently in beta)
Press 9 and the Enter key to exit and not change your Asterisk Version
Нажимаем 1 для переключения на 11 версию Asterisk
Нажимаем 2 для переключения на 13 версию Asterisk
Нажимаем 3 для переключения на 14 версию Asterisk (сейчас в Beta состоянии)
Нажимаем 9 выхода из скрипта без изменений версии
Далее начнется изменение конфигурации в соответствие с выбранной версией. По окончанию работы вы можете проверить текущую версию с помощью команды:
[root@localhost ~]# asterisk -x "core show version"
Asterisk 13.10.0 built by mockbuild @ jenkins2.schmoozecom.net on a i686 running Linux on 2016-07-27 01:24:12 UTC
Если версия осталась прежней, дайте в консоль команду:
[root@localhost ~]# fwconsole restart
По окончанию перезагружаем конфигурацию и Asterisk:
[root@localhost ~]# fwconsole reload
Мы уже рассказывали об опасности атак на системы IP-телефонии, о том, как можно использовать скомпрометированную систему и кому это может быть выгодно.
В данной статье, подробно разберём один из способов атак на системы, работающие по протоколу SIP, через генерацию вредоносного пакета и последующую компрометацию учётной записи.
Вы убедитесь, что провести подобную атаку - совсем не сложно. Инструменты для её осуществления не являются какой-то сверхсекретной разработкой и находятся в свободном доступе.
Цель данной статьи - показать, к чему может привести недостаточное внимание, уделённое вопросам безопасности при настройке систем IP-телефонии и как просто это могут использовать злоумышленники.
Внимание! Информация, представленная в данной статье, носит исключительно ознакомительный характер. Компания Мерион Нетворкс не несёт ответственности за последствия применения техник и способов, описанных в данном материале. Напоминаем, что неправомерный доступ к компьютерной информации преследуется по закону и влечет за собой уголовную ответственность.
Атака, о которой мы поговорим, связана с процессом аутентификации по протоколу SIP, а именно - с получением информации из заголовков SIP пакета и её последующая обработка для извлечения учётных данных. Чтобы понять её суть и определить, какие системы уязвимы к данной атаке, нужно вспомнить как происходит SIP аутентификация.
Как показано на рисунке:
Клиент отправляет запрос регистрации на сервер;
Сервер сообщает о необходимости зарегистрироваться и запрашивает данные для аутентификации;
Клиент повторно отправляет запрос регистрации, но на этот раз со строкой Authorization, в которой указаны учётные данные;
Сервер проверяет учётные данные в локальной базе и если есть совпадения – разрешает регистрацию.
В стандартном процессе SIP аутентификации все запросы клиентов и ответы от сервера идут в строгой последовательности. Пользователь просто вводит учётные данные и клиент сам формирует пакеты для отправки на сервер, которые он может обработать. Если учётные данные не верны, то сервер не разрешит регистрацию и дальнейшее взаимодействие для осуществления звонков.
Однако, злоумышленник, используя специальные инструменты, может сам решать какие отправлять пакеты и более того - осуществлять их формирование.
Наверное, Вы догадались, что ключевым моментом процесса SIP аутентификации является отправка клиентом повторного запроса REGISTER, который также содержит учётные данные для регистрации на сервере. Как раз в этот момент, наш потенциальный злоумышленник и нанесёт свой удар.
Давайте рассмотрим, что из себя представляет строка Authorization в повторном запросе REGISTER.
Как видно на рисунке, заголовок Authorization включает в себя следующие поля:
Authentication Scheme - метод аутентификации;
Поскольку SIP многое унаследовал от протокола HTTP, то и схема аутентификации в нём основана на HTTP аутентификации, которая также называется Дайджест (Digest) аутентификация. Эта схема применяется серверами для обработки учётных данных от клиентов. При этом, часть учётных данных передаётся в виде хэш-сумм, которые сервер комбинирует с открытыми данными и вычисляет пароль для данного клиента. Это значительно повышает уровень безопасности, но как мы убедимся в дальнейшем – не помогает при некорректной настройке учётной записи.
Username - имя пользователя, заданное на сервере. В нашем случае – это внутренний номер 3354;
Realm - параметр, определяющий подключение к серверу телефонии;
Как правило, администратор VoIP сервера сам настраивает realm и транслирует его пользователю, который хочет осуществить подключение. Например, у провайдеров облачных услуг это может быть строка вида domain.com, в сервере Asterisk, по-умолчанию значение этой строки - asterisk.
Nonce Value - рандомно сгенерированная сервером, уникальная строка, при формировании ответа 401 в сторону клиента. В дальнейшем используется сервером в вычислениях после получения учетных данных от клиента, должна совпадать с тем, что пришло от сервера;
Authentication URI - унифицированный идентификатор ресурса. В нашем случае, ресурсом является сервер, расположенный по адресу 123.45.67.89, обращение к нему происходит по протоколу SIP, по порту 5060.
Digest Authentication Response - ответ от клиента, посчитанный на основании данных, полученных от сервера. На основании этого значения сервер в том числе сверяет пароль, который задан клиенту.
Согласно RFC 2069, который описывает HTTP дайджест аутентификацию, response вычисляется следующим образом:
HA1 = MD5(username:realm:password)
HA2 = MD5(method:digestURI)
response = MD5(HA1:nonce:HA2)
Как видите, на основании MD5 хэш-сумм полей: username, realm, password (да, это пароль клиента), method, digestURI и nonce высчитывается тот самый заветный response, от которого зависит регистрация клиента на сервере, а следовательно, и возможность осуществлять им вызовы.
Algorithm - алгоритм, по которому высчитывался response
Догадываетесь о чём идёт речь? О том, что если злоумышленник заполучит полную строку Authorization, то он может вычислить пароль клиента, зарегистрироваться на сервере и спокойно звонить куда ему вздумается.
Пространство для данной атаки достаточно обширное. Дело в том, что клиент может передавать строку авторизации в нескольких запросах – в уже известном нам REGISTER, INVITE или BYE.
Атакующему не составит труда притвориться “сервером” и затребовать от клиента аутентификации. Для этого, атакующий направит в сторону клиента, созданный с помощью специальной программы вредоносный SIP пакет с ответом 401 Unauthorized, который будет содержать строку, заставляющую клиента отправить учётные данные. Данная строка должна содержать realm и nonce . Выглядит эта строка следующим образом:
Таким образом, атака может выглядеть следующим образом:
С точки зрения атакуемого, это будет выглядеть как простой звонок, на другой стороне трубки которого будет тишина. Он даже не будет подозревать о том, что его учётные данные вот-вот утекут к злоумышленнику. Атакующий в нужный момент разорвёт соединение, отправив BYE и затем сформированный вредоносный пакет.
Нагляднее всего приводить в пример прямое взаимодействие между клиентами. Такой сценарий становится, когда есть возможность отправлять SIP запросы напрямую до оконечного клиента. Например, когда телефон выставлен в открытую сеть по SIP порту. Помимо этого, уязвимости подвержены сервера, разрешающие прямое взаимодействия между оконечными клиентами. Лучше всего, пропускать все запросы через Proxy-сервер.
Итак, данной атаке могут быть подвержены:
IP-телефоны с открытыми в интернет SIP-портами;
IP-телефоны, отвечающие на запросы INVITE от неизвестных серверов;
IP-АТС, разрешающие запросы INVITE напрямую до клиентов.;
Заполучив полную строку Authorization атакующий может в оффлайн режиме подобрать пароль к учётной записи. Для этого ему нужно подать на вход специального скрипта, который перебирает хэш-суммы по словарям, перехваченные данные: username, realm, method, digestURI, nonce и наконец - response. На выходе он получит пароль от учётной записи. Если пароль слабый или, ещё хуже, совпадает с username, то время перебора не превысит 1 секунды.
Чтобы этого не случилось, даже если злоумышленник перехватит необходимую информацию, используйте стойкие пароли к учётным записям, да и вообще везде, где только можно. В этом Вам может помочь наш генератор паролей.
Создание разделов диска позволяет разделить жесткий диск на несколько разделов, которые действуют независимо.
В Linux пользователи должны структурировать устройства хранения (USB и жесткие диски) перед их использованием. Разбиение на разделы также полезно, когда вы устанавливаете несколько операционных систем на одном компьютере.
В этом пошаговом руководстве вы узнаете, как создать раздел с помощью команды Linux parted или fdisk.
Вариант 1: разбить диск на разделы с помощью команды parted
Выполните следующие действия, чтобы разбить диск в Linux с помощью команды parted.
Шаг 1. Список разделов
Перед созданием раздела составьте список доступных запоминающих устройств и разделов. Это действие помогает определить устройство хранения, которое вы хотите разбить на разделы.
Выполните следующую команду с sudo, чтобы вывести список устройств хранения и разделов:
sudo parted -l
Терминал распечатывает доступные устройства хранения с информацией о:
Model - Модель запоминающего устройства.
Disk - Имя и размер диска.
Sector size - логический и физический размер памяти. Не путать с доступным дисковым пространством.
Partition Table - тип таблицы разделов (msdos, gpt, aix, amiga, bsd, dvh, mac, pc98, sun и loop).
Disk Flags - разделы с информацией о размере, типе, файловой системе и флагах.
Типы разделов могут быть:
Primary (Основной) - содержит файлы операционной системы. Можно создать только четыре основных раздела.
Extended (Расширенный) - особый тип раздела, в котором можно создать более четырех основных разделов.
Logical (Логический) - Раздел, созданный внутри расширенного раздела.
В нашем примере есть два устройства хранения - /dev/sda и /dev/sdb
Примечание. Первый диск хранения (dev/sda или dev/vda) содержит операционную систему. Создание раздела на этом диске может сделать вашу систему не загружаемой. Создавайте разделы только на дополнительных дисках (dev/sdb, dev/sdc, dev/vdb или dev/vdc).
Шаг 2: Откройте диск для хранения
Откройте диск хранения, который вы собираетесь разделить, выполнив следующую команду:
sudo parted /dev/sdb
Всегда указывайте запоминающее устройство. Если вы не укажете имя диска, он будет выбран случайным образом. Чтобы сменить диск на dev/sdb, выполните:
select /dev/sdb
Шаг 3: Создайте таблицу разделов
Прежде чем разбивать диск, создайте таблицу разделов. Таблица разделов расположена в начале жесткого диска и хранит данные о размере и расположении каждого раздела.
Типы таблиц разделов: aix, amiga, bsd, dvh, gpt, mac, ms-dos, pc98, sun и loop.
Чтобы создать таблицу разделов, введите следующее:
mklabel [partition_table_type]
Например, чтобы создать таблицу разделов gpt, выполните следующую команду:
mklabel gpt
Введите Yes, чтобы выполнить:
Примечание. Два наиболее часто используемых типа таблиц разделов - это gpt и msdos. msdos поддерживает до шестнадцати разделов и форматирует до 16 ТБ, а gpt форматирует до 9,4 ЗБ и поддерживает до 128 разделов.
Шаг 4: проверьте таблицу
Запустите команду print, чтобы просмотреть таблицу разделов. На выходе отображается информация об устройстве хранения:
Примечание. Запустите команду help mkpart, чтобы получить дополнительную справку о том, как создать новый раздел.
Шаг 5: Создайте раздел
Давайте создадим новый раздел размером 1854 Мбайт, используя файловую систему ext4. Назначенное начало диска должно быть 1 МБ, а конец диска - 1855 МБ.
Чтобы создать новый раздел, введите следующее:
mkpart primary ext4 1MB 1855MB
После этого запустите команду print, чтобы просмотреть информацию о вновь созданном разделе. Информация отображается в разделе Disk Flags:
В таблице разделов gpt, тип раздела - это обязательное имя раздела. В нашем примере primary - это имя раздела, а не тип раздела.
Чтобы сохранить свои действия и выйти, введите команду quit. Изменения сохраняются автоматически с помощью этой команды.
Примечание. Сообщение «You may need to update /etc/fstab file» сигнализирует о том, что раздел может быть смонтирован автоматически во время загрузки.
Вариант 2: разбить диск на разделы с помощью команды fdisk
Выполните следующие действия, чтобы разбить диск в Linux с помощью команды fdisk.
Шаг 1. Список существующих разделов
Выполните следующую команду, чтобы вывести список всех существующих разделов:
sudo fdisk -l
Вывод содержит информацию о дисках и разделах хранилища:
Шаг 2: Выберите диск для хранения
Выберите диск для хранения, на котором вы хотите создать разделы, выполнив следующую команду:
sudo fdisk /dev/sdb
Диск /dev/sdbstorage открыт:
Шаг 3: Создайте новый раздел
Запустите команду n, чтобы создать новый раздел.
Выберите номер раздела, набрав номер по умолчанию (2).
После этого вас попросят указать начальный и конечный сектор вашего жесткого диска. Лучше всего ввести в этом разделе номер по умолчанию (3622912).
Последний запрос связан с размером раздела. Вы можете выбрать несколько секторов или установить размер в мегабайтах или гигабайтах. Введите + 2 GB, чтобы установить размер раздела 2 ГБ.
Появится сообщение, подтверждающее создание раздела.
Шаг 4: запись на диск
Система создала раздел, но изменения не записываются на диск.
1. Чтобы записать изменения на диск, выполните команду w:
2. Убедитесь, что раздел создан, выполнив следующую команду:
sudo fdisk -l
Как видите, раздел /dev/sdb2 создан.
Отформатируйте раздел
После создания раздела с помощью команды parted или fdisk отформатируйте его перед использованием.
Отформатируйте раздел, выполнив следующую команду:
sudo mkfs -t ext4 /dev/sdb1
Смонтировать раздел
Чтобы начать взаимодействие с диском, создайте точку монтирования (mount point) и смонтируйте к ней раздел.
1. Создайте точку монтирования, выполнив следующую команду:
sudo mkdir -p /mt/sdb1
2. После этого смонтируйте раздел, введя:
sudo mount -t auto /dev/sbd1 /mt/sdb1
Терминал не распечатывает вывод, если команды выполнены успешно.
3. Убедитесь, что раздел смонтирован, с помощью команды df hT: