Mange vigtige applikationer som databaseservere, webservere, filoverførselstjenester osv., brug dedikerede porte. For at hærde sikkerheden for system / servere beskytter systemadministratorer normalt disse porte ved enten at nægte adgang til dem af ukendte brugere / tjenester eller ændre standardportnummeret til en anden værdi.
I computernetværk er viden om portadministration en meget vigtig opgave til administration af serversikkerhed. Denne guide vil undersøge forskellige metoder til analyse af en port på en Linux Ubuntu 20.04-systemet.
Hvad vil vi dække?
I denne vejledning bruger vi følgende værktøjer til at analysere porte på vores Ubuntu-server.
- Telnet
- Nmap
- Netcat
Vi bruger en Ubuntu-server til at fungere som en fjernserver og Fedora 34-arbejdsstation som en klientmaskine til at oprette forbindelse til serveren. Lad os komme i gang nu.
Forudsætninger
- Brugerkonto med 'sudo' adgang.
- Grundlæggende viden om computernetværk.
- Internetadgang
1. Brug af Telnet-kommandoen til at kontrollere for åben port
TELNET er en klient / serverapplikation til fjernlogin til en server med virtuel terminalfunktion på tværs af et netværk. Det bruger TCPs portnummer 23 over et TCP / IP-netværk. RFC 854 definerer specifikationen for TELNET-protokollen.
For at installere TELNET-serveren på vores Ubuntu-server skal du bruge nedenstående kommando:
sudo apt installere telnetd
'telnetd' daemon er et telnet-serverprogram, der startes af inetd dæmon.
Vi bruger Fedora 34-arbejdsstationen som en telnetklient. For at installere telnet-klient på Fedora skal du bruge kommandoen:
$ sudo dnf installerer telnet
Nu bruger vi telnetklienten på Fedora 34 til at kontrollere, om der er åbne porte på Ubuntu-systemet, der kører telnet-serveren. Gå til Fedora 34-arbejdsstationen, åbn terminalen, og skriv kommandoen:
$ telnet 192.168.43.216 23Her '192.168.43.216 'er IP-adressen for Ubuntu-serveren, og' 23 'er standardporten til telnet-dæmonen, der kører på denne server.
Et vellykket login betyder, at port 23 er en åben port på vores Ubuntu-server. Lad os nu prøve et andet portnummer '80' med telnet:
$ telnet 192.168.43.216 80
Vi kan se, at port 80 ikke er åben for at oprette en telnetforbindelse; derfor er det lukket lige nu.
Lad os installere Apache-webserveren på Ubuntu-serveren. Apache bruger som standard port 80 til sine http-tjenester. Kør igen kommandoen:
$ telnet 192.168.43.216 80
Fra etiket 2 i ovenstående figur lytter nu port 80 og er åben for http-forbindelse, men lukket for andre typer forbindelser.
Telnet giver ikke kryptering for de data, der overføres; adgangskoden overføres i almindeligt tekstformat.
2. Brug Nmap til at kontrollere for åben port
Nmap er et af de mest populære og avancerede netværksscannerværktøjer. Det er open source og frit tilgængeligt til Unix- og Windows-systemer. NmapFE er en grafisk version af den terminalbaserede nmap-kommando. Det har en lang række funktioner som port scanning, protokol scanning, OS fingeraftryk (OS afsløring) osv.
Lad os installere Nmap på vores Fedora 34-klientmaskine og scanne efter porte på Ubuntu-serveren. For at installere nmap på Fedora 34 skal du bruge kommandoen:
Efter installation af Nmap skal du åbne en terminal på Fedora-systemet og scanne efter porte ved hjælp af:
$ sudo nmap -F [IP for ekstern server]For e.g., i vores tilfælde er IP-adressen på fjernserveren (Ubuntu) 192.168.43.216, så kommandoen bliver:
$ sudo nmap -F 192.168.43.216
Outputtet fra ovenstående kommando viser, at port 23 og port 80 er i åben tilstand. Vi kan også bruge nedenstående kommando til detektion af åben port:
$ sudo nmap -sT 192.168.43.216
Med Nmap kan vi også kontrollere en bestemt havnestatus. For at kontrollere status for port 80, der kører apache-tjeneste og en tilfældig port 83, skal du bruge kommandoen:
$ sudo nmap 192.168.43.216 -p 83$ sudo nmap 192.168.43.216 -p 80
Fra ovenstående billede er port 83 lukket, og åben port 80 er åben for at lytte til apache http-anmodninger.
3. Brug kommandoen nc (netcat) til at kontrollere, om der er åben port
Netcat er et andet værktøj, der kan bruges til havnescanning. Det kan også bruges til at åbne TCP-forbindelser, sende UDP-pakker osv. Netcat leveres med nmap:
For at kontrollere en port ved hjælp af netcat skal du køre følgende kommando:
$ sudo nc -zvw IP_adresse PortFor eksempel for at kontrollere port 22 og port 80 bruger vi:
$ sudo nc -zvw 100ms 192.168.43.216 22$ sudo nc -zvw 100ms 192.168.43.216 80
Vi kan se, at port 22 er lukket, da forbindelsen nægtes. I tilfælde af port 80 er netcat-forbindelsen vellykket, fordi Apache er installeret på Ubuntu-serveren.
Konklusion
I denne vejledning har vi undersøgt forskellige metoder til portscanning på et eksternt system. Vær forsigtig, når du kører disse kommandoer, fordi scanning af andre netværk uden deres tilladelse er en lovovertrædelse.