Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Методические подходы к разработке правил ИБ для файрволлов (Добавление правила для брандмауэра Windows)

Содержание:

Введение

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

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

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

В ходе выполнения курсовой работы мы должны получить:

  • Основные представления о взаимодействии устройств в локальной сети;
  • Понятие о сетевом экранировании;
  • Навыки работы с набором прикладного программного обеспечения, позволяющего наглядно изучить данную локальную сеть;
  • Навыки развёртки сетевых экранов;
  • Вывести основные тезисы-рекомендации для установки правил сетевого экранирования.

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

1. Анализ локальной сети

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

1.1. Топология

Сетевая топология – это формат строение сети, описывающий взаимосвязи узлов сети, где конечные узлы являются пользовательскими ПК или устройствами, оборудование для коммуникации – коммутатор с DHCP сервером или маршрутизатор, а для соединения узлов и коммутаторов используется витая пара, коаксиальный провод, оптоволокно или беспроводное соединение (зачастую Wi-Fi).

Рассмотрим классические виды построения локальной сети:

1.1.1. Шина

Данная топология сформирована из основного канала кабеля (его называют шиной или магистралью), к которому подсоединяются все конечные узлы.

Плюсы данной структуры:

  • Затрачивается минимальное количество кабеля;
  • Отказ конечного узла не влияет на производительность сети;
  • Сеть легко прокладывать;

Минусы:

  • Разрыв кабеля приводит к неработоспособности все узлы;
  • Без применения повторителей длина шины ограничена физическими параметрами передачи сигнала кабеля;
  • Низкая скорость передачи сигнала за счёт того, что ширина канала делится на всех участников сети (конечные узлы).

Рисунок 1 – Топология «Шина»

1.1.2. Кольцо

В сети, построенной по топологии «Кольцо», каждый узел последовательно соединяется в кольцо. Выход одного узла соединяется со входом соседнего узла. Данные перемещаются по сети в одном направлении. Плюсы:

  • Простота организации;

Минусы:

  • При разрыве одного соединения выходит из строя вся сеть. Данная проблема решается при помощи топологии «Двойное кольцо» - кольцо дублируется между узлами и работает в обратном направлении относительно основного кольца. При разрыве соединения, дублирующее кольцо принимает на себя задачи повреждённого участка;
  • Требует два сетевых порта (зачастую это означает 2 сетевые карты);
  • Добавление узла требует остановки всей сети.

Рисунок 2 – Топология «Кольцо»

1.1.3. Звезда

Топология «Звезда» представляет собой параллельно соединённые с коммутатором узлы.

Плюсы:

  • Легкость подключения узла;
  • Централизованное управление, обеспеченное коммутатором;
  • Выход из строя узла не влияет на работоспособность остальной сети.

Минусы:

  • Большой расход кабеля
  • Отказ коммутатора выводит из строя всю сеть.

Рисунок 3 – «Звезда»

Для защиты сетей «Кольцо» и «Шина» стоит установить средства защиты для каждого узла. Единственная возможность атаки подобных локальных сетей – изнутри.

На текущий момент наиболее распространены локальные сети, имеющие архитектуру «Звезда» или её модификации. Плюсы отказоустойчивости узлов превалируют над минусами данной структуры. Зачастую используется дублирующий коммутатор для случаев выхода поломки основного устройства.

Так же данная структура реализует выход LAN в WAN через единый объект сети. Из чего следует, что для любой топологии, отличной от звезды, требуется индивидуальный сетевой экран. Для «Звезда» мы будем делать упор на защиту централизованным сетевым экраном на границе LAN и WAN, т. е. коммутаторе.

Рассмотрим причину данного решения в следующей главе.

1.2. Уязвимости LAN

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

Анализ проведём при помощи прикладного программного обеспечения Nmap, предназначенная для сканирования IP-сетей и определения состояния объектов. Для большей наглядности воспользуемся графической оболочкой Zenmap.

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

1.3. Изучение сети приложением Nmap

При запуске приложения мы видим интерфейс программы (Рисунок 4). В окно «Цель» прописываем диапазон IP адресов локальной сети, которую мы рассматриваем. В нашем случае требуется ввести 192.168.1.1-255, что описывает сканирование данного диапазона IP адресов хостов. В выкидном списке «Профиль» выбираем модель сканирования сети. Больше всего информации будет извлечено при использовании профиля «Slow comprehensive scan». Если ни один из профилей нам не подходит, в строке «Команда» вводим параметры.

Рисунок 4 – Интерфейс Nmap

В ходе работы программы была получена карта сети (Рисунок 5), обнаружены открытые порты для каждого из устройств локальной сети, а также протоколы (TCP и UDP), которые используют данные порты.

Как мы можем видеть, все пять устройств были обнаружены. Опираясь на легенду (Рисунок 6), стоит предположить, что за счёт оболочки маршрутизатор не был детектирован как роутер. Отметим, что на топологии отмечен .localhost – стандартное зарезервированное имя для частных локальных сетей.

Рисунок 5 – Карта локальной сети

Рисунок 6 – Условные обозначения топологии

Просмотрим в Nmap устройства, где есть наибольшее количество открытых портов: маршрутизатор и ПК соответственно. (Рисунок 7 и Рисунок 8)

Как мы можем видеть, маршрутизатор имеет значимое количество портов, предназначенных для прослушки пакетов из WAN. По параметру «Состояние» мы можем определить, создаёт ли соединение каждый из портов с ПК, с которого был создан запрос.

Сценарии «Состояния»:

  • Открыт (open)

Приложение принимает запросы на TCP соединение или UDP пакеты на этот порт. Обнаружение этого состояния обычно является основной целью сканирования. Люди, разбирающиеся в безопасности, знают, что каждый открытый порт — это прямой путь к осуществлению атаки. Атакующие хотят использовать открытые порты, а администраторы пытаются закрыть их или защитить с помощью брандмауэров так, чтобы не мешать работе обычных пользователей. Открытые порты также интересны с точки зрения сканирования, не связанного с безопасностью, т. к. они позволяют определить службы доступные в сети.

  • Закрыт (closed)

Закрытый порт доступен (он принимает и отвечает на запросы Nmap), но не используется каким-либо приложением. Они могут быть полезны для установления, что по заданному IP адресу есть работающий хост (определение хостов, ping сканирование), или для определения ОС. Т. к. эти порты достижимы, может быть полезным произвести сканирование позже, т. к. некоторые из них могут открыться. Администраторы могут заблокировать такие порты с помощью брандмауэров. Тогда их состояние будет определено как фильтруется, что обсуждается далее.

  • Фильтруется (filtered)

Nmap не может определить, открыт ли порт, т. к. фильтрация пакетов не позволяет достичь запросам Nmap этого порта. Фильтрация может осуществляться выделенным брандмауэром, правилами роутера или брандмауэром на целевой машине. Эти порты бесполезны для атакующих, т. к. предоставляют очень мало информации. Иногда они отвечают ICMP сообщениями об ошибке, такими как тип 3 код 13 (destination unreachable: communication administratively prohibited (цель назначения недоступна: связь запрещена администратором)), но чаще встречаются фильтры, которые отбрасывают запросы без предоставления какой-либо информации. Это заставляет Nmap совершить еще несколько запросов, чтобы убедиться, что запрос был отброшен фильтром, а не затором в сети. Это очень сильно замедляет сканирование.

  • Не фильтруется (unfiltered)

Это состояние означает, что порт доступен, но Nmap не может определить открыт он или закрыт. Только ACK сканирование, используемое для определения правил брандмауэра, может охарактеризовать порт этим состоянием. Сканирование не фильтруемых портов другими способами, такими как Window сканирование, SYN сканирование или FIN сканирование может помочь определить, является ли порт открытым.

  • Открыт|фильтруется (open|filtered)

Nmap характеризует порт таким состоянием, когда не может определить открыт порт или фильтруется. Это состояние возникает при таких типах сканирования, при которых открытые порты не отвечают. Отсутствие ответа также может означать, что пакетный фильтр не пропустил запрос или ответ не был получен. Поэтому Nmap не может определить наверняка открыт порт или фильтруется. При сканировании UDP, по IP протоколу, FIN, NULL, а также Xmas порт может быть охарактеризован таким состоянием.

  • Закрыт|фильтруется (closed|filtered)

Это состояние используется, когда Nmap не может определить закрыт порт или фильтруется. Используется только при сканировании IP ID idle типа.

Также просмотрим список активных соединений системными инструментами Windows. Для этого в командной строке вводим запрос
«netstat - a» (Рисунок 9).

Рисунок 7 – Порты маршрутизатора

Рисунок 8 – Порты ПК

Рисунок 9 – Список активных подключений ПК

Исходя из полученных выше данных, сделаем вывод, что каждый из узлов входит в зону риска сетевой атаки как из WAN (сеть Internet), так и LAN (один из узлов, инфицированный вредоносным ПО), в связи с чем перейдём к организации защиты сетевым экраном.

2. Развёртка файрволла

2.1. Теоретическая часть

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

Функции файрволла:

  • Блокировка внешних атак;

В идеале брандмауэр должен блокировать все известные типы атак, включая сканирование портов, IP-спуффинг, DoS и DDoS, подбор паролей и прочие.

  • Блокировка утечки информации;

Даже если вредоносный код проник на ПК, сетевой должен предотвратить утечку информации, заблокировав вирусу выход в сеть.

  • Контроль приложений.

Неизбежное наличие открытых портов является одним из самых узких мест в блокировке утечки информации, а один из самых надежных способов воспрепятствовать проникновению злоумышленника через эти пути — контроль приложений, запрашивающих разрешение на доступ. Кроме банальной проверки по имени файла, весьма желательна проверка аутентичности приложения.

  • Поддержка зональной защиты;

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

  • Протоколирование и предупреждение.

Брандмауэр должен собирать лишь необходимый объем информации — избыток (равно как и недостаток) сведений недопустим. Возможность настройки файлов регистрации и указания причин для привлечения внимания пользователя весьма приветствуются.

  • Максимально прозрачная работа.

Эффективность системы часто обратно пропорциональны сложности ее настройки, администрирования и сопровождения. Несмотря на традиционное неприятие мастеров по настройке, даже опытные администраторы не пренебрегают ими в целях экономии времени.

В зависимости от уровня организации сетевого экрана относительно сетевой модели OSI (Таблица 1), на основе которого работает файрволл, тем надёжнее защита.

Таблица 1

Модель OSI

Уровень

Функции

7. Прикладной (приложений)

Доступ к сетевым службам

6. Представления

Представление и шифрование данных

5. Сеансовый

Управление сеансом связи

4. Транспортный

Прямая связь между конечными пунктами и её надёжностью

3. Сетевой

Определение маршрута и логическая адресация

2. Канальный

Физическая адресация

1. Физический

Работа со средой передачи, сигналами и двоичными данными

Рассмотрим основные категории межсетевых экранов:

  • Управляемые коммутаторы;

Можно причислить управляемые коммутаторы к числу брандмауэров, но фильтрация трафика в них происходит только на уровне LAN, за счёт чего его нельзя назвать полноценным межсетевым экраном.

  • Пакетные фильтры;

Функционируют на сетевом и транспортном уровнях, получая информацию о портах и IP адресах получателя и отправителя, а также о типе транспортного протокола (в основном протоколы TCP и UDP). Это минимальный уровень анализа трафика для использования в пограничных брандмауэрах.

  • Шлюзы сеансового уровня;

Файрволл данного уровня выступает в качестве промежуточного узла при обмене пакетами между отправителем и получателем, при первом контакте создавая запись в журнале сеансов (логах), фиксируя адреса отправителя и получателя, протоколы транспортного и сетевого уровня, а также информацию о состоянии соединения. Все последующие пакеты в рамках установленной сессии не будут фильтроваться. После завершения сеанса все данные о соединении удаляются. Первый пакет следующего соединения проходит стандартную фильтрацию. Данный алгоритм обеспечивает защиту от пакетов, маскирующиеся под пакет завершённого сеанса.

  • Посредники прикладного уровня;

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

  • Инспекторы состояния;

Данная категория сетевых экранов объединяет в себе механики взаимодействия от 3 до 7 уровня модели OSI, включая в себе принципы всех вышеназванных файрволлов. Таким образом инспекторы состояния:

    • Фильтруют пакеты на основе правил;
    • Устанавливают сессии и фиксируют в таблице состояний;
    • Проверяют приложения на основе разработанных посредников.

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

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

