Посмотреть настройки фаервола linux

Настройка UFW Ubuntu

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

В Ubuntu используется оболочка под названием UFW или Uncomplicated FireWall. В этой статье мы разберём, как выполняется настройка UFW Ubuntu, а также как пользоваться основными возможностями этой программы.

Команда UFW Ubuntu

1. Синтаксис ufw

Для управления возможностями брандмауэра используется одноимённая команда — ufw. Давайте сначала рассмотрим её опции и параметры, а потом перейдём к настройке. Синтаксис команды такой:

$ ufw опции действие параметры

Опции определяют общие настройки поведения утилиты, действие указывает, что нужно сделать, а параметры — дополнительные сведения для действия, например, IP-адрес или номер порта.

Сначала разберём опции утилиты:

  • —version — вывести версию брандмауэра;
  • —dry-run — тестовый запуск, никакие реальные действия не выполняются.

2. Команды UFW

Для выполнения действий с утилитой доступны такие команды:

  • enable — включить фаерволл и добавить его в автозагрузку;
  • disable — отключить фаерволл и удалить его из автозагрузки;
  • reload — перезагрузить файервол;
  • default — задать политику по умолчанию, доступно allow, deny и reject, а также три вида трафика — incoming, outgoing или routed;
  • logging — включить журналирование или изменить уровень подробности;
  • reset — сбросить все настройки до состояния по умолчанию;
  • status — посмотреть состояние фаервола;
  • show — посмотреть один из отчётов о работе;
  • allow — добавить разрешающее правило;
  • deny — добавить запрещающее правило;
  • reject — добавить отбрасывающее правило;
  • limit — добавить лимитирующее правило;
  • delete — удалить правило;
  • insert — вставить правило.

Это были все опции и команды, которые вы можете использовать в ufw. Как видите, их намного меньше, чем в iptables и всё выглядит намного проще, а теперь давайте рассмотрим несколько примеров настройки.

Настройка UFW Ubuntu

1. Как включить UFW

Сначала нужно отметить, что в серверной версии Ubuntu UFW по умолчанию включён, а в версии для рабочего стола он отключён. Поэтому сначала смотрим состояние фаервола:

sudo ufw status

Если он не включён, то его необходимо включить:

sudo ufw enable

Затем вы можете снова посмотреть состояние:

sudo ufw status

Обратите внимание, что если вы работаете по SSH, то перед тем, как включать брандмауэр, нужно добавить правило, разрешающее работу по SSH, иначе у вас не будет доступа к серверу. Подождите с включением до пункта 3.

2. Политика по умолчанию

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

sudo ufw default deny incoming

А все исходящие разрешим:

sudo ufw default allow outgoing

3. Добавление правил UFW

Чтобы создать разрешающее правило, используется команда allow. Вместо allow могут использоваться и запрещающие правила ufw — deny и reject. Они отличаются тем, что для deny компьютер отсылает отправителю пакет с уведомлением об ошибке, а для reject просто отбрасывает пакет и ничего не отсылает. Для добавления правил можно использовать простой синтаксис:

$ ufw allow имя_службы
$ ufw allow порт
$ ufw allow порт/протокол

Например, чтобы открыть порт ufw для SSH, можно добавить одно из этих правил:

sudo ufw allow OpenSSH
sudo ufw allow 22
sudo ufw allow 22/tcp

Первое и второе правила разрешают входящие и исходящие подключения к порту 22 для любого протокола, третье правило разрешает входящие и исходящие подключения для порта 22 только по протоколу tcp.

Посмотреть доступные имена приложений можно с помощью команды:

sudo ufw app list

Можно также указать направление следования трафика с помощью слов out для исходящего и in для входящего.

$ ufw allow направление порт

Например, разрешим только исходящий трафик на порт 80, а входящий запретим:

sudo ufw allow out 80/tcp
sudo ufw deny in 80/tcp

Также можно использовать более полный синтаксис добавления правил:

$ ufw allow proto протокол from ip_источника to ip_назначения port порт_назначения

В качестве ip_источника может использоваться также и адрес подсети. Например, разрешим доступ со всех IP-адресов для интерфейса eth0 по протоколу tcp к нашему IP-адресу и порту 3318:

sudo ufw allow proto tcp from 0.0.0.0/24 to 192.168.1.5 port 3318

4. Правила limit ufw

