Открыть порт linux ufw

Управление портами в Linux (Ubuntu/Debian/CentOS)

Как много времени проходит с момента заказа сервера на хостинге до первого подключения к готовому серверу? Несколько минут. На сколько полученный сервер готов к тому, чтобы использовать его на полную? На 100%. Ну или почти на 100. Точнее, совсем не на 100. Новый сервер подобен новорождённому ребёнку. У него одежды, нет приобретённого иммунитета и нет почти никаких навыков. Он уязвим для любого внешнего воздействия. И защиту от окружающих угроз мы должны ему дать. Наш новый сервер на начальном этапе не готов противостоять всему, что приходит к нему извне. А значит, его необходимо оснастить защитой. Такая защита для сервера – брандмауэр, или файрвол (firewall), или межсетевой экран.

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

Управление портами в Ubuntu и Debian

В операционных системах Ubuntu и Debian для управления брандмауэром довольно часто применяется утилита iptables. Её упрощённым интерфейсом является UFW (Uncomplicated Firewall). Открытие доступа к серверу для какого-либо приложения происходит путём регистрации этого приложения в UFW.

В Ubuntu интерфейс UFW как правило присутствует по умолчанию, в Debian же необходимо будет сначала его проинсталлировать. Перед установкой брандмауэра рекомендуется обновить репозитории:

$ sudo apt update $ sudo apt install ufw

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

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

Эту команду также можно применить используя соответствующий номер порта вместо имени протокола. Для ssh это, как правило, порт 22:

В Ubuntu команда для разрешения подключения по ssh выглядит как:

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

Теперь, можно добавить в UFW правило, которое позволит разрешить передачу данных, например, по порту 80, или другими словами, при помощи протокола http . Это можно прописать командой:

По аналогии можно также разрешить трафик с использованием порта 443, то есть по протоколу https :

Подобными инструкциями можно давать разрешения для подключений, использующих несколько портов. Например, так выглядит команда на открытие целого диапазона портов (32810-32814):

$ sudo ufw allow 32810:32814/udp

Также, помимо номеров портов и названий протоколов, в разрешительных правилах есть возможность использовать IP-адреса. Вот как выглядит команда, разрешающая подключение только с IP-адреса 10.10.10.233:

$ sudo ufw allow from 10.10.10.233

Или из одной определённой подсети:

$ sudo ufw allow from 10.10.10.0/24

Или с одного определённого IP-адреса и только по одному определённому порту:

$ sudo ufw allow from 10.10.10.233 to any port 22

Естественно существует возможность и закрыть доступ для уже открытого подключения через определённый порт. Для этого используется команда deny . Следующей командой можно запретить подключения по протоколу http :

Читайте также:  Start mysql server on linux

Инструкция для закрытия всех подключений с определённого IP-адреса выглядит следующим образом:

$ sudo ufw deny from 10.10.10.233

где 10.10.10.233 – IP-адрес, для которого будут закрыты все соединения на наш сервер.

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

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

Вывод команды sudo ufw status numbered - Управление портами в Linux

Номера правил указаны в скобках в начале строки. Например, правило для подключения по 443-му порту имеет номер 3. Исходя из этого, команда для удаления этого правила будет выглядеть как:

То же самое можно сделать командой:

$ sudo ufw delete allow 443/tcp

Посмотреть текущее состояние межсетевого экрана позволяет команда:

Просмотр статуса UFW

Для отключения брандмауэра служит следующая инструкция:

Управление портами в Centos

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

$ sudo dnf update -y $ sudo dnf install firewalld -y

Если окажется, что firewalld уже был установлен в системе, команда вернёт следующее сообщение:

Сообщение об уже установленном firewalld

Текущее состояние службы можно увидеть набрав команду:

$ systemctl status firewalld

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

Просмотр статуса firewalld

Список приложений, которым доступ в firewalld уже предоставлен, можно увидеть с помощью команды:

$ sudo firewall-cmd --permanent --list-all 

Такие приложения перечислены в строке services :

Вывод команды sudo firewall-cmd --permanent --list-all

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

$ sudo firewall-cmd --permanent --add-service=http

Этот протокол должен добавиться в строку services :

Вывод команды sudo firewall-cmd --permanent --list-all - Управление портами в Linux

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

$ sudo firewall-cmd --permanent --add-service=https

Вывод команды sudo firewall-cmd --permanent --list-all - Управление портами в Linux

В firewalld также есть возможность предоставить доступ для подключений по определённому порту. Так, например, будет выглядеть команда для открытия доступа по udp-порту 32810:

$ sudo firewall-cmd --zone=public --add-port=32810/udp

А так пишется команда для открытия доступа по пулу портов, например, для udp-портов с 32811 по 32814:

$ sudo firewall-cmd --zone=public --add-port=32811-32814/udp

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

$ sudo firewall-cmd --zone=public --list-ports

