Биография Магистерская работа Библиотека Ссылки Индивидуальное задание Результаты поиска

 

Магистерская работа

Руников Владимир Сергеевич

Магистр Донецкого Национального Технического Университета

Факультет: Компьютерных Информационных Технологий и Автоматики

Группа: ТКС-00

E-mail: vovan13@mail.ru

Тема магистерской работы: Анализ некоторых нарушений безопасности в компьютерных сетях

Руководитель: профессор Скобелев Владимир Геннадьевич

 

Анализ некоторых нарушений безопасности в компьютерных сетях

 

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

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

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

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

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

Рисунок 1. Структурная схема сети .

Все брандмауэры можно разделить на три типа:

- пакетные фильтры (packet filter)

- сервера прикладного уровня (application gateways)

- сервера уровня соединения (circuit gateways)

 

Все типы могут одновременно встретиться в одном брандмауэре.

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

Брандмауэры с пакетными фильтрами принимают решение о том, пропускать пакет или отбросить, просматривая IP-адреса, флаги или номера TCP портов в заголовке этого пакета. IP-адрес и номер порта - это информация сетевого и транспортного уровней соответственно, но пакетные фильтры используют и информацию прикладного уровня, т.к. все стандартные сервисы в TCP/IP ассоциируются с определенным номером порта.

Для описания правил прохождения пакетов составляются таблицы типа:

Действие

тип пакета

адрес источн.

порт источн.

адрес назнач.

порт назнач.

флаги

Поле "действие" может принимать значения пропустить или отбросить. Тип пакета - TCP, UDP или ICMP. Флаги - флаги из заголовка IP-па-кета. Поля "порт источника" и "порт назначения" имеют смысл только для TCP и UDP пакетов.

Сервера прикладного уровня

Брандмауэры с серверами прикладного уровня используют сервера конкретных сервисов - TELNET, FTP и т.д. (proxy server), запускаемые на брандмауэре и пропускающие через себя весь трафик, относящийся к данному сервису. Таким образом, между клиентом и сервером образуются два соединения: от клиента до брандмауэра и от брандмауэра до места назначения.

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

•  терминалы (Telnet, Rlogin)

•  передача файлов (Ftp)

•  электронная почта (SMTP, POP3)

•  WWW (HTTP)

•  Gopher

•  Wais

•  X Window System (X11)

•  Принтер

•  Rsh

•  Finger

•  новости (NNTP) и т.д.

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

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

Серверауровнясоединения

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

Как правило, пункт назначения задается заранее, в то время как источников может быть много (соединение типа один - много). Используя различные порты, можно создавать различные конфигурации.

Такой тип сервера позволяет создавать транслятор для любого определенного пользователем сервиса, базирующегося на TCP, осуществлять контроль доступа к этому сервису, сбор статистики по его использованию.

Сильные стороны брандмауэра iptables :

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

2) может работать как транзитным брандмауэром, так и для локальных процессов;

3) может маршрутизировать трафик;

4) индивидуальная настройка фильтрации трафика;

5) поставляется с открытым кодом и может быть исправлены ошибки системным администратором;

6) трансляция адресов.

 

Слабые стороны брандмауэра iptables :

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

2) не обнаруживает вторжения;

3) не шифруют передаваемые данные;

4) при нарушении работоспособности брандмауэра все компьютеры за ним становятся полностью незащищенными либо недоступными.

На рисунке 2приведена структурная схема прохождения пакета в брандмауэре iptables .

Рисунок 2. Структурная схема брандмауэра iptables .

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

При транзитном движении пакетов, пакеты проходят ряд блоков:

1) mangle PREROUTING- этот блок используется для внесения изменений в заголовок пакета;

2) nat PREROUTING- этот блок используется для трансляции сетевых адресов;

3) В блоке Routing decision происходит п ринятие решения о дальнейшей маршрутизации, т.е. в этой точке решается куда пойдет пакет - локальному приложению или на другой узел сети;

4) Далее пакет попадает в блок mangle FORWARD , который использоваться когда необходимо внести некоторые изменения в заголовок пакета между двумя точками принятия решения о маршрутизации;

5) В блоке Filter FORWARD происходит фильтрация транзитного трафика;

6) mangle POSTROUTING- этот блок предназначен для внесения изменений в заголовок пакета уже после того как принято последнее решение о маршрутизации;

7) nat POSTROUTING- этот блок предназначен для Source Network Address Translation .

При движения пакета, предназначенного локальному процессу/приложению, происходит в таком порядке:

1) mangle PREROUTING- этот блок используется для внесения изменений в заголовок пакета;

2) nat PREROUTING- этот блок используется для трансляции сетевых адресов;

3) В блоке Routing decision происходит п ринятие решения о дальнейшей маршрутизации, т.е. в этой точке решается куда пойдет пакет - локальному приложению или на другой узел сети;

4) Пакет далее попадает в блок mangle INPUT в котором вносятся изменения в заголовок пакета перед тем как он будет передан локальному приложению;

5) В блоке filter INPUT происходит фильтрация трафика предназначенного локальному процессу;

6) Далее пакет попадает локальному процессу/приложению (т.е., программа-сервер или программа-клиент).

Порядок движения пакетов, созданных локальными процессами происходит так:

1) Блок Routing decision п ринимает решения о маршрутизации. Здесь решается куда пойдет пакет дальше - на какой адрес, через какой сетевой интерфейс и пр;

2) В блоке mangle OUTPUT производится внесение изменений в заголовок пакета;

3) Пакет далее попадает в блок nat OUTPUT- этот блок используется для трансляции сетевых адресов (NAT) в пакетах, исходящих от локальных процессов брандмауэра;

4) Filter OUTPUT- этот блок фильтрует исходящий трафик;

5) mangle POSTROUTING- этот блок предназначен для внесения изменений в заголовок пакета уже после того как принято последнее решение о маршрутизации;

6) nat POSTROUTING- этот блок предназначен для Source Network Address Translation .

Проблемы прохождения трафика через брандмауэр:

1) чем больше проверок проходит пакет тем больше процессорного времени тратиться на обработку данного пакета и тем меньше пропускная способность;

2) исходящий трафик надо фильтровать пропуская толь пакеты из исходящей сети и с адресом Интернет;

3) TOS – используется для назначения сетевой политики обслуживания пакета (т.е задает желаемый вариант маршрутизации), не желательно указывать т.к. на маршрутизаторе может быть принят не верный маршрут;

4) TTL - время жизни пакета, предназначено для изменения числа TTL , это может привести к перегрузки сети в случаи зацикливания пакета, но при изменения данного параметра можно скрыть от провайдера подключенную сеть;

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

6) о шибка при обработке номеров порта отправителя и получателя приводит к тому, что номера портов не принимаются во внимание и операции хэширования выполняются только по отношению к параметрам srcaddr, dstaddr вместо квартетов (srcaddr, srcport, dstaddr, dstport);

7) ошибка в функции hashlimit_match приводит к тому, что заданные правилом iptables условия выполняются не для burst пакетов (параметр условия), а для burst +1. Эта ошибка в некоторых случаях может существенно искажать результаты фильтрации пакетов.

Литература

1. http://citforum.ru/security/ - информационная безопасность

2. http://www.kernel.org/ - Особенности настройки ядра

3. http://netfilter .org/ - Iptables Tutorial 1.1.19