Главная » Просмотр файлов » ВКР_Плотникова_24Б

ВКР_Плотникова_24Б (1209280), страница 4

Файл №1209280 ВКР_Плотникова_24Б (Разработка модуля протоколирования данных пользователя в открытых беспроводных сетях) 4 страницаВКР_Плотникова_24Б (1209280) страница 42020-10-04СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Ключевыми понятиями iptables являются:

  1. правило – состоит из критерия, действия и счетчика. Если пакет соответствует критерию, к нему применяется действие, и он учитывается счетчиком. Критерия может и не быть – тогда неявно предполагается критерий «все пакеты». Указывать действие тоже не обязательно – в отсутствие действия правило будет работать только как счетчик. Правила для каждой цепочки срабатывают в порядке их следования, поэтому порядок важен;

    1. критерий – логическое выражение, анализирующее свойства пакета и/или соединения и определяющее, подпадает ли данный конкретный пакет под действие текущего правила. Критерии соединяются логическим «И»;

    2. действие – описание действия, которое нужно проделать с пакетом и/или соединением в том случае, если они подпадают под действие этого правила. О действиях более подробно будет рассказано ниже;

    3. счетчик – компонент правила, обеспечивающий учет количества пакетов, которые попали под критерий данного правила. Также счетчик учитывает суммарный объем таких пакетов в байтах;

  1. цепочка – упорядоченная последовательность правил. Цепочки можно разделить на пользовательские и базовые:

    1. базовая цепочка – цепочка, создаваемая по умолчанию при инициализации таблицы. Каждый пакет, в зависимости от того, предназначен ли он самому хосту, сгенерирован им или является транзитным, должен пройти положенный ему набор базовых цепочек различных таблиц. Кроме того, базовая цепочка отличается от пользовательской наличием «действия по умолчанию» (default policy). Это действие применяется к тем пакетам, которые не были обработаны другими правилами этой цепочки и вызванных из нее цепочек. Имена базовых цепочек всегда записываются в верхнем регистре (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING);

    2. пользовательская цепочка – цепочка, созданная пользователем. Может использоваться только в пределах своей таблицы. Рекомендуется не использовать для таких цепочек имена в верхнем регистре, чтобы избежать путаницы с базовыми цепочками и встроенными действиями;

  1. таблица – совокупность базовых и пользовательских цепочек, объединенных общим функциональным назначением. Имена таблиц (как и модулей критериев) записываются в нижнем регистре, так как в принципе не могут конфликтовать с именами пользовательских цепочек. При вызове команды iptables таблица указывается в формате -t имя_таблицы. При отсутствии явного указания, используется таблица filter.

Схема работы netfilter/iptables может быть представлена следующим образом (рисунок 4.1.2.1).

Рисунок 4.1.2.1 – Схема работы netfilter/iptables

Сетевые пакеты поступают в сетевой интерфейс, настроенный на стек TCP/IP и после некоторых простых проверок ядром (например, контрольная сумма) проходят последовательность цепочек (chain) (обозначены пунктиром). Пакет обязательно проходит первоначальную цепочку PREROUTING. После цепочки PREROUTING, в соответствии с таблицей маршрутизации, проверяется кому принадлежит пакет и, в зависимости от назначения пакета, определяется куда он дальше попадет (в какую цепочку). Если пакет НЕ адресован (в TCP пакете поле адрес получателя – НЕ локальная система) локальной системе, то он направляется в цепочку FORWARD, если пакет адресован локальной системе, то направляется в цепочку INPUT и после прохождения INPUT отдается локальным демонам/процессам. После обработки локальной программой, при необходимости формируется ответ. Пакет отправляемый локальной системой в соответствии с правилами маршрутизации направляется на соответствующий маршрут (хост из локальной сети или адрес маршрутизатора) и направляется в цепочку OUTPUT. После цепочки OUTPUT (или FORWARD, если пакет был проходящий) пакет снова сверяется с правилами маршрутизации и отправляется в цепочку POSTROUTING.

Каждая цепочка, которую проходит пакет состоит из набора таблиц (обозначены овалами). Таблицы в разных цепочках имеют одинаковое наименование, но тем не менее никак между собой не связаны. Например таблица nat в цепочке PREROUTING никак не связана с таблицей nat в цепочке POSTROUTING. Каждая таблица состоит из упорядоченного списка правил. Каждое правило содержит условие, которому должен соответствовать проходящий пакет и действия к пакету, подходящему данному условию.

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

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

Цепочки netfilter:

  • PREROUTING – для изначальной обработки входящих пакетов

  • INPUT – для входящих пакетов, адресованных непосредственно локальному компьютеру;

  • FORWARD – для проходящих (маршрутизируемых) пакетов;

  • OUTPUT – исходящих пакетов, создаваемых локальным компьютером;

  • POSTROUTING – для окончательной обработки исходящих пакетов.

Вышеперечисленные цепочки встроены в систему. Также можно создавать и удалять собственные цепочки при помощи утилиты iptables.

Цепочки организованны в четыре таблицы:

  • raw – пакет проходит эту таблицу до передачи системе определения состояний. Содержит цепочки PREROUTING и OUTPUT.

  • mangle – содержит правила модификации (обычно полей заголовка) IP‐пакетов. Среди прочего, поддерживает действия TTL (Time to live), TOS (Type of Service), и MARK (для изменения полей TTL и TOS, и для изменения маркеров пакета). Содержит все пять стандартных цепочек.

  • nat – предназначена для подмены адреса отправителя или получателя. Данную таблицу проходят только первый пакет из потока, трансляция адресов или маскировка (подмена адреса отправителя или получателя) применяются ко всем последующим пакетам в потоке автоматически. Поддерживает действия DNAT, SNAT, MASQUERADE, REDIRECT. Содержится в цепочках PREROUTING, OUTPUT и POSTROUTING.

  • filter – основная таблица, используется по умолчанию если название таблицы не указано. Используется для фильтрации пакетов. Содержит цепочки INPUT, FORWARD, и OUTPUT.

Непосредственно для фильтрации пакетов используются таблицы filter. Для пакетов, предназначенных данному узлу необходимо отредактировать таблицу filter цепочки INPUT, для проходящих пакетов – цепочки FORWARD, для пакетов, созданных данным узлом – OUTPUT.

Механизм определения состояний (он же state machine, он же connection tracking, он же conntrack) является частью пакетного фильтра и позволяет определить определить к какому соединению/сеансу принадлежит пакет. Conntrack анализирует состояние всех пакетов, кроме тех, которые помечены как NOTRACK в таблице raw. На основе этого состояния определяется принадлежит пакет новому соединению (состояние NEW), уже установленному соединению (состояние ESTABLISHED), дополнительному к уже существующему (RELATED), либо к "другому" (неопределяемому) соединению (состояние INVALID). Состояние пакета определяется на основе анализа заголовков передаваемого TCP-пакета. Модуль conntrack позволяет реализовать межсетевой экран сеансового уровня. Для управления данным механизмом используется утилита conntrack, а так же параметр утилиты iptables: -m conntrack. Состояния текущих соединений conntrack хранит в ядре. Их можно просмотреть в файле /proc/net/nf_conntrack (или /proc/net/ip_conntrack).

Все правила хранятся в памяти ядра и при перезапуске сервера сбрасываются. Это говорит о том, что администратору необходимо создать или изменить файл конфигурации, из которого при загрузке системы будут считываться правила фильтрации. Чаще всего это осуществляется посредством редактирования скрипта /etc/rc.d/rc.firewall. Это обычный скрипт оболочки, который вызывает /sbin/iptables с определенными параметрами, соответствующими составленным правилам. Поэтому в большинстве дистрибутивов для изменения конфигурации iptables необходимо отредактировать указанный файл и запустить его (этот файл, как правило, автоматически выполняется при загрузке машины). Также можно создать собственный скрипт и запускать его при перезапуске.

Начнём с того что из вышеперечисленного недоступно в firewalld:

  • Нет /etc/sysconfig/iptables. Настроек iptables в обычном ранее для них месте нет, firewalld хранит свои настройки в XML файлах раскидав их по /usr/lib/firewalld/ и /etc/firewalld/

  • Добавлять правила привычными командами вроде iptables -A INPUT -p ICMP -j ACCEPT не получится и на попытку обратиться к iptables мы получим отказ. Все необходимое настраивается другими командами.

Что полезного введено вместо привычных способов управления:

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

  • Концепция зон: firewalld оперирует понятиями сетевой зоны. Сетевая зона определяет уровень доверия сетевому подключению. Это можно понять как предустановленный набор правил который можно назначить. Очевидно что, во избежании конфликтов правил, одно подключение может находиться только в одной зоне, но одна зона может определять несколько сетевых подключений.

Авторы создали набор предопределенных зон :

  • drop – все входящие пакеты отбрасываются (drop) без ответа. Разрешены только исходящие соединения.

  • block – входящие соединения отклоняются (rejected) с ответом icmp-host-prohibited (или icmp6-adm-prohibited). Разрешены только инициированные системой соединения.

  • public – зона по-умолчанию. Из названия ясно, что эта зона нацелена на работу в общественных сетях. Мы не доверяем этой сети и разрешаем только определенные входящие соединения.

  • external – зона для внешнего интерфейса роутера (так называемый маскарадинг). Разрешены только определенные нами входящие соединения.

  • dmz – для компьютеров собственной demilitarized zone которые публично доступны с ограниченным доступом к нашей внутренней сети, разрешается устанавливать только конкретные входящие соединения.

  • work – зона рабочей сети. Максимальное доверие к компьютерам, уверенность в том, что они не причинят вреда компьютеру, разрешается устанавливать только конкретные входящие соединения.

  • home – домашняя зона. Мы доверяем окружению, но разрешены только определенные входящие соединения

  • internal – внутренняя зона. Мы доверяем окружению, но разрешены только определенные входящие соединения.

  • trusted – разрешено все.

Добавляем соединение в зону и получаем предустановленный набор правил.

Остальные функции доступны через иструменты конфигурации firewalld.

Существует два основных инструмента конфигурации firewalld:

  • firewall-config с графическим интерфейсом.

  • firewall-cmd утилита командной строки.

Помимо этих двух основных способов можно произвести настройку через интерфейс D-BUS.

Доступ к инструменту конфигурации firewall-config с графическим интерфейсом осуществляется командой firewall-config или же запуском через меню.

Доступ к командной строке осуществляется командой firewall-cmd.

В общем виде можно представить различия iptables и firewalld (рисунок 4.1.2.2).

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее