- Как открыть порты в Ubuntu и CentOS с помощью IPtables
- Открытие портов в Linux
- Открываем порты в Linux
- Шаг 1: Установка Iptables и просмотр правил
- Шаг 2: Разрешение обмена данными
- Шаг 3: Открытие необходимых портов
- Как Настроить Брандмауэр с UFW в Ubuntu 18.04
- Ubuntu firewall и защита сервера
- Настройка брандмауэра с помощью UFW в Ubuntu 18.04
- Настройка правил брандмауэра в Ubuntu 18.04 с UFW
- Открытие и закрытие портов с помощью UFW
- Работа со службами в Ubuntu firewall
- Запретить или разрешить подключения по IP-адресу
- Удаление правила межсетевого экрана в Ubuntu
- Итоги
Как открыть порты в Ubuntu и CentOS с помощью IPtables
Главное меню » Операционная система Linux » Как открыть порты в Ubuntu и CentOS с помощью IPtables
Хотя есть несколько мощных инструментов для управления брандмауэром на сервере Linux, мы будем использовать IPtables в этом учебнике. В случае, если вы используете UFW на Ubuntu или Firewalld на CentOS, вы можете проверить наши соответствующие гиды о том , как настроить межсетевой экран с UFW на Ubuntu или как настроить межсетевой экран с FirewallD на CentOS.
Прежде всего, подключитесь к Linux VPS через SSH и выведете список текущих правил Iptables с помощью следующей команды:
Если вы недавно настроили ваш сервер, то не будет никаких правил Iptables и вывод должен быть похож на один ниже:
Если уже есть какие-то правила, которые вы не хотите, чтобы были там, вы можете очистить правила, используя следующую команду:
Будьте осторожны с этой командой, особенно если политика по умолчанию на ваших цепях INPUT и OUTPUT устанавливается на нечто иное , чем ACCEPT потому, что может заблокировать вас на вашего сервера.
Первое правило брандмауэра, которое необходимо добавить, заключается в следующем:
Это в основном говорит вашему брандмауэру, чтобы принять текущее соединение SSH. Следующий шаг, чтобы разрешить трафик на интерфейсе loopback и открыть некоторые основные порты, такие как 22 для SSH и 80 для HTTP.
Теперь вы готовы открыть другие порты, к которым вы хотите разрешить трафик. Используйте ту же команду, как вы использовали, чтобы открыть порт 22 и 80 в предыдущем примере.
Составьте список существующих правил с помощью:
Выход должен быть аналогичен приведенному ниже:
Для получения более подробной продукции вы можете использовать:
И выход должен быть похож на этот:
Теперь вы можете реализовать правило DROP , которое будет блокировать все входящие пакеты, которые не соответствуют одному из правил ACCEPT , котрое мы добавили ранее.
Последнее, что вам нужно сделать, это сохранить правила и сделать их постоянными. Если вы используете Ubuntu VPS, вы можете установить iptables-persistent для этой цели.
В Ubuntu 14.04 можно использовать следующие команды, чтобы сохранить/перезагрузить правила Iptables:
На Ubuntu 16.04 использовать следующие команды:
Если вы используете CentOS VPS, вы можете использовать следующую команду, чтобы сохранить правила Iptables:
PS . Если вам понравился этот пост, поделитесь им с друзьями в социальных сетях c помощью кнопок на левой стороне поста или просто оставьте комментарий ниже.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Открытие портов в 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 в Ubuntu 18.04
Безопасность — это то, к чему не следует относиться легкомысленно в эпоху, когда киберпреступления фигурируют в заголовках практически всех статей, связанных с ИТ. Поэтому рекомендуется всегда следить и принимать все возможные меры, чтобы повысить уровень безопасности вашего сервера.
Защищая наш сервер, мы также защищаем наши данные. Эффективный способ сделать это в Ubuntu — настроить брандмауэр, он же firewall, он же межсетевой экран. Благодаря этому мы сможем контролировать входящие и исходящие подключения к нашему серверу. В этом руководстве мы научим вас, как настроить фаервол с помощью UFW в Ubuntu 18.04.
Ubuntu firewall и защита сервера
Брандмауэр — это компьютерное оборудование или программное обеспечение, которое контролирует входящий и исходящий трафик машины. Другими словами, это довольно важный элемент компьютерной безопасности. Если у вас есть компьютер, подключенный к интернету, рекомендуется защитить его, настроив фаервол.
Несмотря на то, что в Linux предусмотрены отличные функции безопасности, дополнительная осторожность не помешает.
Ubuntu поставляется с приложением, которое упрощает настройку брандмауэра. Оно называется UFW (Uncomplicated Firewall), который представляет собой интерфейс Iptables. В Ubuntu 18.04 UFW обычно установлен по умолчанию. Но, скорее всего, он будет отключен. UFW имеет графический интерфейс GUFW, который вы можете установить, если у вас есть среда рабочего стола.
Настройка брандмауэра с помощью UFW в Ubuntu 18.04
Как мы уже говорили, UFW по умолчанию установлен в Ubuntu 18.04, однако он не включен. Таким образом, первое, что нужно сделать, это включить UFW.
Для этого мы должны сначала подключиться к серверу с помощью SSH или, если Ubuntu 18.04 работает локально, просто открыть терминал. Если у вас возникли проблемы со входом на сервер, ознакомьтесь с этим руководством.
Как только у нас будет доступ к нашему серверу, мы включим UFW с помощью следующей команды:
Если вы увидите сообщение об ошибке «Команда не найдена», установите UFW с помощью следующей команды.
Затем мы должны проверить статус UFW.
Как мы видим, теперь UFW включен.
По умолчанию UFW запрещает все входящие и разрешает все исходящие соединения. Для многих пользователей этой конфигурации достаточно, но если у нас есть сетевые службы или приложения, мы должны установить некоторые правила.
Настройка правил брандмауэра в Ubuntu 18.04 с UFW
Правило брандмауэра — это инструкция, определяющая принцип работы межсетевого экрана. Правила определяют, какие соединения принимаются или запрещаются.
Далее мы настроим некоторые правила брандмауэра с помощью UFW:
Открытие и закрытие портов с помощью UFW
Порты — это интерфейсы подключения, используемые приложениями для установления соединения с сервером.
С UFW их довольно легко открывать или закрывать по своему усмотрению. Чтобы открыть порт, нам нужно запустить эту команду:
Если мы говорим о протоколах, то это могут быть TCP или UDP. Всё зависит от наших потребностей. Например:
Это означает, что все приложения или службы, которые пытаются подключиться к нашему серверу через порт 56, будут разрешены.
Однако мы можем запретить использование этого порта с помощью следующей команды:
Теперь все приложения, использующие TCP и пытающиеся подключиться к серверу через порт 56, не смогут этого сделать.
Мы также можем одной командой разрешить или заблокировать ряд портов. Это здорово экономит время. Базовый синтаксис выглядит так:
Чтобы открыть порты, команда будет выглядеть следующим образом:
Или, чтобы запретить их:
Работа со службами в Ubuntu firewall
UFW может применять некоторые сетевые службы. Чтобы управлять ими, нужно знать порт, который они используют для подключения к серверу.
Например, HTTP требует, чтобы был доступен порт 80, а HTTPS — порт 443.
Итак, для HTTP нам нужно запустить эту команду:
Выполнение этой команды эквивалентно включению порта 80.
Таким образом, нам нужно знать только порты, используемые сетевыми службами.
Запретить или разрешить подключения по IP-адресу
Также мы можем запретить доступ для определенного IP-адреса.
Для этого мы должны выполнить следующую команду:
Или наоборот, если мы хотим разрешить доступ только этому IP-адресу.
Ещё, если мы хотим, чтобы IP-адрес мог подключаться только к определённому порту, мы можем уточнить это следующим образом:
В реальном сценарии команда будет выглядеть так:
При таком раскладе IP-адрес сможет устанавливать соединение только в том случае, если он использует порт 44.
Удаление правила межсетевого экрана в Ubuntu
Мы можем удалить отдельное правило из нашего UFW с помощью одной записи в командной строке! Но сначала мы должны перечислить их все. Для этого мы должны запустить эту команду:
После этого удаляем то правило, которое хотим. Для примера давайте удалим правило номер четыре.
Вот мы и перечислили все основные функции, о которых стоит знать. Теперь вы готовы настроить безопасность своего сервера так, как считаете нужным. Если вам нужна дополнительная информация, просмотрите руководство UFW. Вызвать его можно с помощью следующей команды:
Итоги
Процесс настройки брандмауэра в Ubuntu 18.04 прост благодаря UFW. Однако у этого приложения есть ещё много возможностей для усиления защиты нашего сервера. Здесь вы узнали о его основных функциях, которые должен знать каждый. Мы надеемся, что это руководство было полезным для вас. Берегите себя и свои данные!
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник