a szerző kiválasztotta a szabad és nyílt forráskódú alap kap egy adomány részeként írási adományok program.
Introduction
a Postfix egy mail transfer agent (MTA), egy e-mail küldésére és fogadására használt alkalmazás. Úgy lehet beállítani, hogy lehet használni, hogy küldjön e-maileket a helyi alkalmazás csak., Ez akkor hasznos, ha rendszeresen e-mail értesítéseket kell küldenie az alkalmazásokból, vagy egyszerűen csak sok olyan kimenő forgalom van, amelyet egy harmadik fél e-mail szolgáltatója nem engedélyez. Ez egy könnyebb alternatíva a teljes SMTP szerver futtatásához, miközben megőrzi a szükséges funkciókat.
ebben az oktatóanyagban a Postfixet csak send-only SMTP szerverként telepíti és konfigurálja. A Let ‘ s Encrypt for your domain ingyenes TLS tanúsítványokat is kér, valamint titkosítja a kimenő e-maileket.
- egy Ubuntu 18.,04 szerver beállítása a kezdeti kiszolgáló beállításával az Ubuntu 18.04 segítségével, beleértve egy sudo nem gyökér felhasználó létrehozását.
- egy teljesen regisztrált domain név. Ez a bemutató fogja használni
your_domain
egész. Megvásárolhat egy domain nevet a Namecheap-on, ingyenesen kaphat egyet a Freenom-on, vagy használhatja az Ön által választott domain regisztrátort. - egy DNS-rekord
your_domain
a szerver nyilvános IP-címére mutatva. Akkor kövesse ezt a bevezetést DigitalOcean DNS részleteket, hogyan kell hozzáadni őket.,
megjegyzés: a kiszolgáló gépnevének és a csepp nevének meg kell egyeznie a your_domain
névvel, mivel a DigitalOcean automatikusan beállítja a csepp IP-címének PTR-rekordjait a neve szerint.
ellenőrizheti a szerver hostname beírásával hostname
a parancssorba. A kimenetnek meg kell egyeznie azzal a névvel, amelyet a cseppnek adott a létrehozásakor.
1. lépés-a Postfix telepítése
ebben a lépésben telepíti a Postfix-et., A leggyorsabb módja a mailutils
csomag telepítése, amely a Postfix-et néhány kiegészítő programmal csomagolja, amelyeket az e-mail küldésének tesztelésére használ.
először frissítse a csomag adatbázisát:
- sudo apt update
Ezután telepítse a Postfix-et a következő parancs futtatásával:
- sudo apt install mailutils
A telepítési folyamat vége közelében a Postfix konfigurációs ablak jelenik meg:
Az alapértelmezett opcióInternet Site
., Ez az ajánlott opció a használati esethez, ezért nyomja meg a TAB
, majd a ENTER
gombot. Ha csak a leírás szövegét látja, nyomja meg a TAB
gombot a OK
kiválasztásához, majd ENTER
.,
ha nem jelenik meg automatikusan, futtassa a következő parancsot annak elindításához:
- sudo dpkg-reconfigure postfix
ezután egy másik konfigurációs parancsot kap a rendszer mail nevére vonatkozóan:
a rendszer mail nevének meg kell egyeznie a szerverhez rendelt névvel, amikor létrehozta. Ha befejezte, nyomja meg a TAB
gombot, majd a ENTER
gombot.
most már telepítette a Postfix-et, és készen áll a Konfigurálás megkezdésére.,
2. lépés-a Postfix
konfigurálása ebben a lépésben a Postfix—et úgy konfigurálja, hogy e-maileket csak attól a kiszolgálótól küldjön és fogadjon, amelyen fut-azaz a localhost
– tól.
ahhoz, hogy ez megtörténjen, a Postfix-et úgy kell konfigurálni, hogy csak a loopback felületen, a virtuális hálózati felületen hallgassa meg, amelyet a szerver belső kommunikációra használ. A módosítások elvégzéséhez szerkesztenie kell a main.cf
nevű fő Postfix konfigurációs fájlt, amelyet a etc/postfix
alatt tárolnak.,
nyissa meg szerkesztéshez a kedvenc szövegszerkesztővel:
- sudo nano /etc/postfix/main.cf
keresse meg a következő sorokat:
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
állítsa be a inet_interfaces
loopback-only
:
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
egy másik irányelv, amelyet módosítani kell, a mydestination
, amelyet a postai szállítás., Alapértelmezés szerint az értékek hasonlóak ezek:
. . .mydestination = $myhostname, your_domain, localhost.com, , localhost. . .
a Változás a sor így néz ki:
. . .mydestination = localhost.$mydomain, localhost, $myhostname. . .
Ha a domain valójában egy aldomain, de szeretnél e-mail üzenetek, mintha küldték a fő domain, akkor add hozzá a következő sort a végén a main.cf
:
...masquerade_domains = your_main_domain
Az opcionális masquerade_domains
beállítás meghatározza, hogy mely tartományokra bontja le az aldomain részt az e-mail cím.
Ha elkészült, mentse el és zárja be a fájlt.
Megjegyzés: Ha több domaint tárol egyetlen kiszolgálón, a többi domaint a mydestination
direktívával is továbbíthatja a Postfixbe.
ezután indítsa újra a Postfix-et a következő parancs futtatásával:
- sudo systemctl restart postfix
úgy konfigurálta a Postfix-et, hogy csak e-maileket küldjön a szerverről., Most tesztelje azt egy példa üzenet elküldésével egy e-mail címre.
3. lépés — az SMTP szerver tesztelése
ebben a lépésben tesztelheti, hogy a Postfix képes-e e e-maileket küldeni egy külső e-mail fiókba a mail
parancs segítségével, amely az első lépésben telepített mailutils
csomag része.
teszt e-mail küldéséhez futtassa a következő parancsot:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
megváltoztathatja az e-mail testét és tárgyát tetszés szerint., Ne felejtse el helyettesíteni a your_email_address
– ot egy érvényes e-mail címmel, amelyhez hozzáférhet.
most ellenőrizze azt az e-mail címet, amelyre ezt az üzenetet küldte. Meg kell látni az üzenetet a postaládájába. Ha nincs ott, ellenőrizze a spam mappát. Ezen a ponton az összes elküldött e-mail titkosítatlan, ami a szolgáltatókat úgy gondolja, hogy valószínűleg spam. A titkosítást később, az 5. lépésben állítja be.,
Ha hibát kap a mail
parancsból, vagy hosszabb idő elteltével nem kapott üzenetet, ellenőrizze, hogy a szerkesztett Postfix konfiguráció érvényes-e, valamint hogy a kiszolgáló neve és gazdaneve be van-e állítva a tartományba.
vegye figyelembe, hogy ezzel a konfigurációval a From
mezőben az elküldött teszt e-mailek címe your_user_name@your_domain
, ahol your_user_name
a parancsot futtató szerver felhasználó felhasználóneve.,
most már küldött egy e-mailt a szerverről, és ellenőrizte, hogy sikeresen megkapta-e. A következő lépésben beállítja az e-mail továbbítást a root
számára.
4. lépés-továbbító rendszer Mail
ebben a lépésben beállítja az e-mail továbbítást a felhasználó számára root
, így a szerveren küldött rendszer által generált üzenetek továbbításra kerülnek egy külső e-mail címre.
a/etc/aliases
fájl tartalmazza az e-mail címzettek alternatív neveinek listáját., Nyissa meg szerkesztésre:
- sudo nano /etc/aliases
alapértelmezett állapotában így néz ki:
# See man 5 aliases for formatpostmaster: root
az egyetlen bemutatott irányelv meghatározza, hogy a rendszer által generált e-maileket a root
.
adja hozzá a következő sort a fájl végéhez:
...root: your_email_address
ezzel a sorral adja meg, hogy aroot
címre küldött e-maileket továbbítsa egy e-mail címre. Ne felejtse el kicserélni a your_email_address
személyes e-mail címét., Ha kész, mentse el és zárja be a fájlt.
- sudo newaliases
Fut newaliases
épít fel egy adatbázis álneve, hogy a mail
parancsot használ, amelyeket a config fájlt szerkeszteni.
tesztelje, hogy az e-mailek küldése aroot
futással működik:
- echo "This is the body of the email" | mail -s "This is the subject line" root
meg kell kapnia az e-mailt az e-mail címén. Ha nincs ott, ellenőrizze a spam mappát.,
ebben a lépésben beállította a rendszer által generált üzenetek továbbítását az e-mail címére. Mostantól engedélyezheti az üzenetek titkosítását, hogy a szerver által küldött összes e-mail immunis legyen a tranzitban történő manipulációra, és legitimebbnek tekinthető.
5. lépés-SMTP titkosítás engedélyezése
mostantól engedélyezheti az SMTP titkosítást azáltal, hogy ingyenes TLS tanúsítványt kér a Let ‘ s Encrypt for your domain-től (a Certbot használatával), és konfigurálja a Postfix használatát üzenetek küldésekor.
Az Ubuntu tartalmazza a certbotot az alapértelmezett csomagtárban, de előfordulhat, hogy elavult., Ehelyett a hivatalos tárolót a következő parancs futtatásával adja hozzá:
- sudo add-apt-repository ppa:certbot/certbot
nyomja meg a ENTER
gombot, amikor a rendszer kéri, hogy fogadja el. Ezután frissítse a kiszolgáló csomagkezelő gyorsítótárát:
- sudo apt update
végül telepítse a certbot legújabb verzióját:
- sudo apt install certbot -y
a kezdeti kiszolgáló beállításának részeként az előfeltételekben telepítette a ufw
, a nem egyszerű tűzfal. Konfigurálnia kell azt, hogy engedélyezze a 80
HTTP portot, hogy a domain ellenőrzés elvégezhető legyen., Futtassa a következő parancsot, hogy lehetővé teszik, hogy:
- sudo ufw allow 80
A kimeneti fog kinézni:
OutputRule addedRule added (v6)
Most, hogy a kapu nyitott, fuss Certbot, hogy egy tanúsítvány:
- sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain
Ez a parancs parancs Certbot kiállítására egy RSA kulcs méret 4096 bit futtatásához egy ideiglenes önálló web server (--standalone
) az ellenőrzés, illetve megnézhetjük, hogy a via port 80
(--preferred-challenges http
)., A parancs futtatása előtt ne felejtse el kicserélni a your_domain
fájlt a domainjére, majd adja meg e-mail címét, amikor a rendszer kéri.
a kimenet hasonló lesz ehhez:
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.logPlugins selected: Authenticator standalone, Installer NoneObtaining a new certificatePerforming the following challenges:http-01 challenge for `your_domain`Waiting for verification...Cleaning up challengesIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
a jegyzetekben leírtak szerint a tanúsítvány és a privát kulcsfájl a /etc/letsencrypt/live/your_domain
alatt mentésre került.
most, hogy megvan a tanúsítvány, nyissa meg a main.cf
szerkesztéshez:
- sudo nano /etc/postfix/main.cf
keresse meg a következő részt:
módosítsa úgy, hogy így nézzen ki, helyettesítve ayour_domain
– t a domainjével, ahol szükséges, amely frissíti a TLS beállításait a Postfixhez:
miután elkészült, mentse el és zárja be a fájlt.
alkalmazza a változtatásokat a Postfix újraindításával:
- sudo systemctl restart postfix
most próbáljon meg újra e-mailt küldeni:
- echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address
Ezután ellenőrizze a megadott e-mail címet. Lehetséges, hogy azonnal látni fogja az üzenetet a postaládájában, mert az e-mail szolgáltatók sokkal nagyobb valószínűséggel jelölik meg a titkosítatlan üzeneteket spamként.,
ellenőrizheti az e-mail üzenet technikai adatait az ügyfélben, hogy lássa, hogy az üzenet valóban titkosítva van-e.
következtetés
most már van egy send-only e-mail szerver, powered by Postfix. Az összes kimenő üzenet titkosítása jó első lépés annak érdekében, hogy az e-mail szolgáltatók ne jelöljék az üzeneteket spamként. Ha ezt egy fejlesztési forgatókönyvben teszi, akkor ennek az intézkedésnek elegendőnek kell lennie.,
Ha azonban a felhasználási eset e-maileket küld a potenciális webhelyhasználóknak (például megerősítő e-maileket az üzenőfal regisztrációjához), akkor meg kell vizsgálnia az SPF rekordok beállítását, hogy a szerver e-mailjei még nagyobb valószínűséggel tekinthetők legitimnek.