- Настройка межсетевого экрана в Linux
- Содержание
- Немного теории [ править ]
- Принцип работы [ править ]
- Встроенные действия [ править ]
- Таблицы [ править ]
- Таблица mangle [ править ]
- Таблица nat [ править ]
- Таблица filter [ править ]
- Цепочки [ править ]
- Персональный межсетевой экран рабочей станции [ править ]
- Проверим состояние [ править ]
- Вариант 1 (рекомендуется в целях безопасности) [ править ]
- Вариант 2 [ править ]
- Установим политики по умолчанию [ править ]
- Исключения (для входящих соединений) [ править ]
- Сохраним правила [ править ]
- Arch Linux [ править ]
- RedHat Linux [ править ]
- Настройка gufw в Ubuntu
- Установка Gufw в Ubuntu
- Настройка фаервола Ubuntu
- Настройка правил gufw
- Выводы
- Настройка UFW Ubuntu
- Команда UFW Ubuntu
- 1. Синтаксис ufw
- 2. Команды UFW
- Настройка UFW Ubuntu
- 1. Как включить UFW
- 2. Политика по умолчанию
- 3. Добавление правил UFW
- 4. Правила limit ufw
- 5. Просмотр состояния UFW
- 6. Удаление правил ufw
- 7. Логгирование в ufw
- 8. Отключение UFW
- Выводы
Настройка межсетевого экрана в Linux
Содержание
Немного теории [ править ]
Принцип работы [ править ]
Все пакеты пропускаются через определенные для них последовательности цепочек. При прохождении пакетом цепочки, к нему последовательно применяются все правила этой цепочки в порядке их следования. Под применением правила понимается: во-первых, проверка пакета на соответствие критерию, и во-вторых, если пакет этому критерию соответствует, применение к нему указанного действия. Под действием может подразумеваться как элементарная операция (встроенное действие, например, ACCEPT, MARK), так и переход в одну из пользовательских цепочек. В свою очередь, действия могут быть как терминальными, то есть прекращающими обработку пакета в рамках данной базовой цепочки (например, ACCEPT, REJECT), так и нетерминальными, то есть не прерывающими процесса обработки пакета (MARK, TOS). Если пакет прошел через всю базовую цепочку и к нему так и не было применено ни одного терминального действия, к нему применяется действие по умолчанию для данной цепочки (обязательно терминальное).
Встроенные действия [ править ]
ACCEPT, DROP и REJECT — базовые операции фильтрации
Таблицы [ править ]
Таблица mangle [ править ]
Данная таблица предназначена для операций по классификации и маркировке пакетов и соединений, а также модификации заголовков пакетов (поля TTL и TOS).
Таблица nat [ править ]
Предназначена для операций stateful-преобразования сетевых адресов и портов обрабатываемых пакетов.
Таблица filter [ править ]
Предназначена для фильтрации трафика, то есть разрешения и запрещения пакетов и соединений.
Цепочки [ править ]
Таблица filter содержит следующие цепочки:
- INPUT — эта цепочка обрабатывает трафик, поступающий непосредственно самому хосту.
- FORWARD — позволяет фильтровать транзитный трафик.
- OUTPUT — эта цепочка позволяет фильтровать трафик, исходящий от самого хоста.
Внимание! На этом этапе произойдёт отключение, если связь производилась по SSH. |
Исключения (для входящих соединений) [ править ]
1. Разрешим трафик, принадлежащий установленным соединениям
2. Разрешим локальный интерфейс
3. Запретим «неправильный» трафик (не открывающий новое соединение и не принадлежащий никакому установленному соединению).
4. Разрешим новые ICMP запросы (ping). Остальные запросы ping будут обработаны первым правилом.
5. Разрешим новые входные соединения по портам
Если установлен веб-сервер
Если необходима связь по SSH
Если установлен DNS-сервер
есть возможность объединить несколько правил (для увеличения производительности):
6. Все новые входящие соединения, не обработанные предыдущими цепочками, запретим.
Сохраним правила [ править ]
Arch Linux [ править ]
RedHat Linux [ править ]
добавим демон для применения правил при загрузке компьютера
Источник
Настройка gufw в Ubuntu
Фаервол — это один из самых важных инструментов для управления безопасностью вашей системы Linux. Если ваш компьютер подключен к сети, вы не можете считать его безопасным, несмотря на то, что Linux — это более безопасная система, не стоит игнорировать правила безопасности.
Операционная система Linux известна своим мощнейшим фаерволом — iptables. Но несмотря на свою мощность, этот фаервол очень сложный, им нужно управлять с помощью длинных и сложных консольных команд. Просматривать информацию о соединениях здесь тоже нужно в консоли. Поэтому он недоступен для большинства новых пользователей.
В Ubuntu, ситуация еще хуже, потому что здесь фаервол отключен по умолчанию и нет простого способа запустить его. Для управления фаерволом необходимо будет настроить несколько скриптов, а это непростая задача для начинающего пользователя. Вы можете вручную искать и создавать правила iptables, или же найти инструмент, с помощью которого будет облегчена настройка firewall ubuntu.
Чтобы обеспечить более легкую настройку firewall в linux был создан Uncomplicated Firewall или простой firewall, ufw. Затем была создана графическая утилита — gufw, чтобы настройка ufw была еще легче.
В этой инструкции мы рассмотрим как выполняется настройка фаервола ubuntu. Мы рассмотрим запуск и остановку службы, создание правил и просмотр сетевых журналов и все это без использования терминала. Gufw сделает iptables более простым, как и любой фаервол в операционной системе Windows. Все что вам понадобится — это базовое понимание принципов работы сетей.
Установка Gufw в Ubuntu
По умолчанию в Ubuntu не поставляется со встроенным фаерволом Gufw, но вы можете его очень просто установить из официальных репозиториев. Установка gufw ubuntu выполняется командой:
sudo apt install gufw
Когда установка gufw ubuntu будет завершена, вы можете найти и запустить программу из главного меню Dash или с помощью настроек системы.
Для запуска программы необходимо ввести пароль:
Чтобы настройка firewall ubuntu применялась и после перезагрузки необходимо добавить его в автозагрузку, для этого выполните:
sudo ufw enable
Настройка фаервола Ubuntu
Главное окно программы выглядит вот так, здесь, кроме главных инструментов есть небольшая справка пр работе с программой:
Здесь есть все необходимые функции, чтобы настройка gufw ubuntu была удобной, но в то же время очень простой. Для начала нужно включить работу фаервола переключив переключатель статус в положение включен. Окно программы сразу изменится и станут доступными все функции:
Здесь вы можете менять общие режимы работы для дома, общественного места и офиса. С различными параметрами для трафика и правилами. Режим для дома блокирует входящий трафик и разрешает исходящий. Профили отличаются только параметрами входящего и исходящего трафика.
Открыв меню Правка, Параметры, вы можете настроить общую работу Gufw linux, здесь вы также можете создавать свои профили. Для каждого профиля вы можете добавлять свои правила.
Настройка правил gufw
Запрет и разрешение трафика для входящих и исходящих подключений ничего бы не значило, если бы не было возможности настройки правил для определенных приложений и сервисов. Настройка правил программы выполняется в главном окне.
В самом низу есть три кнопки, добавить правило +, удалить правило — и кнопка в виде бутерброда для редактирования правила.
Давайте сначала запретим весь входящий и исходящий трафик:
Затем попытайтесь выполнить в терминале ping запрос к какому либо сайту. Ничего не получится. Это так называемая строгая блокировка, когда мы разрешаем только нужные процессы, все остальное запрещено:
Gufw ubuntu блокирует весь трафик, теперь разрешим dns с помощью правила. Для этого нажмите +. В открывшимся окне вы можете выбрать политику разрешить или запретить, в нашем случае нужно разрешать.
Во второй строчке можно указать направление трафика — входящий или исходящий, а также можно выбрать оба направления.
Дальше мы должны выбрать приложение или службу, для которой нужно мы будем разрешать трафик. Вы можете выбрать категорию и под категорию чтобы облегчить поиск или же воспользоваться фильтром приложений, нас сейчас интересует DNS.
Осталось нажать кнопку Добавить, чтобы правило было добавлено:
После завершения добавления правила окно не закроется и настройка gufw ubuntu может быть продолжена. Вы можете добавлять другие правила. Но перед тем, давайте проверим действительно ли работает DNS:
DNS работает IP адрес был получен, но ICMP все еще не разрешен. Подобно тому как мы это сделали, можно настроить правило для любого из доступных приложений.
Но правила созданные таким способом не могут контролировать все программы и порты. Поэтому существуют расширенные способы создания правил.
В окне создать правило, кроме вкладки Предустановленные, вы можете выбрать Обычные или Расширенные. На вкладке Обычные нет выбора приложения, здесь вы можете выбрать только порт и протокол:
А на вкладке расширенные есть также настройка входящего и исходящего IP адреса:
Теперь давайте разрешим работу браузеров Chromium, Firefox и т д. Для этого нам понадобится разрешить работу исходящий трафик на порт 80 и из порта 80, а также 443, или же мы можем воспользоваться предустановленным набором правил для сервисов HTTP и HTTPS:
После добавления этих правил браузеры будут работать. Таким образом, может быть выполнена настройка gufw ubuntu, для всех необходимых вам приложений. Кроме разрешающих правил, вы можете создавать запрещающие, просто установив главное поведение программы все разрешить, а потом создавайте правила для запрета тех или иных служб.
Но здесь есть еще одно но, чтобы знать как и что разрешать и запрещать возможно вам понадобятся журналы программы.
Посмотрев какие программы пытаются проникнуть в сеть вы сможете понять что нужно разрешить и нет.
Посмотреть какие программы работают с сетью вы можете на вкладке отчет в главном окне:
А на вкладке журнал вы найдете информацию по работе программы, переключению режимов и удалению правил.
С этой информацией настройка фаервола Ubuntu будет более эффективной и вы сможете решить возникшие проблемы.
Выводы
Вот и все. Настройка фаервола gufw в Ubuntu завершена, теперь вы сможете правильно выполнить настройку программы и сделать свою систему более безопасной. Если остались вопросы — пишите в комментариях.
Источник
Настройка 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 секунд:
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 для защиты вашего компьютера от угроз из сети. Это особенно актуально для серверов, потому что они постоянно доступны из интернета.
Источник