- Как установить и использовать брандмауэр Linux
- Защитите свой рабочий стол Ubuntu с помощью брандмауэра UFW
- Что такое брандмауэр?
- Установка UFW
- Активация UFW
- Политика по умолчанию
- Разрешение входящего трафика
- Удаление правил
- Настройка 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
Защитите свой рабочий стол Ubuntu с помощью брандмауэра UFW
Linux является одной из самых безопасных настольных и серверных платформ на планете. Из коробки вы найдете большинство дистрибутивов Linux гораздо более безопасными, чем Windows или macOS. На самом деле, для большинства случаев использования настольных систем безопасность, предлагаемая в большинстве дистрибутивов Linux, будет вам полезна. Однако это не означает, что вы должны полностью игнорировать безопасность операционной системы, для которой вы доверили свои данные. На самом деле, вам следует знать, как работать с брандмауэром Linux.
Что такое брандмауэр?
Проще говоря, брандмауэр – это подсистема на компьютере, которая блокирует входящий или исходящий сетевой трафик на ваш компьютер. Брандмауэры могут быть созданы как очень ограничивающие (позволяющие очень мало входить и/или выходить) или очень разрешающие (допускающие довольно много входов и/или выходов). Брандмауэры бывают двух разных типов:
- Аппаратное обеспечение – физические устройства, которые служат только для защиты вашей сети (и компьютеров в вашей сети).
- Программное обеспечение – подсистемы на отдельных компьютерах, которые защищают только хост-компьютер.
Большинство домашних сетей зависят от их комбинации. Аппаратным решением обычно является модем/маршрутизатор, развернутый вашим провайдером. Много раз эти устройства настроены как очень строгие. Что касается программного обеспечения, ваш настольный компьютер использует программный брандмауэр. Одним из таких брандмауэров, который можно установить и использовать во многих дистрибутивах Linux (таких как Ubuntu и его производные), является Uncomplicated Firewall (UFW). Несложный брандмауэр – именно то, на что это похоже. Это простой инструмент, который делает управление блокировкой/разрешением сетевого трафика довольно простым. UFW – это инструмент для командной строки, который отлично справляется с задачей защиты вашего компьютера с Linux.
Установка UFW
Как на Ubuntu, так и на большинстве производных Ubuntu UWF уже установлен. Чтобы узнать, установлен ли UFW на вашем компьютере, откройте окно терминала и введите команду:
Эта команда (скорее всего) сообщит, что UFW неактивен. Если вы обнаружите, что UFW не установлен, введите команду
Активация UFW
Поскольку UFW по умолчанию неактивен, вы захотите его активировать. Для этого выполните команду
Теперь, когда вы проверяете статус, он будет отображаться как активный.
Политика по умолчанию
Большинству пользователей не нужно слишком беспокоиться о политике по умолчанию. Однако лучше по крайней мере понять основы этой политики.
Политика по умолчанию – это набор правил, которые управляют обработкой трафика, который явно не соответствует никаким другим правилам. Существует четыре политики по умолчанию:
- INPUT – трафик, поступающий в компьютер.
- ВЫХОД – трафик, выходящий из компьютера.
- FORWARD – трафик, который пересылается из одного пункта назначения в другой.
- ПОЛИТИКА ПРИЛОЖЕНИЯ – трафик, который определяется приложением (а не сетевым портом).
Для большинства пользователей будут важны только политики INPUT и OUTPUT.
Политики UFW по умолчанию задаются в файле /etc/default/ufw . Выполните команду
и найдите следующие четыре строки:
- DEFAULT_INPUT_POLICY = “DROP”
- DEFAULT_OUTPUT_POLICY = “ПРИНЯТЬ”
- DEFAULT_FORWARD_POLICY = “DROP”
- DEFAULT_APPLICATION_POLICY = “SKIP”
Важно знать, что каждая из вышеперечисленных политик может быть скорректирована с немного разными значениями по умолчанию.
- INPUT/OUTPUT/FORWARD может быть установлен на ACCEPT, DROP или REJECT
- ПРИЛОЖЕНИЕ может быть установлено на ПРИНЯТЬ, ОТКЛЮЧИТЬ, ОТКАЗАТЬ или ПРОПУСТИТЬ
Разница между ACCEPT, DROP и REJECT:
- ПРИНЯТЬ – разрешить трафик через брандмауэр.
- REJECT – не разрешать трафик через брандмауэр и отправлять сообщение о недоступности получателя ICMP обратно отправляющему источнику.
- DROP – запретить прохождение пакета через брандмауэр и не отправлять ответ.
Вы можете настроить политики по умолчанию в соответствии с вашими потребностями. Если вы измените политики в файле, перезагрузите правила UFW с помощью команды:
Разрешение входящего трафика
Поскольку вам, вероятно, не потребуется изменять политику исходящего трафика по умолчанию, давайте сосредоточимся на разрешении входящего трафика. Скажем, например, вы хотите иметь возможность защищать оболочку на своем рабочем столе (используя команду ssh ) с другого компьютера. Для этого вам нужно указать UFW разрешить входящий трафик через стандартный порт SSH (порт 22).Команда для этого будет:
Приведенная выше команда позволит любому компьютеру в вашей сети (или даже вне вашей сети, если ваш маршрутизатор настроен на пропуск внешнего трафика) получить доступ к вашему компьютеру через порт 22.
Это все хорошо, если только вы не хотите разрешить доступ к определенным компьютерам в вашей сети. Скажем, например, вы хотите разрешить только один компьютер – компьютер с IP-адресом 192.168.1.162. Для этого команда будет:
Оператор allow from указывает UFW, что ниже следует адрес, с которого разрешается трафик. к любому порту указывает UFW разрешить трафик для указанного порта. В приведенном выше примере компьютер only в вашей сети, которому будет разрешено защищать оболочку на вашем компьютере, будет иметь компьютер с IP-адресом 192.168.1.162.
Вы также можете запретить трафик на указанный сетевой интерфейс. Скажем, например, ваша машина имеет два сетевых интерфейса:
- ВНУТРЕННИЙ – с использованием сетевого интерфейса ens5 со схемой IP-адресов 192.168.1.x.
- ВНЕШНЕЕ – использование сетевого интерфейса enp0s3 со схемой IP-адресов 172.217.1.x
Что если вы хотите оставить правило, разрешающее входящий трафик ssh на 192.168.1.162, но запретить весь входящий трафик от внешнего интерфейса? Для этого команда будет:
, чтобы увидеть, что трафик ssh из 192.168.1.162 по-прежнему разрешен, тогда как трафик с внешнего интерфейса запрещен.
Удаление правил
Если вы обнаружите, что создали правила, вызывающие проблемы с подключением компьютеров к вашему компьютеру, вы можете удалить созданные вами правила. Первое, что вы хотите сделать, – это чтобы UFW перечислил ваши правила по номеру. Для этого выполните команду:
Скажем, вы хотите удалить правило номер 1. Для этого введите команду:
Вам будет предложено подтвердить удаление правила. Введите y и используйте Enter/Return на клавиатуре для подтверждения. Выполните команду
Источник
Настройка 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 для защиты вашего компьютера от угроз из сети. Это особенно актуально для серверов, потому что они постоянно доступны из интернета.
Источник