По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В сегодняшней статье рассмотрим модуль, который стал доступен во FreePBX только с версии 13 и который позволяет создать первичную низкоуровневую защиту нашей IP-АТС - Firewall. Нужно отметить, что попытки создать нечто подобное на ранних версиях FreePBX всё-таки были, но все они не увенчались успехом и заставляли пользователей так или иначе идти на компромиссы для сохранения доступности функционала IP-АТС. Модуль Firewall был разработан с глубоким пониманием существующих проблем и его основной целью является защита “средней”, или другими словами, типовой инсталляции при обязательном сохранении VoIP сервисов. /p> Данный модуль отслеживает и блокирует атаки, пропуская при этом разрешенный трафик, а также непрерывно контролирует конфигурацию системы, автоматически открывая и закрывая порты для необходимых транков. Настройка модуля Firewall Перейдём к настройке. Для того, чтобы попасть в модуль, нужно перейти по следующему пути: Connectivity -> Firewall, откроется следующее окно: Чтобы включить модуль, нажмите кнопку Enable Firewall. Обратите внимание, после включения модуля никакие правила ещё не задействованы, их нужно настроить. Первое о чём сообщает модуль, это то, что IP-адрес, под которым мы зашли на IP-АТС не является членом “зоны доверия” (Trusted Zone) и предлагает добавить его для исключения возможных блокировок: Для наибольшего понимания, давайте разберёмся с понятием зоны (Zone), которым оперирует модуль Firewall. Все сетевые соединения, поступающие на VoIP-сервер считаются частью зоны. Каждый сетевой интерфейс и данные, поступающие на него принадлежат к определенной зоне. Стандартные зоны делятся на следующие: Reject - Все соединения, относящиеся к данной зоне, запрещены. Обратите внимание, что эта зона по-прежнему принимает RTP трафик, но никакие другие порты по умолчанию не прослушиваются. Трафик данной зоны может быть обработан с помощью Responsive Firewall, о котором будет сказано далее. External - Позволяет только https соединения для доступа к интерфейсу управления и UCP порту, если они определены. Трафик данной зоны может также быть обработан с помощью Responsive Firewall Other - Используется на доверенных внешних сетях, или других хорошо известных сетях. По умолчанию, позволяет получить доступ к UCP, а также обеспечивает нефильтрованный SIP и IAX. Internal - Используется на внутренних локальных сетях, по умолчанию позволяет получить доступ ко всем сервисам IP-АТС. Trusted - Все сетевые соединения данной зоны разрешены. Пропускается весь трафик от доверенной зоны. Именно сюда нам предложат добавить наш IP-адрес при первом включении модуля. Итак, чтобы добавить наш IP-адрес в список доверенных, нужно нажать You can add the host automatically here. Мы попадём во вкладку Preconfigured. Предлагается два варианта, это добавление адреса хоста и добавление подсети Add Host и Add Network соответственно: Проверить, что адрес (или сеть) добавлены в список доверенных можно во вкладке Zones в разделе Networks. В модуле Firewall есть также дополнительный элемент, который отслеживает сигнализационные запросы определённых сервисов и блокирует возможные атаки - Responsive Firewall. Такими запросами могут быть запросы протоколов сигнализации SIP или IAX, например, запросы авторизации или вызова. Когда Responsive включен, то любой сигнализационный пакет исходящий от хоста проходит через Firewall, если после некоторого количества таких пакетов, хост отправлявший их не прошёл успешную регистрацию, то весь трафик от этого хоста сбрасывается на короткий промежуток времени (60 сек). Если после данной блокировки хост продолжает слать пакеты с запросом регистрации и безуспешно пытается зарегистрироваться, то блокируется уже его IP-адрес на 24 часа. Кроме того, если на сервере настроен fail2ban, то система ещё и письмо отправит о данном событии. Чтобы включить данный функционал, на вкладке Responsive нужно нажать на кнопку Enable: Далее необходимо указать, для каких протоколов должен работать данный функционал: Известные IP-адреса или даже целые подсети, которые проявляли подозрительную активность и которые не должны иметь доступа к IP-АТС можно заблокировать во вкладке Zones -> Blacklists. И последний по счёту, но не по значимости, функционал модуля Firewall, о котором хотелось бы рассказать - Safe Mode. Данный функционал позволяет получить доступ к IP-АТС если случайно была применена неправильная конфигурация, которая привела к потере доступа, а доступа к консоли у вас нет. При включении модуля Firewall, Safe Mode уже доступен, но чтобы его активировать, необходимо дважды перезапустить систему. Сначала необходимо выполнить перезапуск один раз, дождаться, пока сервер полностью загрузится, а затем произвести вторую перезагрузку. После чего, система отложит загрузку правил Firewall’а, а вы сможете спокойно убрать ту конфигурацию, из-за которой потеряли доступ. О том, что система находится в Safe Mode, будет говорить огромное уведомление в самом верху страницы, которое исчезнет через пять минут, тогда же запустятся правила Firewall.
img
Стандарт 802.11 поддерживал только один способ защиты данных, передаваемых по WI-FI, от перехвата- это WEP. В прошлых статьях мы узнали, что WEP является устаревшим средством защиты данных и его использование не рекомендовано. Какие же еще существуют способы шифрования и защиты данных при передаче по Wi-Fi? TKIP В свое время WEP применялся на беспроводном оборудовании клиента и точки доступа, но он был сильно уязвим. На смену WEP пришел протокол целостности временного ключа (Temporal Key Integrity Protocol (TKIP). TKIP добавляет следующие функции безопасности на устаревшем оборудовании и при использовании базового шифрования WEP: MIC: этот эффективный алгоритм шифрования добавляет хэш-значение к каждому кадру в качестве проверки целостности сообщения, чтобы предотвратить подделку. Time stamp: метка времени добавляется в MIC, чтобы предотвратить атаки, которые пытаются повторно использовать или заменить кадры, которые уже были отправлены. MAC-адрес отправителя: MIC также включает MAC-адрес отправителя в качестве доказательства источника кадра. Счетчик последовательностей TKIP: эта функция обеспечивает запись кадров, отправленных по уникальному MAC-адресу, чтобы предотвратить использование повторение кадров в качестве атаки. Алгоритм смешивания ключей: этот алгоритм вычисляет уникальный 128-битный WEP-ключ для каждого кадра. Более длинный вектор инициализации (IV): размер IV удваивается с 24 до 48 бит, что делает практически невозможным перебор всех ключей WEP путем использования метода вычисления brute-force. До 2012 года протокол шифрования TKIP был достаточно безопасным методом защиты данных. Он применялся до тех пор, пока не появился стандарт 802.11i. Злоумышленники не оставили в стороне протокол TKIP. Было создано много алгоритмов атак против TKIP, поэтому его тоже следует избегать, если есть более лучший метод защиты данных в беспроводных сетях. CCMP Протокол Counter/CBC-MAC (CCMP) считается более безопасным, чем TKIP. CCMP состоит из двух алгоритмов: AES шифрование в режиме счетчика Cipher Block Chaining Message Authentication Code (CBC-MAC) используется в качестве проверки целостности сообщения (MIC) Расширенный стандарт шифрования (AES)- это текущий алгоритм шифрования, принятый Национальным институтом стандартов и технологий США (NIST) и правительством США и широко используемый во всем мире. Другими словами, AES является открытым, общедоступным и представляет собой самый безопасный метод шифрования на данный момент времени. Для использования протокола защиты CCMP, необходимо убедиться, что устройства и точки доступа поддерживают режим счетчика AES и CBC-MAC на аппаратном уровне. CCMP нельзя использовать на устаревших устройствах, поддерживающих только WEP или TKIP. Как определить, что устройство поддерживает CCMP? Ищите обозначение WPA2. GCMP Протокол Galois/Counter Mode Protocol (GCMP)- это надежный набор шифрования, который является более безопасным и эффективным, чем CCMP. GCMP состоит из двух алгоритмов: AES шифрование в режиме счетчика Galois Message Authentication Code (GMAC) используется в качестве проверки целостности сообщения (MIC) GCMP используется в WPA3. WPA, WPA2 и WPA3 На сегодняшний день существует три метода шифрования WPA: WPA, WPA2 и WPA3. Беспроводные технологии тестируются в официальных испытательных лабораториях в соответствии со строгими критериями. Альянс Wi-Fi представил первое поколение сертифицированную WPA (известную просто как WPA, а не WPA1), в то время как поправка IEEE 802.11i для совершенных методов обеспечения безопасности все еще разрабатывалась. WPA была основана на части стандарта 802.11i и включала аутентификацию 802.1x, TKIP и метод динамического управления ключами шифрования. Как только 802.11i был ратифицирован и опубликован, WiFi Alliance включил его в полном объеме в свою сертификацию WPA Version 2 (WPA2). WPA2 основан на превосходных алгоритмах AES CCMP, а не на устаревшем TKIP от WPA. Очевидно, что WPA2 был разработан взамен WPA. В 2018 году Альянс Wi-Fi представил версию WPA3 в качестве замены WPA2, добавив несколько важных и превосходных механизмов безопасности. WPA3 использует более сильное шифрование AES с помощью протокола Galois/Counter Mode Protocol (GCMP). Он также использует защищенные кадры управления (PMF) для защиты кадров управления 802.11 между точкой доступа и клиентами, чтобы предотвратить несанкционированный доступ и нарушение нормальной работы BSS. Обратите внимание, что все три версии WPA поддерживают два режима проверки подлинности клиента: предварительный общий ключ (PSK) или 802.1x, в зависимости от масштаба развертывания. Они также известны как личный режим и режим предприятия, соответственно.
img
Сейчас существует очень много различных программ, которые помогают правильно настроить то или иное программное обеспечение. Для того, чтобы программа эффективно работала, необходимо воспользоваться реальной или виртуальной машиной. Также, имеет смысл воспользоваться программным окружением Vagrant, которое поставляется вместе с программой Ansible после покупки лицензии. Прежде чем приступать непосредственно к настройке программы, необходимо узнать, что это вообще такое и какие функции выполняет. Что такое программа Ansible и для чего она нужна? Данная программа нужна для того, чтобы управлять различными программными конфигурациями для того, чтобы разрабатывать приложения на языке Python. Ansible представляет собой список программ, объединенных в пакет для управления специальными конфигурациями. Благодаря данному пакету программ можно настраивать те или иные удалённые машины и управлять ими на большом расстоянии. На сегодняшний день настройка программы Ansible осуществляется путём изучения пособия по следующим главам: Прежде всего, специалисты обучают новичка работе с установщиком. При этом, нужно будет установить программу Ansible вместе с утилитой под названием Vagrant. Далее идет полное изучение так называемого файла инвентаризации. После того, как файл инвентаризации был настроен и как следует изучен пользователем, необходимо перейти к непосредственному сбору факторов, переменных, copy и shell. Всё это нужно установить и настроить, дабы не возникало никаких проблем, связанных с дальнейшей эксплуатацией пакета Ansible для настройки удалённых машин. После этого осуществляется процесс, в который входит детальная настройка нескольких хостом. Немаловажным этапом идёт настройка плейбуков. В качестве примера стоит вспомнить настройку кластера через Apache, который включает в себя поэтапный балансировщик уровня нагрузки на удалённую машину. После того, как все предыдущие 6 шагов были совершены, необходимо перейти к откату и изучению ошибок. С каждым запуском ошибок должна становится всё меньше, что приведет к формированию паттерна действий системы. Установка программы Ansible завершается установкой и настройкой ролей каждого узла. Сама по себе, данная программа (один из вариантов графического интерфейса) выглядит так: В чём заключается настройка программы Ansible на практике? Утилита Ansible работает в проталкивающимся режиме. Он включает в себя использование всех настроек главной машины, с которой и осуществляются все наработки и разработки узлов. Основная машина тянет определенные узлы и ветки, осуществляя поэтапную постепенную нагрузку системы вместе с ее настройкой. Какие пакеты и модули нужны для работы утилиты Ansible? Как показала практика, для работы данной утилиты достаточно иметь следующие типы модулей: Модуль под названием jinja2 Вспомогательный модуль типа yaml Следует сказать, что прежде чем устанавливать данную программу, необходимо понять, что она работает исключительно на Linux и его дистрибутивах. Как правило, самыми популярными дистрибутивами Linux для работы программы Ansible являются Ubuntu или дебиан. Через командную строку нужно запустить соответствующую команду, которая отправить запросы на запуск установщика Ansible. Внутри нужно будет найти соответствующие пакеты, которые потом должны быть переписанные в командную строку. После того, как программа Ansible было установлена, нужно будет постепенно перейти к установке дополнительной утилиты, которое было упомянута выше. Данная утилита носит название Vagrant. Как правильно установить Vagrant на Linux систему? В качестве основной среды для установки данной программы лучше всего использовать так называемую виртуальную машину. Виртуальная машина нужна для того, чтобы не нагружать основную систему и создать дополнительную среду для Vagrant. Сам по себе, процесс установки данной программы включает в себя скачивание следующего софта: Непосредственно сама виртуальная машина или Virtualbox. В том случае, если после установки Virtualbox не возникло никаких проблем, стоит перейти к поиску ещё 1 немаловажной программы под названием Ruby. Если речь идёт о современных дистрибутивах Linux, таких, как Debian или Ubuntu, то стоит с уверенностью сказать, что программа уже имеется в системе. Если же я говорится о старых версиях Ubuntu или Debian, то нужно будет перейти на файлообменники и скачать Ruby на свой персональный компьютер. Завершающим этапом установки является скачивание на персональный компьютер ещё 1 немаловажной программы под названием Vagrant 1.1+. Ее можно найти на официальном сайте. Дальнейшим этапом будет создание работающего файла виртуальной машины. Команда, запускающая программу в виртуальной машине, выглядит таким образом: «vagrant up». После ее активации процесс запустится и можно переходить к другим шагам. Для некоторых систем потребуется получить права суперпользователя или ввести Root ключ. Его нужно заранее узнать у администратора или вспомнить, если речь идёт о домашнем персональном компьютере. В виртуальной машине нужно будет добавить соответствующие ключи SSH, дабы продолжить процесс. Процесс будет запущен спустя несколько минут после того, как соответствующие команды будут введены. Программа взаимодействует следующим образом: Дальнейшим этапом будет создание файла inventory. Для того, чтобы создать соответствующий файл, необходимо прописать в нём следующие команды. host0.example.org ansible_ssh_host=192.168.33.10 ansible_ssh_user=root host1.example.org ansible_ssh_host=192.168.33.11 ansible_ssh_user=root host2.example.org ansible_ssh_host=192.168.33.12 ansible_ssh_user=root Следует сказать, что строка под названием «ansible_ssh_host» содержит в себе уникальный адрес IP хоста. Его должен знать каждый человек, который устраивает полную настройку системы. Завершающим этапом всех манипуляций, которые были приведены выше, является полная проверка путем вписывания соответствующих строк кода в командную строку. Первым делом нужно будет выполнить следующую команду: ansible -m ping all -i step-01/hosts При первых этапах проверки Ansible пытается запустить модуль под названием ping. В том случае, если программа работала верно, то и результат будет выглядеть следующим образом: host0.example.org | success >> { "changed": false, "ping": "pong" } host1.example.org | success >> { "changed": false, "ping": "pong" } host2.example.org | success >> { "changed": false, "ping": "pong" } Если данного кода нет, то что-то не так и необходимо будет искать решение проблемы на сторонних ресурсах. Консультирование со специалистом поможет избежать проблем в будущем. Всё, узлы настроены и теперь можно переходить к дальнейшим действиям. Как правильно настраивать отдельные узлы, используя основную машину? Для того, чтобы узлы могли взаимодействовать между собой, необходимо воспользоваться одноимённой командой ansible. После того, как она была введена, узлы будут взаимодействовать между собой и передавать друг другу определенные массивы зашифрованной информации. Как запустить много хостов, если использовать всего лишь одну команду? Использование одной команды для запуска нескольких узлов является очень важной вещью в создании качественно работающих систем. Если в одну систему были собраны определённые машины под управлением одной и той же операционной системы, то стоит ввести следующую команду, так как вся информация будет собрана на одну машину, с которой эта самая команда и была введена. ansible -i step-02/hosts -m shell -a 'uname -a' host0.example.org Если всё было правильно сделано, то все хосты должны дать следующий вывод касательно своего статуса: host1.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host2.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host0.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 Каждый элемент будет подсвечен, а также будет передан его статус. Для того, чтобы получить гораздо больше информации касательно того или иного элемента, нужно вести другую команду с модулем setup. Данный модуль собирают гораздо больше информации с каждого узла, точно также передавая ей на основную платформу. В качестве примера ответа будет следующая конструкция: "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.0.60" ], "ansible_all_ipv6_addresses": [], "ansible_architecture": "x86_64", "ansible_bios_date": "01/01/2007", "ansible_bios_version": "Bochs" }, ---snip--- "ansible_virtualization_role": "guest", "ansible_virtualization_type": "kvm" }, "changed": false, "verbose_override": true Выводы можно сокращать для того, чтобы получать более простые конструкции, однако их суть останется прежней. Особенности архитектуры программы Ansible Архитектура Ansible включает в себя следующие разнообразные модули: Модуль Cloud позволяет управлять публичными или частными облаками от таких компаний, как Amazon, Azure , Docker, Openstack и другие; Command делает выполнение консольных команд максимально простым и отлаженным; Monitoring занимается мониторингом всех данных. Также, сюда можно включить еще множество различных модулей для правильной работы удаленных машин. И, как мы уже говорили, Ansible работает исключительно на дистрибутивах Linux и не содержит в себе протоколов для работы с Windows или Mac OS. Основными дистрибутивами для работы Ansible являются Debian и Ubuntu. Удачи вам в освоении мира DevOps!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59