2.2. Практическая часть

2.2.1. Добавление правила для маршрутизатора Asus

На примере личного маршрутизатора Asus RT-AC51U, работающий с транспортным и сетевым уровнем модели OSI, рассмотрим механизмы настройки файрволла, позволяющие защитить домашнюю локальную сеть. Меню брандмауэра отображено на рисунке 10.

Данное меню содержит вкладки:

  • Общие – вкладка для включения брандмауэра;
  • Фильтр URL-адресов – организация белого или чёрного списка, фильтрующего ресурсы по веб-адресу;
  • Фильтр ключевых слов – организация белого или чёрного списка, фильтрующего ресурсы по содержащимся на странице ключевым словам;
  • Фильтр сетевых служб – то, что нас интересует. В данном меню мы можем включить межсетевой фильтр, задать тип фильтрации (белый или чёрный список), расписание, в какое время данные правила будут работать, типы фильтруемых пакетов, а также самое важное: настраиваемые правила (Рисунок 11);
  • Брандмауэр для IPv6 – версия фильтра для 128 битовых адресов.

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

Рисунок 10 – Меню маршрутизатора

Рисунок 11 – Меню настройки экрана

Допустим, мы хотим запретить пользователям локальной сети пользоваться веб-сёрфингом. Для этого в чёрном списке прописываем порт 80 с протоколом TCP.

2.2.2. Добавление правила для MikroTik RouterOS

В разделе меню IP -> Firewall на вкладке Filter Rules, добавляем новое правило красной кнопкой «+» в левом верхнем углу окна.

Рисунок 12

Для примера возьмём первое правило:

«add chain=input protocol=icmp action=accept comment=”Allow Ping”»

В открывшемся окне, на вкладке General, мы выбираем цепочку Chain – input, а протокол, Protocol – icmp.

Рисунок 13

Переходим на вкладку «Action», где в поле «Action» выбираем accept.

Рисунок 14

И, если нужно добавить комментарий, то нажимаем в правой части окна кнопку Comment и добавляем необходимый комментарий.

Рисунок 15

После чего сохраняем правило.

2.2.3. Добавление правила для брандмауэра Windows

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

Для этого заходим в меню брандмауэра защитника Windows (Рисунок 16). Здесь мы можем наблюдать три профиля, отвечающие за разный способ подключения к сети (Таблица 2)

Рисунок 16

Таблица 2 – Описание профилей

Профиль

Описание

Домен

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

Частный

Применяется к сетевому адаптеру, если он подключен к сети, которая идентифицирована администратором как частная. Частная сеть — это сеть, которая подключена к Интернету не напрямую, но находится за каким-либо устройством безопасности, например маршрутизатором с преобразованием сетевых адресов (NAT) или аппаратным брандмауэром. Параметры частного профиля должны устанавливать большие ограничения, чем параметры профиля домена.

Общий

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

В интерфейсе в левом столбце можно наблюдать две вкладки: «Правила для входящих подключений» и «Правила для исходящего подключения». В данных вкладках описываются все правила, которыми руководствуется брандмауэр узла. Попробуем создать новое правило для исходящего подключения для пограммы. Для этого кликнем правой кнопкой мыши на «Правила для исходящего сообщения», далее «Создать правило…» (Рисунок 17).

Рисунок 17

Открывается пошаговый конструктор-установщик правила. Первым шагом устанавливаем для чего устанавливается правило (Рисунок 18). Выбираем «Для программы», нажимаем кнопку «Далее»

Рисунок 18 – Тип правила

Затем выбираем, для какой или каких приложений правило работает. В данном случае мы хотим дать доступ в сеть для определённого приложения-калькулятора. Найдём его и установим адрес (Рисунок 19).

Рисунок 19 - Программа

В следующем пункте мы выбираем, что должно происходить, если подключение соответствует правилу (Рисунок 20).

Рисунок 20 - Действие

В случае, если мы хотим настроить безопасное подключение, то выбираем соответствующий пункт и настраиваем вложенные параметры (Рисунок 21).

Рисунок 21 – Параметры безопасности

В случае, если мы выбрали «Разрешить подключение» или «Блокировать подключение», следующий пункт установщика предложит указать, для каких профилей будет действовать данное правило (Рисунок 22). При «Разрешить безопасное подключение» перед пунктом настройки соответствия профилям, будет окно настройки, какие авторизованные ПК могут использовать это подключение (Рисунок 23)

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

Рисунок 22 – Профиль

Рисунок 23 - Компьютеры

Рисунок 24

Нажатием кнопки «Готово», правило сохраняется в соответствующей вкладке.

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

3. Основные принципы создания правил брандмауэра

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

Заключение

  1. Рекомендуется запретить все входящие правила, если не используется некий автоматизированный софт, от которого ожидается сигнал;
  2. Установить вручную правила для каждого приложения, с которым планируется работа;
  3. Настройте логирование изменений правил, чтобы, в случае нахождения постороннего трафика или затруднения с соединением, было проще обнаружить возможный корень проблем;
  4. Стандартизируйте набор правил для каждой локальной подсети в зависимости от набора задач, исполняемых в ней;
  5. В случае, если в локальной сети находится большое количество пользовательских узлов, автоматизируйте процесс установки. Для Windows Server, например, это служба каталогов Active Directory, применяемся в связке с сервисом «Групповая политика»
  6. При масштабировании локальной сети множество правил должны быть вовремя добавлены, изменены или удалены. Без средств автоматизации это может быть затруднительной задачей, для этих целей можно использовать ПО «Efros Config Inspector», позволяющий найти смежные или повторяющиеся правила, которые стоит в последствии оптимизировать.

В ходе данной курсовой работы мы изучили принципы построения физической и логической архитектуры локальной сети, модели OSI, метод обнаружения портов в локальной или удалённой сети при помощи Nmap, получили навыки создания правил для брандмауэра для маршрутизаторов Asus и MikroTik, создание правил для брандмауэра конечных узлов Windows, а также, исходя из полученного опыта, синтезировали основные цели при организации правил.

Список использованной литературы

  1. Perlman R., «Interconnections: Bridges, Routers, Switches, and Internetworking Protocols». Reading, MA: Addison-Wesley, 2000
  2. Бекаревич Ю.Б., Пушкина Н.В. СУБД Защита данных от несанкционированного копирования. – СПб.: BHV – Санкт-Петербург, 1999.– 400 с.
  3. Блэк У. Интернет: протоколы безопасности/У.Блэк - Питер, 2001. – 282с
  4. Брой М. Информатика. Теоретическая информатика, алгоритмы и структуры данных, логическое программирование, объектная ориентация: В 4-х ч. Ч. IV. – М.: Диалог-МИФИ. 1996 г. – 224 с.
  5. Кружик Д. П. Интернет у нас дома М., Юнити, 1999 г. – 180 с.
  6. Лобов В. М. Локальные вычислительные сети. М., Ридас, 2004 г. – 380 с.
  7. Маницкий Н. Ф. Технология защиты данных в Windows, М.: Ридас,. 2002 г. – 224 с.
  8. Романенко, Д. М. Компьютерные сети : учеб.-метод. пособие для студентов для направления специальности 1-40 05 01-03 «Информационные системы и технологии (издательско-полиграфический комплекс)», для специальности 1-98 01 03 «Программное обеспечение информационной безопасности мобильных систем», для специализации 1-40 01 01 10 «Программирование интернет-приложений» специальности «Программное обеспечение информационных технологий» / Д. М. Романенко, Н. В. Пацей, М. Ф. Кудлацкая. – Минск : БГТУ, 2016. – 163 с.
  9. Собель М. Linux. Администрирование и системное программирование; Питер - М., 2011. - 279 c.
  10. Столлингс В. Современные компьютерные сети 2-е издание/ В. Столлингс – Питер, 2003. - 767с
  11. Таненбаум Э. М. ванн Стен. Распределенные системы принципы и парадигмы/Э.Таненбаум М. ванн Стен – Питер, 2003. – 876с
  12. Хагеман С. SAP R/3 Системное администрирование; ЛОРИ - М., 2013. - 480 c.
  13. Хант К. TCP/IP. Сетевое администрирование; Символ-плюс - М., 2014. - 787 c.
  14. Яремчук С., Матвеев А. Системное администрирование Windows 7 и Windows Server 2008 R2 на 100%; Книга по Требованию - М., 2011. - 384 c.