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 ENTERgombot. 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 ENTERgombot.

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/postfixalatt tárolnak.,

nyissa meg szerkesztéshez a kedvenc szövegszerkesztővel:

  • sudo nano /etc/postfix/main.cf

keresse meg a következő sorokat:

/etc/postfix/main.cf
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .

állítsa be a inet_interfaces loopback-only:

/etc/postfix/main.CF
. . .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:

/etc/postfix/fő.vö.
. . .mydestination = $myhostname, your_domain, localhost.com, , localhost. . .

a Változás a sor így néz ki:

/etc/postfix/fő.vö.
. . .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:

/etc/postfix/fő.,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 mailparancs 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 rootszá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:

/etc/aliases
# 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:

/etc/aliases
...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. a változás érvénybe, futtassa a következő parancsot:

  • 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:

Output
Rule 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:

Output
Saving 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_domainalatt 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:

/etc/postfix/main.,cf

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:

/ etc / postfix / main.CF

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.

Articles

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük