По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет, друг! Ты, наверное, слышал аббревиатуру DPI. А как это расшифровывается и что это вообще такое? Это сейчас и узнаем. Что такое DPI? Deep Packet Inspection (DPI) - это продвинутый метод проверки и управления сетевым трафиком. DPI представляет собой форму фильтрации пакетов, которая обнаруживает, идентифицирует, классифицирует, перенаправляет или блокирует пакеты с конкретными данными или полезной нагрузкой, которые обычная фильтрация пакетов (которая проверяет только заголовки пакетов) не может обнаружить. Обычно функции глубокой проверки пакетов работают на уровне приложений (Application) модели OSI, в то время как традиционная фильтрация пакетов только сообщает информацию заголовка каждого пакета. Другими словами, традиционная фильтрация пакетов была похожа на чтение названия книги без осознания или оценки содержимого внутри. Как работает DPI? DPI проверяет содержимое пакетов, проходящих через заданную точку, и принимает решения в режиме реального времени на основе правил, назначенных компанией, провайдером или сетевым администратором, в зависимости от того, что содержит пакет. До недавнего времени фаерволы не обладали вычислительной мощностью, необходимой для более глубоких проверок больших объемов трафика в режиме реального времени. Глубокая проверка пакетов может проверить содержимое сообщений и определить конкретное приложение или службу, из которой оно поступает. Кроме того, фильтры могут быть запрограммированы для поиска и перенаправления сетевого трафика из определенного диапазона адресов Интернет-протокола (IP) или определенной онлайн-службы, например, такой как Facebook. Как используется DPI? Глубокая проверка пакетов также может использоваться в управлении сетью для оптимизации потока сетевого трафика. Например, сообщение, помеченное как высокоприоритетное, может быть направлено к месту назначения раньше менее важных или низкоприоритетных сообщений, или пакетов, участвующих в случайном просмотре Интернета. DPI также может использоваться для регулирования передачи данных, чтобы предотвратить злоупотребление p2p, что улучшает производительность сети. Также DPI используется для предотвращения проникновения в вашу корпоративную сеть червей, шпионских программ и вирусов. Кроме того, DPI также можно использовать для расширения возможностей интернет провайдеров по предотвращению использования IoT-устройств при DDOS-атаках путем блокирования вредоносных запросов от устройств. Глубокая проверка пакетов также может предотвратить некоторые типы атак переполнения буфера. Наконец, глубокая проверка пакетов может помочь вам предотвратить утечку информации, например, при отправке конфиденциального файла по электронной почте. Вместо того, чтобы успешно отправить файл, пользователь вместо этого получит информацию о том, как получить необходимое разрешение и разрешение на его отправку. Техники DPI Два основных типа продуктов используют глубокую проверку пакетов: межсетевые экраны, в которых реализованы такие функции IDS (Intrusion Detection System – система обнаружения вторжений), как проверка содержимого, и системы IDS, которые нацелены на защиту сети, а не только на обнаружение атак. Некоторые из основных методов, используемых для глубокой проверки пакетов, включают в себя: Сопоставление шаблонов или сигнатур (Pattern or signature matching) - Один из подходов к использованию фаерволов, которые используют функции IDS, анализирует каждый пакет на основе базы данных известных сетевых атак. Недостатком этого подхода является то, что он эффективен только для известных атак, а не для атак, которые еще предстоит обнаружить. Аномалия протокола (Protocol anomaly) - Другой подход к использованию фаерволов с функциями IDS, аномалия протокола использует подход «запрет по умолчанию», который является ключевым принципом безопасности. В этой технике используются определения протокола (protocol definitions), для того чтобы определить, какой контент должен быть разрешен. Основным преимуществом этого подхода является то, что он обеспечивает защиту от неизвестных атак. Решения IPS - Некоторые решения IPS (Intrusion Prevention System – система предотвращения вторжений) используют технологии DPI. Эти решения имеют функции, аналогичные встроенным IDS, хотя они могут блокировать обнаруженные атаки в режиме реального времени. Одной из самых больших проблем при использовании этого метода является риск ложных срабатываний, который может быть смягчен до некоторой степени, путем создания консервативной политики. Существуют некоторые ограничения для этих и других методов DPI, хотя поставщики предлагают решения, направленные на устранение практических и архитектурных проблем различными способами. Кроме того, решения DPI теперь предлагают ряд других дополнительных технологий, таких как VPN, анализ вредоносных программ, антиспам-фильтрация, фильтрация URL-адресов и другие технологии, обеспечивающие более комплексную защиту сети. Недостатки DPI Ни одна технология не является идеальной, и DPI не является исключением. У нее есть несколько слабых сторон: Глубокая проверка пакетов очень эффективна для предотвращения таких атак, как атаки типа «отказ в обслуживании», атаки с переполнением буфера и даже некоторых форм вредоносных программ. Но это также может быть использовано для создания подобных атак. Глубокая проверка пакетов может сделать ваш текущий фаервол и другое программное обеспечение безопасности, которое вы используете, более сложным в управлении. Вы должны быть уверены, что вы постоянно обновляете и пересматриваете политики глубокой проверки пакетов, чтобы обеспечить постоянную эффективность. Глубокая проверка пакетов может замедлить работу вашей сети, выделив ресурсы для фаервола, чтобы он мог справиться с нагрузкой обработки. Помимо проблем конфиденциальности и внутренних ограничений глубокой проверки пакетов, некоторые проблемы возникли из-за использования сертификатов HTTPS и даже VPN с туннелированием. Некоторые фаерволы теперь предлагают проверки HTTPS, которые расшифровывают трафик, защищенный HTTPS, и определяют, разрешено ли пропускать контент. Тем не менее, глубокая проверка пакетов продолжает оставаться ценной практикой для многих целей, начиная от управления производительностью и заканчивая аналитикой сети, экспертизой и безопасностью предприятия.
img
Мы уже рассказывали про Asterisk Manager Interface (AMI) в предыдущих статьях. Если кратко – AMI интерфейс служит для получения команд от внешних приложений на управление АТС – инициацию вызовов, например. Как правило, приложения, которые используют AMI именно внешние и подключаются с других хостов. Именно поэтому, необходимо наверняка знать – работает ли AMI корректно? Об это и поговорим. Windows: проверка Telnet Самый просто способ проверки – проверка с помощью Telnet. Нам нужно просто указать IP – адрес и порт AMI (как правило, это 5038, если не меняли) и выполнить телнет коннекцию. Проверку надежнее всего проводить с хоста, с которого будет подключаться ваше приложение, так как AMI имеет возможность фильтрации по IP; В качестве клиента мы воспользуемся Putty. Открываем клиент и указываем следующее: Host Name (or IP address) - IP – адрес вашего сервера с Asterisk; Port - 5038, стандартный порт AMI (если вы его не меняли); Connection Type - отмечаем Telnet; Выполняем подключение. Если все работает хорошо, то вы увидите следующее: Linux: проверка Telnet Если вы хотите выполнить проверку с Linux – based машины, то просто дайте следующую команду в консоли: [admin@merionet ~]# telnet 192.168.1.14 5038 Trying 192.168.1.14... Connected to localhost. Escape character is '^]'. Asterisk Call Manager/2.8.0
img
Сериализация – это процесс, в котором одна служба берет структуру данных, такую как словарь в Python, упаковывает ее и передает другой службе для чтения. Это максимально простое определение. Представьте, что мне нужно отправить кому-то сообщение. Итак, я записываю текст на уже собранный пазл. Далее я разбираю части пазла, добавляю несколько инструкций о том, как его собрать, и отправляю его. Затем получатель сообщения, получив кусочки головоломки, собирает их вместе. И теперь у него есть мое сообщение. Техническое определение этого понятия немного интереснее. А именно, сериализация – это процесс преобразования объекта данных в поток байтов и сохранения состояния объекта для хранения на диске или передачи по сети. Это сокращает необходимый размер хранилища и упрощает передачу информации по сети. Маршалинг и сериализация – в чем разница? Здесь на ум может прийти понятие маршалинга (Marshalling). Маршалинг – это процесс преобразования представления объекта в памяти в форму, подходящую для передачи. Хотя маршалинг и сериализация в общих чертах похожи, между ними все-таки есть принципиальная разница. Например, при создании программы в Golang для считывания JSON данных в структуру данных Golang вы можете использовать маршалинг для преобразования пары «ключ-значение» JSON в пару «ключ-значение» Golang. Разница в том, что маршалинг используется для преобразования данных. А сериализация, напротив, отправляет или сохраняет данные в потоке байтов и повторно собирает их в исходную форму. Оба процесса вроде бы выполняют процесс сериализации, но с разными намерениями. Вы можете увидеть структуру, которую я создал для взаимодействия с данными Twitter, ниже, как пример процесса маршалинга в действии. В Golang вы можете вставлять подсказки, называемые тегами, легко преобразовывая этот объект в данные JSON с помощью встроенной службы маршалинга Golang. Что такое Endianness? Я также хотел бы немного затронуть тему порядка следования байтов. Endianness – это термин, который используется для описания порядка байтов в памяти. Представьте, что память – это блок, в котором хранятся биты данных. Чтобы сериализация работала, поток байтов должен передавать типы данных независимо от изменения порядка следования байтов из одной системы в другую. Здесь вы можете увидеть большие различия и не очень. Очень важно, чтобы порядок следования байтов из одной системы в другую совпадал или каким-либо образом преобразовывался, поскольку не все системы упорядочивают свои биты одинаково. Little endian (от младшего к старшему) и big endian (от старшего к младшему) Варианты использования сериализации Наш вариант использования в полной мере использует все функции сериализации. Мы планируем получить некоторую информацию от сканируемого оборудования, упаковать эту информацию в поток байтов и отправить ее по сети в другую службу, которая восстановит данные. Процесс обратной сериализации и восстановления данных в исходную форму называется десериализацией. Есть и другие варианты использования сериализации. Например, REST API или протоколы обмена сообщениями, такие как AMQP, могут использовать сериализацию для сжатия и отправки данных. AMQP – это протокол обмена сообщениями, в котором вы отправляете сообщение брокеру AMQP, а служба-получатель «прослушивает» этого брокера в поисках сообщения. Серверные специалисты должны быть хорошо с этим знакомы, так как это часто используется для отправки данных туда и обратно в распределенных системах. Многие языки программирования включают возможность легкого развертывания некоторой сериализации. Так что это языково-независимая тема. Пример сериализации Приведем краткий пример. Код, приведенный ниже, использует библиотеку kombu для отправки сообщений через AMQP. Мы используем ее для отправки сообщений из одного программного пакета в другой по сети. Данный код предназначен для службы, отправляющей сообщение брокеру AMQP: Обратите внимание на метод publish. Мы передаем метод сериализации в качестве аргумента, чтобы библиотека понимала, как сериализовать данные, которые мы передаем. Сообщение с данными преобразуется в поток байтов, который, если на него посмотреть, выглядит просто как длинная строка букв и цифр. И мы отправляем сообщение. Соответствующая служба будет использовать тот же метод сериализации для восстановления данных в их исходное состояние. Это важная функция, поскольку мы создаем набор инструментов, которые должны иметь возможность отправлять сообщения друг другу, чтобы все работало. Форматы данных сериализации В основном я использую JSON для сериализации, когда этого требует задача. Но тем не менее, вы можете использовать и другие варианты. У JSON много издержек, но для меня он идеален, потому что он читабелен. Вы также можете использовать Protobuf, YAML или XML. Это лишь некоторые из возможных. Заключение Сериализация становится необходимостью, когда вы строите свои каналы связи. Полезно знать о таком понятии, чтобы чувствовать себя уверенно при подходе к любому инструменту, который вы используете, с соответствующими базовыми знаниями.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59