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

В операционных системах на базе Linux, таких как Ubuntu и Debian, управление портами играет ключевую роль в обеспечении безопасности и функционировании серверов и приложений. Порты в Linux управляются с помощью различных инструментов, таких как UFW (Uncomplicated Firewall), iptables и firewalld, а также могут быть проверены с помощью утилит, таких как netstat и ss.

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

Ознакомиться с тарифами VPS хостинга можно тут

Что такое порты в Linux и почему важно их управлять?

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

Открытые порты могут быть необходимы для работы определённых сервисов (например, веб-серверов, SSH-сессий, баз данных), однако неправильное управление портами может привести к уязвимостям безопасности. Таким образом, важно уметь правильно открывать, закрывать и контролировать порты на вашем сервере.

Как проверить открытые порты на сервере Ubuntu / Debian

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

1. Использование ss

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

ss -tuln

Здесь:

  • -t — отображение TCP-соединений,
  • -u — отображение UDP-соединений,
  • -l — отображение только слушающих портов,
  • -n — отображение портов в числовом виде (без разрешения доменных имён).

2. Использование netstat

Команда netstat также позволяет просматривать открытые порты. Для получения списка открытых портов выполните:

netstat -tuln

Аналогично, вы можете фильтровать вывод, используя grep, например, чтобы найти все порты, связанные с HTTP (порт 80):

netstat -tuln | grep :80

Как открыть порты на сервере Ubuntu / Debian

1. Открытие портов с помощью UFW

UFW (Uncomplicated Firewall) — это простой интерфейс для настройки фаервола iptables, который позволяет легко управлять входящими и исходящими соединениями. Для начала убедитесь, что UFW установлен и активен:

sudo ufw status

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

sudo ufw enable

Теперь, чтобы открыть порт, например, 80 (HTTP), используйте команду:

sudo ufw allow 80/tcp

Если вы хотите открыть сразу несколько портов, например, 80 (HTTP) и 443 (HTTPS), выполните:

sudo ufw allow 80,443/tcp

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

sudo ufw allow 22/tcp

Для открытия диапазона портов (например, от 1000 до 2000), используйте:

sudo ufw allow 1000:2000/tcp

2. Открытие портов с помощью iptables

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

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

Эта команда добавляет правило для разрешения входящих TCP-соединений на порт 80.

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

sudo iptables-save > /etc/iptables/rules.v4

Чтобы открыть диапазон портов, например, от 2000 до 3000, выполните:

sudo iptables -A INPUT -p tcp --dport 2000:3000 -j ACCEPT

3. Открытие портов с помощью firewalld (если используется)

firewalld — это ещё один инструмент для настройки фаервола в некоторых дистрибутивах Linux, который предоставляет удобные профили для управления портами. Для открытия порта с помощью firewalld используйте команду:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

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

sudo firewall-cmd --reload

Как закрыть порты на сервере Ubuntu / Debian

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

1. Закрытие порта с помощью UFW

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

sudo ufw deny 80/tcp

2. Закрытие порта с помощью iptables

Для того чтобы закрыть порт с помощью iptables, выполните:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

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

sudo iptables-save > /etc/iptables/rules.v4

3. Закрытие порта с помощью firewalld

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

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

После этого примените изменения:

sudo firewall-cmd --reload

Открытие порта на сервере Ubuntu для специфичных приложений

  1. Открытие порта для веб-сервера (например, Apache, Nginx)

Если вы хотите открыть порт 80 для работы веб-сервера, например, Apache или Nginx, убедитесь, что сам сервер настроен для прослушивания этого порта. В случае Apache или Nginx, порт 80 обычно уже открыт по умолчанию. Если же порт закрыт, можно воспользоваться UFW или iptables, как описано выше.

  1. Открытие порта для SSH (порт 22)

Для обеспечения доступа через SSH к серверу необходимо открыть порт 22. Это можно сделать как с помощью UFW, так и через iptables. Для UFW:

sudo ufw allow 22/tcp

Для iptables:

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

Проверка открытых портов и подключений

После того как вы открыли или закрыли порты, полезно проверить их статус. Используйте следующие команды:

1. Проверка с помощью ss:

ss -tuln

2. Проверка с помощью netstat:

netstat -tuln

3. Проверка с помощью nmap (с удаленной машины):

Для проверки доступности портов на сервере можно использовать nmap:

nmap <ip-адрес-сервера>

Заключение

Управление портами в Ubuntu и Debian является неотъемлемой частью настройки сервера и обеспечения безопасности. Открытие и закрытие портов с помощью таких инструментов, как UFW, iptables и firewalld, позволяет не только контролировать доступ, но и защищать систему от потенциальных угроз. Регулярная проверка состояния портов и управление ими помогают поддерживать вашу систему в безопасности и исправности.

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by