{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"cs/port","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/cs/port/","da":"https://cmaintz.github.io/tech-atlas/da/terms/cs/port/"},"term":{"en":"Port","da":"Port"},"aka":{"en":["port number","network port"],"da":["portnummer","netværksport"]},"domain":["cs"],"cluster":"networking","layer":"network","status":"current","era":1981,"summary":{"en":"A number that picks out which program on a device should receive incoming network data.","da":"Et nummer, der udpeger, hvilket program på en enhed der skal modtage indgående netværksdata."},"body":{"formal":{"en":"A 16-bit number used by TCP/IP alongside an IP address, so that data reaching a device is handed to the right service running on it. Common services use fixed numbers, such as 25 for email and 443 for HTTPS.","da":"Et 16-bit tal, som TCP/IP bruger sammen med en IP-adresse, så data, der når en enhed, overgives til den rette tjeneste på den. Almindelige tjenester bruger faste numre, fx 25 til e-mail og 443 til HTTPS."},"plain":{"en":"If the street address gets a letter to the right building, this number is the flat number - it says which door inside the building the letter goes to.","da":"Hvis gadeadressen får brevet frem til den rigtige bygning, er dette nummer lejlighedsnummeret - det fortæller, hvilken dør i bygningen brevet skal til."},"inPractice":{"en":"During a yearly check, a municipality's IT operations manager scans its servers and finds port 3389, used for remote login, open to the internet on an old server; she closes it the same day.","da":"Ved et årligt tjek scanner en kommunes IT-driftsansvarlige kommunens servere og finder port 3389, der bruges til fjernskrivebord, åben mod internettet på en gammel server; hun lukker den samme dag."},"whyItMatters":{"en":"Every open port is a door an attacker can knock on, and a forgotten one often leads to an unpatched service; closing ports that are not needed is one of the cheapest ways to shrink the attack surface.","da":"Hver åben port er en dør, en angriber kan banke på, og en glemt port fører ofte til en tjeneste, der ikke er patchet; at lukke unødvendige porte er en af de billigste måder at mindske angrebsfladen på."}},"deepDive":{"en":"A port is a 16-bit field in the TCP and UDP headers (and in SCTP and DCCP), giving values from 0 to 65535, with port 0 reserved. It is a transport-layer concept: IP and ICMP have no ports, and the word has nothing to do with the physical ports on a switch. A listening socket is identified by address and port, and a TCP connection by the full tuple of protocol, source address, source port, destination address and destination port. TCP and UDP have separate port spaces, so TCP 53 and UDP 53 are different endpoints that just happen to be used by the same service.\n\nIANA maintains the service name and port number registry under RFC 6335, which divides the space into system or well-known ports (0-1023), user or registered ports (1024-49151) and dynamic or private ports (49152-65535). On Unix-like systems binding below 1024 traditionally requires root privileges (on Linux, the CAP_NET_BIND_SERVICE capability). Clients use ephemeral source ports from a local range: Windows has used the IANA range 49152-65535 since Vista, while Linux defaults to 32768-60999, configurable in net.ipv4.ip_local_port_range. Registration is only convention; any program can listen on any port, so traffic on 443 is not necessarily HTTPS, and firewalls that decide by port number alone can be bypassed by tunnelling over an allowed port.\n\nSome ports recur in incident reports: 22 (SSH), 23 (Telnet, cleartext), 25 (SMTP), 53 (DNS), 80 and 443 (HTTP and HTTPS), 445 (SMB), 3389 (RDP) and database ports such as 1433 (Microsoft SQL Server), 3306 (MySQL), 5432 (PostgreSQL) and 6379 (Redis). Internet-exposed RDP is a common ransomware entry point, and SMB on 445 was the propagation channel for WannaCry in 2017 via the EternalBlue exploit.\n\nPort scanners such as Nmap classify ports as open (the target answers a SYN with SYN/ACK), closed (it answers with RST) or filtered (no reply, or an ICMP unreachable message, usually because a firewall drops the probe). A SYN or \"half-open\" scan never completes the handshake; UDP scanning is slower and more ambiguous because silence can mean open or filtered. Moving a service to a non-standard port reduces log noise from automated scans but is not a control, since a full scan finds it within minutes. Unexpected exposures often come from NAT port forwarding or UPnP on routers opening ports automatically. Practical controls are disabling unneeded services (CIS Controls v8 Safeguard 4.8), comparing listening ports (ss -tulpn or netstat -ano) against an approved baseline, and scanning the external address space regularly, as in the municipality example.","da":"En port er et 16-bit felt i TCP- og UDP-headeren (og i SCTP og DCCP) med værdier fra 0 til 65535, hvor port 0 er reserveret. Det er et begreb fra transportlaget: IP og ICMP har ingen porte, og ordet har intet at gøre med de fysiske porte på en switch. En lyttende socket identificeres af adresse og port, og en TCP-forbindelse af hele tuplen: protokol, kildeadresse, kildeport, destinationsadresse og destinationsport. TCP og UDP har hver sit portrum, så TCP 53 og UDP 53 er to forskellige endepunkter, som blot bruges af den samme tjeneste.\n\nIANA fører registret over tjenestenavne og portnumre efter RFC 6335, som deler rummet i systemporte eller velkendte porte (0-1023), brugerporte eller registrerede porte (1024-49151) og dynamiske eller private porte (49152-65535). På Unix-lignende systemer kræver det traditionelt root-rettigheder at binde til en port under 1024 (på Linux kapabiliteten CAP_NET_BIND_SERVICE). Klienter bruger flygtige kildeporte fra et lokalt interval: Windows har brugt IANA-intervallet 49152-65535 siden Vista, mens Linux som standard bruger 32768-60999, der kan ændres i net.ipv4.ip_local_port_range. Registreringen er kun en konvention; ethvert program kan lytte på enhver port, så trafik på 443 er ikke nødvendigvis HTTPS, og firewalls, der alene afgør ud fra portnummeret, kan omgås ved at tunnelere over en tilladt port.\n\nVisse porte går igen i hændelsesrapporter: 22 (SSH), 23 (Telnet, klartekst), 25 (SMTP), 53 (DNS), 80 og 443 (HTTP og HTTPS), 445 (SMB), 3389 (RDP) og databaseporte som 1433 (Microsoft SQL Server), 3306 (MySQL), 5432 (PostgreSQL) og 6379 (Redis). RDP eksponeret mod internettet er en hyppig indgang for ransomware, og SMB på port 445 var spredningskanalen for WannaCry i 2017 via EternalBlue-exploitet.\n\nPortscannere som Nmap klassificerer porte som open (målet svarer på en SYN med SYN/ACK), closed (det svarer med RST) eller filtered (intet svar eller en ICMP unreachable-besked, typisk fordi en firewall kasserer forsøget). En SYN- eller \"half-open\"-scanning gennemfører aldrig håndtrykket; UDP-scanning er langsommere og mere tvetydig, fordi tavshed både kan betyde åben og filtreret. At flytte en tjeneste til en ikke-standardport mindsker støjen i logs fra automatiske scanninger, men er ikke en kontrol, for en fuld scanning finder den i løbet af minutter. Uventede eksponeringer skyldes ofte port forwarding i NAT eller UPnP på routere, der åbner porte automatisk. Praktiske kontroller er at slå unødvendige tjenester fra (CIS Controls v8, safeguard 4.8), sammenholde lyttende porte (ss -tulpn eller netstat -ano) med en godkendt baseline og jævnligt scanne det eksterne adresserum, som i eksemplet med kommunen."},"edges":[{"type":"requires","to":"cs/ip-address","confidence":"high","strength":"normal"},{"type":"requires","to":"cs/protocol","confidence":"high","strength":"normal"}],"depth":2,"sources":[{"title":"Kurose & Ross, Computer Networking: A Top-Down Approach","tier":"textbook"}],"draft":true}