Ubuntu как открыть доступ по порту

Брандмауэры

Содержание

Брандмауэры

Введение

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

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

ufw: простой брандмауэр

Инструмент настройки брандмауэра по умолчанию в Ubuntu это тьфу Он предназначен для простой настройки iptables и обеспечивает простой способ создания брандмауэров как для IPv4, так и для IPv6.

Ufw отключен по умолчанию. Со страницы руководства ufw:

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

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

1. Сначала вам нужно включить ufw. Войдите в терминал:

2 . Откройте порт (в данном примере SSH):

3. Можно добавить правила. используя числовой формат:

4. Вы можете закрыть открытый порт следующим образом:

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

6. Вы также можете разрешить доступ к порту с конкретных компов или шить. В следующем примере разрешается доступ по SSH с адреса 192.168.0.2 к любому IP-адресу на этом компьютере:

Замените 192.168.0.2 на 192.168.0.0/24, чтобы включить доступ по SSH для всей подсети.

7 .Добавить опцию –dry-run к команде ufw выведет список правил, но не применит их. В следующем примере показано, что будет использоваться, если порт HTTP будет открыт:

8 . ufw можно отключить командой:

9. Отобразить состояние защиты сети:

10. Для более полного отображения информации введите:

11. Если вы хотите отображать формат с номером :

Это просто краткое описание того, как использовать ufw. Дополнительные сведения см. на справочной странице ufw.

Интеграция приложений Ufw

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

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

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

3. Также существует расширенный синтаксис:

Замените на Samba и 192.168.0.0/24 используемый вами профиль и диапазон IP-адресов вашего сетей.

4. Чтобы просмотреть сведения о портах, протоколах и т. д., определенных для приложения, введите:

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

Маскарадинг IP

Назначение IP Маскарадинг позволяет компьютерам с частными немаршрутизируемыми IP-адресами в вашей сети получать доступ в Интернет через маскирующий компьютер. Чтобы правильный ответ был отправлен именно на тот компьютер, который отправил запрос, трафик из вашей частной сети должен корректно транслироваться в Интернет. Для этого ядро ​​модифицирует заголовок каждого пакета, чтобы ответ направлялся на правильный компьютер, а не на частный IP-адрес, отправивший запрос, что невозможно в Интернете. Linux использует отслеживание соединений (conntrack), чтобы отслеживать каждое соединение как принадлежащее соответствующим компьютерам и пересылать каждый возвращенный пакет. Трафик, покидающий вашу частную сеть, «маскируется» под исходящий от вашего шлюза Ubuntu. В документации Microsoft этот процесс известен как общий доступ к подключению к Интернету.

Читайте также:  Red dead redemption 2 как открыть охота за головами

Маскировка ufw

