На­вер­няка ты уже нас­лышан о такой шту­ке, как СОРМ. Ее ста­вят у рос­сий­ских про­вай­деров, что­бы спец­служ­бы мог­ли в слу­чае надоб­ности заг­лядывать в про­ходя­щий тра­фик. В этой статье я покажу, как самос­тоятель­но раз­вернуть ана­лог СОРМ-2 на Linux и обо­рудо­вании MikroTik. Не для дела, а прос­то ради инте­реса. В про­цес­се ты научишь­ся при­емам нас­трой­ки сети, которые могут при­годить­ся в работе.

Итак, СОРМ — это сис­тема тех­ничес­ких средств для обес­печения фун­кций опе­ратив­но‑разыс­кных мероп­риятий. СОРМ быва­ет трех видов:

  • СОРМ-1. Пред­назна­чена для прос­лушки телефон­ных раз­говоров подоз­рева­емых в том или ином прес­тупле­нии. Регули­рует­ся при­казом Мин­ком­свя­зи Рос­сии от 19.11.2012 № 268.
  • СОРМ-2. Исполь­зует­ся для кон­тро­ля содер­жимого в рам­ках интернет‑соеди­нений, есть спе­циаль­ные устрой­ства‑зер­кала и ресиве­ры, куда пос­тупа­ет тра­фик, сня­тый как копия с кли­ент­ских сетей. Регули­рует­ся при­казом Мин­ком­свя­зи Рос­сии от 16.04.2014 № 83.
  • СОРМ-3. Хра­нит в виде струк­туры баз дан­ных информа­цию об або­нен­тах телефо­нии, сети переда­чи дан­ных, исто­рию пла­тежей и мно­гое дру­гое. Регули­рует­ся при­казом Мин­ком­свя­зи Рос­сии от 29.10.2018 № 573.

В этой работе я делаю акцент на СОРМ-2, так как имен­но ее при­меня­ют для кон­тро­ля содер­жимого интернет‑соеди­нений. Я рас­ска­жу о зер­калиро­вании тра­фика и о том, как стро­ится вир­туаль­ный канал свя­зи, а затем с прак­тичес­кой точ­ки зре­ния про­демонс­три­рую про­цесс работы СОРМ-2 с сох­ранени­ем копии тра­фика из легитим­ной поль­зователь­ской сети.

На руках у меня нет никаких образцов СОРМ, и наше тво­рение ни в коей мере не пре­тен­дует на замену офи­циаль­ному обо­рудо­ванию. Наша работа будет чис­то экспе­римен­таль­ной, а цель — все­го лишь поуп­ражнять­ся в нас­трой­ке обо­рудо­вания на занима­тель­ном при­мере.

warning

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

 

Архитектура

Вот общая схе­ма того, что нам пред­сто­ит сде­лать.

  • ПУ (пульт управле­ния) — при­емник зер­калиро­ван­ного тра­фика, который отправ­ляет­ся из кли­ент­ской сети.
  • Съ­емник — устрой­ство, которое обес­печива­ет зер­калиро­вание тра­фика. Им может быть девайс, нап­рямую под­клю­чен­ный к пог­ранич­ному мар­шру­тиза­тору, либо сам пог­ранич­ный мар­шру­тиза­тор, если он под­держи­вает SPAN-зер­калиро­вание.
  • Ка­нал свя­зи — вир­туаль­ный канал свя­зи, внут­ри которо­го будет переда­вать­ся зер­кало. О безопас­ности зер­калиру­емо­го тра­фика нуж­но позабо­тить­ся осо­бо. Пло­хая прак­тика, ког­да зер­кало идет до ПУ и при этом дан­ные або­нен­тов не защище­ны.

На самом деле струк­тура СОРМ-2 край­не прос­та: пог­ранич­ный мар­шру­тиза­тор генери­рует копию легитим­ного тра­фика и отправ­ляет его в сто­рону СОРМ. Затем СОРМ будет обра­баты­вать получен­ный тра­фик и перенап­равлять его в сто­рону ПУ. Реали­зация СОРМ-2 в про­дак­шене инди­виду­аль­на: есть слу­чаи, где обо­рудо­вание СОРМ помеща­ют физичес­ки пря­мо в ЦОД, есть слу­чаи, где нуж­но передать зер­кало поверх интерне­та, одна­ко сто­ит учи­тывать дли­ну магис­тра­ли до при­емни­ка, что­бы избе­жать боль­ших задер­жек.

 

Зеркало

Зер­калиро­вание тра­фика — это про­цесс, при котором сни­мает­ся копия тра­фика с того или ино­го интерфей­са на пог­ранич­ном мар­шру­тиза­торе. Для это­го сущес­тву­ют спе­циаль­ные про­токо­лы, самые популяр­ные из них — ERSPAN и TZSP. Так как я вос­поль­зуюсь RouterOS, работать будем с под­держи­ваемым там TZSP. Он мало чем отли­чает­ся от ERSPAN, раз­ве что тех­нологи­ями инкапсу­ляции: TZSP исполь­зует UDP, а в ERSPAN при­меня­ется GRE-инкапсу­ляция с Proto Type 0x88BE.

TZSP (TaZmen Sniffer Protocol) тран­сли­рует зер­кало поверх L3-соеди­нений с помощью UDP-слоя (UDP/37008). Это часть сис­темы Packet Sniffer в RouterOS. Про­токол доволь­но прос­той, и его работа сво­дит­ся к тому, что он обо­рачи­вает исходный тра­фик в свои заголов­ки.

Заголовок TZSP при инкапсуляции
За­голо­вок TZSP при инкапсу­ляции
 

Экспериментальная сеть

На­ша лабора­тор­ная сеть будет тре­хуров­невой, с пог­ранич­ным мар­шру­тиза­тором RouterOS. В качес­тве при­емни­ка зер­калиру­емо­го тра­фика у нас выс­тупит машина на Debian. Цель для зер­калиро­вания — тра­фик из кли­ент­ских под­сетей 10.10.120.0/24 и 10.10.140.0/24 (VLAN 120 и VLAN 140 соот­ветс­твен­но).

Ос­новная кон­цепция — зер­калиро­вать тра­фик и переда­вать его через безопас­ный канал свя­зи для пос­леду­ющей обра­бот­ки и хра­нения.

 

Виртуальный канал связи S2S

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    3 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии