По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В продолжение нашей статьи про настройку Netflow на маршрутизаторах Mikrotik, сегодня мы расскажем про Ntopng — приложение, которое анализирует трафик в вашей сети. Устанавливать будем на CentOS 7.
Установка
Ntopng не доступен в дефолтных репозиториях CentOS 7, поэтому предварительно нам нужно будет выполнить определенные действия по их добавлению. Сперва, выполните команду по добавлению EPEL репозитория:
sudo yum install epel-release
Затем необходимо создать ntop репозиторий. Для этого нужно будет создать файл ntop.repo внутри директории /etc/yum.repos.d - для этого введите команду sudo nano /etc/yum.repos.d/ntop.repo.
В данный файл добавьте следующие строки:
[ntop]
name=ntop packages
baseurl=http://www.nmon.net/centos-stable/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri
[ntop-noarch]
name=ntop packages
baseurl=http://www.nmon.net/centos-stable/$releasever/noarch/
enabled=1
gpgcheck=1
gpgkey=http://www.nmon.net/centos-stable/RPM-GPG-KEY-deri
Для создания файла, конечно же, можно использовать любой текстовый редактор — не только nano. Но если хотите дотошно следовать инструкции, то, вероятно, сначала текстовый редактор придется установить с помощью команды yum install nano -y. После добавления нужных строк в файл сохраните изменения с помощью сочетания клавиш CTRL+O, и выйдите из файла командой CTRL+X.
Теперь переходим к непосредственно установке — выполните команду
sudo yum --enablerepo=epel install redis ntopng -y
. После этого просто соглашайтесь со всеми пунктами, и, спустя минут 5, все должно быть установлено.
Запуск сервисов и настройка ntopng
После установки ntopng, необходимо установить hiredis-devel пакет и запустить redis сервер до старта ntopng:
sudo yum --enablerepo=epel install hiredis-devel
Затем запускаем redis сервис и разрешаем ему автозапуск — и тоже самое делаем с ntopng.
sudo systemctl start redis.service
sudo systemctl enable redis.service
sudo systemctl start ntopng.service
sudo systemctl enable ntopng.service
Далее, проверим, работает ли ntopng командой sudo systemctl status ntopng.
Затем, превратим наш ntopng в бесплатную версию — для этого нужно отредактировать конфиг командой sudo nano /etc/ntopng/ntopng.conf и изменить строку:
-G=/var/tmp/ntopng.pid
на строку:
-G=/var/tmp/ntopng.pid
--community
После чего, сохраним и выйдем из файла и перезапустим ntopng:
sudo systemctl restart ntopng
Последний шаг — настроим фаерволл и перезагрузим его. Настройка заключается в разрешении порта 3000.
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
Первый запуск ntopng
Теперь осталось перейти по следующему адресу: http://yourhostip:3000. Логин и пароль по умолчанию — admin. Сразу после этого вам предложат изменить пароль.
Далее, вы увидите дэшборд, с разнообразной информацией, примерно как на скриншоте ниже:
Для понимания возможностей данного приложения — попробуйте посмотреть хосты, сети и прочие — в общем, попробуйте освоиться с функционалом.
Заключение
Всем спасибо за внимание, многие крупные вендоры сейчас уделяют особое внимание протоколу Netflow и придумывают различные сценарии применения. Как это может быть полезно именно для вас, пара примеров: после недельного анализа вашей сети вы поймете, что она была недостаточно сегментирована, или увидите какие-то подозрительные потоки. Дайте нам знать, если вам интересна более подробная настройка ntopng и софта, подобного ему — обязательно напишем про это статью! :).
Python - один из самых популярных языков программирования. Однако в CentOS 8 он не установлен по-умолчанию.
В более ранних выпусках CentOS по умолчанию была доступна неверсированная команда Python. После установки CentOS, можно было перейти в оболочку Python, просто запустив команду «python» в терминале. Как это ни парадоксально, CentOS 8 не имеет неверсионной команды Python по умолчанию. Напрашивается вопрос, почему? RedHat заявляет, что этот выбор сделан «чтобы избежать блокировки пользователей в конкретной версии Python». В настоящее время RedHat 8 неявно использует Python 3.6 по умолчанию, хотя Python 2.7 дополнительно предоставляется для поддержки существующего программного обеспечения. Ранее неверсионная команда Python в дистрибутивах CentOS, хотя и была удобной, создавала определенные проблемы. Неверсионный Python обычно указывает на интерпретатор Python 2, но поскольку Python 2 сейчас находится на EOL (конец срока службы), это становится проблематичным по нескольким причинам. Простое перенаправление команды на Python 3 может показаться несложным решением, но на многих уровнях это будет проблематично из-за возможной путаницы с версионированием. Вместо того, чтобы продолжать указывать команду «python» на версию Python по умолчанию из-за знакомства или указывать на Python 3, чтобы идти в ногу со временем, был сделан выбор больше не включать стандартную команду «python».
В этом руководстве мы рассмотрим установку как активно используемой версии Python 2, так и новой версии Python 3 в CentOS 8 и Red Hat Enterprise Linux (RHEL) 8.
Установка Python 2
Шаг 1. Обновление среды
Всегда полезно начинать с проверки того, что все наши системные пакеты обновлены перед установкой нового программного обеспечения. Для этого мы собираемся воспользоваться новым программным обеспечением для управления пакетами DNF.
# dnf update -y
Шаг 2: Установите Python 2
Теперь, когда среда обновлена, давайте продолжим и будем использовать DNF для установки Python 2. К счастью, и Python 2, и 3 включены в репозитории базовых пакетов CentOS 8, поэтому установка выполняется просто.
# dnf install python2 -y
Шаг 3: Проверьте установку Python 2
Чтобы убедиться, что Python 2 установлен, мы можем запустить простую команду «python2» с флагом версии.
# python2 -V
Python 2.7.16
Шаг 4: Запуск Python 2
Впоследствии, чтобы получить доступ к оболочке Python 2, мы можем выполнить следующую команду.
# python2
Python 2.7.16 (default, Nov 17 2019, 00:07:27)
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Готово! Python 2 теперь установлен! Следует отметить, что PIP-установщик пакетов Python также устанавливается по умолчанию при установке Python 2, поэтому вы сможете сразу начать работу с пакетами Python.
Установка Python 3
Шаг 1. Обновление среды
Еще раз давайте убедимся, что наши системные пакеты обновлены.
# dnf update -y
Шаг 2: Установите Python 3
Теперь мы готовы установить Python 3.
# dnf install python3 -y
Шаг 3: Проверьте установку Python 3
Мы можем проверить установку и версию Python 3 так же, как и в Python 2.
# python3 -V
Python 3.7.5rc1
Шаг 4: Запуск Python 3
Затем мы можем войти в среду оболочки Python 3, выполнив следующую команду.
# python3
Python 3.6.8 (default, Nov 21 2019, 19:31:34)
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Как и в случае установки Python 2, pip3 также включается при установке Python 3. Вот и все! Теперь можно начинать работу с Python на вашем сервере CentOS 8.
Установка версии Python по умолчанию
Вы должны были заметить, что для использования Python 3, это команда python3 и python2 для Python 2. Что делать, если ваши приложения настроены на обращение к python, который недоступен для всей системы?
# python
bash: python: command not found...
Вы можете использовать механизм альтернатив, чтобы включить неверсированную команду python для всей системы и установить для нее определенную версию:
# alternatives --set python /usr/bin/python3
Для Python 2:
# alternatives --set python /usr/bin/python2
Чтобы посмотреь настроенную версию Python по умолчанию используйте следующую команду:
# python -V
Чтобы сбросить эту конфигурацию и удалить неверсионную команду python, выполните:
# alternatives --auto python
Мы уже рассказывали об опасности атак на системы 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 секунды.
Чтобы этого не случилось, даже если злоумышленник перехватит необходимую информацию, используйте стойкие пароли к учётным записям, да и вообще везде, где только можно. В этом Вам может помочь наш генератор паролей.