ЭВОЛЮЦИЯ СИСТЕМ УЧЕТА ТРАФИКА В ИНТЕРНЕТ И.В. Алексеев Ярославский государственный университет им. П. Г. Демидова, Центр...
14 downloads
186 Views
260KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ЭВОЛЮЦИЯ СИСТЕМ УЧЕТА ТРАФИКА В ИНТЕРНЕТ И.В. Алексеев Ярославский государственный университет им. П. Г. Демидова, Центр Интернет 150000, г. Ярославль, ул. Советская, д. 14
Аннотация. В статье рассмотрены необходимость систем учета трафика для различных групп пользователей – операторов связи и собственно конечных корпоративных пользователей, показаны различия в потребностях этих пользователей и обосновано наличие двух различных классов программного обеспечения для учета трафика: автоматизированных систем расчетов для операторов связи и серверов контроля Интернет доступа для корпоративных сетей, подключенных к Интернету. Также рассмотрены основные аспекты работы сервера контроля Интернет доступа и дано
описание
принципиальной
архитектурной
схемы,
по
которой
строится
функционирование современных решений учета трафика для корпоративных сетей.
1
Трафик что это? Трафик это основной и единственный ресурс сети Интернет с точки зрения протоколов транспортного уровня. Как известно, любая информация в сети Интернет передается в виде отдельных пакетов – блоков данных сравнительно небольшого размера, каждый из которых имеет адрес отправителя и получателя и путешествует по сети самостоятельно. Так вот, трафик это суммарный объем пакетов, прошедших через точку наблюдения. Если бы Интернет был транспортной компанией, то трафик это суммарный вес грузов, перевезенных пакетами-грузовиками вне зависимости от конкретного содержания грузов. Когда мы работаем с трафиком, мы абстрагируемся от содержимого пакетов, поскольку в этом контексте нас интересует не что именно передано, а сколько и откуда. С другой стороны, для конечного пользователя сети Интернет интерес представляет не только сколько и откуда данных было получено, т.е. количество, но и качество, а именно – что содержалось в этих полученных данных. В общем случае задача учета трафика для операторов и для конечных потребителей отличается именно тем, что последним необходимо контролировать не только количество, но и качество трафика, т.е. в определенных пределах его содержимое. Если говорить об учете трафика при работе компаний с Интернетом, то возникает понятие трафика входящего и исходящего. Входящий трафик это все пакеты, которые пересекли границу сети между вашей организацией и любой другой сетью в направлении «к вам». Это объем импортированных вами из Интернета данных. Исходящий – соответственно, объем экспортированных вами данных. Наиболее важно понятие входящего трафика, потому что это тот трафик за который, как правило, приходится платить. Бывают, конечно, и исключения, когда платить приходится и за исходящий трафик, но это случается редко. Большинство поставщиков услуг связи берут с клиентов деньги именно за входящий к ним трафик, т.е. за объем данных, которые получил, а не отправил клиент. Это происходит потому, что именно за входящий к нему трафик платит вышестоящему провайдеру ваш провайдер, а при огромных размерах сети Интернет вероятность того, что нужные вам ресурсы находятся непосредственно в сети вашего оператора, стремится к нулю.
2
Учет трафика – зачем это нужно Учет трафика появился вместе с развитием коммерческого сегмента сети интернет. Как
только появился платный ресурс, для
любого пользователя,
подключенного к провайдеру услуг Интернет, стало интересно учитывать потребление платного ресурса, чтобы контролировать провайдера и понимать на что расходуются деньги за связь. Точно также, практически любой провайдер, подключен к другому провайдеру, для которого он выступает как клиент – т.е. платит за входящий трафик. Поэтому провайдеру необходимо не только учитывать трафик, ушедший к клиентам, но и вести подсчет трафика, пришедшего в сеть провайдера снаружи – от других провайдеров. С другой стороны последней мили находится клиент. Будем считать клиентом корпоративную сеть, т.е. не единичный компьютер, а как минимум несколько компьютеров с различными пользователями, работающими на них. Если провайдеру необходимо вести учет трафика для тарификации клиентов, то собственно клиенту учет необходим по целому ряду причин:
Для проверки данных провайдера о потребленных клиентом объеме трафика и его стоимости путем сравнения данных представленных провайдером и собственной системы учета трафика у клиента.
Для определения того, как именно распределился полученный от провайдера трафик по компьютерам и пользователям в корпоративной сети клиента. Эта информация, кстати, помогает выявить в корпоративной сети клиента зараженные червями или вирусами компьютерами, которые могут стать автономными источниками (получателя) паразитного трафика.
Для того чтобы убедиться, что потребленный трафик был «целевым», т.е. относящимся к выполнению сотрудниками клиента их непосредственных служебных обязанностей.
Таким образом, учет трафика необходим для того, чтобы, во-первых, тарифицировать использование Интернет ресурсов, а во-вторых, максимально сократить расходы и оптимизировать использование рабочего времени в организации –
3
клиенте. Есть еще один немаловажный аспект, связанный с использование систем учета трафика – это ограждение пользователей клиента от ненужной или вредной информации из сети Интернет. Эта задача хоть и является автономной по своей сути, но сильно привязана к учету, поскольку срабатывание механизмов блокировки нежелательного трафика должно вызываться той или иной реализацией системы его учета. Этот заманчивый unlim... Для некоторых пользователей анлим (калька-сокращение от английского unlimited, что значит неограниченный) является представлением о высшем благе с точки зрения выгоды расчетов за услуги связи. Это означает, что пользователь платит только фиксированную абонентскую плату и может потреблять входящего трафика столько, сколько сможет. Все не так просто. Дело в том, что провайдер все равно платит за входящий трафик внешнему провайдеру. Поэтому обычно тарифная политика такова: абонентская плата покрывает расходы на поддержание в рабочем состоянии сети провайдера и последней мили к клиенту, а переменная часть оплаты, которая берется с клиента в соответствии с тем, сколько трафика он потребил – покрывает, соответственно, расходы провайдера на входящий внешний трафик. Естественно, что обе части тарифа включают еще и прибыль провайдера. Представьте
себе,
как
провайдер
создает
тарифы
для
безлимитного
подключения: берется средний объем потребления клиента, и так рассчитывается размер абонентской платы. В среднем провайдер остается в плюсе, иначе он просто разорится. Кроме того, при тарифе без лимита, провайдер, как правило, ограничивает пропускную способность клиентского подключения, чтобы опять же не дать клиенту скачать больше трафика, чем должно быть по расчетам провайдера. Вообще говоря, возможность точно учитывать трафик и платить ровно столько, сколько вы потребили, является более выгодным для клиента, а если учесть, что при этом скорость подключения не ограничивается, то еще и более удобным. Именно поэтому я могу предположить, что безлимитная схема подключения конечного клиента никогда не вытеснит схему с оплатой пропорционально объему потребленного
4
трафика.
В
особенности
это
касается
корпоративных
клиентов.
Более того, путь развития других услуг, демонстрирует отход от модели безлимитного подключения. Взять хотя бы близкий каждому пример из области потребления коммунальных услуг. Всем известно, что в подавляющем большинстве случаев платить по счетчику за горячую воду более выгодно, чем абонентскую плату – по сути, усредненный тариф. Кстати, подключения с неограниченным трафиком несут в себе еще одну скрытую проблему для корпоративного клиента. Поскольку объем потребления не влияет на оплату за Интернет, то зачастую корпоративный клиент позволяет своим сотрудникам пользоваться Интернетом в любых желаемых ими объемах, полагая, что это ему ничего не стоит. В такой ситуации компания несет существенные непрямые расходы за счет впустую потраченного времени своих сотрудников. По различным оценкам в среднем сотрудники компании, имеющей интернет подключение, тратят от 12 до 30% своего рабочего времени и потребляемого компанией трафика на личные нужды, т.е. впустую с точки зрения компании. Взаиморасчеты между провайдерами Поставщики услуг связи выстраиваются в иерархическую систему, на каждом уровне которой имеются взаимоотношения типа «клиент-поставщик». При получении трафика по цепочке провайдеров клиент платит своему непосредственному провайдеру, тот соответственно, провайдеру более высокого уровня и так далее. Таким образом, для любого провайдера входящий трафик является ресурсом, который оплачивается вышестоящему провайдеру на основе учета объема потребления этого трафика. Именно этот трафик, пересекая границу между оператором и клиентом, становится объектом продажи клиенту, генерируя прибавочную стоимость для оператора. Поэтому для оператора крайне важен точный количественный учет трафика пересекающего границу сети провайдера в точках подключения к вышестоящим провайдерам, так и точке подключения клиентов к оператору связи. Отличительными особенностями
системы
учета
трафика
5
для
оператора
являются
большое
быстродействие и точность. Эти свойства достигаются за счет существенных ограничений глубины анализа и функционала систем. Расчеты между провайдером и клиентом Неудивительно, что провайдеру приходится вести учет как суммарного входящего к нему трафика, так и трафика, являющегося входящим для клиентов этого провайдера,
или
исходящим
для
самого
провайдера.
Расчеты между провайдером и клиентом обрабатываются в так называемых системах биллинга, которые не только ведут учет трафика, но и содержат информацию о лицевых счетах клиентов, как правило, связаны с бухгалтерскими системами или самостоятельно генерируют для клиентов первичную бухгалтерскую документацию. Зачастую биллинговая система ведет учет не только потребленного клиентами трафика, но и учитывает другие услуги, которые оператор услуг связи поставляет своим клиентам,
например,
услуги
IP
телефонии,
хостинга
и
другие.
Таким образом, биллинговые системы, которые используют операторы услуг связи, не только ведут учет трафика, но и учитывают все услуги провайдера, потребленные клиентом, и участвуют в создании бухгалтерских документов. Кстати, официальное название этого класса программного обеспечения: «автоматизированные системы расчетов». Для использования программного продукта в качестве автоматизированной системы расчетов необходимо наличие сертификата соответствия по системе сертификации в области связи. Внутренний учет трафика в организации Внутри компании, подключенной к сети Интернет, имеется серьезнейшая мотивация для использования систем учета трафика. Интернет уже стал неотъемлемой частью бизнес процессов, тесно переплетаясь с информационными системами бизнеса. То, насколько компания контролирует информацию своего бизнеса, теперь зависит от того, насколько она контролирует Интернет подключение.
6
Каждый год Интернет удивляет нас скоростью своего роста. Растет не только количество
пользователей,
но
и
скорость
подключений.
Широкополосные
подключения, уже повсеместно заменили собой низкоскоростные подключения на корпоративном рынке. Благодаря этому Интернет становится мощным инструментом, который,
однако,
требует
существенно
большего
контроля.
Миллионы новых пользователей появляются в сети, постоянно снижая средний уровень квалификации его пользователей. Бурное развитие технологии направлено в основном на получение большей скорости, в то время как разработка и внедрение механизмов, которые должны обеспечивать учет трафика, контроль и безопасность серьезно отстает от технологии, ответственной за скорость. Уже очевидно, что средний уровень обычного пользователя совершенно недостаточен для обеспечения хотя бы собственной безопасности при высоких современных скоростях. Вероятно, нельзя, да и несправедливо требовать от обычного пользователя Интернет высокой квалификации и способности самостоятельно решать все проблемы и избегать соблазнов, которые возникают при работе с сетью Интернет. Для того, что пользователь мог успешно решать свои задачи как сотрудник компании, имеющей интернет-подключение, сама компания должна принять ряд мер, направленных на учет и контроль Интернет трафика и тем самым избежать ряда возможных проблем, таких как нецелевое использование рабочего времени и перерасход трафика. Нецелевое использование средств Прямые затраты на Интернет зависят от объема потребленной информации. Создать потребление может как передача данных о новом продукте вашим поставщиком, так и увлечение ваших сотрудников играми в сети. Таким образом, информация может быть как целевой, так и нецелевой. К сожалению, провайдеру все равно, какую информацию вы получили – платить придется за все виды трафика. Во время потребления ваших средств для своих Интернет прогулок (или прогулов) ваши сотрудники также потребляют и рабочее время. Шутники от компьютерного мира нередко называют Интернет Всемирной Помойкой, и в чем-то
7
они недалеки от истины. Помимо ресурсов, полезность которых очевидна и неоспорима, в Сети размещено фантастическое количество материалов сомнительного свойства, начиная
"бородатыми"
анекдотами
и
заканчивая
порнографией,
сайтами
экстремистского толка и др. Причем "мусора" в процентном отношении к полезным данным
значительно
больше.
Абстрагируясь
от
морально-этической
стороны
рассматриваемых материалов, следует отметить, что так или иначе они отвлекают внимание ваших сотрудников, а на их просмотре теряется значительное количество рабочего времени. В материалах сайта http://www.iemag.ru приводятся данные ряда зарубежных исследователей относительно типа потребляемого трафика сотрудниками компаний на своих рабочих местах: В опросе, проведенном SurfControl, 100% сотрудников, использующих вебдоступ на работе, сообщили, что они пользовались им в личных целях. А 18% сотрудников ежедневно используют Интерент в личных целях 10 и более раз. Исследование, проведенное Yankelovich Partners, показало, что более 62% сотрудников ежедневно используют доступ в Интернет в личных целях хотя бы раз. Исследование SANS Institute показало, что от 50 до 70% сайтов, которые посещают сотрудники во время работы, не связаны с бизнесом. Исследование, проведенное в Великобритании показало, что 44% сотрудников, имеющих доступ в Интернет на работе, тратят в среднем по 3 часа в неделю на использование рабочего Интернета в личных целях. Исследование Aberdeen Group показало, что сотрудники компаний тратят от 30 мин. до 3 часов ежедневно на нецелевой броузинг. Исследование Dataquest показало, что 20% сотрудников используют рабочий Интернет в личных целях более 3 часов ежедневно. Исследование SANS Institute показало, что потери времени на броузинг у 100 наиболее активных интернет-пользователей в компании составляют около 14% полного рабочего времени. По результатам исследования, проведенного в США, сотрудники с интернетдоступом тратят около 15% своего рабочего времени на просмотр веб-сайтов, не связанных с их бизнесом.
8
По данным Websense 70% трафика на веб-сайтах для взрослых приходится на рабочее время (с 9 до 17 часов) и 30%-40% всей активности в онлайне в эти часы совершенно не связано с бизнесом. Кроме того, более 60% онлайновых покупок также совершается в рабочие часы. Исследование Nielsen/NetRatings показало, что 60% сотрудников, имеющих Интернет на рабочем месте, посещают электронные магазины, а 54% - развлекательные сайты. Кроме прямых потерь на оплату потребленного трафика есть потери скрытые, например, использование сотрудниками пропускной способности и сетевых функций для доступа к сайтам, несвязанным с их работой, снижает скорость доступа к критической бизнес-информации. Кроме этого, увеличивается время простоя систем в результате скачивания большого объема файлов и сбоев, связанных с недостатком системных ресурсов. Более того, простой систем и деятельность, не связанная с бизнесом, приводят к снижению производительности сотрудников. Проблема нецелевого использования трафика существует в любой компании, предоставляющей сотрудникам доступ в Интернет в связи с выполнением ими их служебных обязанностей, например, продаж, поиска новых клиентов, поставщиков, осуществления Интернет рекламы и т.д. Проблема состоит не столько в самом факте нецелевого расходования, сколько в масштабе этого явления, поскольку полностью искоренить его вряд ли возможно. Основной риск, состоит в потерянном рабочем времени. Безусловно, существуют и прямые финансовые потери, связанные с расходами на доступ в Интернет, но этими потерями легко управлять, так как они имеют очевидное и измеряемое проявление. Другие риски нравственного или юридического характера, хотя и могут иметь место, но как правило не являются столь существенными. Обычно для контроля всех этих рисков доступ в Интернет в компании должен быть персонифицирован и должны предприниматься меры по мониторингу трафика. Этих мер вполне достаточно, как для контроля целесообразности использования Интернета, так и для управления затратами. Второй важнейшей причиной являются вредоносные сетевые программы: вирусы, черви, так называемые троянские кони и т.д. Попавшие в вашу сеть вирусы или
9
черви будут стараться заразить другие компьютеры в Интернет, создавая огромное количество нецелевого паразитного трафика. Так зачем же нужен учет трафика? Для того, чтобы не растратить деньги попусту вам необходимо, во-первых, иметь точную и оперативную информацию о том, кто, сколько и каких ресурсов из Интернет
потребляет,
а
во-вторых,
иметь
неблагонадежным пользователям или
доступ
возможность к
запретить
доступ
явно бесполезным ресурсам.
Однажды в Интернете я обнаружил очень интересное сравнение Интернета и сети электроснабжения,
которое
меня
сильно
впечатлило.
Эволюция
сетей
электроснабжения привела к появлению различных стандартизированных устройств, которые защищают пользователя от сети, и наоборот – сеть от пользователя. Это автоматы защиты - рубильники, электросчетчики, трансформаторы. В случае Интернета таких стандартных устройств пока нет, хотя они не менее необходимы. Представьте себе электрическую сеть без любого из этих устройств! В чистом виде учет трафика - это только счетчик. Программные продукты, которые реализуют учет трафика в корпоративных сетях, должны также уметь управлять доступом пользователей, фильтровать содержимое данных, получаемых компанией из сети Интернет, обеспечивать защиту корпоративной сети, а также иметь различные дополнительные функции, облегчающие взаимодействие корпоративной сети с Интернетом. Такие серверы контроля корпоративного Интернет подключения в идеале должны полностью автоматизировать и управлять взаимоотношениями между корпоративной сетью и Интернетом. Эти требования позволяют четко разграничить требования к продуктам для учета трафика в сетях операторов связи и в корпоративных сетях, породив по сути две различные ветви эволюции в развитии таких систем. Две ветви систем учета трафика Таким образом, и автоматизированные системы расчетов, используемые провайдерами, и серверы для контроля Интернет подключения в организациях-
10
клиентах строятся вокруг функции учета трафика, и это то главное, что их объединяет, но остальной функционал их сильно отличается. Для автоматизированных систем расчетов характерен уклон в сторону бухгалтерии и автоматизации бизнес процессов оператора связи. Кроме того, провайдерские системы учета трафика не должны иметь большого числа функций, поскольку это замедляет их быстродействие, и для определения пользователя им достаточно знать IP адрес его сети. С другой стороны, серверы для контроля Интернет подключения для компаний пользователей Интернет помимо учета трафика должны гибко управлять доступом пользователей к Интернету, обеспечивать защиту сети, и что особенно важно, обладать набором развитых механизмов авторизации пользователя. Ведь для провайдера с маршрутизируемой сетью даже авторизация на основе IP адреса будет вполне достаточной, а вот для организации, использующей Интернет, авторизация по IP адресу ненадежна и неудобна. Именно поэтому пути развития программных продуктов для провайдеров и для корпоративных пользователей расходятся все дальше. Каждый из этих программных продуктов постоянно оптимизируется под задачи, характерные для своей области использования.
Так
что,
если
вы
–
Интернет
провайдер
–
выбирайте
автоматизированную систему расчетов, имеющую сертификат соответствия по системе сертификации
в
области
связи,
что
дает
вам
право
использовать
данные
автоматизированной системы расчетов для выставления счетов клиентам. Если вы – корпоративный пользователь, то вам нужен сервер контроля Интернет подключения. Кстати, для внутрикорпоративного использования сервер контроля Интернет подключения не обязан обладать сертификатом, напротив, наличие сертификата удорожает продукт и говорит о его приспособленности под совершенно другие задачи. Зато с другой стороны, ваш сервер контроля Интернет подключения должен обладать всеми необходимыми функциями для решения именно ваших задач.
11
Эволюция решений по учету трафика для корпоративных сетей Посмотрим, что представлено на рынке корпоративных серверов контроля Интернет подключения. Существенная доля решений реализуется на базе компьютера или сервера, который либо маршрутизирует трафик, либо на нем имеется прокси сервер. В наиболее продвинутых решениях обе модели реализованы одновременно. Операционные системы
решений
-
это
Microsoft
Windows
Server,
FreeBSD
либо
Linux.
Решения, естественно, различаются как наборами основных, так и дополнительных функций. Лидеры отрасли имеют в своем арсенале максимальное количество взаимоувязанных сервисов, которые управляются из единого интерфейса. Наиболее удобны для пользователя такие решения, дистрибутив которых устанавливает на ваш компьютер все, включая операционную систему и все необходимые программы и утилиты. Это значительно удобнее, чем устанавливать все по отдельности. Естественно, что такие решения базируются на ОС Linux или FreeBSD. Кстати, решения на базе UNIX-подобных систем зачастую не требуют абсолютно никаких знаний этих операционных систем от пользователя, поскольку все функции управляются через веб или иные интерфейсы. Все решения на базе Microsoft требуют не только установки, но и, подразумеваем,
приобретения
пользователем
других
компонентов
решения
–
операционной системы, СУБД и т.д. Также Windows решения предъявляют высокие требования по знанию операционной системы к администратору такого решения. Чем более качественным является сервер контроля Интернет подключения, тем большее
количество
механизмов
авторизации
пользователей
будет
в
нем
присутствовать, позволяя гибко интегрировать систему в корпоративную сеть заказчика. Если говорить о дальнейшем развитии серверов контроля корпоративного Интернет подключения, то можно выделить такие направления: o Решения
будут
обзаводиться
дополнительными
сервисами,
обеспечению всех потребностей клиента по работе с Интернетом.
12
стремясь
к
o Довольно много работы будет выполнено по интеграции корпоративного почтового сервера и решению задач контроля СПАМ рассылок и иных угроз, связанных с электронной почтой. o Вообще компонент информационной безопасности в серверах контроля корпоративного
Интернет
доступа
будет
существенно
усиливаться.
Развитие пользовательских интерфейсов пойдет по пути упрощения и автоматизации, чтобы корпоративный Интернет доступ сравнялся по простоте настройки, скажем, с мобильным телефоном. Методы учета трафика В зависимости от архитектуры сервера контроля корпоративного Интернет доступа могут быть задействованы различные методы получения данных о потреблении трафика. Для того чтобы полностью учитывать входящий в корпоративную сеть компании трафик, необходимо либо пропускать его через устройство учета, либо получать достоверные данные от системы, которая является маршрутизатором между корпоративной сетью клиента и сетью оператора связи. Причем, поскольку нас интересует распределение входящего трафика по конкретным пользователям, то такой учет должен вестись внутри сети по отношению к тому устройству, которое осуществляет функцию сетевой трансляции адресов (NAT), которая часто используется в российском сегменте Интернет. Это связано с тем, что система, ведущая учет трафика, должна точно знать внутренний адрес конечного потребителя, и следствием этого требования является тот факт, что оператор связи чаще всего не в состоянии предложить клиенту даже услугу детального анализа его трафика. Второй вариант построения системы учета - это получение информации о транзитном трафике от маршрутизатора, через который этот трафик проходит. Опять же этот маршрутизатор должен либо сам осуществлять преобразование сетевых адресов клиента (NAT) и включать эту информацию в свои отчеты, либо находиться в топологии внутренней сети до того устройства, которое осуществляет функцию NAT. При использовании такой схемы необходимо, чтобы выполнялись несколько условий:
13
1.
Данные, получаемые с маршрутизатора, должны иметь большую степень детализации, а именно, как минимум содержать в себе IP адреса узла отправителя и узла получателя, номера портов протоколов с обеих сторон, тип транспортного протокола, объем переданных данных. Причем речь может идти как об отдельных пакетах, так и об объединенных группах пакетов под определением «сессии» или «потока». Естественно, что во втором случае объем информации о транзитном трафике, который приходится обрабатывать и передавать как непосредственному маршрутизатору, так и серверу контроля Интернет доступа, будет существенно меньше.
2.
Периодичность отправки этих данных на сервер контроля Интернет доступа должна позволять серверу ограничить перерасход трафика, связанный с превышением лимитов. Например, если маршрутизатор объединит в «поток», по которому отчитается только один раз – по окончании этого потока, скажем закачку фильма объемом 1 Гбайт, то перерасход трафика в самом неудачном сценарии составит 1 Гбайт. Поэтому отчитывающийся маршрутизатор должен дробить потоки на единицы сравнительно малого объема и передавать информацию о них серверу контроля Интернет доступа с соответствующей частотой.
3.
Сервер контроля Интернет доступа в такой конфигурации не будет иметь возможности непосредственно влиять на проходящий трафик, например, вводя ограничения по исчерпанию квоты, поскольку он сам не оказывается на маршруте прохождения трафика. В этой связи необходимо
наличие
управление
сервером
такой
возможности
контроля
опосредованно
Интернет
доступа
через
собственно
устройством, осуществляющим маршрутизацию трафика. Третьим способом получения данных о трафике, поступающем в корпоративную сеть компании, является мониторинг и анализ лог файлов различных программных шлюзов,
обслуживающих
корпоративную
сеть
компании.
Наиболее
явными
представителями таких шлюзов являются прокси сервер для обслуживания обращений
14
пользователей к внешним серверам веб, а также корпоративный почтовый сервер, отправляющий и принимающий корпоративную электронную почту. Перехват пакетов Для систем, которые сами маршрутизируют трафик, наиболее удобным способом является перехват пакетов, проходящих сквозь сервер для того, чтобы вести учет трафика. При этом система записывает в базу данных сведения об адресате и отправителе
пакета,
его
размер,
и
возможно
дополнительную
информацию.
Суммирование этих записей за определенный период и соотнесение получателя с реальным пользователем системы и дает информацию о потреблении трафика этим пользователем. Перехват пакетов технологически сложный процесс, связанный с тем, что необходимо вмешательство в работу операционной системы на очень низком уровне. В обычном режиме работы получение, распаковка, использование либо пересылка IP пакетов системой осуществляется на уровне ядра операционной системы с повышенным приоритетом и минимальным количеством интерфейсов для тонкого вмешательства в этот процесс. В случае использования UNIX-подобных систем имеется несколько таких интерфейсов и способов перехвата пакетов: Интерфейс Berkeley Packet Filter (BPF). BPF представляет собой драйвер устройства, который может использоваться приложениями ОС UNIX для передачи и приема пакетов, передаваемых по сети, напрямую через сетевой интерфейс (сетевой адаптер, модем) высокоэффективным методом. С другой стороны, BPF – не совсем обычный драйвер, поскольку он не управляет сетевым адаптером, а взаимодействует с его драйвером. BPF состоит из двух основных элементов: сетевая ловушка (network tap) и пакетный фильтр (packet filter). Сетевая ловушка – это петлевая функция, являющаяся частью кода BPF, однако не вызываемая самим BPF. Ее вызывает драйвер сетевого адаптера, когда принимает очередной входящий пакет. Драйвер адаптера должен вызывать сетевую ловушку для каждого поступившего пакета, в противном случае BPF
15
не будет нормально работать с этим адаптером. Сетевая ловушка копирует поступившие пакеты и передает их копии приложению верхнего уровня, каковым для нее является пакетный фильтр. Пакетный фильтр – это заданная пользователем функция с бинарным результатом, устанавливаемым относительно входящего пакета. Практически все приложения, использующие BPF, подавляют большинство входящих пакетов, поэтому производительность фильтра определяет производительность приложения. Пакетный фильтр BPF определяет не только необходимость приема пакета, но и количество байт входящего пакета, необходимых приложению (например, приложение может обрабатывать только заголовки пакета, если в данных нет необходимости). Это существенно ускоряет процесс фильтрации и значительно снижает потери, поскольку для сохранения меньшего объема данных меньше места задействуется в буфере драйвера. Функциональным аналогом интерфейса BPF в архитектуре Win32 является WinPCAP. Архитектура WinPCAP дополняет стандартные функции операционных систем семейства Win32 возможностью принимать и передавать данные по сети, минуя стек протоколов операционной системы и взаимодействуя непосредственно с сетевым адаптером компьютера. Более того, она предоставляет приложениям API высокого уровня для управления низкоуровневыми процессами. WinPCAP состоит из трех компонентов: драйвер устройства захвата пакетов (paсket.vxd), низкоуровневая динамическая библиотека (packet.dll) и статическая библиотека высокого уровня (libpcap). Для перехвата пакетов, передаваемых по сети, приложению необходимо взаимодействовать непосредственно с сетевым оборудованием. По этой причине операционная система должна предоставлять несколько примитивных функций для приема и передачи данных непосредственно через сетевой адаптер. Назначение этих функций состоит в том, чтобы принять входящий пакет и передать его в стек протоколов операционной системы для дальнейшей обработки. Приложение получает пакет без заголовков канального, сетевого и транспортного уровней, интерпретирует и обрабатывает его и предоставляет в удобном для пользователя виде.
16
Интерфейс принципу
UNIX
Netgraph. Netgraph - это сетевая подсистема в ядре, следующая достижения
мощности
посредством
комбинации
простых
инструментов, каждый их которых предназначен для выполнения одной, вполне определенной задачи. Основная идея проста: есть узлы (nodes) (инструменты) и ребра (edges), которые соединяют пару узлов (отсюда и "граф" в "netgraph"). Пакеты данных идут в двух направлениях вдоль ребер от узла к узлу. Когда узел получает пакет данных, он обрабатывает его, и затем (обычно) отправляет его другому узлу. Обработка может быть простейшим добавлением/удалением заголовков или может быть более сложной или включает другие компоненты системы. Netgraph напоминает потоки (Streams) в System V, но он разработан более гибким и производительным. Интерфейс netgraph более сложен при решении программистских задач с ним, поскольку сам по себе и концептуально и с точки зрения интерфейса более сложен, но отличается от интерфейса BPF тем, что никогда не теряет пакетов даже при очень интенсивной нагрузке на сетевую подсистему компьютера. Анализ журналов Для тех решений, которые стремятся выдать больше данных по трафику, необходим анализ файлов журналов внешних или собственных серверов. Например, анализ журнала почтового сервера позволяет определить, кому из пользователей зачесть трафик в объеме размера почтового сообщения. Обработка лог-файлов прокси сервера поможет не только показать объем полученного пользователем трафика, но и точно указать объект, закачка которого привела к этому потреблению, а также узнать был ли этот запрос реально удовлетворен путем обращения к исходному серверу в Интернете и, следовательно, привел к дополнительному расходованию трафика или был отдан запросившему его клиенту из внутренней кеш памяти прокси сервера и, соответственно, не привел к закачкам из Интернета. Веб прокси сервер любого типа выдает огромное количество разнообразной информации о каждом запрошенном пользователями объекте. Важнейшими данными здесь является URL запроса, по которому можно установить содержимое запрошенного пользователем ресурса. Лог файл прокси сервера также содержит данные по объему
17
загруженного ресурса. На основании данных о содержании ресурса и его объеме сервер контроля Интернет доступа может не только соотнести очередную загрузку с активностью конкретного пользователя, но и запретить или разрешить доступ к объекту, основываясь на установленной в компании политике квотирования и правил доступа к различным Интернет ресурсам. С почтовым сервером ситуация аналогичная. Некоторые решения, вообще говоря, являются всего лишь анализаторами логфайлов прокси серверов, и хоть это позволяет выдать довольно большой объем информации, но в ряде случаев его может быть явно недостаточно. Оптимальным вариантом является скоординированный сбор данных из всех возможных источников: перехват пакетов, анализ журналов, если это приводит к более полному отражению ситуации с потреблением трафика. Авторизация пользователей Важнейшей
функцией
серверов
контроля
корпоративного
Интернет
подключения является авторизация пользователей. Это механизм, посредством которого сервер отличает одного пользователя от другого. В наиболее продвинутых решениях таких механизмов должно быть несколько, для того, чтобы решение можно быть настроить под любую сеть, а не сеть приходилось настраивать под решение. Крайне важна поддержка таких механизмов, как авторизация через Active Directory посредством контроллера Windows домена, поскольку во многих организациях именно этот механизм применяется для ведения учетных записей пользователей. Другие механизмы авторизации достойные упоминания: это авторизация по IP адресу (как говорилось ранее, не самая удобная и безопасная, но в ряде случаев необходимая), авторизация посредством туннелей, когда пользователь создает VPN подключение к серверу контроля корпоративного Интернет доступа (например PPTP или L2TP), авторизация по протоколу PPPoE. Еще важнейшим плюсом для решения является возможность
комбинирования
различных
механизмов
авторизации
при
одновременной работе. Это очень сложно и реализовано лишь в единицах решений.
18
их
Общая архитектура сервером контроля корпоративного Интернет доступа Для
того
контролирующих
чтобы
лучше
Интернет
представить
доступ
в
себе
принципы
корпоративной
работы
сети,
систем,
рассмотрим
принципиальную архитектурную схему такого сервера, взяв в качестве примера сервер под управлением ОС UNIX. Ядро системы на базе ОС UNIX осуществляет маршрутизацию IP пакетов между интерфейсами системы (в общем случае между внешним и внутренним интерфейсом) на основании статической настройки маршрутов с указанием маршрутизатора оператора связи в качестве маршрута по умолчанию. В
более
сложных
конфигурациях
может
применяться
динамическая
маршрутизация на основании протоколов RIPv2, OSPF. Кроме того, внутренние интерфейсы могут быть настроены в режиме поддержки VLAN (802.1Q). В этом случае для системы будет существовать несколько логических интерфейсов по одному на каждый VLAN. При прохождении пакетов через интерфейсы система перехватывает копию каждого пакета для осуществления учета трафика. В процессе обработки трафика необходимо связать данные каждого пакета с конкретным пользователем корпоративной сети и начислить на этого пользователя потребленный трафик. Причем нужно также избежать двойного начисления трафика, когда мы учитываем данные одновременно от перехвата пакетов и по запросам прокси сервера. Статистика снимается как на внешнем, так и на внутреннем интерфейсах системы. Это сделано для того, чтобы учитывать трафик, чьим адресом назначения является сам сервер контроля корпоративного Интернет доступа. Источниками данных для учетной системы являются также прокси сервер и сервер электронной почты SMTP. Данные из журналов этих систем поступают процессу - обработчику статистики, который соотносит потребление трафика с конкретными пользователями сети компании. Этот же процесс обрабатывает «сырую» базу данных по трафику, которая содержит пары IP адресов и количество прошедших пакетов вместе с временной отметкой.
19
На входе в систему трафик поступает также в межсетевой экран операционной системы, правила фильтрации которому задает программное обеспечение сервера на основании целого ряда условий, указываемых для пользователя. Межсетевой
экран
используется
не
только
для
предотвращения
несанкционированного доступа извне, но и для управления правами самих пользователей корпоративной сети. Для управления межсетевым экраном сервер контроля корпоративного Интернет доступа используют готовые блоки правил, которые подключаются и отключаются из пользовательского интерфейса. Для удобства продвинутых пользователей может существовать возможность работать с правилами межсетевого экрана на уровне системных команд и индивидуальных правил. Сервер электронной почты настраивается автоматически на заносимых в интерфейсе управления пользователей. После этого сервер становится способным принять на себя функции корпоративного сервера электронной почты. Поскольку сервер контроля корпоративного Интернет доступа работает с IP трафиком, то для того, чтобы соотнести IP адрес получателя с пользователем ему необходимо проделать ряд дополнительных действий, если не используется самая простая авторизация пользователя по IP адресам. Во всех остальных случаях информация о текущем IP адресе пользователя получается от встроенных механизмов авторизации: серверов VPN (PPPoE и PPTP), контроллера домена под управлением Microsoft Windows Server, например, посредством механизма Samba. Сервер контроля корпоративного Интернет доступа может также содержать в себе классический HTTP proxy сервер, что позволяет ему отслеживать обращения пользователей к конкретным веб ресурсам (т.е. не ограничиваться ведением статистики только по IP адресам), а также управлять доступом к ресурсам Интернет помимо IP адресов также и по URL объектов. Кроме того, такой сервер сможет осуществлять кэширование содержимого веб страниц и тем самым поспособствует снижению потребления веб трафика клиентом. Для управления правами доступа пользователей к внешним ресурсам сервер использует
данные
по
учет
потребления
трафика
пользователями,
которые
обновляются практически в реальном времени, информацию по настроенным для
20
пользователя лимитам на потребление услуг (в объемном или денежном выражении), а также данные по наличию средств на лицевом счете пользователя. Вся эта информация используется управляющим процессом сервера для динамического внесения изменений в настройки межсетевого экрана в ядре операционной системы, Squid прокси сервера и SMTP сервера. Заключение Таким образом, в настоящей статье мы подробно рассмотрели, во-первых, необходимость систем учета трафика для различных групп пользователей – операторов связи и, собственно, конечных корпоративных пользователей, показали различия в потребностях этих пользователей и, во-вторых, обосновали наличие двух различных классов программного обеспечения для учета трафика: автоматизированных систем расчетов для операторов связи и серверов контроля Интернет доступа для корпоративных сетей, подключенных к Интернету. Далее мы подробно рассмотрели основные аспекты работы сервера контроля Интернет доступа и дали описание принципиальной архитектурной схемы, по которой строится функционирование современных решений учета трафика для корпоративных сетей.
21