По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы уже рассказывали об опасности атак на системы 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 секунды. Чтобы этого не случилось, даже если злоумышленник перехватит необходимую информацию, используйте стойкие пароли к учётным записям, да и вообще везде, где только можно. В этом Вам может помочь наш генератор паролей.
img
Вторая часть тут Пересечение многочисленных дискуссий в мире сетевого инжиниринга, было одной из проблем, которая затрудняла принятие решения о том, является ли коммутация пакетов или каналов лучшим решением. Как следует вычислять loop-free пути в сети с коммутацией пакетов? Поскольку сети с коммутацией пакетов на протяжении всей истории сетевой инженерии ассоциировались с распределенными плоскостями управления (control plane), а сети с коммутацией каналов -с централизованными плоскостями управления (control plane), проблема эффективного вычисления безцикловых (loop-free) путей оказала значительное влияние на принятие решения о том, являются ли сети с коммутацией пакетов жизнеспособными или нет. На заре сетевой инженерии доступная вычислительная мощность, память и пропускная способность часто были в дефиците. В 1984 году, когда происходили в основном своем эти дискуссии, любая разница в объеме процессора и памяти между двумя способами расчета безцикловых путей через сеть оказала бы существенное влияние на стоимость построения сети. Когда пропускная способность имеет первостепенное значение, уменьшение количества битов, требуемых плоскостью управления (control plane) для передачи информации, необходимой для вычисления набора loop-free путей через сеть, создает реальную разницу в объеме пользовательского трафика, который может обрабатывать сеть. Уменьшение количества битов, необходимых для работы элемента управления, также вносит большую разницу в стабильность сети при более низких полосах пропускания. Например, использование формата Type Length Vector (TLV) для описания информации о плоскости управления (control plane), передаваемой по сети, добавляет несколько октетов информации к общей длине пакета-но в контексте канала 2 Мбит / с, усугубленного chatty control plane, затраты могут значительно перевесить долгосрочное преимущество расширяемости протокола. Протокольные войны в некоторых моментах были довольно жаркими. Были организованы целые исследовательские проекты и написаны статьи о том, почему и как один протокол лучше другого. Было предложено большое разнообразие механизмов для решения задач вычисления loop-free путей через сеть. В конечном счете были широко развернуты и использованы три общих класса решений: Distance Vector protocols (протоколы вектора расстояния), которые вычисляют свободные от петель пути hop by hop на основе стоимости пути. Link State protocols (протоколы состояния связи), которые вычисляют свободные от петель пути через базу данных, синхронизированную между сетевыми устройствами. Path Vector protocols (протоколы вектора пути), которые вычисляют свободные от петель пути hop by hop на основе записи предыдущих прыжков. Дискуссия о том, какой протокол лучше всего подходит для каждой конкретной сети и по каким конкретным причинам, все еще продолжается. И это, возможно, бесконечный спор, поскольку нет окончательного ответа на этот вопрос. Возможно, как и при подгонке сети под бизнес, всегда будет какая-то степень искусства, связанная с тем, чтобы заставить конкретную плоскость управления (control plane) работать в конкретной сети. Однако большая часть актуальности этого вопроса была вызвана ростом скорости сетей-вычислительной мощности, памяти и пропускной способности. Четвертую часть цикла статей про QoS можно почитать по ссылке.
img
Ранее мы рассмотрели, какие бывают базы данных пользователей. Теперь разберем, как работать с этими базами добавлять, редактировать и удалять пользователей. Рассмотрим следующие 3 утилиты: Useradd - создание пользователей Usermod – изменение свойств пользователей Userdel – удаление пользователей Первое, что нам потребуется это описание команды - man useradd. У данной команды огромное количество ключей. В частности, популярные такие ключи: -d — это указание домашней директории пользователя. Без этого ключа операционная система создает одноименную папку пользователя в папке /home, но с помощью данного ключа мы можем указать какую-нибудь другую. -g – можно указать id группы в которую мы хотим включить пользователя. Есть аналог этого ключа -G (помним, что регистр в Linux имеет значение) – при этом ключе мы можем использовать не id группы, а ее название. -m создание домашней директории по умолчанию, в момент создания пользователя. При данном ключе домашняя директория создается сразу, а не при первом входе пользователя в систему, по умолчанию. Он важен т.к. при автоматизации данная папка может потребоваться. -p – мы можем указать данный ключ и при создании пользователя сразу система потребует задать создаваемому пользователю пароль. -s – данный ключ позволяет задать оболочку по умолчанию для этого пользователя. Общий вид команды: useradd [опции] [имя_пользователя]. Рассмотрим небольшой пример: sudo useradd -m -G sudo buh Все работы с пользователями выполняются с повышенными привилегиями. Создаем нового пользователя buh, сразу создаем домашнюю папку и помещаем в группу sudo, т.е в группу пользователей которая может повышать привилегии. Убедимся, что пользователь был создан - sudo cat /etc/shadow В конце файла мы можем увидеть, что пользователь создан. Обратим внимание, что после логина, стоит не символ звездочки или x, а знак ! – это означает, что пароль скрыт, но может быть с помощью утилиты изменен. Утилита для изменения пароля - passwd. Синтаксис ее достаточно простой - passwd [имя_пользователя]. При использовании ее попросит ввести новый пароль и второй раз ввести для подтверждения. После этого операционная система его зашифрует и заменит в файле на набор букв-цифр-символов. Еще мы командой passwd можем поменять пароль себе. Делается это достаточно просто - passwd и нажимаем клавишу ввода. Система понимает, что пользователь хочет сменить пароль себе и попросит ввести текущий пароль и 2 раза новый пароль. Теперь мы можем посмотреть в какие группы входит пользователь - cat /etc/group Как видно пользователь согласно ключу G был добавлен в группу sudo. Ну и, конечно, для пользователя buh была создана одноименная группа buh. И посмотрим создалась ли домашняя папка пользователя с помощью команды ll /home. Папка создалась. Рассмотрим следующую команду - usermod. Синтаксис данной команды: usermod [опции] [имя_пользователя] У данной утилиты есть все те же ключи, что и у useradd, но есть и свои ключи. -L – данный ключ позволяет заблокировать пользователя. Если мы посмотрим файл /etc/shadow то мы увидим ! знак перед паролем. Что означает, что пользователь не может войти в систему. -U - ключ мы можем использовать для разблокировки пользователя. Теперь мы можем, например, заменить оболочку и подписать учетную запись. sudo usermod -s /bin/bash -c “best buh” buh Как мы видим, изменилась оболочка по умолчанию и добавился комментарий. Последняя утилита userdel исходя из названия мы понимаем, что она используется для удаления пользователей. Синтаксис: userdel [ключ] [имя_пользователя] Обычно эту команду используют примерно так: sudo userdel buh, но если добавить ключик -r то будет удалена и домашняя директория пользователя, а также будет удалена запись о пользователе во всех базах данных пользователей в операционной системе.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59