Лабораторная работа №3 Настройка межсетевого экрана icon

Лабораторная работа №3 Настройка межсетевого экрана



НазваниеЛабораторная работа №3 Настройка межсетевого экрана
Дата конвертации13.07.2012
Размер94.36 Kb.
ТипЛабораторная работа
скачать >>>

Лабораторная работа № 3
Настройка межсетевого экрана


Оглавление

Лабораторная работа № 3
Настройка межсетевого экрана 1

Краткое описание 3

Используемые внешние команды и утилиты 3

ifconfig 3

route 3

Команды iptables 4

Команды модификации правил 5

Параметры определения правил 6

Выполнение 8

Настройка сетевых интерфейсов 8

Подготовка iptables 8

Настройка маршрутизации 9

Итоговое содержимое цепочек фильтрации 11

Введение

Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) netfilter для ядер Linux версий 2.4 и 2.6.

Программа позволяет задать правила, которым должны соответствовать проходящие через брандмауэр IP-пакеты. Эти правила, как и все настройки Linux, записываются в текстовый файл, находящийся в папке /etc. Последовательность правил называется цепочкой (CHAIN). Для одного и того же сетевого интерфейса используются несколько цепочек. Если проходящий пакет не соответствует ни одному из правил, то выполняется действие по умолчанию.

При вызове, параметром указывается команда, которую нужно выполнить. Обычно можно указать только одну команду (но есть исключения). Команду можно указать одной большой буквой или словом. Если при вызове любой команды не указано название таблицы, то команда выполняется в таблице filter. Программа имеет подробную справку, вызываемую командой man iptables.

Цель работы

Получение практических навыков настройки пакетного фильтра.

Краткое описание


Имеется виртуальная машина с установленной ОС Debian Lenny GNU/Linux 5.0 (ядро 2.6.26), в Linux установлен пакетный фильтр Iptables. Требуется настроить в данной системе iptables для удовлетворения заданным условиям (набору разрешений и запретов доступа к сетевым сервисам для устройств локальной сети).

Используемые внешние команды и утилиты

ifconfig


Команда ifconfig служит для настройки сетевого интерфейса.

ifconfig [интерфейс] inet [IP-адрес] netmask [маска] broadcast [широковещ. адрес]

route


Командой route можно добавлять/удалять записи из таблицы маршрутизации:

route add -net [сеть назначения] netmask [маска] gw [шлюз]

route delete -net [сеть назначения]

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

Для маршрутов к конкретным узлам сети:

route {add|delete} -host [адрес узла сети] gw [шлюз].

Команды iptables

Вывести правила (-L, --list)


iptables [-t таблица] -L [цепочка] [параметры]

Вывести список правил для указанной таблицы и цепочки. Если цепочка не указана, то выводятся список правил для каждой цепочки. Например для вывода правил из таблицы nat: iptables -t nat -n –L.

Часто используются параметры -n (во избежение медленных запросов DNS) и -v (для вывода более подробной информации).

Команду -L можно использовать с -Z (iptables -L -Z) для вывода значений счетчиков и одновременного их обнуления.

Удалить все правила из цепи (-F, --flush)


iptables [-t таблица] -[F] [цепочка] [параметры]

Если цепочка не указана, то удаляются все цепочки из таблицы.

Обнулить все счетчики (-Z, --zero)


iptables [-t таблица] -Z [цепочка] [параметры]

Присваивает счетчикам числа пакетов и объема данных нулевые значения. Если цепочка не указана, то обнуление выполняется для всех цепочек.

Команду -Z можно использовать с -L (iptables -L -Z) для вывода значений счетчиков и одновременного их обнуления.

Создать новую цепочку (-N, --new-chain)


iptables [-t таблица] -N цепочка

Создать новую цепочку в указанной таблице с указанным именем. Если в указанной таблице уже есть цепочка с указанным именем, то новая не создается.

Удалить созданную цепочку (-X, --delete-chain)


iptables [-t таблица] -X [цепочка]


Удалить цепочку ранее созданную с помощью команды -N. Перед удалением цепи необходимо удалить или заменить все правила, которые ссылаются на эту цепочку. Если цепочка не указана, то из таблицы будут удалены все цепи кроме стандартных (INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING). Стандартные цепочки не удаляются.

Переименование цепи (-E, --rename-chain)


iptables [-t таблица] -E цепочка новое_название

Присваивает указанной цепочке новое название. Косметическая функция, не влияющая на функциональность.

Установить политику для стандартной цепи (-P, --policy)


iptables [-t таблица] -P цепочка действие [параметры]

Над пакетами которые доходят до конца указанной цепочки будет выполняться указанное действие. В качестве действия нельзя указывать название какой-либо цепочки. Устанавливать политику можно только на встроенных цепочках. Например: iptables -P INPUT DENY

Команды модификации правил

Добавить новое правило (-A, --append chain)


iptables [-t таблица] -A цепочка спецификация_правила [параметры]

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

Вставить новое правило (-I, --insert)


iptables [-t таблица] -I цепочка [номер_правила] спецификация_правила [параметры]

Указанное правило вставляется в указанное место указанной цепочки. Правила нумеруются с 1, поэтому если указать номер 1 (или не указать вообще), то правило будет вставлено в начало цепочки.

Удалить правило (-D, --delete)


iptables [-t таблица] -D цепочка номер_правила [параметры]

iptables [-t таблица] -D цепочка спецификация_правила [параметры]

Правило можно указывать при помощи его номера в цепочке (нумерация начинается с 1) или его спецификации.


Заменить правило (-R, --replace)


iptables [-t таблица] -R цепочка номер_правила спецификация_правила [параметры]

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

Параметры определения правил


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

-p, --protocol [!] протокол

Ограничение протокола. Основные значения: tcp, udp, icmp, или all. Протокол также можно указать с помощью номера, или названия указанного в файле /etc/protocols. Знак «!» перед именем протокола изменяет критерий на противоположенный (например !tcp означает «любой протокол, кроме TCP»). Значение «Любой протокол» можно указать с помощью слова all или числа 0. Если протокол не указан, то подразумевается «Любой протокол».

-s, --src, --source [!] адрес[/маска]


Ограничение отправителя. Адрес может быть IP-адресом (возможно с маской), именем хоста, или доменным именем. Маска может быть в стандартном формате (например 255.255.255.0) или же в виде числа, указывающего число единиц с «левой стороны» маски (например 24). Знак «!» перед адресом изменяет критерий на противоположенный.

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

-d, --dst, --destination [!] address[/mask]

Ограничение получателя. Синтаксис такой же, как у --src.

-i, --in-interface [!] имя_интерфейса

Ограничение входящего сетевого интерфейса. Знак «!» перед адресом изменяет критерий на противоположенный. Если указанное имя интерфейса кончается на «+», то критерию совпадают все интерфейсы, чьи имена начинаются на указанное имя. Если параметр --in-interface не указан, то критерию соответствуют пакеты из любого сетевого интерфейса.

-o, --out-interface [!] имя_интерфейса

Ограничение выходящего сетевого интерфейса. Синтаксис такой же, как и для --in-interface.

[!] -f, --fragment

Ограничение пр фрагментам: критерию соответствуют только фрагменты пакета, начиная со второго фрагмента. Знак «!» перед адресом изменяет критерий на противоположенный.

У таких фрагментов начиная со второго нет заголовка с портами отправителя и получателя (или с типом ICMP). Следовательно, такие фрагменты не соответствуют критериям, указывающим номера портов.

-j, --jump действие_или_цепочка

-g, --goto цепочка

Спецификация действий и переходов. Если указанно название цепочки ранее созданной командой -N, то пакеты соответствующие критериям правила переносится в начало указанной цепочки (запрещено указывать название цепочки, в котором это правило находится). Если указано действие, то оно выполняется над пакетами соответствующим критериям правила. Если в правиле нет параметров --jump и --goto, то правило не влияет на проверяемые пакеты (но счетчик правила продолжает работать).

--goto отличается от --jump поведением при действии RETURN. Действие RETURN переводит пакет в правило, следующее после того, которое вызвало предыдущий переход --jump. То есть, если пакет перешел из цепочки X в цепочку Y при помощи --jump, а потом в Z опять при помощи --jump, то действие RETURN возвращает его в Y. Если же пакет перешел в Z при помощи --goto, то RETURN возвращает его в X.

-c, --set-counters пакеты байты

Параметр позволяет при добавлении или изменении правил одновременно инициализировать счетчики числа пакетов и размера данных.

Выполнение

Настройка сетевых интерфейсов


У нас есть станция с 3я сетевыми интерфейсами – eth0, eth1, eth2. С помощью утилит ifconfig и route мы можем настроить их сетевые параметры.

Синтаксис команды ifconfig выглядит следующим образом:
ifconfig [интерфейс] inet [IP-адрес] netmask [маска].

Синтаксис команды route выглядит следующим образом:
route add -net [сеть назначения] netmask [маска] gw [шлюз].

В следующих 4х командах описан сам процесс настройки интерфейсов:

ifconfig eth0 inet 200.200.200.200 netmask 255.255.255.0
ifconfig eth1 inet 205.205.205.205 netmask 255.255.255.0
ifconfig eth2 inet 210.210.210.210 netmask 255.255.255.0
route add default gw 200.200.200.1

Командой вида:

ifconfig eth0 inet 200.200.200.200 netmask 255.255.255.0

мы назначаем физичекому интерфесу (в данном случае eth0) ip-адрес 200.200.200.200 и говорим о том, что маска подсети для него будет 255.255.255.0.

Командой вида:

route add default gw 200.200.200.1

мы назначаем шлюз по умолчанию. Адрес шлюза будет 200.200.200.1.

Подготовка iptables


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

iptables -F

Эта команда сбрасывает все имеющиеся в iptables цепочки, таким образом мы обнуляем все имеющиеся маршруты, но не политики безопасности.

Для обнуления политик безопасности нам надо выполнить следующие 3 команды:

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Первая команда сбросит политики касающиеся входящего трафика, вторая – исходящего, третья – перенаправляемого.

Дале следует использовать команду:
iptables -A POSTROUTING -t nat -j MASQUERADE
это необходимо, чтобы сервер выставлял в адрес отправителя транзитных пакетов свой IP-адрес.

Настройка маршрутизации

Задание 1


Разрешается доступ из внешней сети к сервисам http и ftp, выполняющимся на узле с IP-адресом 205.205.205.10

iptables -A FORWARD -d 205.205.205.10 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 205.205.205.10 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -d 205.205.205.10 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -s 205.205.205.10 -m state --state ESTABLISHED -j ACCEPT

Задание 2


Разрешается доступ из внешней сети к сервису http, выполняющемуся на узле с IP-адресом 205.205.205.20.

iptables -A FORWARD -d 205.205.205.20 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 205.205.205.20 -m state --state ESTABLISHED -j ACCEPT

Задание 3

Разрешается доступ из внешней сети к сервисам ftp, dns, echo, выполняющимся на узле с IP-адресом 205.205.205.30.

iptables -A FORWARD -d 205.205.205.30 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -d 205.205.205.30 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -d 205.205.205.30 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 205.205.205.30 -p udp --dport 7 -j ACCEPT
iptables -A FORWARD -s 205.205.205.30 -m state --state ESTABLISHED -j ACCEPT

Задание 4


Разрешается доступ из внешнейсети к сервисам smtp, pop3, выполняющимся на узле с IP-адресом 205.205.205.40.

iptables -A FORWARD -d 205.205.205.40 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -d 205.205.205.40 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s 205.205.205.40 -m state --state ESTABLISHED -j ACCEPT

Задание 5


Разрешается доступ из внешней сети к сервису ssh, выполняющемуся на узлах сети 205.205.205.0.24.

iptables -A FORWARD -d 205.205.205.0/255.255.255.0 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -s 205.205.205.0/255.255.255.0 -m state --state ESTABLISHED -j ACCEPT

Задание 6


Клиентским программам, выполняющимся на узлах сети 210.210.210.0/24, разрешается полный доступ к сервисам, выполняющимся на узлах сети 205.205.205.0.24.

iptables -A FORWARD -s 210.210.210.0/255.255.255.0 -d 205.205.205.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -s 210.210.210.0/255.255.255.0 -d 205.205.205.0/255.255.255.0 -m state --state ESTABLISHED -j ACCEPT

Задание 7


Клиентским программам, выполняющимся на узлах сети 210.210.210.0/24, разрешается полный доступ к сервисам, выполняющимся на узлах внешних сетей.

iptables -A FORWARD -s 210.210.210.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -d 210.210.210.0/255.255.255.0 -m state --state ESTABLISHED -j ACCEPT

Задание 8


Разрешается доступ к сервису ftp, выполняющемуся на узле с IP-адресом 210.210.210.10, с узла с IP-адресом 190.190.190.190.

iptables -A FORWARD -d 210.210.210.10 -s 190.190.190.190 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -d 210.210.210.10 -s 190.190.190.190 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -s 210.210.210.10 -d 190.190.190.190 -m state --state ESTABLISHED -j ACCEPT

Задание 9


