- Открытие портов в Linux
- Открываем порты в Linux
- Шаг 1: Установка Iptables и просмотр правил
- Шаг 2: Разрешение обмена данными
- Шаг 3: Открытие необходимых портов
- Как настроить брандмауэр с UFW в Debian 10
- Подготовка
- Установка UFW
- Проверка статуса UFW
- Политики UFW по умолчанию
- Профили приложений
- Разрешить SSH-подключения
- Включить UFW
- Открытие портов
- Открытый порт 80 — HTTP
- Открытый порт 443 — HTTPS
- Открытый порт 8080
- Открытие портовых диапазонов
- Разрешение определенных IP-адресов
- Разрешение определенных IP-адресов на определенном порту
- Разрешение подсетей
- Разрешить подключения к определенному сетевому интерфейсу
- Запретить подключения
- Удалить правила UFW
- Отключить UFW
- Сбросить UFW
- Выводы
Открытие портов в Linux
Безопасное соединение узлов сети и обмен информацией между ними напрямую связан с открытыми портами. Подключение и передача трафика производится именно через определенный порт, а если в системе он закрыт, выполнить такой процесс не представится возможным. Из-за этого некоторые пользователи заинтересованы в пробросе одного или нескольких номеров для наладки взаимодействия устройств. Сегодня мы покажем, как выполняется поставленная задача в операционных системах, основанных на ядре Linux.
Открываем порты в Linux
Хоть во многих дистрибутивах по умолчанию присутствует встроенный инструмент по управлению сетями, все же такие решения часто не позволяют в полной мере осуществить настройку открытия портов. Инструкции данной статьи будут основаны на дополнительном приложении под названием Iptables — решение для редактирования параметров межсетевого экрана с использованием прав суперпользователя. Во всех сборках ОС на Линуксе она работает одинаково, разве что отличается команда для установки, но об этом мы поговорим ниже.
Если вы хотите узнать, какие из портов уже открыты на компьютере, вы можете воспользоваться встроенной или дополнительной утилитой консоли. Детальные инструкции по поиску необходимой информации вы найдете в другой нашей статье, перейдя по следующей ссылке, а мы же приступаем к пошаговому разбору открытия портов.
Шаг 1: Установка Iptables и просмотр правил
Утилита Iptables изначально не входит в состав операционной системы, из-за чего ее нужно самостоятельно инсталлировать из официального репозитория, а уже потом работать с правилами и всячески изменять их. Установка не занимает много времени и выполняется через стандартную консоль.
- Откройте меню и запустите «Терминал». Сделать это также можно, используя стандартную горячую клавишу Ctrl + Alt + T.
Активируйте права суперпользователя, написав пароль от своей учетной записи. Обратите внимание, что символы во время ввода не отображаются, сделано это для обеспечения безопасности.
Ожидайте завершения инсталляции и можете убедиться в активности работы инструмента, просмотрев стандартный список правил, задействовав sudo iptables -L .
Как видите, в дистрибутиве теперь появилась команда iptables , отвечающая за управление одноименной утилитой. Еще раз напомним, что работает этот инструмент от прав суперпользователя, поэтому в строке обязательно должна содержаться приставка sudo , а уже потом остальные значения и аргументы.
Шаг 2: Разрешение обмена данными
Никакие порты не будут нормально функционировать, если утилита запрещает обмен информацией на уровне собственных правил межсетевого экрана. Кроме всего, отсутствие необходимых правил в дальнейшем может вызывать появление различных ошибок при пробросе, поэтому мы настоятельно советуем выполнить следующие действия:
- Убедитесь, что в конфигурационном файле отсутствуют какие-либо правила. Лучше сразу же прописать команду для их удаления, а выглядит она так: sudo iptables -F .
Теперь добавляем правило для вводимых данных на локальном компьютере, вставив строку sudo iptables -A INPUT -i lo -j ACCEPT .
Примерно такая же команда — sudo iptables -A OUTPUT -o lo -j ACCEPT — отвечает за новое правило для отправки информации.
Осталось только обеспечить нормальное взаимодействие указанных выше правил, чтобы сервер смог отправлять обратно пакеты. Для этого нужно запретить новые соединения, а старые — разрешить. Производится это через sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT .
Благодаря указанным выше параметрам вы обеспечили корректную отправку и прием данных, что позволит без проблем взаимодействовать с сервером или другим компьютером. Осталось только открыть порты, через которые и будет осуществляться то самое взаимодействие.
Шаг 3: Открытие необходимых портов
Вы уже ознакомлены с тем, по какому принципу добавляются новые правила в конфигурацию Iptables. Существуют и несколько аргументов, позволяющих открыть определенные порты. Давайте разберем эту процедуру на примере популярных портов под номерами 22 и 80.
- Запустите консоль и введите туда две следующие команды поочередно:
sudo iptables -A INPUT -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. Советуем обязательно следить за появляющимися строками в консоли при вводе команд, это поможет вовремя обнаружить какие-либо ошибки и оперативно устранить их.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Как настроить брандмауэр с UFW в Debian 10
Правильно настроенный брандмауэр — один из наиболее важных аспектов общей безопасности системы.
UFW (несложный брандмауэр) — это удобный интерфейс для управления правилами брандмауэра iptables. Его основная цель — сделать управление iptables проще или, как следует из названия, несложным.
В этой статье описывается, как настроить брандмауэр с UFW в Debian 10.
Подготовка
Только root или пользователь с привилегиями sudo может управлять системным брандмауэром.
Установка UFW
Введите следующую команду, чтобы установить пакет ufw :
Проверка статуса UFW
Установка не активирует брандмауэр автоматически, чтобы избежать блокировки сервера. Вы можете проверить статус UFW, набрав:
Результат будет выглядеть так:
Если UFW активирован, вывод будет выглядеть примерно так:
Политики UFW по умолчанию
По умолчанию UFW блокирует все входящие соединения и разрешает все исходящие соединения. Это означает, что любой, кто пытается получить доступ к вашему серверу, не сможет подключиться, если вы специально не откроете порт. Приложения и службы, работающие на сервере, смогут получить доступ к внешнему миру.
Политики по умолчанию определены в /etc/default/ufw и могут быть изменены с помощью команды sudo ufw default
Политики брандмауэра являются основой для создания более подробных и определяемых пользователем правил. Как правило, исходные политики по умолчанию UFW являются хорошей отправной точкой.
Профили приложений
Большинство приложений поставляются с профилем приложения, который описывает службу и содержит настройки UFW. Профиль автоматически создается в каталоге /etc/ufw/applications.d во время установки пакета.
Чтобы вывести список всех профилей приложений, доступных в вашей системе, введите:
В зависимости от пакетов, установленных в вашей системе, вывод будет выглядеть следующим образом:
Чтобы найти дополнительную информацию о конкретном профиле и включенных правилах, используйте команду app info , после которой укажите имя профиля. Например, чтобы получить информацию о профиле OpenSSH, вы должны использовать:
Вывод включает имя профиля, заголовок, описание и правила брандмауэра.
Разрешить SSH-подключения
Перед включением брандмауэра UFW необходимо разрешить входящие соединения SSH.
Если вы подключаетесь к своему серверу из удаленного места и включаете брандмауэр UFW перед тем, как явно разрешить входящие соединения SSH, вы больше не сможете подключиться к своему серверу Debian.
Чтобы настроить брандмауэр UFW на прием SSH-подключений, выполните следующую команду:
Если SSH-сервер прослушивает порт, отличный от порта по умолчанию 22, вам нужно будет открыть этот порт.
Например, ваш ssh-сервер прослушивает порт 7722 , вы должны выполнить:
Включить UFW
Теперь, когда брандмауэр UFW настроен на разрешение входящих соединений SSH, включите его, запустив:
Вы будете предупреждены, что включение брандмауэра может нарушить существующие соединения ssh. Введите «y» и нажмите «Enter».
Открытие портов
В зависимости от приложений, которые работают на вашем сервере, вам необходимо открыть порты, на которых работают службы.
Ниже приведены несколько примеров того, как разрешить входящие соединения с некоторыми из наиболее распространенных служб:
Открытый порт 80 — HTTP
Вместо профиля http вы можете использовать номер порта 80 :
Открытый порт 443 — HTTPS
Вы также можете использовать номер порта 443 :
Открытый порт 8080
Если вы запустите Tomcat или любое другое приложение, которое прослушивает порт 8080 откройте порт с помощью:
Открытие портовых диапазонов
С помощью UFW вы также можете разрешить доступ к диапазонам портов. При открытии диапазона необходимо указать протокол порта.
Например, чтобы разрешить порты с 7100 по 7200 как на tcp и на udp , выполните следующую команду:
Разрешение определенных IP-адресов
Чтобы разрешить доступ ко всем портам с определенного IP-адреса, используйте команду ufw allow from за которой следует IP-адрес:
Разрешение определенных IP-адресов на определенном порту
Чтобы разрешить доступ к определенному порту, допустим, порт 22 с вашего рабочего компьютера с IP-адресом 64.63.62.61, используйте следующую команду:
Разрешение подсетей
Команда для разрешения подключения из подсети IP-адресов такая же, как и при использовании одного IP-адреса. Единственное отличие состоит в том, что вам нужно указать маску сети. Например, если вы хотите разрешить доступ для IP-адресов от 192.168.1.1 до 192.168.1.254 и до порта 3360 ( MySQL ), вы можете использовать эту команду:
Разрешить подключения к определенному сетевому интерфейсу
Чтобы разрешить доступ к определенному порту, скажем, порт 3360 только к определенному сетевому интерфейсу eth2 , используйте eth2 allow in on и имя сетевого интерфейса:
Запретить подключения
По умолчанию для всех входящих подключений задана политика deny , что означает, что UFW будет блокировать все входящие подключения, если вы специально не откроете подключение.
Допустим, вы открыли порты 80 и 443 , и ваш сервер подвергается атаке из сети 23.24.25.0/24 . Чтобы запретить все соединения с 23.24.25.0/24 , используйте следующую команду:
Если вы хотите запретить доступ только к портам 80 и 443 из 23.24.25.0/24 используйте:
Написание запрещающих правил аналогично написанию разрешающих правил. Вам нужно только заменить allow на deny .
Удалить правила UFW
Есть два разных способа удалить правила UFW. По номеру правила и указав фактическое правило.
Удаление правил UFW по номеру правила проще, особенно если вы новичок в UFW.
Чтобы сначала удалить правило по его номеру, вам нужно найти номер правила, которое вы хотите удалить. Для этого выполните следующую команду:
Чтобы удалить правило номер 3, правило, разрешающее подключения к порту 8080, вы можете использовать следующую команду:
Второй способ — удалить правило, указав фактическое правило. Например, если вы добавили правило для открытия порта 8069 вы можете удалить его с помощью:
Отключить UFW
Если по какой-либо причине вы хотите остановить UFW и деактивировать все правила, выполните:
Позже, если вы захотите снова включить UTF и активировать все правила, просто введите:
Сбросить UFW
Сброс UFW отключит UFW и удалит все активные правила. Это полезно, если вы хотите отменить все изменения и начать все заново.
Чтобы сбросить UFW, просто введите следующую команду:
Выводы
Вы узнали, как установить и настроить брандмауэр UFW на вашем компьютере с Debian 10. Обязательно разрешите все входящие соединения, которые необходимы для правильного функционирования вашей системы, ограничив при этом все ненужные соединения.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
Источник