Cloud & IT Cert Prep · Lektion

Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP

Förstå varför klartextprotokoll som Telnet, FTP och HTTP exponerar autentiseringsuppgifter och hur deras krypterade ersättare (SSH, SFTP, HTTPS) löser problemen.

Lektion 1 av 413 steg

Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Problemet med klartextprotokoll

Många grundläggande internetprotokoll utformades under 1970- och 1980-talen, när säkerhet inte var en huvudfråga. Klartextprotokoll överför alla data – inklusive användarnamn, lösenord och känslig information – i klartext över nätverket. Alla enheter i samma nätverkssegment, eller alla system som paketen passerar, kan fånga upp och läsa denna trafik med fritt tillgängliga verktyg som Wireshark. I miljöer med nätverksswitchar (som normalt isolerar trafik mellan portar) kan ARP-spoofing omdirigera trafiken till angriparens system, vilket gör klartextprotokoll farliga även i ”interna” nätverk.

# What an attacker sees on the wire with Telnet
# (captured via Wireshark or tcpdump)

tcpdump -i eth0 -A port 23

# Sample Telnet capture output:
..login: admin..
..password: S3cr3tPa$$...
..$ ls -la /etc/passwd..

# Every keystroke is visible in plaintext
# Credentials, commands, and file contents - all exposed

Telnet jämfört med SSH

Telnet (TCP-port 23) ger fjärråtkomst till kommandoraden på system men överför allt i klartext. Det har ingen inbyggd autentisering utöver användarnamn och lösenord, som skickas okrypterade. SSH (Secure Shell) (TCP-port 22) ersätter Telnet med en krypterad och autentiserad kanal. SSH använder asymmetriskt nyckelutbyte för att upprätta en sessionsnyckel och krypterar sedan all efterföljande kommunikation med symmetrisk kryptering. SSH autentiserar även servern (vilket förhindrar att en server utger sig för att vara en annan) och stöder autentisering med offentlig nyckel (lösenordsfri men säkrare än lösenord) utöver lösenordsautentisering.

# SSH connection (encrypted, server authenticated)
ssh admin@192.168.1.10

# SSH key-based authentication (no password)
ssh -i ~/.ssh/id_rsa admin@192.168.1.10

# Generate SSH key pair
ssh-keygen -t ed25519 -C 'admin@company.com'

# Copy public key to server
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@192.168.1.10

# Disable Telnet on network devices (Cisco IOS)
no service telnet
line vty 0 4
  transport input ssh
  login local

SSH-nyckelutbyte och autentisering

SSH:s säkerhet bygger på en robust process för nyckelutbyte. Vid anslutning verifierar klienten serverns värdnyckel mot en lokalt lagrad kopia – detta förhindrar att en server utger sig för att vara en annan. Om värdnyckeln ändras oväntat varnar SSH användaren, vilket är ett vanligt tecken på en man-in-the-middle-attack. När servern har verifierats kan klientautentisering använda: lösenord (krypteras under överföringen men är känsliga för brute force), offentlig nyckel (klienten bevisar att den har den privata nyckeln; betydligt starkare) eller keyboard-interactive (stöder MFA). Organisationer bör kräva nyckelbaserad autentisering och inaktivera lösenordsautentisering på internetanslutna SSH-tjänster.

# Harden SSH server configuration
# /etc/ssh/sshd_config
Port 22
PermitRootLogin no
PasswordAuthentication no    # Require key auth only
ChallengeResponseAuthentication no
MaxAuthTries 3
AllowUsers admin deploy
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ClientAliveInterval 300      # Disconnect idle sessions
ClientAliveCountMax 0

# Restart SSH after changes
systemctl restart sshd

FTP jämfört med SFTP och FTPS

FTP (File Transfer Protocol) (TCP-portarna 20/21) överför filer i klartext – autentiseringsuppgifter, kommandon och fildata exponeras. FTP använder dessutom en separat datakanal (passivt eller aktivt läge), vilket gör brandväggsregler mer komplicerade. SFTP (SSH File Transfer Protocol) tunnlar filöverföringen över SSH på port 22 – det är helt skilt från FTP och har bara ett liknande namn. FTPS (FTP Secure) lägger till TLS-kryptering i det ursprungliga FTP-protokollet. SFTP föredras vanligtvis eftersom det använder en enda port och ärver SSH:s autentisering och kryptering. FTP bör inaktiveras på alla produktionssystem.

# SFTP usage (over SSH, single connection)
sftp admin@fileserver.company.com
sftp> put localfile.zip /uploads/
sftp> get /reports/monthly.pdf .
sftp> ls /uploads/
sftp> exit

# Automated SFTP transfer with key auth
sftp -i ~/.ssh/id_rsa admin@fileserver.company.com <<EOF
put /tmp/report.csv /incoming/
EOF

# Disable FTP on Linux (remove vsftpd)
apt purge vsftpd
# Verify no FTP listener:
ss -tlnp | grep ':21'

HTTP jämfört med HTTPS

HTTP (TCP-port 80) överför webbinnehåll, inklusive formulärdata, sessionscookies och autentiseringstoken, i klartext. HTTPS (TCP-port 443) kapslar in HTTP i TLS och tillhandahåller kryptering, serverautentisering och dataintegritet. Organisationer bör kräva HTTPS överallt: omdirigera all HTTP-trafik till HTTPS (301-omdirigering), implementera HSTS för att förhindra att webbläsare ansluter via HTTP och konfigurera cookieflaggorna secure och HttpOnly för att förhindra att sessionstoken stjäls via HTTP eller JavaScript. Moderna webbläsare markerar HTTP-webbplatser som ”Inte säker” – HTTPS är nu den förväntade grundnivån för alla webbtjänster.

# nginx: force HTTPS redirect
server {
  listen 80;
  server_name example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  ssl_certificate /etc/ssl/example.crt;
  ssl_certificate_key /etc/ssl/example.key;
  add_header Strict-Transport-Security
    'max-age=31536000; includeSubDomains; preload';
  add_header X-Content-Type-Options nosniff;
  add_header X-Frame-Options SAMEORIGIN;
}

SNMP v1/v2 jämfört med SNMPv3

SNMP (Simple Network Management Protocol) hanterar nätverksenheter och servrar. SNMPv1 och v2c använder community-strängar (i praktiken delade lösenord) som skickas i klartext – community-strängar som ”public” (läsning) och ”private” (skrivning) är standardvärden som angripare känner till. En angripare som fångar upp SNMP-trafik får reda på community-strängen och kan läsa enhetskonfigurationer eller ändra enhetsinställningar. SNMPv3 lägger till autentisering (HMAC-MD5 eller HMAC-SHA) och kryptering (AES) med användarspecifika autentiseringsuppgifter, vilket gör det till den enda versionen som är lämplig för produktionsmiljöer. SNMPv1/v2c bör inaktiveras.

# SNMPv3 configuration (Cisco IOS)
snmp-server group MYGROUP v3 priv
snmp-server user MONITORUSER MYGROUP v3 \
  auth sha MyAuthP@ss priv aes 128 MyPrivP@ss

# SNMPv3 query from monitoring server
snmpwalk -v3 -l authPriv \
  -u MONITORUSER \
  -a SHA -A MyAuthP@ss \
  -x AES -X MyPrivP@ss \
  192.168.1.1 sysDescr

# Disable SNMPv1/v2c:
no snmp-server community public ro
no snmp-server community private rw

LDAP jämfört med LDAPS

LDAP (Lightweight Directory Access Protocol) (TCP-port 389) autentiserar mot och skickar frågor till katalogtjänster (Active Directory, OpenLDAP) i klartext som standard, vilket exponerar autentiseringsuppgifter och katalogdata. LDAPS (LDAP over SSL/TLS, TCP-port 636) krypterar anslutningen med hjälp av ett certifikat. StartTLS är ett alternativ som uppgraderar en befintlig LDAP-anslutning till TLS via samma port 389. Både LDAPS och StartTLS tillhandahåller kryptering, men LDAPS är vanligtvis enklare och mer tillförlitligt. Organisationer bör konfigurera alla LDAP-användande program till att använda LDAPS och blockera LDAP i klartext på port 389 i brandväggen.

POP3/IMAP jämfört med krypterad e-posthämtning

Äldre e-postklienter hämtar e-post med POP3 (port 110) och IMAP (port 143) i klartext. Krypterade alternativ är: POP3S (port 995, TLS) och IMAPS (port 993, TLS). Moderna e-postplattformar (Exchange Online, Google Workspace) kräver TLS för alla klientanslutningar och stöder tokenbaserad autentisering med OAuth 2.0 i stället för lösenord. Organisationer bör inaktivera grundläggande autentisering för e-postprotokoll – krav på modern autentisering (OAuth 2.0 + MFA) förhindrar credential stuffing-attacker som utnyttjar autentiseringsmekanismerna i äldre e-postprotokoll, vilka skickar uppgifter i klartext.

# Protocol port reference card
Protocol    Insecure Port  Secure Port  Replacement
---------   ------------   ----------  -----------
Telnet      23             22           SSH
FTP         20/21          22           SFTP
HTTP        80             443          HTTPS
SMTP        25             587/465      SMTPS
POP3        110            995          POP3S
IMAP        143            993          IMAPS
LDAP        389            636          LDAPS
SNMP        161/162        161/162      SNMPv3
RDP         3389           3389         RDP+NLA+TLS

Protokollersättning i praktiken

Att ersätta osäkra protokoll kräver mer än att bara aktivera den säkra versionen – den osäkra versionen måste aktivt inaktiveras. Steg: granska befintlig protokollanvändning (Nmap-skanningar, brandväggsloggar), migrera program och konfigurationer till det säkra protokollet, testa noggrant (företagsprogram kan sluta fungera) och blockera sedan det osäkra protokollet i brandväggen och på värddatorn. Vanliga fallgropar: äldre skrivare och inbäddade enheter stöder ofta endast FTP eller SNMPv2, och äldre industriella system kan vara beroende av Telnet. Dessa kräver nätverksisolering eller att leverantören ersätter dem, snarare än en enkel protokolluppgradering.

# Audit for insecure protocol usage
# Nmap: find all Telnet listeners on network
nmap -p 23 10.0.0.0/24 --open -sV

# Find FTP listeners
nmap -p 21 10.0.0.0/24 --open

# Find HTTP (not HTTPS) web services
nmap -p 80 --open 10.0.0.0/24

# Check for SNMPv1/v2c community strings
nmap -sU -p 161 --script snmp-info 10.0.0.0/24

# Block Telnet at firewall after migration
iptables -A FORWARD -p tcp --dport 23 -j DROP
iptables -A INPUT -p tcp --dport 23 -j DROP

Säkerhet för Remote Desktop Protocol

RDP (Remote Desktop Protocol) (port 3389) används i stor utsträckning för fjärradministration av Windows och är ett viktigt angreppsmål. Osäkra RDP-konfigurationer omfattar att exponera port 3389 mot internet, använda enbart lösenordsautentisering och inaktivera NLA. Skydda RDP: aktivera Network Level Authentication (NLA), som autentiserar innan den fullständiga sessionen öppnas (och blockerar oautentiserade anslutningar), kräv TLS 1.2+ för alla RDP-sessioner, placera RDP bakom en VPN eller RDP-gateway i stället för att exponera det mot internet och tillämpa kontolåsning för att förhindra brute force. Många ransomwarekampanjer får sin första åtkomst via exponerad och bristfälligt säkrad RDP.

Avveckla osäkra protokoll stegvis

Att migrera bort från osäkra protokoll i produktionsmiljöer kräver noggrann planering för att undvika störningar i verksamheten. Ett stegvis tillvägagångssätt: Fas 1 – Upptäck: kör Nmap-skanningar och granska brandväggsloggar för att identifiera all användning av klartextprotokoll. Fas 2 – Aktivera säkra alternativ: konfigurera SSH, SFTP och HTTPS parallellt med de befintliga osäkra tjänsterna. Fas 3 – Migrera användare: uppdatera skript, program, övervakningsverktyg och användararbetsflöden så att de använder det säkra protokollet. Fas 4 – Inaktivera och blockera: inaktivera den osäkra tjänsten på varje värd och blockera porten i brandväggen. Testning i varje fas förhindrar driftstopp i produktionen.

# Phase 4: Disable and block Telnet permanently

# Disable Telnet service on Linux
systemctl stop telnet.socket
systemctl disable telnet.socket

# Block Telnet at iptables
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A OUTPUT -p tcp --dport 23 -j DROP
# Save rules
iptables-save > /etc/iptables/rules.v4

# Block at network firewall (Cisco ASA)
access-list OUTSIDE_IN deny tcp any any eq 23

# Verify: should timeout / connection refused
nc -zv 192.168.1.10 23

Snabb kontroll

Testa era kunskaper om CompTIA Security+ (SY0-701)-begreppen från den här lektionen.

Lektionssammanfattning

I den här lektionen har ni lärt er att klartextprotokoll (Telnet, FTP, HTTP, SNMPv1/v2c, LDAP) exponerar inloggningsuppgifter och data för avlyssning i nätverket och måste ersättas, att säkra ersättare (SSH, SFTP, HTTPS, SNMPv3, LDAPS) använder TLS- eller SSH-kryptering för att skydda samma funktionalitet, samt att ersättning av protokoll kräver att den osäkra versionen inaktiveras på brandväggs- och värdnivå efter en granskning av beroenden till äldre system. Nästa avsnitt handlar om TLS-versioner, chiffersviter och perfekt framåtsekretess.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP” gratis?

Ja – hela texten till ”Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP”?

Förstå varför klartextprotokoll som Telnet, FTP och HTTP exponerar autentiseringsuppgifter och hur deras krypterade ersättare (SSH, SFTP, HTTPS) löser problemen. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Ersätta osäkra protokoll: Telnet kontra SSH, FTP kontra SFTP
  2. TLS-versioner, chiffersviter och perfekt framåtsekretess
  3. Säker DNS: DNSSEC och DNS över HTTPS (DoH)
  4. IPsec, VPN-protokoll och säkerhet för fjärråtkomst
← Tillbaka till Cloud & IT Cert Prep