Программам, выполняющимся на узле с IP-адресом 210.210.210.20, запрещается доступ к сервису http узлов других сетей.

В этом случае настраивать ничего не надо, т.к. в системе действует правило – что не разрешено, то запрещено.

Итоговое содержимое цепочек фильтрации


Chain INPUT (policy DROP)
target prot opt source destination

Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere 205.205.205.10 tcp dpt:www
ACCEPT tcp -- anywhere 205.205.205.10 tcp dpt:ftp
ACCEPT tcp -- anywhere 205.205.205.10 tcp dpt:ftp-data
ACCEPT tcp -- anywhere 205.205.205.10 tcp dpt:ssh
ACCEPT all -- 205.205.205.10 anywhere state ESTABLISHED
ACCEPT tcp -- anywhere 205.205.205.20 tcp dpt:www
ACCEPT all -- 205.205.205.20 anywhere state ESTABLISHED
ACCEPT tcp -- anywhere 205.205.205.30 tcp dpt:ftp
ACCEPT tcp -- anywhere 205.205.205.30 tcp dpt:ftp-data
ACCEPT tcp -- anywhere 205.205.205.30 tcp dpt:www
ACCEPT udp -- anywhere 205.205.205.30 udp dpt:echo
ACCEPT all -- 205.205.205.30 anywhere state ESTABLISHED
ACCEPT tcp -- anywhere 205.205.205.40 tcp dpt:smtp
ACCEPT tcp -- anywhere 205.205.205.40 tcp dpt:pop3
ACCEPT all -- 205.205.205.40 anywhere state ESTABLISHED
ACCEPT tcp -- anywhere 205.205.205.0/24 tcp dpt:ssh
ACCEPT all -- 205.205.205.0/24 anywhere state ESTABLISHED
ACCEPT all -- 210.210.210.0/24 205.205.205.0/24
ACCEPT all -- 210.210.210.0/24 205.205.205.0/24 state ESTABLISHED
ACCEPT all -- 210.210.210.0/24 anywhere
ACCEPT all -- anywhere 210.210.210.0/24 state ESTABLISHED
ACCEPT tcp -- 190.190.190.190 210.210.210.10 tcp dpt:ftp
ACCEPT tcp -- 190.190.190.190 210.210.210.10 tcp dpt:ftp-data
ACCEPT all -- 210.210.210.10 190.190.190.190 state ESTABLISHED

Chain OUTPUT (policy DROP)
target prot opt source destination





Похожие:

Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа №3 Настройка межсетевого экрана Оглавление Лабораторная работа №3 Настройка межсетевого экрана 1 Краткое описание 3 Используемые внешние команды и утилиты 3
Последовательность правил называется цепочкой (chain). Для одного и того же сетевого интерфейса используются несколько цепочек. Если...
Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа № Настройка межсетевого экрана

Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа № Настройка межсетевого экрана
Имеется виртуальная машина с установленной ос linux (ядро 4 или 6), в Linux установлен пакетный фильтр iptables. Требуется настроить...
Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа №1 3 Лабораторная работа №2 4 Лабораторная работа №3 5 Лабораторная работа №4 16 Лабораторная работа №5 18 Лабораторная работа №6 30 Лабораторная работа №1
По окончании работы закрыть все окна. В отчете описать команды консоли, использованные в процессе выполнения задания
Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа Цель работы: Спроектировать и реализовать мультимедийную программу Хранитель экрана (Screensaver) на базе Macromedia Director Определение
...
Лабораторная работа №3 Настройка межсетевого экрана iconМосковский государственный институт электроники и математики (технический университет) Практический курс по основам работы с операционными системами семейства Unix: Лабораторная работа №1
Лабораторная работа №1: Установка и настройка операционной системы Unix для работы в tcp/ip сетях
Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа № Настройка сервера dns

Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа № Настройка маршрутизатора
В случае использования Windows nt – создать каталог C:\I386 и скопировать в него инсталляционный пакет Windows nt для архитектуры...
Лабораторная работа №3 Настройка межсетевого экрана iconПрактическая работа по теме: «Мультимедийная презентация. Настройка анимации»
Открыть: Показ слайдов- настройка анимации- выделить объект- добавить эффект- вход
Лабораторная работа №3 Настройка межсетевого экрана iconЛабораторная работа № Установка и первичная настройка сетевого по
Имеется виртуальная машина, на которой установлен ms-dos и имеется все необходимое для установки и настройки сетевого клиента
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы