Öppna nätverksportar

Vad är öppna portar?

Varje tjänst som körs på en server lyssnar på en port — en numrerad kanal genom vilken nätverkstrafik flödar. När en port är öppen och nåbar från internet innebär det att tjänsten bakom den är direkt åtkomlig för vem som helst, var som helst.

ExposureIndex skannar dina internetexponerade IP-adresser och identifierar vilka portar som är öppna och vilken tjänst som sannolikt körs bakom var och en. Öppna portar som inte förväntas — eller som kör tjänster som inte bör vara publikt exponerade — flaggas som fynd.


Varför spelar det roll?

Varje öppen port är en potentiell ingångspunkt. Tjänster har sårbarheter. Angripare skannar kontinuerligt hela internet efter kända sårbara serviceversioner på öppna portar. Tiden mellan att en ny sårbarhet publiceras och de första automatiserade exploateringarna mäts ofta i timmar.

Principen om att minimera attackytan säger: om en port inte behöver vara öppen, stäng den.


Vanliga fynd och vad du ska göra

Portar för fjärradministration (SSH / RDP / WinRM)

Portar: SSH på 22, RDP på 3389, WinRM på 5985/5986

Dessa attackeras frekvent via brute-force och credential stuffing. De bör aldrig vara direkt exponerade mot det publika internet.

Åtgärd:

  • Placera bakom VPN — Personal ansluter till VPN först, sedan SSH/RDP till servern. Porten är osynlig för all annan trafik.
  • Använd en bastion host — En enda härdad hoppserver är den enda publikt åtkomliga SSH-ingångspunkten. Alla andra servrar nås endast från bastionen.
  • IP-vitlistning — Brandväggsregler tillåter åtkomst endast från kända kontor- eller admin-IP-adresser. Mindre idealiskt än VPN eftersom kontors-IP:er kan förändras.
  • Byt standardport — Att flytta SSH från 22 till en icke-standardport minskar automatiserat scanningbrus men ger inget verkligt skydd. Gör detta utöver, inte istället för, ovanstående.

Om du måste hålla SSH öppet, tillämpa åtminstone: - Inaktivera lösenordsautentisering; använd nyckelpar - Aktivera fail2ban eller motsvarande för att blockera brute-force-försök - Inaktivera root-inloggning (PermitRootLogin no i /etc/ssh/sshd_config)


Databasportar (MySQL / PostgreSQL / MongoDB / Redis)

Portar: MySQL 3306, PostgreSQL 5432, MongoDB 27017, Redis 6379

Databaser bör aldrig vara direkt nåbara från det publika internet. Att exponera dem har lett till några av de största dataintrången någonsin.

Åtgärd: Konfigurera din brandvägg (eller security group i molnmiljöer) att blockera dessa portar från all extern trafik. Databaser ska bara acceptera anslutningar från de applikationsservrar som behöver dem, på det interna nätverket.


Okrypterade tjänsteportar (HTTP, FTP, Telnet)

Portar: HTTP på 80, FTP på 21, Telnet på 23

Okrypterade protokoll skickar inloggningsuppgifter och data i klartext. Vem som helst på nätverksvägen kan läsa dem.

Åtgärd: - HTTP (80): Omdirigera all trafik till HTTPS. Håll port 80 öppen endast för omdirigering och för Let's Encrypt ACME-utmaningar. - FTP (21): Ersätt med SFTP (via SSH, port 22) eller FTPS. - Telnet (23): Ersätt med SSH helt och hållet.


Oväntade eller okända tjänster

Om ExposureIndex hittar en öppen port som du inte känner igen bör du ta det på allvar. Det kan indikera:

  • En bortglömd eller ohanterad server
  • En tjänst installerad utan administratörens vetskap
  • Skadlig kod som etablerar en bakdörr

Åtgärd: Identifiera processen som lyssnar på porten (ss -tlnp eller netstat -tulnp på Linux), avgör om den är legitim och härdna eller ta bort den.


Hur du granskar och stänger portar

Linux (med ss):

ss -tlnp   # visa lyssnande TCP-portar och vilken process som äger dem

Brandväggsregler (UFW):

ufw deny 3306        # blockera MySQL från alla externa källor
ufw allow from 10.0.0.0/8 to any port 22   # tillåt SSH endast från internt nätverk

Molnmiljöer: Använd din molnleverantörs security group- eller brandväggsregler (AWS Security Groups, GCP Firewall Rules, Azure NSG) som primär kontroll. Dessa agerar innan trafiken ens når din server.


Senast uppdaterad: March 28, 2026