Список открытых портов в firewalld

Доступ для подключений по определённому порту можно также и заблокировать. Например, закрытие доступа по udp-порту 32814 осуществляется командой:

$ sudo firewall-cmd --zone=public --remove-port=32814/udp

И наконец, для применения всех внесённых изменений, брандмауэр необходимо перезапустить:

Заключение

Итак, мы рассмотрели установку и запуск межсетевых экранов в операционных системах Linux, таких как Ubuntu, Debian и Centos. А также, мы научились открывать доступ для подключений к нашему серверу через определённые порты и протоколы.

Читайте также:  Неканонический режим работы терминала linux

Источник

Настройка фаервола в Ubuntu с помощью утилиты UFW

Рассмотрим основные команды и правила работы с утилитой UFW.

Введение

UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

Предварительные требования

  1. Для начала работы с UFW вам потребуется суперпользователь( возможность исполнения команд под sudo).
  2. Утилита UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее с помощью команды:

Проверка правил и текущего состояния UFW

В любое время вы можете проверить состояние UFW с помощью команды:

По умолчанию UFW отключен, так что вы должны увидеть что-то вроде этого:

Если UFW включен, то в консоли будут перечисляться заданные правила. Например, если firewall настроен таким образом — SSH (порт 22) соединение из любой точки мира, консоль может выглядеть следующим образом:

Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6) 

Так вы всегда можете узнать как настроен фаервол.

Внимание! Проведите начальную настройку перед включением UFW. В частности, должен быть доступен SSH(22 порт). В ином случае вы рискуете потерять доступ к серверу.

Начальная настройка

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

Cоответствующие правила фаервола прописываются так:

sudo ufw default deny incoming sudo ufw default allow outgoing

Добавление правила для SSH-соединений

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

SSH демон прослушивает 22 порт. UFW знает об именах распространенных служб (ssh, sftp, http, https), поэтому вы можете использовать их вместо номера порта.

Если ваш SSH-демон использует другой порт, вам необходимо указать его в явном виде, например:

Теперь, когда ваш межсетевой экран настроен, можете включать его.

Запуск UFW

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

Вы получите похожее предупреждение:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? 

Это означает, что запуск этого сервиса может разорвать текущее ssh соединение.
Но, так как мы его уже добавили ssh в правила, этого не произойдет. Поэтому просто нажмите (y).

Добавление правил для других подключений

Чтобы ваши приложения работали корректно, вам необходимо добавить другие правила. Ниже будут показаны настроить для наиболее распространённых служб.

Читайте также:  Netstat all listening ports linux

HTTP (80 порт)

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

HTTPS (443 порт)

То же самое, что и в предыдущем примере, но для зашифрованных соединений:

FTP (21 порт)

Данный порт используется для незашифрованной передачи файлов:

Добавление диапазонов портов

Также вы можете указывать конкретный протокол:

sudo ufw allow 3000:3100/tcp sudo ufw allow 3000:3100/udp

Добавление IP-адресов

Вs можете указать IP-адрес, которому будет разрешен доступ.

sudo ufw allow from 123.45.67.89

В приведенном примере указанному адресу разрешается доступ ко всем портам сервера.

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

sudo ufw allow from 123.45.67.89 to any port 22

Аналогичным образом вы можете работать с диапазонами IP-адресов:

sudo ufw allow from 123.45.67.89/24 sudo ufw allow from 123.45.67.89/24 to any port 22

Ограничение подключений

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

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

sudo ufw deny from 123.45.67.89

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

Существует два способа удаления правил. Первый — по номеру правила. Выполните команду:

Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 80 ALLOW IN Anywhere [ 3] 22 (v6) ALLOW IN Anywhere (v6) [ 4] 80 (v6) ALLOW IN Anywhere (v6)

После этого выполните команду ufw delete и укажите номер правила, которое следует удалить:

Второй способ заключается в том, что после команды ufw delete используется фактическое правило, например:

sudo ufw delete allow http

Отключение UFW

Отключить UFW можно при помощи команды:

В результате ее выполнения все созданные ранее правила утратят силу.

Сброс правил

Если вам требуется сбросить текущие настройки, воспользуйтесь командой:

В результате ее выполнения все правила будут отключены и удалены.

Логи

В Ufw есть опция сохранения логов — журнал событий. Для запуска, используйте команду:

Ufw поддерживает нескоько уровней логгирования:

  • off — отключен.
  • low — регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам.
  • medium — все то, что при значении low. Плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости.
  • high — работает также как и medium. Плюс все пакеты с ограничением скорости.
  • full — также как и high, но без ограниения скорости.

Чтобы задать уровень, укажите его как параметр:

По умолчанию используется уровень low.

Для просмотра файлов относящихся с логам ufw используйте команду:

Заключение

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

Зарегистрируйтесь в панели управления

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

Источник

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