A következő címkéjű bejegyzések mutatása: Email. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: Email. Összes bejegyzés megjelenítése

2009. augusztus 23., vasárnap

# Exim4+ClamAV+Dovecot+Horde3 [Debian Lenny]


Az írás inkább tanulási célra, mint hogy éles serverre való.. :)

Telepítés


Kiindulópont egy pl.: netinstall-os Debian Lenny. Legyen fix IP címünk, mert különben leveleink más servereken valószínűleg SPAM-ként lesznek megjelölve [sources.list-ed is legyen rendben]. Telepítéskor én egy "gipszj" nevű felhasználót hoztam létre:D , +VirtualBox-ban dolgoztam+Vim-el szerkesztettem a config fájlokat, az ":syntax enable" hasznos dolog, szöveg kiemelés színesen.
apt-get install vim
Vim fent van, esetleg ez még hasznos lehet.
Az időzóna legyen jól beállítva!! És legyen fent egy időszinkronizáló:
apt-get install openntpd
Először kézzel helyesbítsük azért az időt:
ntpd -s
Állítsuk át a telepítéskori üzeneteket bőbeszédűvé:
dpkg-reconfigure debconf
Itt válasszuk a "párbeszédes, alacsony", azaz "dialog, low" beállításokat.
Az SMTP, és az IMAP szolgáltatásokhoz külön programok/csomagok vannak:
SMTP:
apt-get install exim4-daemon-heavy
Az "exim4-daemon-light" alapból fent van, de nekünk az említett heavy szükséges, mivel azzal már meg lehet valósítani egy mailservert, annak adatbázissal való kommunikációját, ldap, vírusszűrés, spamszűrés, van beépített perl interpreter-e, kávét is főz [C. Krisztián mondta :D], stb.
Állítsunk be egy pár dolgot rajta:
dpkg-reconfigure exim4-config
-al láthatjuk a beállításokat [menürendszerben]:
  • General type of mail configuration:
    • internet site; mail is sent and received directly using SMTP
      • Normál internetes mailserver. "Direktbe" küldünk, és fogadunk leveleket.
    • mail sent by smarthost; received via SMTP or fetchmail
      • Pl.: irodai/céges mailservernél, a kimenő levelekre a szolgáltatód ügyel ["smarthost"], ő majd kézbesíti, ahova kell. Beérkező levelek pl.: fetchmail-el, POP3-al jönnek be.
    • mail sent by smarthost; no local mail
      • Nem egy igazi mailserver, hanem pl.: a gép egy fileserver, amin "nincs levelezés", de a hibaüzeneteket azért meg szeretnénk kapni.
    • local delivery only; not on a network
      • Megint nem igazi mailserver, nem küldünk kifele semmilyen levelet, nem fogadunk befele semmilyen levelet, csak helyben kézbesítünk. Pl.: a rendszergazdának szánt rendszerüzenetek, de ezen kívül nincs levelezés.
    • no configuration at this time
      • Beállítás kihagyása
Tehát
  1. Válasszuk a legfelsőt [internet site; mail is sent and received directly using SMTP].
  2. The 'mail name': itt állíthatjuk be, hogy mi a gépünk levelezésben használt neve [tehát a levélben a "@" utáni rész]. Valamint a géped az internetről érkező, az erre a címre jövő leveleket elfogadja. A default neved jó.
  3. Itt jön az, hogy milyen IP címen fogadja a kapcsolatokat az SMTP server. Ha ez nem egy rendes internetes mailserver, és csak az a célod, hogy helyileg küldjél, vagy kézbesíts leveleket, akkor a "127.0.0.1" elég, szóval csak a localhoston, sehol máshol.
    Ha azt akarod, hogy ez egy rendes internetes mailserver legyen, akkor ezt kitörlöd.
    Vagy ha azt akarod, hogy olyan servered van, hogy a leveleket POP3-al a szolgáltatódtól töltöd le rá, és a helyi usereid ezen keresztül küldenek kifele levelet a világba, és mondjuk ez a gép egyszerre látja az intranetet, és az internetet, akkor itt csak az intranetes IP címet adod meg, hogy az SMTP szolgáltatás csak az intranetes gép számára legyen elérhető.
  4. Milyen "@" után levő nevekről érkező leveleket fogadjon el a server. És helyileg kézbesíti őket. Arra vigyázz, hogy amit megadsz, levelezési név [az elején, hogy mi az alapértelmezett neve], és amiket itt felsorolt neveket, azokat helyi levelezési neveknek/címeknek fogja tekinteni. Az erre a címekre menő leveleket helyben akarja kézbesíteni. Tehát ha ide beírod a pl.: "t-online.hu"-t, akkor attól a pillanattól t-online-os ügyfélnek levelet nem fogsz tudni küldeni [pl.: visszapattan ismeretlen userrel]. Ha több domaint akarsz kiszolgálni ezzel a serverrel [localhost alapból benne van a listában], akkor itt tudod felsorolni őket [a domainek felsorolása kettősponttal történik].
  5. [Domains to relay mail for] Itt felsorolhatod, hogy melyek azok a domain nevek, amiknek továbbítani szeretnéd a leveleit [tehát te relay server vagy, fogadod, és továbbítod a levelet egy másik mail servernek, pl.: tartalék server funkció - nem smarthost!].
    Ez arról szól, hogy egy adott domain-nek úgy van beállítva az interneten a DNS-ben az MX-e, hogy van két server: az elsődleges, amin a levelek vannak, a másodlagos server a relay server, ha te vagy egy ilyen másodlagos server, akkor azokat a domaineket sorolod fel, aminek te a másodlagos serverre vagy, és akkor ha az elsődleges serverre nem tudnak majd levelet kézbesíteni, kapod te, mint másodlagos server [ha írtad, hogy azt a domaint elfogadod]. De ha DNS-ből látod, hogy van elsődleges server, akkor nem fogod helyileg kézbesíteni, hanem próbálod továbbadni az elsődleges servernek. Ha helyreállt, akkor tovább is adod neki [tehát ezzel egy tartalék servert tudsz csinálni a hálózatodon]. Hagyd üresen, ha nem vagy relay server [portszámot "::portszám"-al tudsz megadni]. Szóval röviden erről a részről: itt sorolhatjuk fel, hogy mik azok a domain-ek, amikre bárki küldhet rajtunk keresztül levelet. Alapból hagyd üresen.
  6. [Machines to relay mail for]: Mik azok az IP címek/tartományok, ahonnan jövő kapcsolattal az illető bárhova küldhet rajtunk keresztül levelet [Ide NE adjuk meg a pl.: "0.0.0.0"-át, vagy a "0.0.0.0/0", mert akkor a világban bárki küldhet rajtunk keresztül levelet. Ezt tilos beállítani az említett módon, mert a neten folyamatosan léteznek, scannelnek olyan botok, amik keresnek olyan címet, amin keresztül tudnak bárhova levelet küldeni - spammerek. Open Relay]. Hagyd üresen.
  7. [Keep number of DNS-queries minimal?] Ha csak nincs egy rendkívülien lassú kapcsolatod [ISDN, stb], "No".
    • "mbox format in /var/mail/": minden felhasználónévnek egy külön fájl, abban az egy darab fájlban minden levél, lassú, nehezen kezelhető.
    • "Maildir format in home directory": A felhasználó saját könyvtárába kerülnek a levelek, egy "Maildir" nevű mappába, azon belül is egy "cur", "new", és egy "tmp" alkönyvtárba, minden egyes levél külön fájlba. Ez jobb, mert a felhasználó saját dolgai a saját mappájában van, a levelek hozzáférése is gyorsabb, mert nem egy több gigás fájlban kell megkeresnünk a levelet, ami mellesleg egy sima textfile lenne, amit indexelni nem igazán lehetne. Tehát a választás inkább a Maildir legyen.

  8. [Split configuration into small files?]: Alapértelmezetten "No", de válaszd a "Yes"-t. Rakja a configokat külön kis fájlokba, egy nagy helyett - pl.: az átláthatóság miatt ["/etc/exim4/conf.d/"-be rakja őket]. Igazából a "/var/lib/exim4/config.autogenerated" fájlban lesznek a valódi beállítások, amik az Exim újraindításakor kerülnek generálásra ["/etc/init.d/exim4 restart"].
  9. Esetleg még megkérdi, hogy kinek menjenek a rendszerüzenetek, válaszd azt, akit szeretnél erre a célra [nem root, hanem hozz létre egy felhasználót].
IMAP:
apt-get install dovecot-imapd
Egyéb:
Vírus ellenőrzés:
apt-get install clamav clamav-daemon clamav-freshclam
A ClamAV fusson pl.: Daemon-ként, és válassz egy közeli mirror-t az adatbázisának frissítéséhez.
WebGUI a levelezéshez:
apt-get install horde3 imp4 turba2
Kérdezni fog egy pár dolgot, pl.: megjelenítésről, válaszd a default-okat, vagy pedig célod szerint.

További konfig


Hozzunk létre a megfelelő helyen egy "00_local" nevű saját config fájlt. Ezt az Exim észreveszi, és pl.: az esetlegesen saját filébe leírt/definiált változókat később nem fogja már feltétlenül legenerálni a gyári default-ra, hanem megmaradnak az általunk megadottak:
vim /etc/exim4/conf.d/main/00_local
A file [00_local]:
# Mondjuk meg az Exim-nek, hogy ki a virusscanner [tobb viruskeresot is be lehet allítani, de akkor az acl-nel kell allitgatni, de eleg a ClamAV]:
av_scanner = clamd:/var/run/clamav/clamd.ctl

# legyen egy file, amibe szeretnenk irni egy par szabalyt
CHECK_DATA_LOCAL_ACL_FILE = /etc/exim4/local_data_acl

Itt kereshetünk local változókat [de nincs mindegyik gyárilag definiálva]: "/etc/exim4/exim4.conf.template", pl.: a "00_local"-ba definiálhatunk dolgokat, ha kell.
Exim4-hez az ACL file tartalma, amire előbb hivatkoztunk [kinézete: 1 - megmondom, hogy mit akarok, 2 - milyen feltételekkel]:
vim /etc/exim4/local_data_acl
Így néz ki a file [local_data_acl]:
accept hosts = 127.0.0.1 # ha localhost-rol jon a level, akkor nem kell virusellenorzes

deny # deny, azaz SMTP REJECT-et kap az illeto, at sem veszem a levelet, RFC szerint [de "drop"-olni is lehet, a kuldo nem fogja tudni, hogy en azt a levelet eldobtam]
 message = Tiltott kiterjesztes: $found_extension
 demime = com:ovl:sys:dll:vbs:exe:msi:bat:cmd

#deny # ha el szeretnenk dobni a virusos leveleket [hashmark-ba raktam, mert most csak proba]
# message = Virusos tartalom ($malware_name), hasznalj inkabb Linuxot.
# malware = *

warn # csak egy figyelmeztetest rakjon a virusos levelek vegere
 message = Virusos tartalom ($malware_name), hasznalj inkabb Linuxot.
 malware = *

warn # a levelek vegere szurhatunk sajat uzenetet, felteve ha a level atment minden szuron
 message = X-Reklam-Helye: virusellenoriztuk a levelet.
A nemrégi telepítéskori 9)-es pontban említetten a :
/etc/init.d/exim4 restart
paranccsal tudod a saját configjaidat bevinni az Exim-be, mármint ekkor ő legenerálja neked a "/var/lib/exim4/config.autogenerated" fájlt, amiben valóban tárolja a beállításokat, csak mi szétszedtük őket, a könnyebb kezelhetőség miatt.
Ez után adjuk hozzá a "clamav" felhasználót a "Debian-exim"-csoporthoz, mert különben a clamav nem fogja tudni elérni a megfelelő könyvtárakat:
adduser clamav Debian-exim
Nézzük meg, hogy biztos hozzá-e lett adva az adott user a csoporthoz:
groups clamav
Ha azt írja, hogy: "clamav Debian-exim", akkor ok.
Még hátra van az authentikáció beállítása. [Megjegyzés: authentikáció: pl.: felhasználónév/jelszó párossal azonosítani valamit/valakit. Authorizáció: Meggyőződni a fél, vagy felek személyazonosságáról, pl.: tanúsítványok használatával.]

Smarthost használata esetén [csak akkor] a "/etc/exim4/passwd.client"-fájlba kell beleírni a mailserver nevét, kettőspont felhasználónév, kettőspont jelszó. Azon túl az Exim a kimenő leveleknél authentikálni fogja magát, azon a serveren, ahová küld [csak vigyázz, hogy a tényleges neve legyen a server neve].

A bejövő SMTP authentikációhoz a "/etc/exim4/conf.d/auth/" mappában találhatsz "mintákat". Módosítsd benne egy pár dolgot [hashmark jelet vedd ki egy pár sor elől], tehát:
vim /etc/exim4/conf.d/auth/30_exim4-config_examples
és a "plain_server:"-résztől kezdődően vedd ki a sorok elől a hasmark jelet, egészen a ".endif" részig. Ugyan így a ".endif" részig vedd ki a commenteket a "login_server:"-rész elől is. Még vedd ki a megjegyzésből a "cram_md5_server"-el kezdődő sorokat is, egészen a "server_set_id = $auth1"-ig.

A felhasználóknak a "/etc/exim4/passwd" filében kell lenniük [usernev:md5-elkodolt-jelszo:simajelszo]. [de "htpasswd"-el is kompatibilis] tehát:
vim /etc/exim4/passwd
A file [passwd]:
gipszj:md5-elkodolt-jelszo:simajelszo
usernev1:md5-elkodolt-jelszo:simajelszo
usernev2:md5-elkodolt-jelszo2:simajelszo2
Ha nincs cleartext jelszó [sima jelszó], akkor nem fognak működni a challenge-response alapú authentikációk, mint pl.: a cram-md5, ami egy fokkal biztonságosabb, ha nem TLS-t [titkosított kapcsolatot] használunk. Ha beleírjuk a cleartext jelszót, akkor menni fognak ezek, de viszont érthető okokból nem a legjobb.

Ellenőrizzük, hogy működik-e

Küldjünk egy levelet a "gipszj" felhasználónak.
Tudjuk, hogy mit adtunk meg domain névnek anno. [A "valami.hu" helyére a pl.: hostname menjen], off]:
echo "ez a mailszoveg" | mail -s "valami-targy" gipszj@valami.hu
Nézzük meg, hogy meg-e érkezett az e-mail a user "Maildir" mappájába:
cd /home/gipszj/Maildir/new
Ok, megérkezett, csak próbáljunk ki egy másik "módszert" :) :
A "$ "-el jelzem, hogy azt gépelni kell, "."-al jelezzük, hogy vége az e-mailnek.]
$ telnet IPCIM 25
Trying IPCIM...
Connected to IPCIM
Escape character is '^]'.
220 valami.hu ESMTP Exim 4.69 Fri, 7 Aug 2009 15:00:00 +0200
$ mail from: gipszj@valami.hu
250 OK
$ rcpt to: gipszj@localhost
$ data
$ From: Gipszj <gipszj@valami.hu>
$ To: Gipszj <gipszj@valami.hu>
$ Subject: barmi
$ safasdfsafas
$ asdfasdf
$ .
$ quit
A "/home/usernev/Maildir" mappában kellene lennie a levélnek, a "new"-ban.

Webmail beállítása

Lehessenek logok:
touch /var/log/horde/horde3.log
chown root:www-data /var/log/horde/horde3.log
chmod 770 /var/log/horde/horde3.log
Most vagy állítsuk be az apache config-jában, hogy hol van a horde mappája, vagy pedig készítsünk egy symlink-et.
ln -s /usr/share/horde3 /var/www/
Telepítsük fel a mysql-server-5.0-át:
apt-get install mysql-server-5.0
Adjunk egy jó jelszót a telepítéskor, majd válasszuk a "No-t" [Support MySQL connections from hosts running Debian "sarge" or older?].
Ez után a mysql-es example-t másoljunk a pl.: "/tmp"-be:
cp /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz /tmp/
Majd tömörítsük ki a ".gz" filét:
cd /tmp/
gunzip create.mysql.sql.gz
Majd szerkesszük meg Vim-el:
vim /tmp/create.mysql.sql

REPLACE INTO user (host, user, password)
    VALUES (
        'localhost',
        'horde',
-- IMPORTANT: Change this password.
        PASSWORD('horde')
);
A "horde" password-öt módosítsuk másra, pl.: valami értelmes jelszóra. Ez után:
mysql -u root -p < /tmp/create.mysql.sql
A "/etc/horde/horde3/"-ban szerkesszük meg a "registry.php" filét, miszerint nekünk kell "active"-á tenni az egyed "modulokat":
vim /etc/horde/horde3/registry.php
És az "imp" résznél, a "statust" állítsuk "active"-ra, az "inactive"-ról. Ugyan így a "turba" résznél is legyen a "status" "active".
Még az IMP, és a Turba SQL-es részét adjuk hozzá:
mysql -u root -p horde < /usr/share/doc/imp4/examples/scripts/sql/imp.sql
mysql -u root -p horde < /usr/share/doc/turba2/examples/scripts/sql/turba.sql

A "/etc/horde/imp4"-en belül a "servers.php"-t módosítsd a "$servers['imap']" résznél:
vim /etc/horde/imp4/servers.php
  • A " 'server' => 'imap.example.com' " helyett legyen: " 'server => 'localhost' "
  • A " 'protocol' => 'imap/notls' " helyett legyen: " 'protocol' => 'imap/ssl/novalidate-cert' "
  • A " 'port' => 143 " helyett legyen: " 'port' => 993 "
  • A " 'maildomain' => 'example.com' " helyett legyen pl.: : " 'maildomain' => 'localhost.lan' "
  • A " 'smtphost' => 'smtp.example.com' " helyett legyen " 'smtphost' => 'localhost' "
Most módosítsd a jogosultságokat egy pár filénél, hogy a webes felületen beállíthassunk egy-két dolgot:
chmod 777 /etc/horde/horde3/conf.php
touch /etc/horde/horde3/conf.bak.php
chmod 777 /etc/horde/horde3/conf.bak.php
ifconfig-al tudjuk meg a gépünk IP címét, és írjuk be egy másik gépen egy böngészőbe azt, pl.: "XXX.XXX.XXX.XXX/horde3/". Egy üzenet fogad bennünket: "Horde3 configuration disabled by default because the administration/install wizard gives the whole world too much access to the system. Read /usr/share/doc/horde3/README.Debian.gz on how to allow access." - Ezt javítsuk ki:
vim /etc/horde/horde3/conf.php
Szóval megnyitottuk szerkesztésre a "conf.php" filét, itt vegyük ki a második, és a harmadik sort [ügyelve, hogy a "<?php" maradjon meg az elején! :D]. Az általunk kitörölt üzenettel találkoztunk előzőleg a böngészőben [+ a harmadik sorban van egy "exit (0)", amit szintén törlünk]. De nem muszáj kitörölni ezeket a sorokat, "//"-eket is rakhatunk eléjük, ezzel commentbe helyezve őket.
Most következik egy pár webes felületen történő beállítás [ekkor még hibaüzeneteket láthatunk bőven "webgui"-n, és a jogosultságokat kell majd állítani előtte a serveren]:

IMP-nél:
chmod 777 /etc/horde/imp4/conf.php
touch /etc/horde/imp4/conf.bak.php
chmod 777 /etc/horde/imp4/conf.bak.php
A "http://serverIPcíme/horde3/"-re lépve menjünk az Administration-Setup részben a "Mail (imp)"-re kattintva menjünk a "Generate"-re, ok, legenerálta a config filéjét, most módosítsuk vissza a jogosultságokat:
chmod 644 /etc/horde/imp4/conf.php
chmod 600 /etc/horde/imp4/conf.bak.php
Most a Turba2:
chmod 777 /etc/horde/turba2/conf.php
touch /etc/horde/turba2/conf.bak.php
chmod 777 /etc/horde/turba2/conf.bak.php
Ok, super, miután kész, még a turba2-őt is generáljuk le, lépjünk az "Administration/Setup"-on belül az "Address Book (turba)"-ra, majd "Generate Address Book Configuration".
Állítsuk megint vissza a jogokat:
chmod 644 /etc/horde/turba2/conf.php
chmod 700 /etc/horde/turba2/conf.bak.php
A "Horde (horde)"-re kattintva előjön "rengeteg" fül:
  • Database fül:
    • A "$conf[sql][phptype]"-nál válaszd a "MySQL"-t.
    • $conf[sql][username]: horde
    • $conf[sql][password]: sql-jelszod
    • $conf[sql][socket]: /var/run/mysqld/mysqld.sock
    • $conf[sql][database]: horde
    • $conf[sql][charset]: utf-8
  • Authentication fül:
    • $conf[auth][admins]: gipszj
    • $conf[auth][driver]: "Let a Horde application handle authentication"
    • $conf[auth][params][app]: imp
  • Logging fül:
    • $conf[log][enabled]: "Yes"
  • Preference System fül:
    • $conf[prefs][driver]: "SQL Database"
  • Alarm System fül:
    • $conf[alarms][driver]: "SQL Database"
  • DataTree System fül:
    • $conf[datatree][driver]: "SQL Database"
Most katt a "Generate Horde Configuration"-ra.

Állítsuk vissza a jogokat:
chmod 644 /etc/horde/horde3/conf.php
chmod 600 /etc/horde/horde3/conf.bak.php

Reboot, majd majd bejelentkezés, az én esetemben "gipszj" felhasználóval [mármint webes felületen egy logout után].

ui.: _Czakó Krisztián és Haluska György szavai alapján_ [egy Rossz minőségű diktafon felvételből+".bash_history"-ból+kevés idő megbeszélésre :D], szóval ha bármi hiba: FIXME. Bármilyen helyesbítést/kiegészítést szívesen várok.
ui2.: Configuring Horde Debian Wiki
ui3.: Utólag találtam 1-2 howto-t: Exim4 + Courier + SSL on Debian etch mini-HOWTO
ui4.: Exim4 + ClamAV + SpamAssassin + Greylistd on Debian etch mini-HOWTO
ui5.: Exim4 + Mailman + Apache2 on Debian etch mini-HOWTO
ui6.: még egy link, link2, link3, link4, link5, link6.

2009. február 15., vasárnap

# FireGPG-ről tömören - titkosítás, aláírás egyszerűen [példában Gmail-el, "Linux" alatt]


Bevezető, pár idézet, amit tudj [innen]:

"Ahhoz, hogy biztosak lehessünk abban, hogy az üzenetet ténylegesen az adta fel aki a feladó sorban szerepel és az üzenetet nem írta át senki útközben, szükség van a szöveg digitális aláírására.

Ahhoz, hogy az üzenetet rajtunk kívül más ne tudja elolvasni, szükség van a tartalom titkosítására.

Ezt a megoldást úgy használhatjuk, hogy el kell készíteni egy „kulcspárt” ami egy titkos és egy nyilvános kulcsból áll. A nyilvános kulcsot szét kell osztani minden olyan személynek, akinek digitális aláírással ellátott levelet szeretnénk küldeni. Valamint be kell szereznünk mindenkinek a nyilvános kulcsát egyenként, akinek titkosítva szeretnénk levelet küldeni vagy ellenőrizni szeretnénk az általa küldött e-mail feladójának hitelességét. "

Nyilvános kulccsal bárki titkosíthat egy üzenetet, de csak a titkos kulccsal lehet azt visszafejteni - tehát _a titkos kulcsot senkinek NEM_ adjuk oda!!! A GPG a PGP GNU változata.

Telepítése [1]:

Telepítsd fel elősször az említett Add-on-t.
Majd zárd be a Firefox/Iceweasel-t + kell a GnuPG.
apt-get install gnupg

Első használatkor generálj kulcsot magadnak [2]:


gpg --gen-key

Egy pár kérdést fog feltenni:
  • Kérem, adja meg, milyen kulcsot kíván: (1) DSA and Elgamal (default)
  • ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048): 4096
  • Kérem, adja meg, meddig legyen érvényes a kulcs: 0 = a kulcs soha nem jár le - de növelhető a biztonság, ha idővel lejár, és újat generálsz!
  • Is this correct? (y/N): y

Ez után egy pár további dolgot kérdez rólad:
  • Teljes név: Valami Janos [ékezet nélkül inkább]
  • E-mail cím: valami@valahol.com [az emailcímed]
  • Megjegyzés: ide esetleg a beceneved, de hagyhatod üresen is, stb
Ellenőrizd az adatokat, majd "(R)endben", tehát nyomj egy "r"-betűt.
Ez után "Írja be a jelszót:" - adj meg egy erős jelszót, de NEHOGY elfelejtsd!

A publikus kulcsod elküldése egy keyservernek [3]:

Azért "érdemes" elküldeni egy keyservernek a publikus kulcsodat, mert így csak az email címedre kell az ismerősödnek rákeresnie, és már is hozzájut a pub. kulcsodhoz.
Derítsd ki, mi az "ID"-d:
gpg --fingerprint valami@valahol.com
[Értelemszerűen a "valami@valahol.com"-hoz az email címed írod.]
Ekkor kidob egy pár infót:
pub 1024D/ASDFGHJK 2009-02-04
Key fingerprint = T4EF Z4BG KZFR 4RFD GT5E ZGT5 SE23 54FF ASDF GHJK
uid Valami Janos < valami@valahol.com >

Keresd meg, amit most készítettél [mert lehet több kulcsa is egy email címnek], majd a "Key fingerprint = "-nél levő karaktersorozat utolsó 8 karakterét [szóközt nem belevenni, kiemeltem az előbbi lépésben, mit keress - asdfghjk - nálad ez MÁS lesz majd] írd bele a következő parancsba:
gpg --keyserver hkp://subkeys.pgp.net --send-keys 'ASDFGHJK'
Elküldés után kell egy kis idő, amíg kikerül a serverre, várj egy pár percet.
Kérd meg azt az embert, akivel/nek titkosított emaileket akarsz küldeni/kapni, hogy ő is rakja fel a FireGPG kiegészítőt+GnuPG-t [1], majd generáljon magának egy kulcsot [2], küldje el a publikus kulcsát a pl.: említett keyservernek [3], és legyen ő is itt a [4.] pontnál:

[4]:

Most Indítsd el a Firefox/Iceweaselt, majd az "Eszközök-FireGPG-Key Manager"-ben menj arra, hogy "Import from Server", majd a feljövő ablakban keress rá az email címére [ha nincs találat, akkor még nem vártál egy ~pár percet, miután elküldted a keyservernek a kulcsot, a [3]-as pont végén].
Válaszd ki az ismerősödet a találatok közül, majd az "Import selected keys"-el add hozzá a Key manager listádhoz.

"Key fetched from server !" - örülünk, "OK", és "OK"-gomb. Miután az ismerősöd _IS_ hozzáadta a Key manager listájához a TE publikus kulcsodat, már csak egy emlékeztető dolog:

"Nyilvános kulccsal bárki titkosíthat egy üzenetet, de csak a titkos kulccsal lehet azt visszafejteni."


Tehát: Ha belépsz Gmail-re, és akarsz küldeni egy titkosított, és aláírt levelet, akkor már csak annyi a dolgod, hogy megírod az emailt, majd rámész arra az """új gombra""" [a FireGPG rakja oda] a Gmail-ben, hogy "Aláírás és titkosítás" [az új email írása oldalon], ekkor feljön egy kérdés, hogy kinek a Publikus kulcsával szeretnéd titkosítani az emailt, válaszd azt, AKINEK AKAROD KÜLDENI a levelet.

Ez után a következő ablakban válaszd ki a saját kulcsodat. Add meg a jelszavad, ekkor láthatod, hogy titkosított lett az email, és már küldheted is neki.

Az ismerősöd, amikor megkapja az email-t, csak jelölje ki a annak szövegét, elejétől a végéig, jobbegér rá, majd FireGPG - Visszafejtés, és adja meg a jelszavát.


Források, plusz hivatkozások:
ui.: Thunderbird/Icedove-hoz "kiegészítő" [GPG], ha valaki levelező klienst szeret használni: Enigmail [Wiki link].
ui2.: Abban legyél 100% biztos, hogy a publikus kulcs, ami az ismerősödtől van meg, biztos az ismerősödé [fingerprint check, vagy kulcsaláírási találkozó, stb].
ui3.: Ha át akarod vinni a titkos kulcsodat, [pl.: éppen újrarakod az oprendszered], akkor azt itt találhatod:
/home/felhasznalonev/.gnupg/

Importálni titkos kulcsot a:
gpg --allow-secret-key-import --import secring.gpg
paranccsal tudsz.

El ne felejtsd, mert különben nem lehet visszafejteni a publikus kulcsoddal titkosított tartalmakat!

ui4.: A FireGPG beállításaiban legyen bepipálva az "Az automata mentés kikapcsolása" opció, és persze NE jegyezze meg a jelszavakat, SOHA.
ui5.: Seahorse a barátod lehet, és egy link.
ui6.: xkcd.com-ról egy kép :)
ui7.: Ha Gmail-el használod, akkor:
  • Csak is biztos, tiszta gépen keresztül.
  • Használj https://mail.google.com -ot! [Fontos ez a link!!].
  • Vigyázz a titkos kulcsodra.
  • A Gmail-ben webes felületen meg lehet nézni, az "utolsó aktivitást" - azaz a főoldala alján láthatod, hogy melyik volt az utolsó 5 IP cím, amiről bejelentkeztek.
ui8.: Ha a "/home"-ot noexec-el mountolod, akkor ipc error. :) ...
ui9.: "Hup old link"