Security+ Academy · Oppitunti

Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP

Ymmärrä, miksi selväkieliset protokollat, kuten Telnet, FTP ja HTTP, paljastavat tunnistetiedot ja miten niiden salatut korvaajat (SSH, SFTP, HTTPS) ratkaisevat nämä ongelmat.

Oppitunti 1/413 vaihetta

Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP on ilmainen Security+ Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Security+ Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Security+ Academy-kurssilla on yhteensä 4 oppituntia.

Selväkielisten protokollien ongelma

Monet internetin perusprotokollat suunniteltiin 1970- ja 1980-luvuilla, jolloin tietoturva ei ollut ensisijainen huolenaihe. Selväkieliset protokollat siirtävät kaiken datan – myös käyttäjänimet, salasanat ja arkaluonteiset tiedot – verkossa salaamattomana. Kaikki samaan verkkosegmenttiin kuuluva laite tai mikä tahansa järjestelmä, jonka kautta paketit kulkevat, voi kaapata ja lukea liikenteen vapaasti saatavilla olevilla työkaluilla, kuten Wiresharkilla. Verkkokytkimiä käyttävissä ympäristöissä, joissa liikenne yleensä eristetään porttien välillä, ARP-huijaus voi ohjata liikenteen hyökkääjän järjestelmään. Siksi selväkieliset protokollat ovat vaarallisia myös näennäisesti ”sisäisissä” verkoissa.

# 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 ja SSH

Telnet (TCP-portti 23) tarjoaa etäkäyttöön tarkoitetun komentoriviyhteyden järjestelmiin, mutta siirtää kaiken tiedon selväkielisenä. Siinä ei ole käyttäjänimen ja salasanan lisäksi muuta sisäänrakennettua todennusta, ja nämäkin lähetetään salaamattomina. SSH (Secure Shell) (TCP-portti 22) korvaa Telnetin salatulla ja todennetulla kanavalla. SSH käyttää epäsymmetristä avaintenvaihtoa istuntoavaimen muodostamiseen ja salaa sen jälkeen kaiken viestinnän symmetrisellä salauksella. SSH todentaa myös palvelimen, mikä estää palvelimen toiseksi tekeytymisen, ja tukee salasanatodennuksen lisäksi julkisen avaimen todennusta (salasanaton ja salasanoja turvallisempi).

# 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-avaintenvaihto ja todennus

SSH:n tietoturva perustuu vankkaan avaintenvaihtoprosessiin. Yhteyttä muodostettaessa asiakasohjelma tarkistaa palvelimen isäntäavaimen paikallisesti tallennettua kopiota vasten, mikä estää palvelimen toiseksi tekeytymisen. Jos isäntäavain muuttuu odottamatta, SSH varoittaa käyttäjää. Tämä on yleinen merkki man-in-the-middle-hyökkäyksestä. Kun palvelin on todennettu, asiakas voidaan todentaa seuraavilla tavoilla: salasanalla (siirron aikana salattu, mutta altis brute force -hyökkäyksille), julkisella avaimella (asiakas osoittaa hallitsevansa yksityistä avainta; huomattavasti vahvempi) tai keyboard-interactive -menetelmällä (tukee monivaiheista todennusta). Organisaatioiden tulisi edellyttää avainpohjaista todennusta ja poistaa salasanatodennus käytöstä internetiin yhteydessä olevissa SSH-palveluissa.

# 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, SFTP ja FTPS

FTP (File Transfer Protocol) (TCP-portit 20/21) siirtää tiedostoja selväkielisenä, joten tunnistetiedot, komennot ja tiedostodata ovat kaikki paljastuneita. FTP käyttää myös erillistä datakanavaa (passiivista tai aktiivista tilaa), mikä vaikeuttaa palomuurisääntöjen määrittämistä. SFTP (SSH File Transfer Protocol) tunneloi tiedostonsiirron SSH:n kautta portissa 22. Se on täysin eri protokolla kuin FTP, vaikka nimi on samankaltainen. FTPS (FTP Secure) lisää alkuperäiseen FTP-protokollaan TLS-salauksen. SFTP:tä suositaan yleensä, koska se käyttää yhtä porttia ja hyödyntää SSH:n todennusta ja salausta. FTP tulee poistaa käytöstä kaikissa tuotantojärjestelmissä.

# 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 ja HTTPS

HTTP (TCP-portti 80) siirtää verkkosisällön, kuten lomaketiedot, istuntoevästeet ja todennustunnisteet, selväkielisenä. HTTPS (TCP-portti 443) käyttää HTTP:tä TLS:n sisällä ja tarjoaa salauksen, palvelimen todennuksen sekä tietojen eheyden. Organisaatioiden tulisi edellyttää HTTPS:ää kaikkialla: ohjata kaikki HTTP-liikenne HTTPS:ään (301-uudelleenohjaus), ottaa käyttöön HSTS, joka estää selaimia muodostamasta yhteyttä HTTP:n kautta, sekä määrittää evästeille secure- ja HttpOnly-liput, jotta istuntotunnisteita ei voida varastaa HTTP:n tai JavaScriptin avulla. Nykyaikaiset selaimet merkitsevät HTTP-sivustot ilmoituksella ”Ei suojattu” – HTTPS on nykyään kaikkien verkkopalvelujen perustason vaatimus.

# 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 ja SNMPv3

SNMP (Simple Network Management Protocol) hallinnoi verkkolaitteita ja palvelimia. SNMPv1 ja v2c käyttävät yhteisömerkkijonoja, jotka ovat käytännössä jaettuja salasanoja ja jotka lähetetään selväkielisinä. Yhteisömerkkijonot, kuten ’public’ (luku) ja ’private’ (kirjoitus), ovat oletusarvoja, jotka hyökkääjät tuntevat. SNMP-liikennettä kaappaava hyökkääjä saa selville yhteisömerkkijonon ja voi lukea laitekokoonpanoja tai muuttaa laitteen asetuksia. SNMPv3 lisää käyttäjäkohtaisiin tunnistetietoihin perustuvan todennuksen (HMAC-MD5 tai HMAC-SHA) ja salauksen (AES), joten se on ainoa tuotantoympäristöihin sopiva versio. SNMPv1/v2c tulee poistaa käytöstä.

# 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 ja LDAPS

LDAP (Lightweight Directory Access Protocol) (TCP-portti 389) todentaa käyttäjiä hakemistopalveluissa (Active Directory, OpenLDAP) ja tekee niihin kyselyjä oletusarvoisesti selväkielisenä, mikä paljastaa tunnistetiedot ja hakemistodatan. LDAPS (LDAP over SSL/TLS, TCP-portti 636) salaa yhteyden sertifikaatin avulla. StartTLS on vaihtoehto, joka päivittää olemassa olevan LDAP-yhteyden TLS-suojatuksi käyttäen samaa porttia 389. Sekä LDAPS että StartTLS tarjoavat salauksen, mutta LDAPS on yleensä yksinkertaisempi ja luotettavampi. Organisaatioiden tulisi määrittää kaikki LDAP:tä käyttävät sovellukset käyttämään LDAPS:ää ja estää salaamaton LDAP-liikenne portissa 389 palomuurilla.

POP3/IMAP ja salattu sähköpostin nouto

Vanhat sähköpostiohjelmat noutavat sähköpostia selväkielisinä käyttäen POP3:a (portti 110) ja IMAPia (portti 143). Salatut vaihtoehdot ovat POP3S (portti 995, TLS) ja IMAPS (portti 993, TLS). Nykyaikaiset sähköpostialustat (Exchange Online, Google Workspace) edellyttävät TLS:ää kaikissa asiakasyhteyksissä ja tukevat salasanojen sijaan OAuth 2.0 -tunnistepohjaista todennusta. Organisaatioiden tulisi poistaa sähköpostiprotokollien perustodennus käytöstä. Nykyaikaisen todennuksen (OAuth 2.0 + MFA) edellyttäminen estää tunnistetietojen täyttöhyökkäyksiä, joissa hyödynnetään vanhojen sähköpostiprotokollien salaamattomia todennusmekanismeja.

# 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

Protokollien korvaaminen käytännössä

Vaarallisten protokollien korvaaminen edellyttää muutakin kuin suojatun version käyttöönottoa – suojaamaton versio on poistettava aktiivisesti käytöstä. Toimi seuraavasti: auditoikaa nykyinen protokollien käyttö (Nmap-skannaukset, palomuurilokit), siirtäkää sovellukset ja kokoonpanot suojatun protokollan käyttöön, testatkaa perusteellisesti, sillä liiketoimintasovellukset voivat rikkoutua, ja estäkää suojaamaton protokolla lopuksi palomuurilla ja isännässä. Yleisiä ongelmakohtia: vanhat tulostimet ja sulautetut laitteet tukevat usein vain FTP:tä tai SNMPv2:ta, ja vanhat teollisuusjärjestelmät voivat olla riippuvaisia Telnetistä. Tällaiset järjestelmät on eristettävä verkosta tai korvattava toimittajan ratkaisulla sen sijaan, että protokolla vain päivitettäisiin.

# 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

Etätyöpöytäprotokollan tietoturva

RDP (Remote Desktop Protocol) (portti 3389) on laajasti käytössä Windows-järjestelmien etähallinnassa ja on merkittävä hyökkäyskohde. RDP:n suojaamattomia määrityksiä ovat portin 3389 avaaminen internetiin, pelkkään salasanatodennukseen turvautuminen ja NLA:n poistaminen käytöstä. RDP:n koventaminen: ottakaa käyttöön Network Level Authentication (NLA), joka todentaa käyttäjän ennen täyden istunnon avaamista ja estää todentamattomat yhteydet; edellyttäkää TLS 1.2:ta tai uudempaa kaikissa RDP-istunnoissa; sijoittakaa RDP VPN:n tai RDP-yhdyskäytävän taakse sen sijaan, että se altistettaisiin internetiin; ja ottakaa käyttöön tilin lukitus brute force -hyökkäysten estämiseksi. Monet kiristyshaittaohjelmakampanjat saavat ensipääsyn paljastuneen ja heikosti suojatun RDP:n kautta.

Suojaamattomien protokollien käytöstä poistaminen vaiheittain

Suojaamattomista protokollista luopuminen tuotantoympäristöissä edellyttää huolellista suunnittelua liiketoiminnan häiriöiden välttämiseksi. Vaiheittainen lähestymistapa: Vaihe 1 – Selvitys: suorittakaa Nmap-skannauksia ja tarkastakaa palomuurilokit kaikkien selväkielisten protokollien käyttötapojen tunnistamiseksi. Vaihe 2 – Suojattujen vaihtoehtojen käyttöönotto: määrittäkää SSH, SFTP ja HTTPS toimimaan nykyisten suojaamattomien palvelujen rinnalla. Vaihe 3 – Käyttäjien ja sovellusten siirtäminen: päivittäkää komentosarjat, sovellukset, valvontatyökalut ja käyttäjien toimintatavat käyttämään suojattua protokollaa. Vaihe 4 – Poistaminen käytöstä ja estäminen: poistakaa suojaamaton palvelu käytöstä jokaisessa isännässä ja estäkää portti palomuurilla. Kunkin vaiheen testaus ehkäisee tuotantokatkoja.

# 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

Pikatarkistus

Testaa tässä oppitunnissa oppimaasi CompTIA Security+ (SY0-701) -käsitteistä.

Oppitunnin yhteenveto

Tässä oppitunnissa opit, että salaamattomat protokollat (Telnet, FTP, HTTP, SNMPv1/v2c, LDAP) paljastavat tunnistetiedot ja tiedot verkkoliikenteen salakuuntelulle ja että ne on korvattava, suojatut korvaavat protokollat (SSH, SFTP, HTTPS, SNMPv3, LDAPS) käyttävät TLS- tai SSH-salausta saman toiminnallisuuden suojaamiseen ja että protokollien korvaaminen edellyttää suojaamattoman version poistamista käytöstä palomuurissa ja isäntätasolla sen jälkeen, kun vanhoista riippuvuuksista on tehty tarkastus. Seuraavaksi tutustumme TLS-versioihin, salausohjelmistopaketteihin ja täydelliseen eteenpäin suuntautuvaan salassapitoon.

Aloita maksutta

Opi Security+ Academy tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Security+ Academy-oppimispolun 3 oppituntia, myös oppitunnin “Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Security+ Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP”?

Ymmärrä, miksi selväkieliset protokollat, kuten Telnet, FTP ja HTTP, paljastavat tunnistetiedot ja miten niiden salatut korvaajat (SSH, SFTP, HTTPS) ratkaisevat nämä ongelmat. Harjoittelet Security+ Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Security+ Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Security+ Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Security+ Academy-oppitunnilla?

Kyllä. Jokainen Security+ Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP
  2. TLS-versiot, salauspaketit ja täydellinen suojautuminen tulevaisuuden paljastumiselta
  3. Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)
  4. IPsec, VPN-protokollat ja etäkäytön tietoturva
← Takaisin: Security+ Academy