Найти в Дзене

Чек-лист проверки открытых портов серверов для системных администраторов

Проверка открытых портов на сервере – это важная задача для обеспечения безопасности и стабильности вашей системы. В этом руководстве мы подробно рассмотрим, как выполнить эту проверку с помощью различных команд и утилит на разных операционных системах. Перед началом проверки портов нужно подключиться к серверу через SSH (Secure Shell). Для этого выполните следующую команду: ssh username@server_address Замените username на ваше имя пользователя и server_address на IP-адрес или доменное имя вашего сервера. 1. Установите net-tools, если он еще не установлен: sudo apt-get install net-tools # для Debian/Ubuntu sudo yum install net-tools # дляCentOS/RHEL 2. Выполните команду netstat: sudo netstat -tuln sdfdsf Объяснение: Результат: Вы увидите таблицу с колонками Proto, Recv-Q, Send-Q, Local Address, Foreign Address и State. В колонке Local Address будут указаны IP-адреса и порты, которые прослушиваются. Использование ss sudo ss -tuln Объяснение: Результат: Вы увидите таблицу с кол
Оглавление

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

Подключение к серверу

Перед началом проверки портов нужно подключиться к серверу через SSH (Secure Shell). Для этого выполните следующую команду:

ssh username@server_address

Замените username на ваше имя пользователя и server_address на IP-адрес или доменное имя вашего сервера.

Проверка открытых портов на Linux

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

1. Установите net-tools, если он еще не установлен:

sudo apt-get install net-tools # для Debian/Ubuntu

sudo yum install net-tools # дляCentOS/RHEL

2. Выполните команду netstat:

sudo netstat -tuln

sdfdsf

Объяснение:

  • -t для отображения TCP-портов.
  • -u для отображения UDP-портов.
  • -l для отображения только прослушиваемых портов.
  • -n для отображения портов в числовом виде.

Результат: Вы увидите таблицу с колонками Proto, Recv-Q, Send-Q, Local Address, Foreign Address и State. В колонке Local Address будут указаны IP-адреса и порты, которые прослушиваются.

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

sudo ss -tuln

Объяснение:

  • -t для отображения TCP-портов.
  • -u для отображения UDP-портов.
  • -l для отображения только прослушиваемых портов.
  • -n для отображения портов в числовом виде.

Результат: Вы увидите таблицу с колонками Netid, State, Recv-Q, Send-Q, Local Address:Port, Peer Address:Port. В колонке Local Address:Port будут указаны IP-адреса и порты, которые прослушиваются.

Использование nmap

1. Установите nmap, если он еще не установлен:

sudo apt-get install nmap # для Debian/Ubuntu

sudo yum install nmap # дляCentOS/RHEL

2. Выполните команду nmap:

sudo nmap -sT -O localhost

Объяснение:

  • -sT для выполнения TCP-проверки.
  • -O для определения операционной системы.

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

Проверка открытых портов на Windows

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

1. Откройте командную строку (cmd) с правами администратора.

2. Выполните команду netstat:

netstat -ano

Объяснение:

  • -a для отображения всех подключений и прослушиваемых портов.
  • -n для отображения адресов и портов в числовом виде.
  • -o для отображения идентификаторов процессов (PID).

Результат: Вы увидите таблицу с колонками Proto, Local Address, Foreign Address, State и PID. В колонке Local Address будут указаны IP-адреса и порты, которые прослушиваются.

Использование PowerShell

1. Откройте PowerShell с правами администратора.

2. Выполните команду Get-NetTCPConnection:

Get-NetTCPConnection | Where-Object { $_.State -eq 'Listen' }

Объяснение:

  • Get-NetTCPConnection выводит все активные TCP-соединения.
  • Where-Object { $_.State -eq 'Listen' } фильтрует результаты, чтобы показать только те соединения, которые находятся в состоянии "Listen".

Результат: Вы увидите список всех прослушиваемых TCP-портов на вашем сервере. В таблице будут указаны LocalAddress, LocalPort, RemoteAddress, RemotePort, State и OwningProcess.

Использование nmap

1. Скачайте и установите nmap для Windows с официального сайта:

Nmap Download

2. Откройте командную строку (cmd) с правами администратора.

3. Выполните команду nmap:

nmap -sT -O localhost

Объяснение:

  • -sT для выполнения TCP-проверки.
  • -O для определения операционной системы.

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

Порты, которые должны быть закрыты на серверах

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

1. Порты для закрытия

  • 21 (FTP): Протокол для передачи файлов. Уязвим к атакам и перехвату данных. Рекомендуется использовать SFTP (SSH File Transfer Protocol) на порту 22.
  • 23 (Telnet): Протокол для удаленного доступа. Передает данные в открытом виде, что делает его уязвимым к перехвату. Используйте SSH (порт 22) вместо Telnet.
  • 25 (SMTP): Протокол для отправки электронной почты. Открытый порт может быть использован для спама или атак на почтовые серверы. Если сервер не предназначен для отправки почты, его следует закрыть.
  • 53 (DNS): Протокол для разрешения доменных имен. Открытый порт может быть уязвим к атакам типа DNS amplification или DNS spoofing. Закройте его, если сервер не выполняет функции DNS.
  • 110 (POP3) и 143 (IMAP): Протоколы для получения электронной почты. Открытые порты могут быть использованы для перехвата учетных данных. Рекомендуется использовать их защищенные версии (POP3S на порту 995 и IMAPS на порту 993).
  • 135 (MS RPC): Используется для удаленного вызова процедур в Windows. Открытый порт может быть уязвим к атакам. Закройте его, если он не требуется.
  • 139 (NetBIOS) и 445 (SMB): Протоколы для совместного использования файлов и принтеров в Windows. Открытые порты могут быть использованы для атак на уязвимости системы Windows.
  • 3306 (MySQL): Порт для доступа к базе данных MySQL. Если база данных не должна быть доступна извне, закройте этот порт.
  • 3389 (RDP): Порт для удаленного рабочего стола Windows. Открытый порт может быть уязвим к брутфорс-атакам. Используйте VPN для доступа к RDP.
  • 5900 (VNC): Протокол для удаленного управления. Открытый порт может быть уязвим к несанкционированному доступу. Используйте защищенные соединения.

Проблемы, связанные с открытыми портами

  1. Несанкционированный доступ: Открытые порты могут позволить злоумышленникам получить доступ к вашему серверу и выполнить нежелательные действия, такие как установка вредоносного ПО или кража данных.
  2. Атаки типа DDoS: Некоторые порты могут быть целями для атак типа "отказ в обслуживании", что может привести к перегрузке вашего сервера и недоступности сервисов.
  3. Перехват данных: Открытые порты, передающие данные в открытом виде (например, FTP или Telnet), могут быть уязвимыми для перехвата, что может привести к утечке конфиденциальной информации.
  4. Спам: Если порт 25 (SMTP) открыт, ваш сервер может быть использован для рассылки спама, что может привести к блокировке вашего IP-адреса.
  5. Уязвимости протоколов: Некоторые протоколы имеют известные уязвимости, которые могут быть использованы злоумышленниками для атаки на ваш сервер. Например, открытые порты для старых версий протоколов могут быть легко скомпрометированы.

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

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