Ufw linux запретить пинг

linux-notes.org

Блокирование ответов пинг в ОС может предотвратить атаки флуда ICMP пакетов, но большинство систем используют данную услугу для онлайн мониторинга (системного мониторинга). В своей теме «заблокировать Ping (ICMP) ответов в Unix/Linux» я расскажу как можно все-таки его выключить.

Блокировка PING на сервер является полезным, если сервер постоянно сталкивается с какой-то DoS атакой с помощью функции PING. При использовании IPTables мы можем просто остановить запретить прохождение ICMP пакетов (собственно, запретить PING) на сервер. Перед началом этого необходимо иметь представление о том, что такое Iptables в Linux. Iptables это система межсетевого экрана с набором правил, которые контролирует входящие и исходящие пакеты. По-умолчанию в Iptables работает без каких-либо правил, вы можете создавать, добавлять, редактировать правила.

Отключения Ping используя iptables

Обьяснение некоторых параметров в iptables, которые необходимы для создания правил управления ICMP пакетами:

-A : Добавляет правила.
-D : Удаляет правило с таблицы.
-p : Опция чтобы указать протокол (где ‘icmp’).
—icmp-type : Опция для указания типа.
-J : Перейти к цепочке.

Ниже, я приведу наглядные примеры.

Как заблокировать PING на сервере с выводом сообщений об ошибке?
Таким образом, вы можете частично блокировать PING с выводом сообщения об ошибке «Destination Port Unreachable». Добавьте следующие правила Iptables чтобы заблокировать PING с выводом сообщения об ошибке:

Заблокировать PING на сервере без каких-либо сообщений об ошибках.
Для этого, используем команду для ИПтейбелс:

Заблокирует все входящие и исходящие ICMP пакеты на сервере.

Разрешить Ping используя iptables

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

Данные правила разрешат прохождения ICMP пакетов с сервера и на него.

Блокировка Ping с параметрами Kernel

Мы также можем блокировать пинг ответы непосредственно параметрами ядра. Можно заблокировать ответы на пинг временно или постоянно и внизу показано как это сделать.

Временная блокировка Ping
Вы можете заблокировать временно ответы на пинг используя следующую команду

Чтобы разблокировать эту команду, выполните следующую:

Запретить Ping вообще
Вы можете заблокировать пинг ответы добавляя следующий параметр в конфигурационный файл:

sysctl используется для изменения параметров ядра во время выполнения, один из этих параметров может быть «ping daemon» (демон пинга), если вы хотите отключить пинг, то вы просто должны выполнить что-то вроде:

Теперь попробуйте пинговать машину, никаких ответов на нее нет, не так ли? Для повторного включения пинга, используйте:

-w флаг используется, если вы хотите изменить некоторые настройки.

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

Вот мой полный конфиг:

и потом можно выполнить:

Но так же, можно его просто прочитать тут:
sysctl.conf

На этом у меня все, тема «Заблокировать Ping (ICMP) ответов в Unix/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 — вставить правило.
Читайте также:  Запуск приложений через терминал linux

Это были все опции и команды, которые вы можете использовать в 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:

Читайте также:  Лагает ноутбук windows 10 asus

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 для защиты вашего компьютера от угроз из сети. Это особенно актуально для серверов, потому что они постоянно доступны из интернета.

Источник

Как настроить брандмауэр с UFW в Ubuntu 20.04

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

Ubuntu поставляется с инструментом настройки межсетевого экрана под названием UFW (Несложный межсетевой экран). Это удобный интерфейс для управления правилами брандмауэра iptables. Его основная цель — упростить или, как следует из названия, упростить управление межсетевым экраном.

В этой статье описывается, как использовать инструмент UFW для настройки и управления брандмауэром в Ubuntu 20.04. Правильно настроенный брандмауэр — один из наиболее важных аспектов общей безопасности системы.

Подготовка

Только root или пользователи с привилегиями sudo могут управлять системным брандмауэром. Лучше всего запускать административные задачи от имени пользователя sudo.

Установить UFW

UFW является частью стандартной установки Ubuntu 20.04 и должен присутствовать в вашей системе. Если по какой-то причине он не установлен, вы можете установить пакет, набрав:

Проверить статус UFW

По умолчанию UFW отключен. Вы можете проверить статус службы UFW с помощью следующей команды:

Вывод покажет, что состояние брандмауэра неактивно:

Если UFW активирован, вывод будет выглядеть примерно так:

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

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

Политики по умолчанию определены в /etc/default/ufw и могут быть изменены либо путем изменения файла вручную, либо с помощью команды sudo ufw default

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

Профили приложений

Профиль приложения — это текстовый файл в формате INI, который описывает службу и содержит правила брандмауэра для службы. Профили приложений создаются в каталоге /etc/ufw/applications.d во время установки пакета.

Вы можете просмотреть все профили приложений, доступные на вашем сервере, набрав:

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

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

Выходные данные показывают, что профиль «Nginx Full» открывает порты 80 и 443 .

Вы также можете создавать собственные профили для своих приложений.

Включение UFW

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

Чтобы настроить брандмауэр UFW для разрешения входящих соединений SSH, введите следующую команду:

Если SSH работает на нестандартном порту , вам необходимо открыть этот порт.

Например, если ваш демон ssh прослушивает порт 7722 , введите следующую команду, чтобы разрешить соединения на этом порту:

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

Вы будете предупреждены, что включение брандмауэра может нарушить существующие соединения ssh, просто введите y и нажмите Enter .

Открытие портов

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

Ниже приведены несколько способов, как разрешить HTTP-соединения.

Читайте также:  Поиск видеокарты windows 10

Первый вариант — использовать имя службы. UFW проверяет файл /etc/services предмет порта и протокола указанной службы:

Вы также можете указать номер порта и протокол:

Если протокол не указан, UFW создает правила как для tcp и для udp .

Другой вариант — использовать профиль приложения; в данном случае Nginx HTTP:

UFW также поддерживает другой синтаксис для указания протокола с помощью ключевого слова proto :

Портовые диапазоны

UFW также позволяет открывать диапазоны портов. Открывающий и закрывающий порты разделяются двоеточием ( : ), и вы должны указать протокол, либо tcp или udp .

Например, если вы хотите разрешить порты с 7100 до 7200 как на tcp и на udp , вы должны выполнить следующую команду:

Определенный IP-адрес и порт

Чтобы разрешить соединения на всех портах с заданного IP-адреса источника, используйте ключевое слово from за которым следует адрес источника.

Вот пример внесения IP-адреса в белый список:

Если вы хотите разрешить данному IP-адресу доступ только к определенному порту, используйте ключевое слово to any port за которым следует номер порта.

Например, чтобы разрешить доступ к порту 22 с машины с IP-адресом 64.63.62.61 , введите:

Подсети

Синтаксис разрешения подключений к подсети IP-адресов такой же, как и при использовании одного IP-адреса. Единственное отличие состоит в том, что вам нужно указать маску сети.

Ниже приведен пример, показывающий, как разрешить доступ для IP-адресов от 192.168.1.1 до 192.168.1.254 до порта 3360 ( MySQL ):

Конкретный сетевой интерфейс

Чтобы разрешить подключения к определенному сетевому интерфейсу, используйте ключевое слово in on за которым следует имя сетевого интерфейса:

Отказ от подключений

Политика по умолчанию для всех входящих подключений настроена на deny , и если вы не изменили ее, UFW заблокирует все входящие подключения, если вы специально не откроете подключение.

Написание запрещающих правил аналогично написанию разрешающих правил; вам нужно только использовать ключевое слово deny вместо allow .

Допустим, вы открыли порты 80 и 443 , и ваш сервер атакован из сети 23.24.25.0/24 . Чтобы запретить все соединения с 23.24.25.0/24 вы должны выполнить следующую команду:

Вот пример 23.24.25.0/24 доступа только к портам 80 и 443 из 23.24.25.0/24 вы можете использовать следующую команду:

Удаление правил UFW

Есть два разных способа удалить правила UFW по номеру правила и указав фактическое правило.

Удалять правила по номеру правила проще, особенно если вы новичок в UFW. Чтобы сначала удалить правило по номеру правила, вам нужно найти номер правила, которое вы хотите удалить. Чтобы получить список пронумерованных правил, используйте команду ufw status numbered :

Чтобы удалить правило номер 3 , которое разрешает подключения к порту 8080 , вы должны ввести:

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

Отключение UFW

Если по какой-либо причине вы хотите остановить UFW и деактивировать все правила, вы можете использовать:

Позже, если вы захотите снова включить UTF и активировать все правила, просто введите:

Сброс UFW

Сброс UFW отключит UFW и удалит все активные правила. Это полезно, если вы хотите отменить все изменения и начать все заново.

Чтобы сбросить UFW, введите следующую команду:

IP-маскарадинг

IP Masquerading — это вариант NAT (трансляция сетевых адресов) в ядре Linux, который преобразует сетевой трафик путем перезаписи исходных и целевых IP-адресов и портов. С помощью IP Masquerading вы можете разрешить одной или нескольким машинам в частной сети связываться с Интернетом, используя одну машину Linux, которая действует как шлюз.

Настройка IP-маскарадинга с помощью UFW включает несколько шагов.

Во-первых, вам нужно включить переадресацию IP. Для этого откройте файл /etc/ufw/sysctl.conf :

Найдите и раскомментируйте строку net.ipv4.ip_forward = 1 :

Затем вам нужно настроить UFW, чтобы разрешить пересылку пакетов. Откройте файл конфигурации UFW:

Найдите ключ DEFAULT_FORWARD_POLICY и измените значение с DROP на ACCEPT :

Теперь вам нужно установить политику по умолчанию для цепочки POSTROUTING в таблице nat и правило маскарада. Для этого откройте файл /etc/ufw/before.rules и добавьте строки, выделенные желтым, как показано ниже:

Добавьте следующие строки:

Не забудьте заменить eth0 в строке -A POSTROUTING чтобы он соответствовал имени публичного сетевого интерфейса:

Когда вы закончите, сохраните и закройте файл.

Наконец, перезагрузите правила UFW, отключив и снова включив UFW:

Выводы

Мы показали вам, как установить и настроить брандмауэр UFW на вашем сервере Ubuntu 20.04. Обязательно разрешите все входящие соединения, которые необходимы для правильного функционирования вашей системы, ограничив при этом все ненужные соединения.

Для получения дополнительной информации по этой теме посетитесправочную страницу UFW .

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Источник

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