Naar hoofdinhoud springen

Handleidingen / Een website controleren: de praktische handleidingen

Hoe u controleert of een poort open is

Om te controleren of een poort van buitenaf open is, moet u hem van buitenaf testen: een verbindingspoging vanaf een ander netwerk is het enige resultaat dat iets betekent. Een poort die vanaf uw eigen machine antwoordt, kan nog steeds geblokkeerd zijn door een firewall, een security group of uw hostingprovider voordat een externe bezoeker hem bereikt.

De snelle manier: test van buiten uw netwerk

Voer de hostnaam of het IP-adres en het poortnummer in bij een poortcontroletool en laat deze een verbinding openen vanaf een machine elders op het internet. Of de dienst draait, is een andere vraag. Wat u wilt weten, is of iemand daarbuiten hem kan bereiken, en testen vanaf dezelfde server, of hetzelfde kantoornetwerk, slaat precies de lagen over die meestal het probleem veroorzaken.

De handmatige manier: nc, nmap en telnet

Vanaf elke andere machine op een ander netwerk doen drie tools het werk:

nc -zv example.com 443            # single port, zero-I/O scan, verbose
nmap -Pn -p 22,80,443 example.com # several ports, reports open/closed/filtered
telnet example.com 25             # old but universal; Ctrl+] then "quit" to exit

nc (netcat) is het eenvoudigst: -z betekent verbinden en meteen weer verbreken zonder data te versturen, -v print het resultaat. Het antwoordt "succeeded" of "refused / timed out" en verder niets. Grijp naar nmap wanneer het onderscheid ertoe doet, want het is de enige van de drie die betrouwbaar een geweigerde verbinding van een verworpen verbinding onderscheidt, en -Pn vertelt het de ping-probe over te slaan en de poort te testen zelfs als de host niet op pings reageert. telnet staat vrijwel overal geïnstalleerd, en voor tekstprotocollen zoals SMTP of HTTP toont het u ook de begroetingsbanner die de dienst stuurt.

Om te zien wat er op de machine zelf luistert, wat een andere vraag is, gebruikt u ss -tulpn op Linux of netstat -ano op Windows. Luistert een poort daar wel maar is hij van buitenaf gesloten, dan zit de blokkade ertussenin: een hostfirewall, een cloud security group, of de provider.

Open, gesloten en gefilterd zijn drie verschillende antwoorden

  • Open. Er is een TCP-handshake voltooid. Er luistert een dienst en die heeft de verbinding geaccepteerd.
  • Gesloten. De host antwoordde, maar met een weigering (een TCP reset). De machine is bereikbaar en er luistert niets op die poort. Dit is een snel, definitief antwoord.
  • Gefilterd. Er kwam helemaal niets terug. Een firewall liet het pakket vallen zonder te antwoorden, dus loopt de test op een time-out. Dit is het trage antwoord, en het betekent dat een firewall in de weg zit, niet dat de dienst uitgevallen is.

Gesloten wijst u naar de configuratie van de dienst. Gefilterd wijst u naar een firewallregel, een security group, of een provider die de poort blokkeert. Veel providers blokkeren standaard uitgaand poort 25, en een paar blokkeren 445 en andere vaak misbruikte poorten, wat een gefilterd resultaat oplevert dat geen enkele serverconfiguratie kan veranderen.

UDP is een bijzonder geval. UDP heeft geen handshake, dus kan een scanner vaak geen open poort van een gefilterde onderscheiden, en stilte is een geldig antwoord van een gezonde UDP-dienst. Behandel UDP-resultaten als veel zwakker bewijs dan TCP-resultaten.

Waarom een open poort geen werkende dienst is

Een open poort bewijst dat een TCP-verbinding tot stand kan komen. Het zegt niets over wat daarna gebeurt. Dit zijn allemaal open poorten met kapotte diensten:

  • Een webserver die verbindingen op 443 accepteert terwijl hij 502 teruggeeft omdat de applicatie erachter is gecrasht.
  • Een database die op zijn poort luistert maar elke aanmelding weigert.
  • Een mailserver die de handshake voltooit en de sessie daarna verbreekt voordat hij een bericht accepteert.
  • Een dienst waarvan het TLS-certificaat gisternacht is verlopen. De poort gaat open, en elke client weigert de verbinding.
  • Een poort die is doorgestuurd naar de verkeerde interne machine, die verbindingen accepteert en niets nuttigs teruggeeft.

Een poortcontrole is dus de eerste stap van een diagnose, niet het geheel. Zodra de poort antwoordt, controleert u het protocol: vraag een pagina op en lees de statuscode, voer een echte aanmelding uit, of stuur een testbericht. De volgorde is belangrijk, want een poortcontrole sluit de hele netwerklaag snel uit en laat u daar stoppen met zoeken.

Een korte checklist wanneer een poort niet opengaat

  1. Bevestig dat de dienst op de machine luistert, en op de juiste interface. Een dienst gebonden aan 127.0.0.1 is vanaf nergens anders bereikbaar, en dat is een zeer veelvoorkomende oorzaak.
  2. Controleer de hostfirewall (ufw, firewalld, of de Windows-firewall).
  3. Controleer de cloud security group of network ACL, wat een aparte laag is ten opzichte van de hostfirewall en vaak wordt vergeten.
  4. Controleer eventuele router- of NAT-poortdoorsturing als de machine niet rechtstreeks op een openbaar adres zit.
  5. Bevestig dat de provider die poort niet blokkeert, vooral bij mailpoorten.
  6. Test opnieuw vanaf een derde netwerk om uw eigen uitgaande filtering uit te sluiten.

Volgens een schema opnieuw controleren

Een poortcontrole vertelt u de status op dit moment, vanaf waar de test ook liep. Poorten sluiten zichzelf meestal niet. Firewallregels worden bewerkt, security groups worden aangescherpt, certificaten verlopen en diensten herstarten niet meer na een reboot, en niets daarvan kondigt zich aan. Geplande poortmonitoring maakt volgens een interval opnieuw verbinding vanaf meerdere locaties en waarschuwt wanneer de verbinding niet meer lukt, wat ook het geval betrapt waarin de poort vanaf de ene regio bereikbaar is en vanaf een andere gefilterd. Test nu een poort met de poortcontroletool. Gaat de poort wel open maar faalt TLS, lees dan verder bij hoe u de vervaldatum van een certificaat controleert.

Nu controleren

Voer de gratis check uit op je eigen site, zonder account.

Port check

Dit permanent monitoren

Ontvang een melding zodra er iets misgaat: HostTracker controleert vanaf meer dan 300 locaties en waarschuwt je via e-mail, sms, Slack, Telegram en meer.

HostTracker-functies

Meer in dit onderdeel: Een website controleren: de praktische handleidingen