Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Vilka tjänster lyssnar på din VPS, och vad går att nå utifrån?

Varje program som tar emot anslutningar lyssnar på en port: SSH på 22, en webbserver på 80 och 443, MariaDB på 3306. Varje port som går att nå utifrån är en dörr in till din server. En webbplats behöver oftast bara 22, 80 och 443 utifrån. Här ser du hur du tar reda på vad som lyssnar, på vilken adress, och hur du kontrollerar vad resten av internet ser.

Se vad som lyssnar

Kör på din VPS:

sudo ss -tulpn

Flaggorna betyder: TCP (-t), UDP (-u), bara lyssnande (-l), vilket program (-p) och nummer i stället för namn (-n). Ett exempel:

tcp LISTEN 0.0.0.0:22       users:(("sshd",...))
tcp LISTEN 0.0.0.0:443      users:(("nginx",...))
tcp LISTEN 127.0.0.1:3306   users:(("mariadbd",...))
tcp LISTEN 0.0.0.0:6379     users:(("redis-server",...))
tcp LISTEN [::]:22          users:(("sshd",...))

Det viktiga är kolumnen Local Address, adressen som programmet lyssnar på:

AdressBetydelse
0.0.0.0Alla IPv4-adresser, alltså även din publika adress: nåbar utifrån, om inte en brandvägg stoppar det
[::]Alla IPv6-adresser: samma sak för IPv6
127.0.0.1 eller [::1]Bara servern själv (loopback): aldrig nåbar utifrån
127.0.0.53 eller 127.0.0.54Också loopback: den lokala DNS-hjälpen i systemd-resolved

I exemplet är MariaDB i ordning: bara program på servern själv kommer åt den. Redis lyssnar på alla adresser, och det är precis det felet det handlar om.

Stäng i själva tjänsten

En databas, cache eller administrationspanel ska nästan aldrig vara nåbar utifrån. Det bästa första steget är att tjänsten bara lyssnar på loopback. På Debian och Ubuntu:

ProgramInställningFil
MariaDB eller MySQLbind-address = 127.0.0.1/etc/mysql/mariadb.conf.d/50-server.cnf
PostgreSQLlisten_addresses = 'localhost'/etc/postgresql/<version>/main/postgresql.conf
Redisbind 127.0.0.1 -::1 och protected-mode yes/etc/redis/redis.conf

Starta sedan om tjänsten (se Hantera tjänster med systemctl på din VPS) och kontrollera igen med ss -tulpn. Vill du själv nå databasen från din laptop använder du en SSH-tunnel i stället för en öppen port, se En SSH-config: logga in med ett kort namn.

Brandväggen som andra lager

En brandvägg stoppar det som ändå råkar lyssna på alla adresser. Hur du ställer in ufw står i En brandvägg med ufw (eller nftables). Lita inte på ett enda lager: en brandvägg kan vara avstängd eller en regel kan vara för generös.

Portar som du publicerar med Docker (ports:) går förbi ufw. En databas med "3306:3306" blir då nåbar utifrån, även om ufw säger att porten är stängd. Lägg till 127.0.0.1: framför, eller publicera inte porten. Se Docker och brandväggen: publicera portar säkert.

Kontrollera utifrån

ss visar vad som lyssnar på servern, men inte vad din brandvägg släpper igenom. Den riktiga kontrollen gör du från en annan dator, inte från servern själv. Med nc (netcat) på Mac eller Linux:

nc -vz -w 3 203.0.113.10 6379
nc -6 -vz -w 3 2001:db8::10 6379

På Windows gör PowerShell samma sak med Test-NetConnection 203.0.113.10 -Port 6379. Fyll i din egen IPv4- och IPv6-adress; de finns i VPS-panelen. Så här läser du resultatet:

  • Öppen (succeeded): något lyssnar och det är nåbart utifrån.
  • Stängd (Connection refused): inget lyssnar, eller brandväggen nekar aktivt.
  • Filtrerad (time-out): en brandvägg kastar trafiken i tysthet.

För en databas är både stängd och filtrerad bra. Testa även IPv6: ett vanligt misstag är en brandvägg med bara IPv4-regler, medan tjänsten också lyssnar på [::]. En portskanner som nmap kontrollerar fler portar på en gång; använd en sådan skanner bara på din egen server.

Din server skannas från första minuten, även på portar för databaser och sökkluster. Kör det en tjänst som du inte känner igen, ta reda på vad den är och ta bort den om du inte behöver den. Det som inte körs kan inte heller läcka.

Din VPS är helt egenförvaltad: vilka tjänster som lyssnar och hur din brandvägg är inställd sköter du själv. Vi hjälper till med WebOké-delen, som VPS-panelen, nätverket och snapshots.

Vill du lära dig mer? Gå den kostnadsfria kursen VPS och Linux-serveradministration, lektion 5.1 Portar och lyssnande tjänster eller lektion 5.2 En brandvägg med ufw och nftables.

Var den här artikeln till hjälp?

← Tillbaka till VPS-hosting

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…