Traffic Inspector: полная перезагрузка

Привет, Хабр! Почти 12 лет назад мы, компания Смарт-Софт, выпустили первую версию своего флагманского продукта Traffic Inspector. За это время он превратился из обычного прокси-сервера в универсальный шлюз безопасности, сочетающий в себе функционал прокси, почтового, антиспам, веб серверов со служебными модулями Phishing Blocker, RBL, RAS Dialer, плагином фильтрации контента NetPolice, продвинутой системой биллинга, прошедшей сертификацию ССС и ФСТЭК, и возможностью учёта разных типов трафика (IMAP, SMTP, POP, NAT и прокси).

Как и в любом серьезном продукте, в Traffic Inspector с течением эволюции наблюдались недостатки. Сегодня мы резюмируем работу над ошибками, которая была проведена специалистами нашей компании за последние пару лет.



Низкая стабильность Traffic Inspector


Центральный компонент Traffic Inspector – сетевой драйвер, отвечающий за непосредственное снятие данных о трафике и их передачу в службу программы. Код драйвера выполняется в kernel mode, и любые ошибки здесь чреваты «падением в синий экран», принудительной перезагрузкой и потерей всех несохраненных данных. Для клиентов важно, чтобы с программой подобного класса (интернет-шлюз) можно было работать по принципу «поставил – настроил – забыл». Был проанализирован код и сообщения об ошибках, проблема низкой стабильности драйвера была успешно решена в начале 2014 – «синие экраны» теперь редкое явление.


Остальные скриншоты приложения

Александр Ямашкин, руководитель департамента разработки, о работе драйвера:

Известно, что чем ниже уровень эталонной модели (OSI), на котором реализуется защита, тем она прозрачнее для приложений. Однако, при снижении этого уровня уменьшается набор доступных механизмов и выше «цена ошибки». Для гарантированного анализа всех пакетов, проходящих через сетевые интерфейсы, выбран NDIS, относящийся к канальному уровню, но ценой ошибки был BSOD. Мы потратили много времени, анализируя ошибки, для того, чтобы с большой долей уверенности говорить о том, что в данный момент проблемы с драйвером возможны только при конфликте с драйверами сторонних разработчиков.

Низкая производительность Traffic Inspector


64-битные процессоры появились еще в 2003 году. При этом в Smart-Soft служба Traffic Inspector оставалась 32-битой еще долгие десять лет, что часто являлось причиной недовольства программой среди системных администраторов. 32-битные платформы и ПО имеют ряд существенных ограничений: поддержка не более 4 ТБ места на жестком диске, поддержка не более 3 ГБ оперативки и не более 2 ГБ для user space приложения. Прокси-сервер Traffic Inspector (реализованный как часть службы) рассчитан на активное использование доступной памяти. 32-битная версия службы зачастую быстро «съедала» ограниченные ресурсы памяти, упиралась в потолок памяти, программа не могла открыть в системе более 4096 потоков, система под нагрузкой подвисала и прокси начинал сильно тормозить. Важнейшее усовершенствование программы – релиз 64-битной версии службы, вышедший в конце 2013 года. В новой версии существует как x86, так и x64 версии и пользователь сам определяет, какую ставить. О былых проблемах с памятью можно забыть, а прокси теперь с легкостью обрабатывает до 1000 одновременных HTTP-запросов.

Александр Ямашкин о внедрении работы на 64-битных платформах:

Сейчас существует как 32-битные, так и 64-битные версии программы, и пользователь сам определяет, какую ставить (на данный момент 70-80% установок приходится на 64-битную). Использование последней снимает ограничения, накладываемые операционной системой на объем памяти в 2 Гб, которая может быть выделена процессу, а следовательно отсутствуют ошибки, возникающие при невозможности выделить процессу очередной блок памяти.

Медленный веб-портал и отчетность в Traffic Inspector


Веб-портал Traffic Inspector обеспечивает генерацию отчетов функционирования сети и прочих аспектов сетевой статистики. Многие клиенты приобретали Traffic Inspector именно для этого – сбора статистических данных и составления отчетов. Можно было понять их разочарование, когда процесс формирования даже простенького отчета мог затянуться на долгое время. Данную проблему удалось побороть путем перевода веб-портала на PHP и сопутствующие технологии.

Александр Ямашкин о переводе портала на PHP:

До версии 3.0.1 портал был написан на С# c использованием .Net Framework. Кроме смены интерпретатора, была реализована служба подготовки отчетов, в которую была вынесена вся логика формирования отчетов. На портал сейчас легла только одна функция – GUI.

Кроме ускорения работы портала было введено распределение баз данных, хранение данных за большой период времени:

При необходимости хранения данных за большой интервал мы рекомендовали использование СУБД сторонних разработчиков. Но даже с ними периодически возникали проблемы. Представьте объем сложностей при обслуживании БД размером в 1.5 ТБ в MS SQL, при том что 90% этих данных не используется. Поэтому в 3.0.2 был реализован механизм деления БД, когда по завершению периода (месяц / квартал / полугодие / год – задается администратором) БД, в том числе SQLite, отключается от оперативной работы и используется только при запросе отчетов за указанный период.



Простота использования Traffic Inspector


Многие клиенты, впервые столкнувшиеся с программой Traffic Inspector, часто говорили о большой сложности в ее освоении и непонятном интерфейсе. В последнее время был предпринят ряд усилий, направленных на улучшение юзабилити программы.

Заметно изменился интерфейс Traffic Inspector. Теперь пользоваться различными элементами программы стало проще и удобнее. В новой структуре консольного дерева элементы расположены более логично и удобно. Полностью переработано содержание страничек для основных узлов консольного дерева (Объекты, Учет трафика, Пользователи и группы, Правила, Сервисы, Настройки). Как результат, администратор программы Traffic Inspector получает простой и удобный контроль над всеми возможностями программы, исчерпывающую информацию о ее настройках и ссылки для решения основных задач администрирования. Новая система добавления пользователей и ряд визардов максимально упрощают первоначальную настройку программы.

Александр Ямашкин о новой системе добавления пользователей:

Система, зафиксировав обращение в интернет от пользователя не зарегистрированного в программе, может как автоматически создать учетную запись на основании заданных параметров, так и создать заявку для администратора, которому остается только подтвердить создание новой учетной записи и назначить необходимые правила доступа.

Новое в Traffic Inspector 3.0.2


Последние изменения в программе прокомментирует руководитель департамента разработки Александр Ямашкин:

Основные доработки были связаны с отчетами и новой системой регистрации, остальные доработки довольно специфичны. К примеру:

  • Реализована возможность просмотра запросов, заблокированных правилами доступа. Это позволит как разобраться в причине блокировки, так и посмотреть, кто из пользователей пытался попасть на запрещенные ресурсы.
  • Отображение расширенной информации при блокировке ресурса, попавшего в Единый реестр доменных имен, содержащих информацию, распространение которой в РФ запрещено.
  • Проведена работа по минимизации инсталлятора, путем исключения сигнатур антивирусных баз и библиотеки антивирусных модулей. Эти данные будут загружены при первом использовании модулей.
  • Произведена работа по оптимизации скорости построения отчетов. Были не только переработаны все запросы, но и реализована система хеширования данных в службе генерации отчетов.

Дальнейшие планы по изменению Traffic Inspector


Об этом расскажет Александр Ямашкин и Вайдас Дамошявичюс, технический директор и партнер компании Смарт-Софт.

Александр Ямашкин:

Очень хочется сделать процесс создания правил доступа к информационным ресурсам предельно простым и понятным как искушенному, так и начинающему администратору.

Вайдас Дамошявичюс:

Сейчас мы активно исследуем технологические решения для классификаций пакетов на седьмом уровне (Layer 7) — ищем то, что могли бы интегрировать в Traffic Inspector. После успешной интеграции нашим пользователям мы представим новый функционал. Когда это будет? Тогда, когда мы сами будем довольны результатами интеграции, так как для себя ставим высокие качественные показатели. Мы также не забыли про отчёты — хотим их усовершенствовать и сделать не просто отчётами, а набором аналитических средств, которые помогут системным администраторам отслеживать и следить за аномалиями в сети.

Заключение


Компания Смарт-Софт учла недостатки своего ПО и провела работу по устранению. Программа перебралась на 64-битную платформу, значительно повысив производительность отдельных компонентов. Многочисленные исправления и дополнения коснулись большинства аспектов работы программы. Новый Traffic Inspector – многофункциональный интернет-шлюз нового поколения с современным функционалом, но в тоже время понятным каждому пользователю интерфейсом.

