Найти в Дзене

Как работать с брандмауэром в Linux? Часть 1.

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

Чем полезен брандмауэр? Первое достоинство это – повышение производительности, так как брандмауэр уничтожает лишние запросы, идущие к серверу. Второе достоинство – повышение безопасности – мы можем запретить доступ к тем вещам, к которым мы не хотим, чтобы имели доступ другие. Третье достоинство – повышение стабильности, чем меньше левых запросов, тем меньше нагружен сервер, и тем стабильнее он работает.

Многие кто в первый раз сталкивается с брандмауэром Netfilter в Linux, не понимают его принцип работы и соответственно его настройку. Брандмауэр Netfilter на данный момент является устаревшим, но до сих пор продолжает использоваться в новых дистрибутивах Linux. Основная задача брандмауэра – это фильтрация пакетов, проходящих через сетевой интерфейс. Когда брандмауэр получает пакет он принимает решение что с ним делать – принять или уничтожить. Брандмауэр может выполнять и более сложные действия, но обычно достаточно и этих двух. Обработка пакетов заключается в его прохождении по цепочке правил. Каждое правило состоит из условия и действия. Если пакет соответствует условию, то выполняется какое-то действие, если нет, то пакет передается следующему правилу. Если пакет не попал ни под одно условие выполняется действие по умолчанию (обычно это ACCEPT). Правила могут проверять любые соответствия, к примеру, по IP, по порту отправителя/получателя, заголовкам пакета и т.д. Цепочки правил собираются в таблицы. Все пакеты делятся на три типа: входящие, исходящие и проходящие. Цепочки – это упорядоченная последовательность правил. В состав каждой таблицы входят три цепочки: INPUT, OUTPUT и FORWARD. Для управления правилами брандмауэра используется команда iptables, эта команда имеет множество параметров... Изучить документацию можно по команде man iptables (она на английском ☹). В таблице 1 приведены основные ключи:

Таблица 1.

Существуют также дополнительные опции для правил:

--source – указывается источник пакета (можно указать IP-адрес, доменное имя или целую подсеть, например: 192.168.1.0/255.255.255.0)

--destination (указывает получателя пакета)

--protocol (-p) – можно указать конкретный протокол, с помощью идентификаторов, содержащихся в файле /etc/protocols

-3

--source-port (--sport) – указывается порт отправителя

--destination-port (--dport) – указывается порт получателя

-- state – позволяет указать состояние пакета (работает только при загрузке модуля state)

--in-interface (-i) – указывается входящий интерфейс

--out-interface (-o) – указывается исходящий интерфейс

При помощи команды iptables–L выведем все правила в текущей цепочке.

-4

Первая (INPUT) используется для входящих пакетов, вторая для исходящих (ACCEPT), и, наконец третья (FORWARD) – для пересылаемых пакетов. Над пакетом можно производить следующие действия (смотрите таблицу 2).

-5

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