Маскировка IP-адресов может быть достигнута с помощью различных правил ufw. Это стало возможным благодаря добавлению ufw, который представляет собой iptables-restore с файлами правил, расположенными в /etc/ufw/*.rules. Эти файлы — отличный способ добавить правила в iptables без использования ufw, а также правила, которые более свободно взаимодействуют с путем подключения шлюза или моста.

Эти правила разделены на два разных файла сценариев, один из которых запускается с ufw перед списком правил, а другой — после списка правил.

1. Во-первых, в ufw должно быть включено перенаправление. Для этого нужно изменить настройки в двух файлах, в /etc/default/ufw изменить DEFAULT_FORWARD_POLICY на «ACCEPT»:

Затем отредактировать /etc/ufw/sysctl.conf следующим образом:

То же самое для IPv6:

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

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

Для каждой таблицы наличие COMMIT оператор, соответствующий этому (применение изменений). В этих примерах показаны только таблицы nat и filter, но вы также можете добавить правила для таблиц raw и mangle.

3. Наконец, отключите и снова включите ufw, чтобы изменения вступили в силу:

Теперь должно быть включено IP-маскирование. Вы также можете добавить дополнительные правила FORWARD в файл /etc/ufw/before.rules. Эти дополнительные правила рекомендуется добавить в строку/раздел (string) ufw-before-forward .

iptables masquerade

Iptables также можно использовать для маскировки соединений

1. Как и в случае с ufw, мы должны сначала включить переадресацию для IPv4, отредактировав следующий файл /etc/sysctl.conf и раскомментировав строку:

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

2. Затем запустите команду sysctl, чтобы применить новые настройки в файле конфигурации:

3. Теперь IP настройки маскирования можно выполнить с помощью одной команды, которая может немного отличаться в зависимости от конфигурации вашей сети:

После выполнения этой команды вы можете предположить, что ваша частная сеть имеет адрес 192.168.0.0/16 и сетевую карту с выходом в интернет — ppp0. Синтаксис определяется следующим образом:

1. -t nat — правило применяется к таблице nat

2. -A POSTROUTING — правило агрегирования ( -A) для строки POSTROUTING

3. -s 192.168.0.0/16: правило применяется к трафику, исходящему из этого адресного пространства

4. -o ppp0: правило применяется к трафику, который должен пересылаться через этот интерфейс

5. -j MASQUERADE — операция, соответствующая этому правилу, имеет «переход» (-j) в строке MASQUERADE для дальнейших действий, как описано выше

4. Кроме того, каждая строка в таблице filter (цепочка, в которой фильтруется большинство пакетов) по умолчанию имеет правило ACCEPT, но если вы настраиваете брандмауэр для создания шлюза, вы должны выбрать политику DROP или REJECT, и в этом случае ваш «маскированный» трафик должен пройти по цепочке ВПЕРЕД к вышеуказанным правилам work:

Читайте также:  375 тысяч на покупку автомобиля от государства 2022 как получить году для физических лиц

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

Если вы хотите, чтобы маскирование работало даже после перезагрузки компьютера, отредактируйте файл /etc/rc.local и добавьте туда указанные выше команды. Например, добавьте первую команду без параметров фильтра:

Журналы

Журналы брандмауэра необходимы для обнаружения атак, возникающих проблем с политиками и обнаружения чрезмерной активности в вашей сети. В конфигурации брандмауэра необходимо включить ведение журнала правил, которые должны быть указаны перед списком правил (правила, определяющие назначение пакета, такие как ПРИНЯТЬ, УДАЛИТЬ или ОТКЛОНИТЬ).

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

Чтобы отключить ведение журнала ufw, просто измените значение с on на off.

Для iptables введите:

In this In this случае сначала приходит запрос на порт 80 от компьютера в локальной сети, затем в dmesg формируется лог-файл, аналогичный этому (одна строка разбивается на три для корректного отображения на экране):

Это текст журнала также появляется в /var/log/messages, /var/log/syslog и /var/log/kern.log. Эти параметры можно изменить, отредактировав файл /etc/syslog.conf аналогичным образом или установив и настроив ulogd и используя ULOG вместо LOG. Демон ulogd — это пользовательский сервер, который слушает инструкции ядра для дальнейшего ведения журнала., особенно для брандмауэров, и может даже регистрировать базы данных PostgreSQL или MySQL. Если вы хотите легко понять файлы журнала, вы можете использовать их анализаторы, такие как logwatch, fwanalog, fwlogwatch или lire.

Дополнительные инструменты

Существует множество инструментов, которые помогут вам создать полноценный брандмауэр. ни один из них не требовал глубоких знаний iptables.

Работа с интерфейсом:

1. fwbuilder — очень мощный инструмент для настройки проприетарных продуктов, таких как Checkpoint FireWall-1

Если вы предпочитаете утилиты командной строки со списком файлов конфигурации:

2. Shorewall — мощное решение, которое поможет вам создать серьезный брандмауэр для любого типа вашей сети.

Ссылки

1. Вики-страница брандмауэра Ubuntu содержит основную информацию о работе с ufw.

2. Также посетите справочную страницу ufw, которая содержит много полезной информации: man ufw .

3. Дополнительную информацию об использовании iptables см. в разделе Как фильтровать пакеты.

4. Nat-HOWTO содержит полное описание маскировки соединения.

5 . IPTables HowTo Ubuntu Wiki также является отличным ресурсом.

Ресурс

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

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

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

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

Читайте также:  Как мне получить участок на третьего ребенка

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

Шаг 1: Установите Iptables и просмотрите rules

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

    Откройте меню и запустите «Терминал» . Также это можно сделать с помощью стандартного сочетания клавиш Ctrl+Alt+T .

Как видите, в дистрибутиве появилась команда iptables, отвечающая за управление одноименной утилитой. Снова напоминаем, что этот инструмент работает с root-правами, поэтому строка должна содержать префикс sudo и только потом остальные значения и аргументы.

Шаг 2: включить связь

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

  1. Убедитесь, что в конфигурационном файле отсутствуют правила. Лучше сразу написать команду на их удаление, а выглядит это так: sudo iptables -F.
  2. Теперь добавьте правило ввода на локальный компьютер, введя строку sudo iptables -A INPUT -i lo -j ACCEPT.
  3. Примерно та же команда — sudo iptables -A OUTPUT -o lo -j ACCEPT — соответствует новому правилу отправки информации.

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

Шаг 3: Откройте нужные порты

Вы уже знакомы с принципом, по которому добавлять новые правила в конфигурация Iptables. Есть несколько аргументов, позволяющих открывать определенные порты. Давайте рассмотрим этот процесс на примере популярных портов 22 и 80.

    Запустите консоль и введите две следующие команды одновременно:

sudo iptables -A ВХОД — p tcp —dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp —dport 80 -j ACCEPT .

  • Теперь проверьте список правил, которые вы хотите создать, убедитесь, порты успешно проброшены. Для этого используется известная сейчас команда sudo iptables -L.
  • Сделайте его читабельным и вы сможете увидеть все детали с другим аргументом, поэтому строка будет выглядеть так: sudo iptables -nvL .
  • Измените политику на значение по умолчанию с помощью sudo iptables -P INPUT DROP, и вы готовы переключаться между узлами.
  • В случае, если администратор компьютера уже добавил в инструмент свои правила, организующие отбрасывание пакетов при подходе к точке, например с помощью sudo iptables -A INPUT -j DROP, вы нужно использовать другую команду sudo iptables: -I INPUT -p tcp — -dport 1924 -j ACCEPT , где 1924 — номер порта. Добавьте нужный порт в начало строки, и пакеты не будут отброшены.

    Затем вы можете ввести ту же строку sudo iptables -L, чтобы убедиться, что все настроено правильно.

    Теперь вы знаете, как перенаправляются порты операционных систем Linux на примере надстройки Iptables. Мы рекомендуем вам следить за строками, которые появляются в консоли при вводе команд, это поможет вам вовремя отловить любые ошибки и быстро их исправить.

    Источник

    Поделиться с друзьями
    Решатор