PS: Если есть что-то, о чем мы не сказали, пожелания по исправлению, – будем рады вашим комментариям.
Smart-Soft
Компания
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 38

    +2
    При интеграции с AD, Работает ли прозрачная авторизация в IE? Без необходимости установки доп программ на стороне клиента и внесения каких либо изменений (NTLMv2) в случае Windows 7 и выше.
      0
      Да, работает всегда, если прописан прокси.
      +1
      Можно ли шарить внутренние ресурсы во внешнюю сеть защищая их авторизацией Traffic Inspector? (К примеру в TMG есть такой функционал)
        +1
        Можно настроить проброс соответствующих портов (через мастер публикаций) и в правиле внешнего сетевого экрана указать для каких IP адресов будет реализован доступ. Или настроить VPN серевер на сервере с Traffic Inspector, после чего добавить пользователя, который будет авторизовываться в программе.
        –1
        Последний раз пользовался этой программой много лет назад, тогда это было маленькое синее плавающее окошко, в котором подсчитывался трафик и цена за этот трафик. Отличная была программка. Но так и не понял, зачем ей x64. Вы научили ее жрать больше 2-х гигабайт памяти?
          0
          Если Вы о клиентском агенте, то это и сейчас маленькое синее плавающее окошко, в котором подсчитывается трафик, можете смело использовать его старые версии, они по-прежнему совместимы с новым Traffic Inspector.
          +2
          32-битные платформы и ПО имеют ряд существенных ограничений: поддержка не более 4 ГБ места на жестком диске

          Это вы о чем? Если про размер файла, то это скорее ограничение файловой системы.
            +1
            Конечно, имелось ввиду ограничение 4 ТБ, а не ГБ, спасибо за помощь в устранении опечатки.
            +6
            Отличная была программа для своего времени.

            А потом она просто стала не нужна.
              0
              Привет из 2003 :)
                +7
                Даже Керио и МС поняли, что шлюз под windows — плохая идея. Первые перешли на Linux, а вторые просто закрыли это направление. Был бы номер, если бы МС выпустила TMG на базе Linux :)
                  +1
                  Windows действительно сильно уступает Linux в вопросах маршрутизации. Именно поэтому перспективные разработки Traffic Inspector также будут под Linux. Но есть и обратная сторона медали в отечественном гос секторе, а также в секторе малого и среднего бизнеса практически повсеместно используется Windows и это далеко не всегда пережитки коммунизма и доисторической эпохи. Просто найти сисадмина, который профессионально будет обслуживать сервера на Linux за ту зарплату, которую там обычно предлагают (особенно в российской глубинке) не так-то просто. Вот и сидят на Windows, которая просто проще в базовой настройке с «0». А тот же гос сектор, так это и вовсе «темный лес» с кучей законов, которые не так-то и просто соблюдать с Linux-шлюзами.
                    +1
                    Грамотные аргументы, но если говорить про сложность администрирования, то тот же Керио предлагает готовый дистрибутив, который в установке будет не сложнее Windows, а администрирование ведется в GUI через веб-интерфейс. Если же что-то пойдет не так, то в случае с линухом можно что-то поковырять в конфигах, а в случае с виндой зачастую помогает только живительная переустановка.

                    По поводу госсектора у меня нет данных, но повода недоверять вам нет. Даже не сомневаюсь, что там все может быть печально. А если учесть необходимость сертифицирования ПО, то становится совсем грустно.
                      0
                      К слову о госсекторе — а сертификация у вас есть? Т.е. вполне себе официальный firewall?
                        0
                        Сетевой экран сертифицирован ФСТЭК РФ, имеется также сертификат Минсвязи РФ.
                    +1
                    Когда она уже научится нетфлоу принимать и считать?
                      0
                      Если она хочет Layer 7 анализировать, то, видимо, никогда %-)
                        +1
                        Может кто-то не знает, но и NetFlow и SMNP было реализовано еще 5 лет назад. но т.к. мы не получили никаких отзывов при тестировании, весь этот функционал был отключен и скрыт.
                        +3
                        Никогда не понимал, тех, кто пытается сделать на базе винды какой-нибудь роутер, VPN сервер или прокси.
                        Каждый инструмент должен выполнять свою роль.
                          +3
                          Ну использовать винсервер как vpn — почему бы и нет? Не для всех сценариев, но для road-warrior — вполне, особенно с DirectAccess.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            +5
                            32-битная версия <...> программа не могла открыть в системе более 4096 потоков <...>
                            Важнейшее усовершенствование программы – релиз 64-битной версии службы <...> прокси теперь с легкостью обрабатывает до 1000 одновременных HTTP-запросов.

                            Как вы этого добились, если не секрет? Nginx и мои собственные проекты, показывают, что 4 потоков достаточно для обработки нескольких сотен тысяч запросов в секунду. У вас же на 1000 запросов — более 4000 потоков. Я ни за что не поверю, что в Windows настолько не оптимальная сетевая подсистема.
                              +4
                              Вот действительно. 1000 соединений — вообще ничто для прокси, просто барби-сайз. А 4000 потоков, ну, не знаю, они, наверное, fork используют на каждое соединение до сих пор, если в 2015 году пишут о поддержке 64-бит.
                                +1
                                Ну если с bsod'ами 10 лет боролись, то чему удивляться. Чем хорош был TI так это эккаунтингом, конечно. В 2004 даже купили в универ, эксплуатировал его. Но после 2008-9 (в наших краях) года с повсеместной широкополосностью даже не знаю кому бы он мог понадобиться :-) А вот со спутниковым инетом как-то его настраивал в 2007 году — все проклял. Так и не понял, то ли роутинг в винде криво отрабатывал, то ли TI все ломал…
                                +1
                                Есть ли возможность блокировать в трафике исполняемые файлы по сигнатуре?
                                Есть ли возможность разбора https трафика для наложений правил фильтрации?
                                Есть ли возможность разбора smtp трафика, для удаления нежелательных почтовых вложений?
                                  –2
                                  1) Исполняемые файлы можно блокировать по расширению.
                                  2) Глубокий анализ HTTPS пакетов пока в разработке. IP-правила будут работать и для HTTPS.
                                  3) Если речь идет о спаме или вирусных вложениях, то есть возможность блокировки на почтовом шлюзе.
                                    +1
                                    1. Надо по сигнатуре. По расширению не эффективно. tmg умеет например.
                                    Применение — для отрубания подкачки левой боевой нагрузки.

                                    3. Вычищать определенные почтовые вложения по расширению и вставлять alert об этом прямо в письмо. tmg опять же умеет.
                                    В идеале добавить так-же распаковку вложений популярных архиваторов и поиск и там «запрещенных файлов».
                                    Применение — для отсекания всяких js и exe троянов в архивах.

                                      0
                                      Что подразумевается под «левой боевой нагрузкой» в данном контексте?
                                        0
                                        Дроппер подкачивающий вредоносный софт. Софт — боевая нагрузка.
                                  +1
                                  Сейчас мы активно исследуем технологические решения для классификаций пакетов на седьмом уровне (Layer 7)

                                  Это оксюморон. Пакет — это тип данных на OSI Layer 3 и не более. На L4 вы оперируете сегментами, а начиная с L5 — потоками данных.
                                    –2
                                    «классификаций пакетов на седьмом уровне» — Layer 7 Packet Classification, L7 Packet Classification, Deep Packet Inspection, Layer 7 Visibility — и еще дюжина разных названий. Мы называем «классификация пакетов на седьмом уровне», чтобы было понятно, что мы хотим блокировать или видеть сетевую активность аппликаций, таких как Skype, WhatsApp, Dropbox и т.д.

                                    Layer 7 filtering or shaping is identifying traffic at layer 7 (Application Layer) of the OSI model. Instead of shaping/filtering based on the port and source/destination, a stream is identified based on its contents. This is also sometimes called deep packet inspection since it works by looking into the contents of the packets not just the headers.
                                    0
                                    Для владельцев старых версий TI с синими экранами планируются какие-то интересные предложения по переходу на новую, помимо полной оплаты покупки новой версии с копеечной скидкой?
                                      0
                                      Да, конечно. У нас регулярно проходят акции для владельцев старых версий Trafic Inspector (Lite, Pro, HomeNet) со скидкой до 50%. Для читателей Хабра — даем скидку 35% на обновление Traffic Inspector до последней версии, при миграции с аналогичных решений — 50%: код купона «habr2015» действителен до 15 апреля.
                                        0
                                        Вам бы это в корень статьи вынести, а не в конец комментариев — авось кто-нибудь да заинтересуется
                                      0
                                      Адов StarForce ProActive убрали?
                                        –1
                                        Мы бы его и убрали, но до сих пор существуют хакеры, которые с регулярной периодичностью пытаются ломать наш продукт.
                                          0
                                          VmProtect?
                                            0
                                            Можете написать пример, где в сравнении с StarForce он будет эффективнее?

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое