Mine sisu juurde

Küpsiste seaded

Vali iga liigi kohta, milliseid küpsiseid lubad. Oma valikut saad alati muuta iga lehe allosas oleva lingi „Küpsiste seaded“ kaudu. Privaatsuspoliitika

Vajalikud

Alati sees

Vajalikud sisselogimiseks, ostukorvi säilitamiseks ja sinu valikute meelespidamiseks. Need on alati sees.

Millised küpsised?
  • weboke_sessie, weboke_klant, weboke_remember: sinu seanss ja sisselogituks jäämine
  • weboke_basket: sinu ostukorv
  • wkBtwIncl: hindade näitamine koos käibemaksuga või ilma
  • wok_cookies: sinu küpsisevalik, 12 kuud

Mõõdab, milline reklaam viib külastuse või tellimuseni, et me ei maksaks reklaamide eest, mis midagi ei anna.

Millised küpsised?
  • Google Ads Google Tag Manageri kaudu (_gcl_au, _gcl_aw), kuni 90 päeva
  • OpenAI Ads, reklaamid ChatGPT-s
  • wok_aff: millise partneri kaudu meie juurde jõudsid (partnerprogramm), 60 päeva

4,6

Riik ja keel

Igal riigil on oma sait, selle riigi hindade ja käibemaksuga.

Vaata

SSH nutikas kasutamine

Moodul 2: SSH ja võtmed · Lugemisaeg: 10 minutit

Õpieesmärk: Pärast seda õppetundi oskad SSH-d igapäevaselt mugavalt kasutada oma konfiguratsioonifailiga, kopeerida faile scp ja rsynciga ning jõuda tunneli kaudu andmebaasini nii, et andmebaasi port ei pea internetti avatud olema.

Põhimõisted: ~/.ssh/config, Host, HostName, User, IdentityFile, scp, rsync, sftp, port forwarding, -L, tunnel, ProxyJump, ServerAliveInterval, teine pordinumber, võtme tühistamine

Vähem trükkimist ~/.ssh/config abil

Mõne nädala pärast trükid seda kümneid kordi päevas:

anna@laptop:~$ ssh -i ~/.ssh/id_ed25519 anna@192.0.2.10

Kliendi konfiguratsioonifailiga läheb see lühemaks ja teed vähem vigu. Fail asub sinu enda arvutis: ~/.ssh/config (Windows: C:\Users\anna\.ssh\config, ilma laiendita).

Host web1
    HostName 192.0.2.10
    User anna
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60

Host test
    HostName test.example.com
    User anna
    Port 2222

Nüüd piisab sellest:

anna@laptop:~$ ssh web1
anna@web1:~$

Mida read teevad?

  • Host on hüüdnimi, mille ise valid. Kirjutad selle käskude ssh, scp ja rsync järele.
  • HostName on tegelik aadress: IP-aadress või nimi, mis on DNS-is olemas.
  • User ja Port on kasutajanimi ja port, nii et sa ei pea neid enam meeles pidama.
  • IdentityFile määrab võtme. Kasulik, kui sul on mitu võtit; ilma selle reata proovib ssh sinu vaikevõtmeid.
  • ServerAliveInterval 60 saadab iga 60 sekundi järel väikese elumärgi. Paljud koduruuterid ja wifi-võrgud katkestavad vaikse ühenduse mõne minuti pärast; nii jääb sinu seanss avatuks.

Ka siin kehtib esimene väärtus, täpselt nagu serveris. Pane üldised reeglid nagu Host * seega faili lõppu.

Failide kopeerimine: scp, rsync ja sftp

scp kopeerib faili, sama kujuga nagu cp, kuid ette tuleb host::

anna@laptop:~$ scp backup.sql web1:/home/anna/
anna@laptop:~$ scp web1:/var/log/nginx/error.log .

rsync on kaustade ja suurte andmehulkade puhul nutikam: see saadab ainult muutunud osa ja oskab katkenud kopeerimist jätkata. See peab olema paigaldatud mõlemale poolele (apt install rsync).

anna@laptop:~$ rsync -avz --progress ./site/ web1:/var/www/example.com/

Pane tähele kaldkriipsu pärast ./site/: kaldkriipsuga kopeerib rsync kausta sisu, ilma kaldkriipsuta kausta enda (siis saad /var/www/example.com/site/). Kahtluse korral proovi esmalt valikuga --dry-run ja ole väga ettevaatlik valikuga --delete, mis kustutab vastuvõtval poolel kõik, mida sinu poolel pole.

sftp ja graafilised programmid nagu FileZilla või WinSCP kasutavad sama SSH-ühendust ja sama võtit. Eraldi FTP-serverit pole seega vaja. Vanamoodsat FTP-serverit VPS-is ei soovita: tavaline FTP saadab sinu parooli võrgus krüpteerimata.

Tunnel avatud pordi asemel

See on ehk kõige kasulikum asi, mida SSH oskab. Oletame, et sinu serveris töötab PostgreSQL-andmebaas. Tahad sellele oma sülearvutist graafilise programmiga ligi pääseda. Kiusatus avada port 5432 internetti on suur. Ära tee seda: avatud andmebaasipordid on üks suuremaid andmelekete põhjuseid (õppetund 10.2) ja kursus kontrollib hiljem väljastpoolt, et need on suletud (ülesanne Z5.1).

Kohaliku port forwardingu abil lased SSH-l tunneli teha:

anna@laptop:~$ ssh -L 5432:127.0.0.1:5432 web1

Loe seda nii: „kuula minu sülearvutis porti 5432 ja saada kõik, mis sinna saabub, läbi SSH-ühenduse aadressile 127.0.0.1:5432, serveri vaatenurgast“. Kuni see seanss on avatud, ühendad oma andmebaasiprogrammi aadressiga localhost port 5432 oma sülearvutis ja jõuad serveris olevasse andmebaasi.

Miks see nii hea on?

  • Andmebaas kuulab serveris ainult aadressil 127.0.0.1 ja on väljastpoolt kättesaamatu.
  • Ühendus on SSH poolt krüpteeritud, isegi kui andmebaasil endal krüpteerimist pole.
  • Ligi pääseb ainult see, kes saab SSH-ga sisse logida. Kasutad seega tugevat kaitset, mis sul juba olemas on.

Kui sinu sülearvutis töötab pordil 5432 juba midagi, vali vasakule teine number: -L 15432:127.0.0.1:5432, ja ühenda pordiga 15432. Kui paned tunneli faili ~/.ssh/config, on see sul alati käepärast:

Host web1-db
    HostName 192.0.2.10
    User anna
    LocalForward 15432 127.0.0.1:5432

Valikuga ssh -N web1-db saad ainult tunneli, ilma käsureata.

Vaheserveri kaudu: ProxyJump

Mõnikord pääsed serverisse ainult teise serveri kaudu, näiteks andmebaasiserver ilma avaliku IP-aadressita sinu veebiserveri taga. ProxyJump hüppab esimese serveri kaudu edasi teise:

Host db1
    HostName 10.0.0.5
    User anna
    ProxyJump web1

Erinevus agent forwardingust (õppetund 2.1): ProxyJumpi puhul kulgeb krüpteering algusest lõpuni sinu sülearvuti ja db1 vahel. Vaheserver ainult edastab pakette ega saa sinu võtit kasutada.

Teine pordinumber: jah või ei?

Paljud juhendid soovitavad panna SSH teisele pordile, näiteks 2222. Mida see tegelikult teeb?

  • See vähendab müra: enamik automaatseid äraarvamiskatseid proovib ainult porti 22. Sinu logi muutub rahulikumaks.
  • See ei ole turvameede. Skanner, mis käib läbi kõik pordid, leiab SSH versioonibänneri järgi sekunditega.

Võtmete ja välja lülitatud paroolisisselogimisega (õppetund 2.2) ei ole pordil turvalisuse jaoks suurt tähtsust. Kui siiski tahad vahetada, tee seda õiges järjekorras: ava tulemüüris uus port, lase SSH-l kuulata mõlemat porti, testi teises aknas ja alles siis sulge vana port. Ubuntu 24.04 ja uuemates kuuluvad sinna juurde systemctl daemon-reload ja systemctl restart ssh.socket (õppetund 2.2). Ära unusta, et sinu teenusepakkujal võib samuti olla tulemüür.

Ligipääsu tühistamine

Endisel kolleegil või veebiarendajal oli sinu serveris võti ja ta ei tööta enam sinu heaks? Ligipääsu tühistamine on lihtne, kui sa sellel silma peal hoiad:

  1. Vaata kõiki võtmeid: ssh-keygen -lf ~/.ssh/authorized_keys, ja tee seda iga kasutaja jaoks (ka /root/.ssh/authorized_keys).
  2. Eemalda selle inimese rida.
  3. Kui ta kasutas oma kasutajakontot, lukusta see (õppetund 3.1) ja kontrolli, kas ta oli grupis sudo (õppetund 3.2).
  4. Kui ta on näinud paroole, näiteks andmebaasi parooli konfiguratsioonifailis, vaheta ka need.

Tavalisel võtmel pole aegumiskuupäeva. Mida sa ei eemalda, see töötab edasi ka aastaid hiljem. Kui annad kellelegi ajutise ligipääsu, võid tema rea ette failis authorized_keys lisada valiku expiry-time="20261231"; pärast seda kuupäeva keeldub server võtmest.

Kokkuvõte

  • ~/.ssh/config sinu enda arvutis hoiab iga serveri kohta nime, kasutajat, porti ja võtit; Host * kuulub lõppu.
  • scp üksikute failide jaoks, rsync kaustade jaoks (pane tähele kaldkriipsu ja valikut --delete), sftp FTP asemel.
  • Käsuga ssh -L jõuad andmebaasini krüpteeritud tunneli kaudu, samal ajal kui andmebaasi port jääb väljastpoolt suletuks.
  • ProxyJump hüppab turvaliselt vaheserveri kaudu; parem kui agent forwarding.
  • Teine pordinumber vähendab müra, kuid ei kaitse. Võtmed, mida sa ei eemalda, töötavad edasi.

Test (quiz)

1. Mida teeb ssh -L 15432:127.0.0.1:5432 web1?



2. Miks on SSH-tunnel andmebaasini parem kui pordi 5432 avamine tulemüüris?



3. Viid SSH pordile 2222. Mis on kõige olulisem mõju?



4. Sinu failis ~/.ssh/config on üleval Host * koos User root ja allpool Host web1 koos User anna. Millise kasutajana logid sisse serverisse ssh web1?



5. Veebiarendajal oli sinu serveris oma SSH-võti ja ta ei tööta enam sinu heaks. Mis EI ole piisav?



Ülesanne

Ülesanne O2.3: SSH-config ja tunnel. Loo oma arvutis fail ~/.ssh/config hüüdnimega oma serverile, logi sisse ainult käsuga ssh <bijnaam>, kopeeri fail scp või rsynciga ja tee valikuga -L tunnel teenuseni, mis kuulab sinu serveris ainult aadressil 127.0.0.1 (kui sul pole veel andmebaasi, kasuta serveri enda porti 22: ssh -L 2200:127.0.0.1:22 <bijnaam> ja seejärel ssh -p 2200 anna@localhost). Vasta küsimustele selle kohta, mida tunnel teeb ja miks porti pole vaja avada.

Ülesanne O2.3: SSH-config ja tunnel

Selle ülesande teed ise, keegi ei kontrolli seda. Märgi ära, mida tegid, ja märgi ülesanne tehtuks.




Su linnukesed ja märkmed jäävad ainult sellesse brauserisse, me ei saada neid kuhugi. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et tegid ülesande ära.

Loe edasi

Nende artiklite sammud kehtivad WebOké VPS-ide ja paneelide kohta; teiste teenusepakkujate juures toimib see sarnaselt.

Hetk…

Seadista oma domeenid

Määra iga domeeni jaoks nimeserverid, seos sinu majutusega ja kes saab omanikuks.

Laadin sinu domeene…