Як перевірити порти в Linux? (Перевірити відкриті порти Linux)
Якщо ви використовуєте Linux, то, ймовірно, стеження за мережевою безпекою є частиною ваших повсякденних обов'язків. Ключовим аспектом забезпечення безпеки будь-якої системи є виявлення та моніторинг відкритих портів.
Хоча відкриті порти необхідні для функціонування багатьох служб, вони також можуть стати потенційною загрозою безпеці, якщо їх не контролювати належним чином. Для системних адміністраторів або будь-кого, хто відповідає за управління сервером Linux, знання того, як перевірити, які порти відкриті, є важливим навиком, що підтримує як безпеку системи, так і її продуктивність.
У цій статті описано найефективніші способи перевірки відкритих портів у системі Linux, що дасть вам можливість захистити та оптимізувати свою мережу.
Що таке відкриті порти в Linux?
У системах Linux порти функціонують як шлюзи, що забезпечують зв'язок між вашим сервером і зовнішнім світом. Кожному порту присвоюється певний номер, і він використовується різними службами або програмами, такими як веб-хостинг, електронна пошта або обмін файлами, для надсилання та отримання даних.
Роль відкритих і закритих портів Linux
Деякі порти ввімкнені за замовчуванням для підтримки основних служб, а інші залишаються закритими для підвищення безпеки системи. Однак, якщо залишити порт відкритим без належного нагляду, це може наражати вашу систему на несанкціонований доступ або кібератаки. Ось чому важливо регулярно перевіряти, які порти відкриті, і розуміти, для чого вони призначені.
Чому важливо контролювати відкриті порти
Знання про відкриті порти вашої системи підвищує вашу здатність виявляти та запобігати загрозам безпеки. Це також відіграє важливу роль у діагностиці проблем мережі. Наприклад, якщо служба недоступна, проблему можна відстежити до того, чи відкритий або заблокований відповідний порт.
Навчившись перевіряти відкриті порти на вашому сервері Linux, ви посилите як свою безпеку, так і можливості усунення несправностей.
Поширені порти в Linux та їх функції
Сервери Linux використовують різні порти, кожен з яких пов'язаний з певною службою або функцією. Знання цих поширених портів полегшує розуміння того, які служби активні у вашій системі, та виявлення незнайомих або потенційно небезпечних з'єднань.
- Порт 22 (SSH): використовується для Secure Shell, цей порт дозволяє адміністраторам безпечно отримувати віддалений доступ до сервера та керувати ним.
- Порт 80 (HTTP): цей порт обробляє незашифрований веб-трафік для веб-сайтів, які використовують стандартний протокол HTTP.
- Порт 443 (HTTPS): зашифрований аналог порту 80, який захищає веб-трафік за допомогою SSL/TLS, захищаючи дані, що обмінюються між користувачами та веб-сайтами.
- Порт 21 (FTP): полегшує передачу файлів за допомогою протоколу передачі файлів, забезпечуючи переміщення даних між системами.
- Порт 25 (SMTP): відповідає за надсилання електронної пошти за допомогою простого протоколу передачі пошти.
- Порт 3306 (MySQL): зазвичай використовується службами баз даних MySQL, дозволяючи додаткам спілкуватися з серверами MySQL.
Це лише деякі з багатьох портів, які можуть використовуватися на комп'ютері з ОС Linux. Знання їхніх функцій допоможе вам краще зрозуміти мережеву активність вашого сервера та виявити будь-які незвичайні явища.
У наступному розділі ми розглянемо практичні способи визначення, які порти наразі відкриті у вашій системі Linux, що дасть вам більше контролю над мережевою експозицією вашого сервера.
Ключові поняття мережевої взаємодії: протоколи TCP/UDP, брандмауери та служби
Розуміння того, як дані надходять на ваш сервер Linux і виходять з нього, починається з декількох основних понять — протоколів TCP/UDP, брандмауерів і служб. Разом ці компоненти визначають, як функціонують відкриті порти і як управляється трафік.
TCP проти UDP: як передаються дані
Протокол управління передачею (TCP) і Протокол користувацького датаграми (UDP) — це два основні протоколи, які регулюють обмін інформацією в мережі.
- TCP базується на з'єднанні. Перед передачею будь-яких даних він встановлює стабільне з'єднання між сервером і клієнтом. Це робить його ідеальним для ситуацій, де важливі точність і порядок, таких як доступ до веб-сайтів (через HTTP або HTTPS) і передача файлів.
- UDP не базується на з'єднанні. Він надсилає дані без встановлення спеціального з'єднання, зосереджуючись на швидкості, а не на надійності. Це робить його придатним для таких застосувань, як потокове відео, онлайн-ігри, пошук DNS і голосовий зв'язок.
Під час перевірки відкритих портів у системі Linux ви часто бачите, чи порт використовує TCP або UDP, що допомагає ідентифікувати пов'язані служби та відповідно налаштувати конфігурації мережі.
Брандмауери: контроль доступу до портів
Брандмауер діє як фільтр трафіку, контролюючи, які дані можуть надходити на ваш сервер або залишати його. У Linux для налаштування правил, що дозволяють або блокують певні порти, зазвичай використовуються такі інструменти, як iptables та firewalld.
Налаштування брандмауера відіграють важливу роль у визначенні портів, доступних ззовні системи. Навіть якщо служба працює, брандмауер може запобігти зовнішньому доступу, якщо відповідний порт не дозволений. Управління цими правилами гарантує, що відкритими залишаються лише необхідні порти, що допомагає зменшити ризик несанкціонованого доступу.
Служби: що використовує ваші порти
Служби — це процеси або програми, які прив'язуються до певних портів для виконання своїх функцій. Наприклад:
- Веб-сервер (наприклад, Apache або Nginx) зазвичай використовує порт 80 для HTTP і порт 443 для HTTPS.
- Сервер бази даних може використовувати порт 3306 для з'єднань MySQL.
Моніторинг відкритих портів допомагає перевірити, що активні тільки очікувані та необхідні служби. Це не тільки посилює безпеку системи, але й покращує загальну ефективність, мінімізуючи непотрібні фонові процеси.
Як перевірити відкриті порти в Linux?
Існує кілька способів перевірки відкритих портів у системі Linux, кожен з яких має різні переваги залежно від ваших потреб. Ось перелік найпоширеніших і найефективніших методів:
1. Перевірка портів за допомогою Nmap
Nmap (Network Mapper) — це широко використовуваний інструмент для сканування мереж та виявлення відкритих портів і служб. Він особливо популярний серед системних адміністраторів завдяки своїй глибокій деталізації та гнучкості.
Щоб встановити Nmap:
sudo apt-get install nmap # Для Debian/Ubuntu
sudo yum install nmap # Для RHEL/CentOS
Після встановлення можна запустити базове сканування вашої системи за допомогою:
nmap localhost
Це сканує найпоширеніші порти на вашому комп'ютері. Якщо ви хочете сканувати ширший діапазон, використовуйте:
nmap -p 1-65535 localhost
Nmap надасть список відкритих портів разом із пов'язаними з ними службами, що робить його чудовим інструментом для аудиту мережевої вразливості вашої системи.
2. Використання lsof для перегляду відкритих портів
Команда lsof (List Open Files) є зручною для відображення активних файлів та мережевих з'єднань. Щоб переглянути мережеві порти, що використовуються, виконайте:
$ sudo lsof -i -P -n
- -i: показує мережеві файли
- -P: відображає номери портів замість назв служб
- -n: вимикає розпізнавання імен хостів
Шукайте записи, позначені LISTEN, щоб визначити порти, які відкриті для вхідних з'єднань.
3. Використання netstat для перевірки портів, що слухають
Хоча netstat вважається застарілим, він все ще присутній у багатьох дистрибутивах Linux і може використовуватися для перегляду відкритих портів.
sudo netstat -tuln
- -t: показує TCP-порти
- -u: показує UDP-порти
- -l: відображає тільки порти, що слухають
- -n: пропускає пошук DNS для швидшого отримання результатів
Вихідні дані містять локальну адресу та номер порту, що допомагає швидко виявити відкриті порти.
4. Використання ss як сучасної альтернативи
ss є швидшою та ефективнішою заміною netstat, пропонуючи подібну функціональність із швидшим виведенням даних. Щоб перелічити відкриті порти:
$ sudo ss -tuln
Як і netstat, він показує всі порти TCP та UDP, що слухають, і уникає розпізнавання імен хостів, що робить його хорошим варіантом для швидкої перевірки сучасних систем.
5. Тестування конкретних портів за допомогою Netcat (nc)
Netcat, також відомий як nc, — це легкий інструмент для перевірки окремих портів. Він корисний, коли потрібно швидко перевірити, чи відкритий певний порт. Наприклад:
$ nc -zv localhost 22
- -z: сканує без надсилання даних
- -v: увімкнення режиму деталізації для показу результатів
Це покаже, чи відкритий порт 22 (зазвичай використовується для SSH) у вашій системі.
Перевірка відкритих портів за допомогою PowerShell у Linux
Хоча PowerShell традиційно асоціюється з Windows, він також доступний у Linux і пропонує кілька корисних мережевих команд. Однією з таких команд є Test-NetConnection, яка може допомогти визначити, чи відкритий конкретний порт.
Щоб перевірити, чи доступний порт 22 (зазвичай використовується для SSH) на вашому локальному комп'ютері, ви можете виконати:
Test-NetConnection -ComputerName localhost -Port 22
Ця команда перевіряє підключення до вказаного порту і повертає детальну інформацію про стан підключення.
PowerShell особливо корисний для системних адміністраторів, які працюють як на платформі Windows, так і на Linux, дозволяючи їм використовувати звичні інструменти та команди незалежно від операційної системи.
Висновок
Моніторинг відкритих портів є необхідним для підтримки безпеки та продуктивності сервера Linux. Використовуючи такі інструменти, як nmap, ss, lsof та netcat, ви можете легко ідентифікувати активні порти та служби, що за ними стоять. Незалежно від того, чи ви керуєте портами вручну, чи через керований VPS, стеження за відкритими з'єднаннями допомагає захистити вашу систему та забезпечує ефективну роботу мережі.
Випробуйте потужний та гнучкий хостинг з BlueVPS.com
Отримайте надійність віртуального приватного сервера в поєднанні з гнучкістю хмари на BlueVPS. BlueVPS, розроблений для простоти, масштабованості та повної настройки, пропонує виділене середовище, яке дає вам повний контроль над вашими ресурсами. Насолоджуйтесь необмеженим трафіком, стабільною продуктивністю та можливістю налаштувати хостинг відповідно до ваших потреб.
Розкрийте весь потенціал ваших онлайн-проектів — виберіть BlueVPS.com для продуктивності, яка росте разом з вами.
Blog