Багато важливих додатків, таких як сервери баз даних, веб-сервери, послуги передачі файлів тощо., використовувати спеціальні порти. Для посилення безпеки системи / серверів системні адміністратори зазвичай захищають ці порти, відмовляючи їм у доступі невідомими користувачами / службами, або змінюючи номер порту за замовчуванням на якесь інше значення.
У комп'ютерних мережах знання управління портами є надзвичайно важливим завданням для управління безпекою сервера. Цей посібник вивчатиме різні методи аналізу порту на Linux Ubuntu 20.04 система.
Що ми покриємо?
У цьому посібнику ми будемо використовувати наступні інструменти для аналізу портів на нашому сервері Ubuntu.
- Телнет
- Nmap
- Netcat
Ми будемо використовувати сервер Ubuntu, щоб виступати як віддалений сервер, а робоча станція Fedora 34 як клієнтська машина для підключення до сервера. Почнемо зараз.
Передумови
- Обліковий запис користувача з доступом "sudo".
- Базові знання комп’ютерних мереж.
- Доступ в інтернет
1. Використання команди Telnet для перевірки відкритого порту
TELNET - це програма клієнт / сервер для віддаленого входу на сервер з можливістю віртуального терміналу через мережу. Він використовує порт TCP номер 23 через мережу TCP / IP. RFC 854 визначає специфікацію протоколу TELNET.
Щоб встановити сервер TELNET на нашому сервері Ubuntu, скористайтеся наведеною нижче командою:
sudo apt встановити telnetd
Демон "telnetd" - це серверна програма telnet, яку запускає inetd демон.
Ми будемо використовувати робочу станцію Fedora 34 як клієнт telnet. Щоб встановити клієнта telnet на Fedora, скористайтеся командою:
$ sudo dnf встановити telnet
Тепер ми будемо використовувати клієнт telnet на Fedora 34 для перевірки наявності відкритих портів в системі Ubuntu, на якому запущений сервер telnet. Перейдіть до робочої станції Fedora 34, відкрийте термінал і введіть команду:
$ telnet 192.168.43.216 23Тут '192.168.43.216 '- це IP-адреса сервера Ubuntu, а' 23 '- порт за замовчуванням для демона telnet, запущеного на цьому сервері.
Успішний вхід означає, що порт 23 - це відкритий порт на нашому сервері Ubuntu. Тепер спробуємо інший номер порту '80' за допомогою telnet:
$ telnet 192.168.43.216 80
Ми бачимо, що порт 80 не відкритий для встановлення з'єднання telnet; отже, зараз він закритий.
Давайте встановимо веб-сервер Apache на сервері Ubuntu. За замовчуванням Apache використовує порт 80 для своїх служб http. Знову запустіть команду:
$ telnet 192.168.43.216 80
З мітки 2 на малюнку вище порт 80 тепер прослуховується і відкритий для з'єднання http, але закритий для інших типів з'єднання.
Telnet не забезпечує шифрування переданих даних; пароль буде переданий у форматі простого тексту.
2. Використання Nmap для перевірки відкритого порту
Nmap - один з найпопулярніших та вдосконалених інструментів мережевого сканера. Він є відкритим і вільно доступний для систем Unix та Windows. NmapFE - це графічна версія команди nmap на основі терміналу. Він має широкий набір функцій, таких як сканування портів, сканування протоколів, дактилоскопія ОС (виявлення ОС) тощо.
Давайте встановимо Nmap на нашій клієнтській машині Fedora 34 і проскануємо порти на сервері Ubuntu. Щоб встановити nmap на Fedora 34, скористайтеся командою:
Після встановлення Nmap відкрийте термінал у системі Fedora та відскануйте порти, використовуючи:
$ sudo nmap -F [IP віддаленого сервера]Для e.g., у нашому випадку IP віддаленого сервера (Ubuntu) - 192.168.43.216, тож команда буде такою:
$ sudo nmap -F 192.168.43.216
Результат роботи наведеної вище команди показує, що порт 23 і порт 80 перебувають у відкритому стані. Ми також можемо використати наведену нижче команду для виявлення відкритого порту:
$ sudo nmap -sT 192.168.43.216
За допомогою Nmap ми також можемо перевірити наявність певного статусу порту. Щоб перевірити стан порту 80, на якому запущена служба apache, і випадкового порту 83, скористайтеся командою:
$ sudo nmap 192.168.43.216 -с 83$ sudo nmap 192.168.43.216 -с 80
З наведеного зображення порт 83 закритий, а відкритий порт 80 відкритий для прослуховування http-запитів apache.
3. Використання команди nc (netcat) для перевірки відкритого порту
Netcat - це ще один інструмент, який можна використовувати для сканування портів. Він також може бути використаний для відкриття TCP-з'єднань, надсилання UDP-пакетів тощо. Netcat поставляється з nmap:
Щоб перевірити порт за допомогою netcat, виконайте таку команду:
$ sudo nc -zvw IP_address портНаприклад, для перевірки портів 22 та 80 використовуємо:
$ sudo nc -zvw 100ms 192.168.43.216 22$ sudo nc -zvw 100ms 192.168.43.216 80
Ми бачимо, що порт 22 закритий, оскільки в підключенні відмовлено. У разі порту 80 підключення netcat вдало, оскільки Apache інстальовано на сервері Ubuntu.
Висновок
У цьому посібнику ми дослідили різні методи сканування портів у віддаленій системі. Будьте обережні, виконуючи ці команди, оскільки сканування інших мереж без їхнього дозволу є правовим порушенням.