Ubuntu открыть порт 443

Обновлено: 06.07.2024

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

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

Перед тем, как начинать настраивать фаервол, необходимо авторизоваться под root. Если вы уже авторизованы под обычным пользователем в группе sudo , то перейти в root можно простой командой:

Если ввести команду с sudo не предоставляется возможности, тогда нужно ввести просто su , но для этого потребуется ввести пароль от root.

Установка iptables

Для начала убедимся, что утилита iptables установлена. Для этого введем команду iptables -h и если вывод будет command not found , значит утилиту требуется установить.

Установка iptables очень простая, для этого достаточно ввести:

Вместо apt может быть ваш вариант, который зависит от вашего дистрибутива и что там стоит по-умолчанию. Дожидаемся конца установки.

Основные настройки iptables для десктопа

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

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

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

Просмотр правил iptables

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

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

Как открыть порт в iptables

Чтобы разрешить подключаться к нашей ОС по SSH, нам потребуется разрешить подключение через порт 22, прописав правило в iptables:

Далее проверим все наши правила с помощью команды iptables -L

Как мы видим, появилось новое правило для ssh по стандартному порту 22. Теперь он открыт и можно подключаться, так как теперь блокируются все входящие соединения, кроме соединений по этому порту. О том, как подключаться к серверу по SSH, вы можете почитать здесь.

Как заблокировать IP адрес в iptables

Вместо используемого адреса в примере может быть любой, как внутренний, так и внешний. Проверим правила с помощью iptables -L

Как сохранить правила iptables

Одной из особенностей утилиты iptables является то, что прописанные правила полностью сбрасываются после перезагрузки системы. Самый простым способом сохранить настройки iptables будет поставить утилиту iptables-persistent . В debian и ubuntu это делается так, если вы по прежнему авторизованы под root:

Во время установки будет вопрос, сохранить ли текущие настройки iptables, пока выберем не сохранять, то есть No , потому что для начала нужно сохранить их в отдельный текстовый файл. В противном случае iptables-persistent ничего не сохранит.

После установки сохраним текущие настройки iptables в отдельный файл, который будет располагаться в папке утилиты:

А затем перезапустим службу iptables-persistent

То попробуйте перезапустить службу с другим названием:

В debian и ubuntu должен работать второй вариант.

Все, теперь можно смело перезагружать компьютер или сервер, все настройки iptables при это сохранятся.

Как откатить сохраненные правила iptables

Если вы ввели несколько правил по ошибке и хотите откатиться к тому набору правил, которые мы сохранили в файл в предыдущем разделе с помощью команды iptables-save , то для их восстановления достаточно ввести команду iptables-restore и указать пусть к этому файлу с сохраненными настройками:

Как удалить правило в iptables

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

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

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

Уникальный номер правила мы знаем, теперь смотрим название его цепочки:

Теперь выведем весь список и проверим удалилось ли правило:

Как мы видим, правило успешно удалилось.

Как сбросить все правила iptables

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

Теперь выведем список правил и проверим сбросились ли они:

Основные настройки iptables для веб-сервера

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

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

Теперь разрешим внутренние соединения с 127.0.0.1 (localhost), а также установленные соединения для приложений и пинга.

Добавим несколько дополнительных фильтров:

Далее откроем порт 22, чтобы была возможность подключаться к серверу по SSH:

Открываем порты для базовых сервисов веб-сервера:

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

Затем проверим все настройки командой iptables -L

И наконец стоит сохранить наши правила, чтобы они не испарились после перезагрузки сервера. Как это сделать, уже рассказано в разделе выше.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как открыть порт в Linux

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

Открываем порты в Linux

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

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

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

Запуск терминала через меню в операционной системе Linux

Команда для начала установки утилиты Iptables в Linux

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

Проверить список правил после успешной установки Iptables в Linux

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

Шаг 2: Разрешение обмена данными

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

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

Стереть присуствующие правила в конфигурации Iptables в Linux

Добавить первое пользовательское правило в Iptables в Linux

Добавить второе пользовательское правило Iptables в Linux

Добавить завершающее пользовательское правило в Iptables в Linux

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

Шаг 3: Открытие необходимых портов

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

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

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT .

Команды для проброса портов в Iptables в Linux

Проверить успешность проброшенных портов в Iptables в Linux

Детальная информация о проброшенных портах Iptables в Linux

Применить изменения для функционирования портов в Iptables в Linux

Проверить открытось порта в начале цепи Iptables в Linux

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

Команда для проброса порта в начало

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Подготовка

Прежде чем приступить к изучению этого руководства, убедитесь, что вы вошли на свой сервер с учетной записью пользователя с привилегиями sudo или с пользователем root. Лучше всего запускать административные команды от имени пользователя sudo, а не root. Если у вас нет пользователя sudo в вашей системе Ubuntu, вы можете создать его, следуя этим инструкциям .

Установить UFW

Несложный брандмауэр должен быть установлен по умолчанию в Ubuntu 18.04, но если он не установлен в вашей системе, вы можете установить пакет, набрав:

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

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

По умолчанию UFW отключен. Если вы никогда раньше не активировали UFW, результат будет выглядеть так:

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

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

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

Политики по умолчанию определены в /etc/default/ufw и могут быть изменены с помощью команды sudo ufw default <policy> <chain> .

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

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

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

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

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

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

Как видно из выходных данных, профиль Nginx Full открывает порт 80 и 443 .

Разрешить SSH-подключения

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

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

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

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

Включить UFW

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

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

Разрешить подключения к другим портам

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

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

Открытый порт 8080

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

Разрешить диапазоны портов

Вместо того, чтобы разрешать доступ к отдельным портам, UFW позволяет нам разрешать доступ к диапазонам портов. При разрешении диапазонов портов с помощью UFW необходимо указать протокол: tcp или udp . Например, если вы хотите разрешить порты с 7100 до 7200 как на tcp и на udp выполните следующую команду:

Разрешить определенные IP-адреса

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

Разрешить определенные IP-адреса на определенном порту

Чтобы разрешить доступ к определенному порту, скажем, порт 22 с вашего рабочего компьютера с IP-адресом 64.63.62.61, используйте to any port за которым следует номер порта:

Разрешить подсети

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

Разрешить подключения к определенному сетевому интерфейсу

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

Запретить подключения

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

Допустим, вы открыли порты 80 и 443 и ваш сервер 23.24.25.0/24 атаке из сети 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, используйте следующую команду:

Отключить UFW

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

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

Сбросить UFW

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

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

Выводы

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

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

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

Просмотр правил Iptables

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

sudo iptables -L


Здесь мы видим три цепочки OUTPUT, INPUT и FORWARD, за открытые порты отвечает цепочка INPUT, именно через нее проходят все входящие пакеты. Сейчас политика по умолчанию - ACCEPT, это значит, что подключение ко всем портам разрешено. Здесь нам нужно настроить все самим и это будет проще если бы какая-либо программа уже создала свои настройки, но этот вариант мы тоже рассмотрим ниже.

Как открыть порт iptables с нуля

Если в iptables уже есть какие-либо правила и вы хотите их удалить просто выполните:

sudo iptables -F

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

sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTPUT -o lo -j ACCEPT

Если кратко, то здесь добавляется два правила в цепочки INPUT и OUTPUT, разрешающие отправку и прием данных из интерфейса lo. Еще одно интересное и важное правило, которое многие упускают. Нужно запрещать только новые соединения, а пакеты для уже открытых нужно разрешать. Иначе получится, что мы отправляем серверу запрос (цепочка OUTPUT открыта), соединение открывается, но сервер не может нам ответить, потому что все пакеты отбрасываются в INPUT. Поэтому нужно разрешить все пакеты с состоянием ESTABLISHED и RELATED. Для этого есть модуль state:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Теперь самое интересное, рассмотрим как открыть порт 22 и 80 для протокола TCP:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT


Опция -A сообщает, что нужно добавить пакет в конец цепочки, -p - указывает протокол, а --dport или Destination Port (порт назначения) указывает из какого порта пакеты нужно принимать. Теперь вы можете снова посмотреть список правил:

sudo iptables -L

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

sudo iptables -nvL


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

sudo iptables -P INPUT DROP

Все, можете проверять. Все пользователи смогут получить доступ к портам 22 и 80, а к остальным доступа не будет.

Как открыть порт, если уже есть правила

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

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

sudo iptables -A INPUT -j DROP


Как вы понимаете, это значит, что все пакеты, которые до него доходят, будут отброшены. Ваше правило добавляется в конец цепочки, уже после этого. Естественно, что к нему уже никакие пакеты не дойдут, потому что они были отброшены ранее. Чтобы обойти эту проблему нужно использовать опцию -I (INSERT) вместо -A (ADD), она добавляет правило в начало цепочки и все будет работать. Осталось открыть порты Linux:

sudo iptables -I INPUT -p tcp --dport 1924 -j ACCEPT

sudo iptables -L

Выводы

В этой статье мы рассмотрели как открыть порт Ubuntu 16.04 или в любом другом Linux дистрибутиве, а также закрыть ненужные порты. Это повысит безопасность вашей системы. Только на первый взгляд кажется, что с iptables сложно работать. Если разобраться, то все будет достаточно просто. Надеюсь, эта информация была полезной для вас.

Как управлять приложениями в Ubuntu

Управление портами на ПК необходимо для полноценной работы приложений.

Как посмотреть открытые порты

Если с запуском портов уже более или менее в голове что-нибудь прояснилось, то давайте разберём, что же делать, чтобы посмотреть открытые порты? Итак, этот метод предусматривает наличие установленной утилиты netstat на вашем компьютере под управлением операционной системы Linux. Если этой программы на вашем устройстве нет, то обязательно установите его уже знакомыми средствами. После, достаточно будет ввести следующую команду в консоль: netstat -ltupn. Таким образом откроется окно с портами, адресами IP, а также именами процессов, которые являются владельцами соединений. Способ достаточно простой и не требует каких-либо усилий с вашей стороны, кроме использования утилиты netstat.

netstat

Как открыть порт в Убунту

Теперь рассмотрим нашу вторую часть сегодняшнего обсуждения. Прежде всего вам потребуется запустить консоль для ввода команд и скриптов. Далее, пробуем следующие две комбинации, которые позволят вам открыть определённый порт. Стоит отметить, что все выполняемые действия производятся на ваш страх и риск, так как они предназначены для опытных пользователей. Любые неверные шаги или же неблагополучные манипуляции могут привести вас к неприятным последствиям. Например, есть вероятность потерять важные файлы и данные или же поломать что-нибудь в строе системы. Приступайте к следующим действиям только при полной уверенности своих сил и возможностей.

Способ первый

Ниже рассматриваются примеры для порта 7777:

Стоит отметить, однако, очень важный момент. Дело в том, что файрволл iptables имеется абсолютно во всех дистрибутивах Linux. Более того, правила их являются также одинаковыми, но зато настройка и запуск может различаться. Вот почему может понадобиться наличие универсального способа. Вероятнее всего, что опытные пользователи не применят его, но вот обычные юзеры вполне могут воспользоваться им.

Способ второй

  1. Для начала стоит проверить наличие iptables в вашей ОС. Для этого делаем следующую команду в консоли: iptables -list. После этого вы получите необходимые вами данные.
  2. Наиболее приемлемым вариантом будет закрытие всех портов, необходимых операционке. Далее, устанавливая правила, откройте порты Linux для игры, трансфера документов и веб-сёрфинга. Чтобы сделать это, убедитесь в наличие iptables. После этого создайте файл /etc/iptables.sh с суперпользовательскими правами. Содержание файла будет следующее:

Скрипт для открытия

Этот скрипт подходит для всех дистрибутивов Linux, в том числе и Ubuntu. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе. Но вдруг если ни один из этих методов вам не помог, потребуется дополнительная диагностика. Например, вы можете посмотреть, не занят ли случайно необходимый порт другим приложением. Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.

Подведём итоги

Дорогие друзья, теперь вы знаете, как посмотреть открытые порты Ubuntu, а также как открыть порт. Вы знаете, что можно воспользоваться для последнего случая двумя способами, каждый из которых в своём роде выполняет свою работу. А первый вопрос легко решается с помощью утилиты netstat и не требует особой трудоёмкости. Надеемся, что у вас всё получилось сделать с первого раза. Поделитесь своим мнением, впечатлением, а также личным опытом в комментариях!

Читайте также: