E-mail
















 

Hieroglifák előnyben


A kéretlen levelek, a lopott személyazonosságok korában senki nem vitatkozik arról, hogy a személyes adatok védelme fontos.

Hiábavaló lehet a legnagyobb szoftveres elővigyázatosság is, ha a felhasználónak hosszá jelszavakat használ, amiket általában nem jegyez meg, és Post-It-re felírva tárol lehetőleg a géphez közel, hogy mindig meglegyen, így sajnos nem csak neki. Gyakran nem választanak ki biztonságos jelszót sem, saját nevüket, gyerek, hozzátartozó nevét adják meg, amit könnyen ki lehet találni vagy ami még rosszabb, bankkártya PIN kódot, más belépési PIN kódokat használnak, hogy ne kelljen annyi mindent megjegyezni. Csakhogy a gép által kiírt sok pont csalóka. A Post-It-et dobd a megsemmisítőbe, találj ki egy számsorozatot betűkkel, számokkal, és jól jegyezd meg, ne írd fel sehova, legfeljebb addig, míg meg nem tanulod, lehetőleg minden fiókhoz külön. Nincs egyszerűbb megoldás? De van, használd ki az SSL (Secure Sockets Layer) titkosítási rendszert. Ezzel megvédheted digitális adataidat, jelszóidat. …s ez nehéz? Nem, egyszerűbb, mint összegyűrni a papírt.

A mindennapi biztonsági szokásaidat javíthatod a Mac OS X rendszerben telepített szoftverek használatával, lehetőleg minél egyszerűbben, hiszen nem mindenki biztonsági szakember. Több olyan biztonsági intézkedés van előre telepítve, ami a személyes adatok védelmében használható, ilyen a tűzfal, az SSL támogatás, lehetővé téve a titkosított adatforgalmat. A levelek címzettig történő titkosítására szolgáló PGP (Pretty Good Privacy) igény szerint letölthető.

Az SSH használata különösen előnyös a mindennap használt tevékenységben, a web böngészésében, a fájlok cserélésében (FTP) és az elektronikus levelezésben (e-mail). Ha titkosítás nélkül küldöd az adataidat, nemcsak az elérésedet - név, jelszó - lehet lelesni, hanem azt az adatot is, amit küldesz, az esetek többségében pedig bizalmas adatokról van szó. További előnye, hogy ingyenes, előre telepítve van és tökéletesen megfelel erre a célra.

Ha fikciónak hiszed, hogy a hálózaton történő szaglászással jelszókat lehet ellopni, akkor gondold át. A következő tcpflow (http://www.circlemud.org/~jelson/software/tcpflow) programmal, ami a telepített tcpdump parancs könyvtárait is használja, az adott porton menetelő forgalmat le lehet olvasni. Ha az íróasztalra csomagoltad ki az állományt, a telepítést a következő formában is megteheted:
# installer -pkg ~/Desktop/tcpflow-0.20-jaguar.pkg -target /

A manuált html formában a weboldalon is meg tudod találni, ha pedig már edzett felhasználó vagy, add ki a man tcpflow parancsot.

Kattints már rám! Kíváncsiságképp nézzük meg a freemail webmailes felületén, hogyan mászik fel az általad beírt felhasználónév és jelszó, nem biztonságos kapcsolaton.

Kattints már rám! Hoppá! Feketén fehéren látszik, mi a bejelentkezési név, és mi a jelszó. Mailbox dettó, hacsak nem https-en keresztül lépünk be, aminek a használatára fel is hívja figyelmünket, erről később.

Kattints már rám! Ha ezt a jelszót egyszerre több dologhoz is használod, pl.: PIN kód, akkor komoly bajba is kerülhetsz. A .mac webmailje titkosítva van, ha megnézed a webcím elejét, itt is https-sel kezdődik.

De nemcsak a weben lehet nem titkosított adatokat küldeni.

Kedvenc levelezőprogramod is érthetően küldi el a jelszavakat, ez alól a .mac fiók sem kivétel.
Kattints már rám! Kattints már rám!

Nem csak a jelszavak, hanem a levelek maguk is szövegesen utaznak, akár küldésről, akár fogadásról van szó. Bármely FTP (File Transport Protocol) protokollt használó FTP kliens szintén. Kattints már rám! Mit is csinál a tcpflow? Egyszerűen lementi az adott porton közlekedő információt, nemcsak a fejlécet, hanem az adatokat is, ezzel több, mint a tcpdump. A 80-as port a web, a 110-es a pop3-as levélkiszolgáló, a 21-es az FTP vezérlő parancsai számára van fenntartva.

Nézzük, hogyan lehet titkosítani az általunk küldött információt, biztonságos adatátvitelt megvalósítani. A biztonságos azt jelenti, hogy harmadik fél nem férhet hozzá a küldés alatt lévő információhoz.

Mi az SSH (Secure SHell)?

Az SSH-t a telnet biztonságos megfelelőjeként emlegetik, gyakran hívják shellnek, sok program alkalmazza az adatforgalmának titkosítása érdekében, egyfajta kölcsönös hitelesítési eljárással működik, digitális aláírásokkal és az üzenet titkosításával teszi lehetővé a biztonságos adatforgalmat az SSL protokollon keresztül. Az SSL2 protokoll sok újítása között megtalálható a biztonságos FTP (Secure File Transport Protokoll) támogatása, adott titkosított alagútba tudja terelni az adatforgalmat, az SSL3 támogatja a láncolt tanúsítványok megtekintését is. A jelszómegadást is ki lehet vele ejteni, ha hitelesített kulcsokat határozol meg a gépekhez, akár NFS megosztások esetén is. Az SSH használata biztonságos, széles körben elterjedt.

Mi az a kölcsönös hitelesítési eljárás?
Az SSL protokoll egy nyilvános kulcsú titkosításon alapuló párbeszédet hoz létre a te számítógéped, illetve az e-mail, web vagy FTP szerver között, amire kapcsolódsz. Ez mindig egy kulcspárból áll, amelyet egy személyes és egy nyilvános kulcs alkot. A kulcsok mindegyike lehetőséget ad neked arra, hogy titkosítsd az üzenetedet, de mindig a másik kulcs az, amivel visszafejtheted a bekódolt információt, így hitelesítve vagy. A nyilvános kulcsodat hozd nyilvánosságra, akár úgy, hogy elküldöd a címzettnek, vagy nyilvánosan hozzáférhető kulcsszervereket is igénybe vehetsz. Így lehetséges például egy banki átutalásnál, hogy az ügyfél a bank nyilvános kulcsát felhasználva titkosított információban közli bizalmas adatait, amelyett csak a bank személyes kulcsával tud visszafejteni. Azonban a bank nyilvános kulcsát bárki megkaphatja, a feladó azonosítását az ujjlenyomata teszi lehetővé.

Mire jó az ujjlenyomat?
Az általad titkosított üzenet feddhetetlenségét az ujjlenyomatoddal is növeled. Az ujjlenyomat egy adott hosszúságú, a te személyes kulcsoddal titkosított, az üzenetből nyert kivonat, ami jellemző az üzenetre, belőle az üzenet nem állítható elő. Ezt az ujjlenyomatot a digitális aláírásodban küldöd el titkosítva az üzenet végéhez csatolva, amelyet kézhezvételkor összehasonlítanak az ott megfejtett üzenetből készített ujjlenyomattal. Mindehhez a te nyilvános kulcsodat használják fel, s ha a kettő egyezik, az üzenet hiteles.

Mi az a digitális aláírás?
A digitális aláírásod az azonosításodra szolgál, képvisel a hálózaton, egyedi, hitelesíti az általad küldött adatokat, tartalmazza az ujjlenyomatodat is. Matematikai algoritmussal van elkészítve, a te személyes kulcsoddal készül és mivel kulcspárokról van szó, csak az általad elküldött vagy nyilvános helyről letöltött nyilvános kulcsoddal lehet az eredetiségét ellenőrizni. Ha pedig az ellenőrzés sikerül, az azt jelenti, hogy csak a te személyes kulcsoddal történhetett a titkosítás, mert a nyilvános kulcsoddal csak az általad titkosított üzeneteket lehet visszafejteni, tehát az információ valóban eredeti. Minden általad elküldött üzenet végére kerül, s ha a titkosított üzenet sérül, az azonnal kiderül az aláírás ellenőrzése során. Ugyanazt az aláírást nem lehet kétszer felhasználni, mert egy egyedi sorszámot is tartalmaz.

Mik azok a tanúsítványok?
Ha kapsz egy nyilvános kulcsot, az bizonyos, hogy csak annak a kulcsnak a személyes párjával lehet megtudni a küldött üzenetet, de semmi nem garantálja azt, hogy a személyes kulcs ahhoz tartozik, akinek küldeni akarod, illetve a másik félnél is felmerülhet ugyanez a probléma. Mindkét fél rendelkezhet egy tanúsítvánnyal. Ez egy igazolás, amit tanúsítványkibocsátó hatóságok (Cetificate Authority) írhatnak alá. Ha mindkét fél megbízik az ügynökségben, akkor biztos lehet abban, hogy a megfelelő személlyel tart kapcsolatot. A tanúsítvány magában foglalja a nyilvános kulcsot, a kiállító hatóságot, az élettartamot, illetve a személyazonosság igazolására szolgáló adatokat. Lehetőség van saját tanúsítvány létrehozására, ami kevésbé kritikus esetekben megfelelő, illetve nagy előnye, hogy ingyenes a hatósági kiállítással szemben. A tanúsítványt a kulcshitelesítő a saját személyes kulcsának használatával szignálja digitálisan, a nyilvános kulcsot letöltve megkaphatod az adott hatóság ujjlenyomatát a hitelesség ellenőrzése céljából.

Hol találom meg az SSH-t?
# which ssh
/usr/bin/ssh


A verziószámát a következő paranccsal kaphatod meg:
# ssh -V
OpenSSH_3.6.1p1+CAN-2003-0693, SSH protocols 1.5/2.0, OpenSSL 0x0090702f


http://www.openssh.org/ Kiderült, hogy a Mac OS X rendszer az OpenSSH-t használja, ami BSD-licenc alá tartozik, ingyenes. A honlapon mindig a legfrissebb infókat találhatod meg.

Mivel sok platformon használják az OpenSSH-t, képes hibamentesen együttműködni, mint minden parancsnál itt is létezik:
# man ssh
Formatting page, please wait...

SSH(1)          BSD General Commands Manual

NAME
     ssh - OpenSSH SSH client (remote login program)
     ...

parancs. Ha csak az
# ssh
Usage: ssh [options] host [command]
Options:
  -l user     Log in using this user name.
...

parancsot ütöd be, a parancsok rövid leírását találod. Ha valami újat próbálsz ki a parancssorban, érdemes a parancs manuálját és az alapvető parancsait megnézni, hogy megismerkedj velük.

Nézzük, hogyan segít az SSH, ha biztonságosan szeretnéd a Webet böngészni - a mailbox támogatja a https protokollt -, amely az SSL-t használja. A http://www... használata helyett a https://www... kell beírnunk. A Safari támogatja a biztonságos böngészést, kapcsolódásnál a szerver végigpróbálja a lehetséges adatátviteli kapcsolódásokat, majd kiválasztja a kódkészletet, kiválasztja a kapcsolati kulcsot, majd a kliens ellenőrzi a szerver tanúsítványát, ha ez nem lehetséges, például egyedi tanúsítványt hoztál létre, akkor a klienstől kér egy tanúsítványt, amelyet az SSH automatikusan létrehoz.Kattints már rám! A jobb felső sarokban megjelenő kis lakat tudatja, hogy biztonságos a kapcsolatod a szerverrel. Az adat a 443-as porton áramlik, nem a 80-as porton.

Így már nem nagyon érthető, miről van szó, és pont ez a lényeg, a küldött és fogadott adataid biztonságban vannak.

Jelszóval történő hitelesítés

Az SSH-t jelszavas hitelesítéssel a legegyszerűbb használni. Van egy biztonságosabb, ámbár nehezebben beállítható módja a hitelesítésnek, ha kulcsokat és ezeket feloldó jelmondatotokat állítasz be.

A jelszavas hitelesítés annak a kontónak a jelszavát használja fel, amivel az adott szerveren rendelkezel. Az SSH ahelyett, hogy érthető formában küldené el a hálózaton, titkosítja a jelszavadat.

Macintosh:~ root# ssh spoun@hashmark.hu
The authenticity of host 'hashmark.hu (213.163.0.233)' can't be established.
DSA key fingerprint is de:c5:bd:85:3c:68:d8:ff:74:27:d1:d2:a6:05:cb:72.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hashmark.hu,213.163.0.233' (DSA) to the list of known hosts.
spoun@hashmark.hu's password:
Last login: Tue Dec 09 2003 14:03:02 +0100 from ktv31-156-71.cat
FreeBSD 4.9-RELEASE (Calliope) #0: Thu Nov 6 09:37:38 CET 2003

No mail.

spoun@calliope$


Kattints már rám! Ha első alkalommal csatlakozol erre a szerverre SSH-n keresztül, felajánlják neked, hogy elfogadod-e az adott szerver egyedi digitális aláírását, ezzel együtt megadja az ujjlenyomatát. Ha igennel ('yes') válaszolsz, akkor elfogadod, és automatikusan tárolod a szerver nyilvános kulcsát egy ismert gazdák ('known_hosts') fájlban a Saját Mappád (Home Folder) '.ssh' nevű almappájában. Ez lesz az a nyilvános kulcs, amire szükséged van, hogy a szervertől kapott titkosított üzeneteket vissza tudd fejteni.

Ha egyszer eltároltad, a legközelebbi kapcsolódáskor nem kell újra, illetve ami sokkal fontosabb, minden egyes kapcsolódáskor összehasonlítja a szerveren lévő nyilvános kulccsal, hogy ellenőrizze az adott szervert.

debug1: Host 'hashmark.hu' is known and matches the DSA host key.
debug1: Found key in /var/root/.ssh/knownőhosts:1
debug2: bits set: 502/1024
debug1: ssh_dss_verify: signature correct


Ha a nyilvános kulcsok különböznek, lehetséges, hogy valaki egy közbülső szervert helyezett el közted, és a hitelesített szerver között, magát a hitelesített szervernek kiadva, és hozzáférkőzve a küldött adatokhoz. Az összehasonlítás miatt, kaphatsz egy figyelmeztető üzenetet, ha ez a helyzet, kiléphetsz a kapcsolatból, ha biztonsági problémára gyanakszol. Nem gyakori, de érdemes megemlíteni, miért is hasznos eltárolni a nyilvános kulcsot.

A tárolt nyilvános kulcsot megnézheted:
# cat .ssh/known_hosts
hashmark.hu,213.163.0.233 ssh-dss AAAAB3NzaC1kc3MAAACBAO8KEe4CF...

... és meg nagyon sok karakter. Nem túl érdekes, de sokat segít a megértésben. Ha letörlöd és újra kapcsolódsz újra felajánlja a kapcsolódást, amelyet megint el kell fogadnod, ha kapcsolódni akarsz. Próbáld ki!

Ezzel bejelentkeztél a távoli számítógépre, ahol egy parancsértelmezőt kapsz, amelybe parancsokat gépelhetsz. Ha probléma van a csatlakozásnál kipróbálhatod a '-vv' csatolót az ssh-nál, így minden lépésről értesülsz. Tehát biztonságosan bejelentkeztél. Hogy egy e-mail szolgáltató vagy egy webmailes felület támogatja-e az SSH-t, meg kell tudakolnod, mielőtt használni akarod. Ha a böngésződdel be tudsz lépni egy https oldalra, akkor támogatja, ilyen oldal pl. https://www.verisign.com, amely az egyik CA a sok közül.

A biztonságos fájlmásolás (SFTP)

Az SFTP magába foglalja az FTP parancs- és adatrészének a titkosítását is. Az FTP parancsai a 20-as, az adatok a 21-es porton közlekednek. A parancsok mondjak meg, hogy mit tegyen a szerver, illetve kliens az adattal, illetve a bejelentkezést, könyvtárváltást teszik lehetővé. Vannak olyan FTP programok, amelyek csak a parancsrészt titkosítják, ami nem fontos adatok esetén elfogadható, de ha az adatok is bizalmas információkat tartalmaznak, akkor mindkét csatornát titkosítani kell. Az SFTP-nek hasonló parancsai vannak, mint az FTP-nek, a manuáljában részletes leírás található.

Kattints már rám! Léteznek grafikus kliensek is, amik támogatják az SFTP protokollt, sőt, egyre inkább kezdi kiszorítani a hagyományos FTP-t. Transmit, Interarchy, Fetch, mind támogatja a biztonságos kapcsolatokat. A parancsok ismerete szkriptelt alkalmazások esetén hasznos. Lehetséges a grafikus felülettel rendelkező SFTP kliensek AppleScript nyelven történő automatizálása - akár távoli gépek esetén is -, de gyorsabb, ha közvetlen a BSD réteg parancsait használjuk ki helyben és távol, ha szkriptelni akarsz. A grafikus kliensek esetén a használt SSH/SFTP információk lehetőség szerint eltárolhatóak a kulcskarikában, így nem kell minden egyes csatlakozáskor begépelni őket. Olyan klienst kell kiválasztani, amely az adat- és a parancsfolyamot is titkosítja, és lehetőség szerint a BSD réteg parancsait használja.

A bejövő és kimenő levelek titkosítása
A postafiók szolgáltatásnak támogatnia kell az SSL protokollt a titkosítás megvalósításához, illetve ha alagutat akarsz létrehozni a számítógéped és a levelező szerver között, akkor arra a szerverre szóló ssh jogosultsággal kell rendelkezned. A Mail levelezőprogram és .mac fiók használatakor a bejövő levelek titkosításához egyszerűen a fiók beállításainál a haladó (Advanced) fülön a Port mezőnél lévő Használj SSL-t (Use SSL) jelölőnégyzetet kell bejelölni.


A kimenő leveleket kezelő szerver .mac fiók esetén szintén támogatja az SSL-t, a Használj SSL biztonsági alréteget (Use Secure Sockets Layer (SSL)) jelölőnégyzetet kell bejelölni.

Most már az ezen a fiókon küldött és fogadott levelek titkosítva érkeznek meg a számítógépedre.

Ha figyelmet fordítasz arra, hogy lehetőség szerint biztonságos kapcsolatokat használj, kevesebb kéretlen levélben, és váratlan meglepetésben lesz részed.

Ha kérdésed vagy problémád van SSH dolgokkal kapcsolatban, írj bátran!


Mátyás Ferenc Farkas


A lap tetejére