С помощью правил limit можно ограничить количество подключений к определённому порту с одного IP-адреса, это может быть полезно для защиты от атак перебора паролей. По умолчанию подключения блокируются, если пользователь пытается создать шесть и больше подключений за 30 секунд:

Читайте также:  Network speed test для windows 10 что это

sudo ufw limit ssh/tcp

К сожалению, настроить время и количество запросов можно только через iptables.

5. Просмотр состояния UFW

Посмотреть состояние и действующие на данный момент правила можно командой status:

sudo ufw status

Чтобы получить более подробную информацию, используйте параметр verbose:

sudo ufw status verbose

С помощью команды show можно посмотреть разные отчеты:

  • raw — все активные правила в формате iptables;
  • builtins — правила, добавленные по умолчанию;
  • before-rules — правила, которые выполняются перед принятием пакета;
  • user-rules — правила, добавленные пользователем;
  • after-rules — правила, которые выполняются после принятия пакета;
  • logging-rules — правила логгирования пакетов;
  • listening — отображает все прослушиваемые порты и правила для них;
  • added — недавно добавленные правила;

Например, посмотрим список всех правил iptables:

sudo ufw show raw

Посмотрим все прослушиваемые порты:

sudo ufw show listening

Или недавно добавленные правила:

sudo ufw show added

6. Удаление правил ufw

Чтобы удалить правило ufw, используется команда delete. Например, удалим ранее созданные правила для порта 80:

sudo ufw delete allow out 80/tcp
sudo ufw delete deny in 80/tcp

7. Логгирование в ufw

Чтобы отлаживать работу ufw, могут понадобится журналы работы брандмауэра. Для включения журналирования используется команда logging:

sudo ufw logging on
sudo ufw logging medium

Также этой командой можно изменить уровень логгирования:

  • low — минимальный, только заблокированные пакеты;
  • medium — средний, заблокированные и разрешённые пакеты;
  • high — высокий.

Лог сохраняется в папке /var/log/ufw. Каждая строчка лога имеет такой синтаксис:

[UFW действие] IN=интерфейс OUT=итерфейс SRC=ip_источника DST=ip_назначения LEN=размер_пакета TOS=0x10 PREC=0x00 TTL=64 DF PROTO=протокол SPT=порт_источника DPT=порт назначения LEN=размер_пакета

В качестве действия приводится то, что UFW сделал с пакетом, например ALLOW, BLOCK или AUDIT. Благодаря анализу лога настройка UFW Ubuntu станет гораздо проще.

8. Отключение UFW

Если вы хотите полностью отключить UFW, для этого достаточно использовать команду disable:

sudo ufw disable

Также, если вы что-то испортили в настройках и не знаете как исправить, можно использовать команду reset для сброса настроек до состояния по умолчанию:

Выводы

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

Источник

Настройка фаервола Линукс

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

Фаерволы для частных ПК

Еще несколько лет назад стремление защитить домашний ПК фаерволом могло показаться абсурдным. Но со временем ситуация изменилась: сегодня большинство частных ПК постоянно подключены к Интернету, доступны по фиксированному IP-адресу, назначаемому провайдером, азначит, подвергаются опасности. Если, к примеру, на компьютере действует SSH-сервер, то злоумышленник может попытаться войти в сеть через этот сервер. Для этого агрессоры используют сценарии, автоматически подбирающие логины, просто подставляя слова из словаря. Таким образом, хороший пароль дорогого стоит!

Другая опасность таится во WLAN: на настоящий момент хорошо защищенными можно считать только те сети WLAN, в которых применяется механизм WPA2, и то лишь при условии, что используемый пароль является достаточно длинным и сложным. Вы можете возразить, что атака на ваш компьютер не имеет смысла, так как находящиеся на нем данные вряд ли кого-то заинтересуют. Может быть, и так. Но не каждая атака предпринимается с целью выведать данные, а потом манипулировать ими. Часто злоумышленник хочет установить у вас на компьютере маленькую программку, которой позже сможет воспользоваться. Жертвами подобных атак становятся миллионы компьютеров с Windows, которые могут как бы «удаленно управляться» злоумышленниками.

Фаерволы для локальных сетей

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

В очень больших сетях часто бывает не один, а даже два фаервола. Первый фаервол служит лишь для обеспечения базовой безопасности, но является проницаемым для таких интернет-протоколов, как HTTP или FTP. Сетевое пространство в таком случае называется демилитаризованной зоной (DMZ). Этот термин означает, что внутри сети предпринимаются лишь ограниченные меры обеспечения безопасности. Как правило, в этой зоне располагается веб-сервер, а также другие сетевые серверы, которые должны быть общедоступны (то есть могут быть найдены через Интернет). Демилитаризованная зона отделяется от оставшейся части локальной сети вторым фаерволом. Уже за ним располагаются все другие службы, отвечающие за работу локальной сети и абсолютно недоступные извне. Однако конфигурация многоступенчатого фаервола — очень обширная тема, выходящая за рамки этой книги. Руководства по конфигурации таких барьеров даются в специальной литературе.

Читайте также:  What is uptime in windows

Помощь в конфигурации: фильтрация пакетов щелчком кнопкой мыши

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

Конфигурационные инструменты — это хорошая идея. Однако за совсем простой настройкой фильтра пакетов скрывается больше ноу-хау в фильтрации пакетов, чем вы можете себе представить (если не займетесь вопросом фильтрации пакетов совсем плотно). Часто результат бывает более эффективным, чем собственное решение.

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

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

Debian.

В Debian по умолчанию не предусмотрены фаерволы, соответственно, отсутствуют и конфигурационные инструменты для их создания.

Fedora, Red Hat.

При установке Fedora и Red Hat по умолчанию создается фаервол, блокирующий все приходящие извне попытки соединения. Для создания конфигурации запустите через меню Система > Администрирование > фаервол программу system-config-firewall. Теперь можно определить конкретные службы (например, SSH) и сетевые интерфейсы (например, интерфейс LAN) как безопасные и освободить их от действия фаервола. Для того компьютера, который выполняет функции шлюза, можно дополнительно задать интерфейс маскарадинга. фаервол запускается в рамках процесса Init-V: файл правил — /etc/sysconfig/iptables; сценарий Init-V — /etc/init.d/iptables.

В дистрибутивах SUSE фаервол также создается по умолчанию, причем интерфейс для связи с Интернетом автоматически присваивается внешней зоне. Конфигурация осуществляется в модуле YaST Безопасность > фаервол. При этом отдельные вкладки открываются щелчком на записи в левой части окна YaST, где обычно расположены файлы справки, а не на отдельных диалоговых окнах, как это бывает в других случаях. Если компьютер служит шлюзом LAN, присвойте интерфейс LAN внешней зоне (это делается на вкладке Интерфейсы) и установите на вкладке Маскарадинг одноименный флажок. Как и в Fedora, фаервол запускается в рамках процесса Init-V: файл правил — /etc/sysconfig/SuSEfirewall; сценарий Init-V — /etc/init.d/SuSEfirewall2*.

Ubuntu.

В Ubuntu по умолчанию фаервол не создается, отсутствуют и соответствующие конфигурационные инструменты, но есть команда ufw («несложный фаервол»). Она позволяет задавать правила для фаервола с применением гораздо более простого синтаксиса, чем в iptables. Кроме того, предполагается, что в будущих версиях Ubuntu одновременно с установкой сетевых служб будут инсталлироваться соответствующие ufw-правила, обеспечивающие безопасность. Разумеется, до этого еще надо дожить: пока ufw применяется не так широко.

Если вам уже приходилось работать с фильтрами пакетов, то с ufw вы быстро добьетесь того, чего хотите. Кратко опишу синтаксис этой команды (более подробно этот вопрос рассмотрен в man ufw): ufw enable активизирует фаервол. В дальнейшем он будет автоматически активизироваться при каждом запуске компьютера. Команда ufw disable снова деактивизирует фаервол. Команда ufw default allow|deny указывает, как в принципе следует поступать со входящими пакетами: принимать или отклонять (как правило, действует параметр deny). Дополнительно, с помощью ufw allow|deny n или ufw allow|deny service вы определяете правила, которые будут действовать для отдельных портов или протоколов.

Все правила сохраняются в конфигурационных файлах в /etc/ufw. Команда ufw status выдает информацию о текущем состоянии фаервола.

user$ sudo -s root# ufw enable root# ufw allow ssh root# ufw status
Firewall loaded To Action From
22:tcp ALLOW Anywhere 22:udp ALLOW Anywhere

Firestarter

Это популярная, не зависящая от конкретного дистрибутива программа для конфигурации фаерволов. При первом запуске открывается ассистент для создания базовой конфигурации. Сначала выбирается интерфейс, через который все компьютеры соединяются с Интернетом. Благодаря флажку Запуск с выбором фаервола автоматически активизируется, как только устанавливается соединение с Интернетом. Если ваш компьютер обращается за сетевыми параметрами на DHCP-сервер, вам также потребуется установить флажок Получать IP-адрес от DHCP-сервера.

На втором этапе вы можете конфигурировать ваш компьютер как шлюз. При необходимости Firestarter одновременно может сконфигурировать DHCP-сервер dhcpd, но для этого предварительно требуется установить специальный пакет. Завершите работу ассистента, нажав кнопку Сохранить, но не Закончить, иначе отконфигурированные настройки будут сброшены. Фаервол сразу же становится активен и в дальнейшем автоматически запускается при включении компьютера или при установлении соединения с Интернетом. Теперь ни один компьютер, находящийся в локальной сети или в Интернете, не может начать обмен информацией с вашим компьютером. Часто эта настройка оказывается излишне жесткой. Потребуются дополнительные правила, которые позволят другим компьютерам обмениваться информацией с вашим.

Чтобы задать новые правила, выполните Система > Управление системой > Быстрый запуск, откройте вкладку Безопасность, выберите Правила для поступающего трафика и щелкните кнопкой мыши на области списка Разрешать подключения или Разрешать службу. Только теперь станет активной кнопка Добавить указание, которая открывает конфигурационное диалоговое окно. Новое правило активизируется нажатием кнопки Применить указание. Количество правил фильтра. Команда iptables -L | wc -l позволяет оценить, какое количество правил используется при работе активного в данный момент фаервола. Итоговое число позволяет судить о том, насколько сложен фаервол, но ничего не говорит о степени его надежности! Лучше всего полностью подавить весь сетевой трафик, а для этого обычно достаточно одного-двух правил.

Читайте также:  Epson l364 драйвер linux

Сетевой фильтр

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

Маршрутизация

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

Локальный процесс

В этом окне символически изображены все программы, обрабатывающие IP-пакеты на локальном компьютере либо создающие IP-пакеты (то есть это все сетевые службы, например, ftpd, httpd и т. д.).

Выходной фильтр

На основании отдельных правил определяется, может ли IP-пакет снова покинуть ядро.

Фильтр переадресации ы фаерволе

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

NAT Postrouting

Если компьютер должен предоставлять другим компьютерам доступ в Интернет путем маскарадинга, этот механизм выполняет нужные операции с IP-пакетами других компьютеров.

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

Действия

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

Deny — переадресация пакетов отклоняется без запроса о подтверждении (можно сказать, что при этом пакет удаляется и больше не существует). Отправитель никогда не узнает, что произошло с его пакетом. Reject — переадресация пакетов отклоняется с запросом о подтверждении. С пакетом происходит то же, что и в первом случае, но отправитель с другим ICMP-пакетом получает уведомление о том, что его пакет не был принят.

Accept — пакет переадресовывается.

Таблицы

В принципе сетевой фильтр построен так: каждый IP-пакет проходит через различные части ядра, где в определенных пунктах проверяется на основании установленных правил. При соответствии правилам пакет переадресовывается, в противном случае — удаляется или отправляется назад. Сетевой фильтр управляется тремя таблицами.

Таблица фильтра — обычно в ней содержится вся система правил для отдельных пакетов (фаервол). Используется для защиты от брутфорса (например SSH).

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

Цепочки правил (chains)

В каждой из упомянутых таблиц предусмотрено несколько цепочек правил: О таблица фильтра — Input, Forward, Output;
Таблица трансляции сетевых адресов — Prerouting, Output и Postrouting; О таблица mangle — Prerouting и Output.

Примечание

Цепочки правил не зависят друг от друга, то есть существует две разные цепочки Prerouting и три разные цепочки Output. Однако в документации часто пишут, что речь идет просто о цепочке Output, не указывая, к какой именно таблице она относится. В таких случаях всегда имеются в виду цепочки таблицы-фильтра — далее мы увидим, что эта таблица является наиболее важной. Такая же трактовка касается и команды iptables: там с помощью параметра -t можно указать желаемую таблицу. Если этого параметра нет, то команда будет автоматически применена к таблице-фильтру.

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

Исходное состояние

В исходном состоянии в ядре активна только таблица-фильтр с тремя цепочками Input, Forward, Output. Ни одна из этих цепочек не содержит дополнительных правил и для всех трех по умолчанию задано действие по переадресации.

Команда iptables

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

Источник

Оцените статью