Iptables просмотр правил ubuntu. Защита от разных видов флуда

Теперь, когда мы знаем что такое NAT и для чего он нужен, можно приступать непосредственно к настройке сервера.

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

Многие пользователи пренебрежительно относятся к встроенному файерволу, считая его неэффективным. Вместе с тем, данный инструмент позволяет значительно повысить уровень безопасности ПК с помощью простых инструментов. В отличие от сторонних (особенно бесплатных) программ, брандмауэр довольно легок в управлении, имеет дружественный интерфейс и понятные настройки. Добраться до раздела опций можно из классической «Панели управления» Windows.

Типы сетей

Различают два типа сетей: частные и общественные. Первыми считаются доверенные подключения к устройствам, например, дома или в офисе, когда все узлы известны и безопасны. Вторыми – соединения с внешними источниками через проводные или беспроводные адаптеры. По умолчанию общественные сети считаются небезопасными, и к ним применяются более строгие правила.

Включение и отключение, блокировка, уведомления

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

Здесь достаточно поставить переключатель в нужное положение и нажать ОК.

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

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

Функция отключается снятием флажков в указанных чекбоксах.

Сброс настроек

Данная процедура удаляет все пользовательские правила и приводит параметры к значениям по умолчанию.

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

Взаимодействие с программами

Данная функция позволяет разрешить определенным программам подключение к сети для обмена данными.

Этот список еще называют «исключениями». Как с ним работать, поговорим в практической части статьи.

Правила

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

Входящие правила содержат условия для получения данных извне, то есть загрузки информации из сети (download). Позиции можно создавать для любых программ, компонентов системы и портов. Настройка исходящих правил подразумевает запрет или разрешение отправки запросов на сервера и контроль процесса «отдачи» (upload).

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

В ветке «Наблюдение», в разделе сопоставления, можно просматривать информацию о тех подключениях, для которых настроены правила безопасности.

Профили

Профили представляют собой набор параметров для разных типов подключений. Существуют три их типа: «Общий», «Частный» и «Профиль домена». Мы их расположили в порядке убывания «строгости», то есть уровня защиты.

При обычной работе эти наборы активируются автоматически при соединении с определенным типом сети (выбирается при создании нового подключения или подсоединении адаптера – сетевой карты).

Читайте также:  Команды Linux, которые должен знать каждый пользователь

Таблица filter: фильтрация трафика

Если явно не сказано, в какую таблицу добавляется правило, оно добавляется в таблицу filter, отвечающую за фильтрацию пакетов.

Цепочки таблицы filter.

В таблице filter существует 3 цепочки: INPUT, OUTPUT и FORWARD. В каждой цепочки свой "тип" пакетов:

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

Работают с цепочками так:

iptables <опция> <цепочка>

Опции для работы с цепочками

    -A — добавление нового правила в цепочку. Правило будет добавлено в конец цепочки. -I — добавление правила не в конец, а туда куда вы укажите. Например, команда:

iptables — I INPUT 2 ПРАВИЛО

— сделает правило вторым.

    -D — удаление правила. Например для удаления пятого правила введите:

iptables — D INPUT 5

    -F — сброс всех правил цепочки. Нужно, например, при удалении ненужной цепочки. -N — создание пользовательской цепочки. Если не хотите создавать кашу в каждой цепочке, то создайте несколько дополнительных цепочек. Синтаксис такой: iptables — N ЦЕПОЧКА. Только русские буквы, конечно, использовать нельзя. -X — удаление пользовательской цепочки.

Удалить цепочки INPUT, OUTPUT и FORWARD нельзя.

    -P — установка политики для цепочки.

iptables — P ЦЕПОЧКА ПОЛИТИКА

Параметры фильтрации пакетов

1. Источник пакета;

Для фильтрации по источнику используется опция -s. Например запретим все входящие пакеты с узла :

iptables — A INPUT — s — j DROP

Можно использовать доменное имя для указания адреса хоста. То есть:

iptables — A INPUT — s test. host. jp — j DROP

Также можно указать целую подсеть:

iptables — A INPUT — s — j DROP

Также вы можете использовать отрицание (знак !). Например так — все пакеты с хостов отличных от будут уничтожаться:

iptables — A INPUT — s ! — j DROP

2. Адрес назначения;

Для этого нужно использовать опцию -d. Например запретим все исходящие пакеты на хост :

iptables — A OUTPUT — d -j DROP

Как и в случае с источником пакета, можно использовать адреса подсети и доменные имена. Отрицание также работает.

3. Протокол;

Опция -p указывает на протокол. Можно использовать all, icmp, tcp, udp.

4. Порт источника;

Опция –sport указывает на порт, с которого был прислан пакет.

iptables — A INPUT — p tcp —sport 80 — j ACCEPT

Для указания порта необходимо указать протокол (tcp или udp). Можно использовать отрицание.

5. Порт назначения.

Опция –dport указывает на порт назначения пакета.

iptables — A INPUT — p tcp —dport 80 — j ACCEPT

Как и в случае с портом источника нужно указать протокол. Можно использовать отрицание.

Действия над пакетами (цели правил)

После указания параметров пакета необходимо указать, что именно надо с ним делать. Для этого служит опция -j. Рассмотрим основные действия:

    ACCEPT — разрешить пакет; DROP — уничтожить пакет; REJECT — будет отправлено ICMP сообщение, что порт недоступен; LOG — информация об этом пакете будет добавлена в системный журнал (syslog).

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

iptables — A INPUT — s — j LOCAL_NET

Модули

Использование модуляет существенно расширяет возможности Iptables. Для указания модуля используется опция -m. Например:

iptables — A INPUT — m модуль критерии

-m owner

Добавляет следующие опции (опции только для цепочки OUTPUT):

    —uid-owner UID — UID программы пославшей пакет. —gid-owner GID — GID прораммы пославшей пакет. —pid-owner PID — PID программы пославшей пакет. —sid-owner SID — SID (идентификатор сессии) производится проверка SID пакета, значение SID наследуются дочерними процессами от "родителя". —cmd-owner NAME — имя программы пославшей пакет.
Читайте также:  10 правил выбора компании-аутсорсера бухгалтерских услуг

-m multiport

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

    —source-ports порт1,порт2 — список портов, с которых пришел пакет; —sports порт1,порт2 — укороченый аналог —source-ports; —destination-ports порт1,порт2 — список портов назначения; —dports порт1,порт2 — укороченый аналог —destination-ports; —ports порт1,порт2 — проверяет как исходящий так и входящий порт пакета.

-m state

Предназначен для указания состояния пакета с помощью опции —state. Доступны следующие типы пакетов:

    NEW — пакет устанавливающий новое соединение. ESTABLISHED — пакет от уже установленного соединения. RELATED — новый пакет уже установленном соединении.

-m mac

Проверяет соответствие MAC-адреса в пакете с помощью опции —mac-source, например:

iptables — A INPUT — s — m mac —mac-source 00:65:3F:ED:12:98 — j DROP

ЗА «ОГНЕННОЙ СТЕНОЙ»: ФАЙРВОЛЛ (БРАНДМАУЭР) И ШЛЮЗ В ИНТЕРНЕТ В DEBIAN GNU/LINUX ETCH

Практическое руководство по организации безопасного доступа в интернет с отдельного компьютера и из локальной сети в Debian GNU/Linux 4.0 Etch Немного теории

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

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

Для предотвращения несанкционированного подключения извне и для фильтрации входящего / исходящего трафика в операционной системе должна быть использована специальная программа — файрволл (англ. firewall), известная также под названиями брандмауэр и межсетевой экран . Ниже описана простая настройка файрволла в свободной операционной системе Debian GNU/Linux 4.0 .

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

Даже небольшая локальная сеть должна быть правильно организована. Допустим, у вас имеется точка доступа высокоскоростного подключения к интернету (например, ADSL модем) с Ethernet (т.е. сетевым) интерфейсом.

Возникает соблазн (подогреваемый безграмотными рекомендациями, как, например, в инструкции к моему ADSL-модему) подключить модем к напрямую коммутатору, а затем к коммутатору подключать все компьютеры локальной сети. В таком случае модем через коммутатор динамически выдает локальные IP-адреса, но получается, что каждый компьютер остается один на один с интернетом! Ни модем, ни коммутатор не могут стать преградой недоброжелателя. Злоумышленник может просканировать все компьютеры организованной таким образом локальной сети.

Логичным и безопасным решением является создание барьера между модемом и локальной сетью — в виде отдельного компьютера с настроенной на нем «огненной стеной» (файрволлом). У этого компьютера два интерфейса — одним он «смотрит» в интернет (т.е. физически подключен к модему), другим обращен в локальную сеть (и физически подключен к коммутатору, к которому также подключены остальные компьютеры). Поскольку наш компьютер с файрволлом является теперь узловой точкой для выхода других компьютеров в интернет, он именуется еще и шлюзом (англ. gateway).

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

Читайте также:  Все, что вам нужно знать об inode в Linux

Настройка iptables на Linux: Методы подключений

Если говорить на тему «Настройка iptables на Linux» то нужно рассказать и про методы подключений.

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

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

Соединения с одного IP-адреса

В этом примере показано, как заблокировать все подключения с IP-адреса ..

iptables -A INPUT -s -j DROP

Соединения из диапазона IP-адресов

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

iptables -A INPUT -s -j DROP

iptables -A INPUT -s -j DROP

Соединения с определенным портом

В этом примере показано, как заблокировать SSH-соединения с

iptables -A INPUT -p tcp —dport ssh -s -j DROP

Вы можете заменить «ssh» на любой протокол или номер порта. Часть кода -p tcp сообщает iptables, какое соединение использует протокол. Если вы блокировали протокол, который использует UDP, а не TCP, тогда вместо этого потребуется -p udp.

В этом примере показано, как блокировать соединения SSH с любого IP-адреса.

iptables -A INPUT -p tcp —dport ssh -j DROP

Состояния подключения

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

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

iptables -A INPUT -p tcp —dport ssh -s -m state —state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp —sport 22 -d -m state —state ESTABLISHED -j ACCEPT

Сохранение изменений

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

sudo /sbin/iptables-save

Red Hat / CentOS:

/sbin/service iptables save

/etc/init.d/iptables save

Другие команды

Список текущих настроенных правил iptables:

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

Чтобы очистить все настроенные в данный момент правила, вы можете выполнить команду flush.

Перевод из отличного английского ресурса HowToGeek .

Если у вас остались какие-то вопросы по теме «Настройка iptables на Linux для чайников», то можете писать их в форму комментариев на нашем сайте.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Поделись статьей: