Настройка встроенного брандмауэра

Правило iptables на ubuntu

Брандмауэр — одна из важнейших утилит для поддержания компьютера в безопасности, исключающая возможность вторжения в систему через сеть или Интернет. Он может защищать компьютер, проверяя каждый пакет с данными, поступающими в сетевые интерфейсы, а затем принимая решение о дальнейшей судьбе пакета в соответствии с заданными вами параметрами. Брандмауэр, встроенный в текущее ядро Linux, называется iptables (вы также могли слышать о ipchains — предшественнике iptables в ядрах версии 2.2 и ниже). В Ubuntu iptables запускается и настраивается в процессе установки.

Функция iptables (www. netfilter. org) является невероятно мощной, но достаточно сложной для использования через командную строку. По этой причине многие устанавливают основные правила поведения брандмауэра посредством графического интерфейса. Чтобы получить графический интерфейс, установите пакет программ firestarter. В нем есть помощник для настройки брандмауэра. Для запуска Firestarter выберите System > Administration > Firestarter (Система > Администрирование > Firestarter). Вы также можете опробовать такие дополнительные пакеты программ, как FWBuilder (пакет программ fwbuilder) и Shorewall (пакет программ shorewall) для графической настройки брандмауэров.

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

Прежде чем читать дальше, просмотрите документ для Ubuntu под названием IpTables HowTo, расположенный на сайте https://help. ubuntu. com/community/IptablesHowTo. В нем содержится много полезной информации об использовании iptables в Ubuntu, сильно отличающемся от других версий Linux, таких как Fedora.

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

Перед тем как вы начнете работать с брандмауэром в Ubuntu, нужно проверить, как он настроен в вашей системе. Рассмотрим способ выведения списка текущих правил брандмауэра в системе Linux:

$ sudo iptables – L

Chain INPUT (policy ACCEPT)

Target prot opt source destination

Chain FORWARD (policy ACCEPT)

Target prot opt source destination

Chain OUTPUT (policy ACCEPT)

Target prot opt source destination

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

Пример демонстрирует таблицу фильтров брандмауэра iptables, используемую по умолчанию. Она показывает, что из всех пакетов, поступающих в сетевые интерфейсы компьютера, пакеты для протокола печати через Интернет (ipp) по протоколам udp и tcp допускаются в систему. К тому же принимаются tcp-пакеты, направленные в порты FTP (ftp), Secure Shell (ssh) и Web (http). Кроме того, прием пакетов происходит, если они ассоциируются с установкой соединения. Ниже вы можете ознакомиться с nat-таблицей:

$ sudo iptables – t nat – L Отобразить текущую nat-таблицу

Программы iptables

Chain PREROUTING (policy ACCEPT)

Target prot opt source destination

DNAT tcp 0.0.0.0/0 11.22.33.44 tcp dpt:8785 to:10.0.0.155:22

DROP tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:135

DROP udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:135

Chain POSTROUTING (policy ACCEPT)

Target prot opt source destination

MASQUERADE all — 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)

Target prot opt source destination

Показанная nat-таблица относится к функции преобразования сетевых адресов (Network Address Translation, NAT). NAT позволяет использовать секретные адреса с помощью брандмауэра. Когда пакеты посылаются одним из внутренних компьютеров локальной сети, IP-адрес источника преобразуется с помощью внешнего интерфейса брандмауэра. Брандмауэр следит за этими сессиями, чтобы принимать трафик для машин локальной сети. Все это настраивается в строке MASQUERADE из цепочки POSTROUTING.

В предыдущем примере строка DNAT из цепочки PREROUTING указывает на то, что все запросы на IP-адрес 11.22.33.44 с портом 8785 перенаправляются на внутренний IP-адрес в локальной сети 10.0.0.155 с портом 22 (уловка, позволяющая кому-либо подключиться к компьютеру в обход брандмауэра, используя нестандартный порт).

Вот еще несколько примеров, показывающих, как выводить информацию о брандмауэре. Команда i pstate является частью пакета программ ipstate.

$ sudo iptables – n – L Правила фильтров, IP-адреса (без просмотра

DNS-записей)

$ sudo iptables – v – L Расширенный вывод (с подсчетом пакетов/бит))

$ sudo iptables – L –line-numbers Показывать номер строки

В цепочке для каждого правила $ sudo iptables – nvL •-line-numbers Любимое сочетание нашего технического редактора

Вы можете очистить или остановить все правила iptables в Ubuntu следующим образом:

$ sudo iptables – F Очистить все правила iptables

Данная команда устраняет все правила, поэтому будьте осторожны с ее использованием. Вам придется немедленно установить новые правила.

Рассмотрим несколько примеров того, как использовать команду iptables для изменения правил активного брандмауэра:

$ sudo iptables – A INPUT – р TCP Добавить правило внутреннего фильтра •i ethO для TCP-пакетов первого Ethernet-интерфейса

Destination-port 25 Направление в порт электронной почты (25) •j ACCEPT Принимать пакеты

$ sudo iptables – t nat Добавить nat-правило •A POSTROUTING Цепочка POSTROUTING

•o ethl Пакеты, полученные интерфейсом ethl

•j SNAT Перейти к преобразованию сетевых адресов

–to-source 11.22.33.1 Использовать адрес 11.22.33.1 для отправки исходящей информации

Первый пример создает правило, позволяющее принимать новые запросы, входящие в систему через порт 25. Возможной причиной может служить то, что вы настроили компьютер как почтовый сервер (с sendmail, postfix или другим SMTP-сервисом). Второй пример создает nat-правило, которое позволяет брандмауэру использовать преобразование сетевого адреса источника (Source Network Address Translation, SNAT). Благодаря функции SNAT после прохождения информации через брандмауэр создается скрытый IP-адрес, через который можно поддерживать связь с Интернетом, используя внешний IP-адрес брандмауэра.

Для того чтобы иметь возможность применять SNAT или любую другую форму NAT, вам необходимо разрешить перенаправление IP на компьютере. Это можно сделать, отредактировав файл /etc/sysctl. conf путем снятия закомментированно-сти следующей переменной:

Net. i pv4.conf. default. forwardi ng=l

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

$ sudo iptables – t nat – A PREROUTING Добавить nat-правило

Для цепочки PREROUTING

•p tcp – d 11.22.33.1 Принимать tcp-запросы на 11.22.33.1 •-dport 80 Для порта 80 (веб-служба)

•j DNAT Перейти к цели DNAT

–to-destination 10.0.0.2 Перенаправить эти пакеты на 10.0.0.2

Можно создать множество других типов правил, изменяющих поведение брандмауэра. Для получения более подробной информации по использованию программы iptables обратитесь к руководству, расположенному на сайте Netfiller (www. netfiller. com).

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

$ sudo iptables – t nat – L

Поделиться новостью...

Как настроить firestarter?

Смотрите также:

Написать комментарий