Traffic Throttler для Linux

Traffic Throttler для Linux

Задача

Проект был разработан для компании, специализирующейся на предоставлении комплексных решений для защиты от спама и вредоносных программ. Продукт клиента представляет собой мультиплатформенный SDK, который предоставляет средства для защиты серверов, маршрутизаторов и рабочих станций от спам-отправителей и хакеров. Ограничение трафика стало частью этого SDK, служащего инструментом для защиты почтовых серверов от спамеров. Целью проекта является установление приоритетов пропускной способности соединения для серверов с хорошей репутацией и ограничение пропускной способности серверов с плохой или неизвестной репутацией.

Решение

Предлагаемое решение представляет собой ограничитель трафика для семейства операционных систем Linux. Инструмент предоставляет средства для уменьшения пропускной способности соединения для серверов в зависимости от репутации сервера. Репутация сервера может быть получена из внешних источников (включая, сервер greylisitng), а также может быть скорректирована динамически.
Регулятор может быть интегрирован в любое приложение: все, что требуется- это инициализировать его библиотеку и добавить правило в iptables, перенаправляющее все пакеты в очередь –j. После этого приложение может контролировать пропускную способность входящих соединений.
Ограничение пропускной способности соединения достигается добавлением задержек при отправке пакетов TCP ACK (подтверждение полученных данных), поскольку отправителю не следует отправлять новые порции данных до подтверждения получения.

Архитектура

Регулятор трафика Linux обрабатывает очередь пакетов ядра, используя libipq. Он получает все пакеты ACK, извлекает из них IP-адреса отправителя и определяет репутацию отправителя. Задержка в ответе рассчитывается в зависимости от репутации отправителя. Ответные пакеты помещаются в буфер, который используется для их хранения до отправки после рассчитанной задержки. Регулятор реализован в виде SDK, который может использоваться любым приложением. Прикладная программа должна создать экземпляр средства регулирования и инициализировать его соответствующими данными, такими как интервал задержки пакета и адрес серого сервера (если используется). SDK предоставляет API, который можно использовать для установки репутации отдельных IP-адресов.

Выгоды

Регулирование пропускной способности имеет значительные преимущества по сравнению с простой блокировкой трафика, поскольку иногда трудно, даже почти невозможно отличить обычного пользователя от злонамеренного (спамер, хакер или компьютер, зараженный вредоносным ПО), а простая блокировка трафика может привести к нежелательному отказу в обслуживании, в то время как регулирование трафика сохраняет все службы доступными – пользователи по-прежнему могут отправлять и получать электронные письма, но с гораздо меньшей скоростью, что делает отправку спама значительно менее экономически эффективным.    

Используемые технологии

Похожие проекты

Система коммуникации с пользователями

Данная система основана на веб-интерфейсе и позволяет решить ряд задач, связанных с автоматизацией в области маркетинга, торговых операций и взаимодействия с клиентами.

OptIt – система СМС-маркетинга

Проект был сделан для частной компании, предоставляющей услуги маркетингового решения на основе текстовых СМС-сообщений.

ПО для компании в сфере недвижимости

Портал на Sharepoint для финской компании, предоставляющей маркетинговые и брокерские услуги компаниям, работающим в сфере торговой недвижимости и ее аренды.