- Как открыть порт в Ubuntu / Debian
- UFW: это простой брандмауэр на Ubuntu / Debian
- Включение UFW на Ubuntu / Debian
- Открытие порт в Ubuntu / Debian с помощью UFW
- Открыть порт в Ubuntu / Debian, указав системную службу
- Закрыть порт UFW в Ubuntu и Debian
- Заключение
- Управление портами в Linux (Ubuntu/Debian/CentOS)
- Управление портами в Ubuntu и Debian
- Управление портами в Centos
- Заключение
Как открыть порт в Ubuntu / Debian
Здравствуйте, друзья. Если у вас есть сервер или компьютер, тогда вам требуется Firewall. Firewall добавит дополнительный уровень безопасности вашей системе. С помощью брандмауэра (Firewall) вы можете открыть любой порт на Ubuntu / Debian и контролировать доступ к вашему компьютеру. В этом посте мы покажем как открыть порты в Ubuntu / Debian.
UFW: это простой брандмауэр на Ubuntu / Debian
По умолчанию брандмауэром Linux является IPTables. Хотя это очень эффективное и гибкое приложение, правда в том, что им сложно управлять. Поэтому сообщество создало не менее эффективные, но более простые в использовании альтернативы, такие как UFW.
Вкратце, UFW означает Uncomplicated Firewall и является своего рода Front-end для IPTables, но предназначенный для Ubuntu / Debian. С его помощью вы можете быстро и легко настраивать правила и открывать порты в системе.
Когда вы включаете UFW, он использует набор правил (профиль) по умолчанию, который должен быть подходящим для среднего домашнего пользователя. Короче говоря, все «входящие» запрещены, с некоторыми исключениями, чтобы облегчить жизнь домашним пользователям. Однако все эти настройки можно изменить и адаптировать к вашим потребностям.
Одна из основных и необходимых операций, которые мы можем выполнить с помощью UFW — это открытие портов. Это требуется для того чтобы приложение или служба могли использовать нашу сеть как для входящих, так и для исходящих соединений.,
Итак, давайте мы вам покажем, как открыть порты в Ubuntu / Debian с помощью UFW.
Включение UFW на Ubuntu / Debian
В официальной документации по UFW сказано, что по умолчанию UFW отключен. Давайте проверим это, выполните следующую команду:
Скорее всего, вы увидите на экране ответ похожий на этот:
Как вы поняли первым шагом перед настройкой UFW является его включение. Для того чтоб включить UFW выделите следующую команду.
Вы должны увидеть следующий экран:
По английски это звучит как-то так «he firewall is active and enabled on system startup»
Если вы снова проверите статус службы, вы должны получить следующий результат
Теперь UFW активен в системе. Далее мы можем начать работать с UFW и открыть нужные нам порты.
Открытие порт в Ubuntu / Debian с помощью UFW
С помощью UFW мы можем начать открывать порты. Существует несколько способов сделать это, но все они одинаково просты.
Перед началом работы всегда полезно быть осторожным с портами, которые вы собираетесь открывать. Многие приложения могут использовать его и через них получать важную информацию. Некоторые порты наоборот сделают брешь в вашей системе. Так что будьте очень осторожны.
Итак, если на вашем компьютере работают службы баз данных, SSH или FTP, то вам может понадобиться открыть эти порты. Если у вас не работают эти службы, то я не рекомендую их открывать.
Заканчиваем мат. чать и приступаем.
Чтобы открыть порт с в UFW, мы должны следовать следующему основному синтаксису:
Например, если мы хотим открыть порт 80, через который работает HTTP. Требуется выполнить вот такую команду:
Вы получите ответ в терминале подобное этому:
В данном случае порт 80 был открыт в обоих протоколах TCP и UDP.
Также можно указать протокол и порт, который будет открыт. Это очень полезно для контроля трафика.
Если например вы хотите открыть порт 85, но только для протокола TCP, то вам нужно выполнить следующую команду.
А если требуется открыть UDP порт, тогда команда будет такой.
В обоих случаях вы получите ответ, похожий на этот:
Открыть порт в Ubuntu / Debian, указав системную службу
Некоторые службы и профили определены в UFW. Эти службы используют определенный порт, поэтому мы также можем открыть порты с помощью названия службы. Это очень удобно новичкам, которые не знают какая служба какой порт использует.
Итак, чтобы открыть порты с помощью этого метода, нам нужно использовать следующий синтаксис:
И вы должны получить следующий результат:
В данном примере будет открыт порт 22, который является портом, используемым SSH.
Если вы хотите узнать, какие еще службы вы можете использовать, вы можете ознакомиться с ними, введя команду.
Вот так все просто, данная команда покажет все основные службы и порты которые та или иная служба использует.
Закрыть порт UFW в Ubuntu и Debian
Как открыть мы показали, а теперь я покажу вам обратный процесс. Синтаксис аналогичен. Нам требуется просто изменить одно слово в команде с «allow» на «deny«. Например чтоб запретить доступ к порту 80 введите команду.
Данная команда закроет порт 80 как на TCP, так и UDP. Так же как и в разрешающей команде можно использовать протоколы порта, TCP и UDP.
Аналогично вы можете сделать то же самое и для служб. Например закрыть порты службы SSH, можно командой.
Ответ в терминале будет таким:
Таким образом, вы можете контролировать входящий трафик.
Заключение
Благодаря UFW открыть порт в Ubuntu / Debian очень легко. В этой инструкции мы показали как открыть или закрыть определенный порт в Ubuntu или Debian.
Управление портами в 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 :
Инструкция для закрытия всех подключений с определённого IP-адреса выглядит следующим образом:
$ sudo ufw deny from
10.10.10.233
где 10.10.10.233 – IP-адрес, для которого будут закрыты все соединения на наш сервер.
Уже созданные правила можно также удалить. Сделать это можно по номеру правила. Чтобы узнать номера правил, используйте следующую команду:
Вывод данной команды выглядит следующим образом:
Номера правил указаны в скобках в начале строки. Например, правило для подключения по 443-му порту имеет номер 3. Исходя из этого, команда для удаления этого правила будет выглядеть как:
То же самое можно сделать командой:
$ sudo ufw delete allow 443/tcp
Посмотреть текущее состояние межсетевого экрана позволяет команда:
Для отключения брандмауэра служит следующая инструкция:
Управление портами в Centos
Клиентским интерфейсом для работы с межсетевым экраном в Centos является программа firewalld. Как правило, firewalld уже по умолчанию входит в состав служб Centos. Но если вдруг это не так, для его установки используйте следующие команды:
$ sudo dnf update -y
$ sudo dnf install firewalld -y
Если окажется, что firewalld уже был установлен в системе, команда вернёт следующее сообщение:
Текущее состояние службы можно увидеть набрав команду:
$ systemctl status firewalld
Если служба работает штатно, то вывод команды будет выглядеть так:
Список приложений, которым доступ в firewalld уже предоставлен, можно увидеть с помощью команды:
$ sudo firewall-cmd --permanent --list-all
Такие приложения перечислены в строке services :
Чтобы предоставить приложению или протоколу, например, http , возможность производить подключения к нашему серверу, необходимо использовать команду следующего вида:
$ sudo firewall-cmd --permanent --add-service=http
Этот протокол должен добавиться в строку services :
Аналогичным образом можно открыть доступ для подключений к серверу по протоколу https :
$ sudo firewall-cmd --permanent --add-service=http
s
В 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
Доступ для подключений по определённому порту можно также и заблокировать. Например, закрытие доступа по udp-порту 32814 осуществляется командой:
$ sudo firewall-cmd --zone=public --remove-port=32814/
udp
И наконец, для применения всех внесённых изменений, брандмауэр необходимо перезапустить:
Заключение
Итак, мы рассмотрели установку и запуск межсетевых экранов в операционных системах Linux, таких как Ubuntu, Debian и Centos. А также, мы научились открывать доступ для подключений к нашему серверу через определённые порты и протоколы.