Postfix CentOSissa: vanha asennus ja vuoden 2026 tietoturva
Julkaistu:
Päivitetty:
Artikkelit › Postfix CentOSissa: vanha asennus ja vuoden 2026 tietoturva
Tilanne vuonna 2026 ja turvallinen käyttö
Johtopäätös: Tuotantopostin siirto ei ole valmis, kun Postfix vain käynnistyy. Se tarvitsee tuetun käyttöjärjestelmän ja Postfix-version, oikean DNS-identiteetin, rajoitetun välityskäytännön, todennetun lähetyksen, nykyaikaisen TLS:n, varmenteen uusimisen, väärinkäytösten hallinnan, kirjaamisen, jonojen valvonnan ja testatun toimitettavuuden.
Mitä opit
- Mitä alkuperäinen CentOS 7/Postfix 2.10.1 -opastus määritti.
- Miksi lähetyksen todennus ei saa vahingossa luoda avointa välitystä.
- Mitkä TLS-, SASL-, DNS-, palomuuri- ja toimintapäätökset on suunniteltava uudelleen nykyistä käyttöönottoa varten.
Kenelle artikkeli on tarkoitettu: Järjestelmänvalvojille, jotka arvioivat perinnöllistä Postfix-runbookia, eivät aloittelijoille, jotka etsivät kopioi-ja liitä julkista sähköpostipalvelinta.
2026: CentOS 7 ja luetellut pakettiversiot ovat vanhentuneita. Alla olevaa vanhaa kokoonpanoa ei ole vahvistettu suojatuksi nykyisestä sähköpostipalvelusta, eikä sitä saa ottaa käyttöön muuttumattomana. Varmista erityisesti, että lähetysrajoitukset päättyvät nimenomaiseen hylkäyskäytäntöön, suojaa kirjautumistiedot ja käytä paketoitua systemd-palvelua sen sijaan, että keksit tarkistamattoman yksikön.
Turvallisuushuomautus: Alkuperäisen artikkelin komentoja ja määritysesimerkkejä ei ole suoritettu uudelleen nykyaikaisessa tuotantoympäristössä. Tarkista tuetut versiot, ota varmuuskopio ja valmistele palautus erillisessä testiympäristössä ennen käyttöönottoa.
Viralliset lähteet
Yleiskatsaus
Tämä on alustava konfigurointimenettely, jota tarvitaan Postfixin asentamiseen CentOS-käyttöjärjestelmään ja sen käynnistämiseen. Tiedot perustuvat oletukseen, että käytössä on CentOS7. Haluaisimme ottaa tämän käyttöön lähetysportissa.
Jos asennat myös Dovecotin, katso myös.
Postfix on tarkoitettu postin lähettämiseen ja Dovecot postin vastaanottamiseen. Jos haluat käsitellä sähköpostien lähettämistä, asenna Postfix, ja jos haluat myös vastaanottaa sähköposteja, asenna Dovecot.
Versiot ovat seuraavat.
| CentOS-versio | 7.6 (1810) |
|---|---|
| Postfix-versio | 2.10.1 |
Sisällysluettelo
1. asenna
Tässä osassa kuvataan Postfixin konfigurointi asennuksesta käynnistykseen.
1-1. Postfixin asennus
Suorita Postfix-asennus yum-komennolla. Suorita työ pääkäyttäjänä.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix
1-2. bootstrap-tarkistus
Voit tarkistaa, että asennus on onnistunut, tarkistamalla käynnistyksen.
[root@hostname ~]# /usr/sbin/postfix start
[root@hostname ~]# ps aux | grep postfix
root 1485 0.7 0.2 89744 2128 ? Ss 16:02 0:00 /usr/libexec/postfix/master -w
postfix 1486 0.2 0.4 89848 4080 ? S 16:02 0:00 pickup -l -t unix -u
postfix 1487 0.2 0.4 89916 4104 ? S 16:02 0:00 qmgr -l -t unix -u
root 1489 0.0 0.1 112824 964 pts/0 S+ 16:02 0:00 grep --color=auto postfix
Mikä tahansa prosessi, joka toimii postfix-käyttäjänä edellä kuvatulla tavalla, on OK. Lopeta.
[root@hostname ~]# /usr/sbin/postfix stop
2. Asetusten yksityiskohdat
2-1. alustaminen
Postfixin alustava konfigurointi. Periaatteessa Postfixin konfiguraatio on kuvattu tiedostossa "/etc/postfix/main.cf", joten muutamme main.cf-tiedostoa.
[root@hostname ~]# vi /etc/postfix/main.cf
Muutetaan seuraavasti.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~lyhennelmä~
#
#mydomain = domain.tld
~lyhennelmä~
#myorigin = $myhostname
#myorigin = $mydomain
~lyhennelmä~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~lyhennelmä~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~lyhennelmä~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~lyhennelmä~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#
myhostname = example.com
#myhostname = virtual.domain.tld
~lyhennelmä~
#
mydomain = example.com
~lyhennelmä~
#myorigin = $myhostname
myorigin = $mydomain
~lyhennelmä~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~lyhennelmä~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~lyhennelmä~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~lyhennelmä~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
myhostname", "mydomain" ja "myorigin" Nämä ovat verkkotunnukseen liittyviä asetuksia. Osa, joka on muutettu muotoon 'example.com', on asetettava palvelimen verkkotunnukseksi. Osassa "https://example.com/" oleva "example.com" on verkkotunnus.
Sähköpostiosoite on username@example.com.
'mynetworks' on verkkoon liittyvä asetus. Tämä on IP-osoite, johon postfix voi olla yhteydessä. Jos sähköpostipalvelin on yhdistetty toiseen palvelimeen, muuta tätä arvoa vastaavasti.
'home_mailbox' on sähköpostihakemisto. Tallenna lähetetty sähköposti.
2-2. OS-käyttäjä tai hylkää, jos sitä ei ole määritelty $alias_maps-kohdassa.
Määritä asetukset sähköpostien lähettämistä varten käyttöjärjestelmän käyttäjän ja $alias_maps-kohdassa lueteltujen käyttäjien kanssa. Käyttöjärjestelmän käyttäjä on käyttäjä, joka on lisätty useradd-ohjelmalla.
[root@hostname ~]# vi /etc/postfix/main.cf
Muutetaan seuraavasti.
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
Lisää seuraava main.cf-tiedoston loppuun.
### MAIL SIZE (20 megatavua.)
message_size_limit = 20971520
### TLS
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/localhost.crt
smtpd_tls_key_file = /etc/pki/tls/private/localhost.key
Tiedostot 'smtpd_tls_cert_file' ja 'smtpd_tls_key_file' on asetettava ympäristön mukaan. Määritä polku, johon palvelimen varmenne tallennetaan.
SSL-asetukset vaaditaan etukäteen, joten jos et ole määrittänyt SSL-asetuksia, tee SSL-asetukset ensin. Katso seuraavaa.
Asenna Apache HTTP Server turvallisesti CentOSiin
2-3. Postfixin lähetysportin asetukset
Määritä asetukset sähköpostien lähettämistä varten lähetysporttia käyttäen.
[root@hostname ~]# vi /etc/postfix/master.cf
Huomautus:Huomaa, että muokattava tiedosto on 'master.cf', ei 'main.cf', joten tiedostojen nimet ovat samanlaiset.
Muutetaan seuraavasti.
#submission inet n - n - - smtpd
~lyhennelmä~
#-o smtpd_sasl_auth_enable=yes
~lyhennelmä~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~lyhennelmä~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~lyhennelmä~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
submission inet n - n - - smtpd
~lyhennelmä~
-o smtpd_sasl_auth_enable=yes
~lyhennelmä~
-o smtpd_client_restrictions=permit_sasl_authenticated
~lyhennelmä~
-o smtpd_sender_restriction=permit_sasl_authenticated
~lyhennelmä~
-o smtpd_recipient_restrictions=permit_sasl_authenticated
Asenna SASL-todennusta varten tarvittavat kirjastot yumilla.
[root@hostname ~]# yum -y install cyrus-sasl
[root@hostname ~]# yum -y install cyrus-sasl-plain
[root@hostname ~]# yum -y install cyrus-sasl-md5
[root@hostname ~]# yum -y install cyrus-sasl-devel
Muokkaa saslauthd-ohjelmaa käyttämään UNIX-tilejä todennukseen.
[root@hostname ~]# vi /etc/sysconfig/saslauthd
Muutetaan seuraavasti.
#MECH=pam
MECH=shadow
2-4. SASL:n ottaminen käyttöön
Ota SASL käyttöön.
[root@hostname ~]# systemctl enable saslauthd
[root@hostname ~]# systemctl is-enabled saslauthd
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep saslauthd
saslauthd.service enabled
[root@hostname ~]# systemctl daemon-reload
2-5. bootstrap-tarkistus
Tarkista, että Postfix käynnistyy.
[root@hostname ~]# /usr/sbin/postfix start
[root@hostname ~]# ps aux | grep postfix
root 1838 0.0 0.1 89744 2080 ? Ss 18:14 0:00 /usr/libexec/postfix/master -w
postfix 1839 0.0 0.3 89848 3988 ? S 18:14 0:00 pickup -l -t unix -u
postfix 1840 0.0 0.3 89916 4008 ? S 18:14 0:00 qmgr -l -t unix -u
root 1845 0.0 0.0 112824 968 pts/0 S+ 18:15 0:00 grep --color=auto postfix
Jos prosessi on käynnissä postfix-käyttäjänä edellä kuvatulla tavalla, konfigurointi on suoritettu onnistuneesti ja se on käynnissä. Kun käynnistys on vahvistettu, on aika lopettaa.
[root@hostname ~]# /usr/sbin/postfix stop
2-6. Automaattinen käynnistysasetus
Lopuksi, vaikka se ei olekaan pakollista, Postfixia on vaikea käynnistää joka kerta, kun palvelin käynnistetään uudelleen, joten aseta asetus, jonka mukaan Postfix käynnistyy automaattisesti, kun palvelin käynnistyy. Se rekisteröityy myös systemctl-komentoon. Huomaa, että tämä menettely koskee CentOS7:ää, joten jos käytät jotain muuta kuin CentOS7:ää, sinun on käytettävä Service-komentoa.
Tarkista, onko tiedosto '/usr/lib/systemd/system/postfix.service' olemassa. Jos sellaista ei ole, luo tiedosto 'postfix.service' seuraavalla tavalla. Suorita pääkäyttäjänä.
[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service
Toimitetaan seuraavat tiedot.
[Unit]
#Kuvaus.
Description=Postfix
#Toteutusta edeltävä ja sen jälkeinen valvonta.
#Before=xxx.service
After=syslog.target network.target
[Service]
#Käyttäjän ja ryhmän nimeäminen
User=root
Group=root
#Kun se on aktivoitu, aseta tilaksi Aktivoitu.
Type=oneshot
RemainAfterExit=yes
#Käynnistä, pysäytä ja lataa uudelleen.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload
[Install]
#Runlevel 3:n vastaavat asetukset.
WantedBy=multi-user.target
Rekisteröidy seuraavaksi systemctl-komennolla.
[root@hostname ~]# systemctl enable postfix
[root@hostname ~]# systemctl is-enabled postfix
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep postfix
postfix.service enabled
[root@hostname ~]# systemctl daemon-reload
3. yhteenveto
Olemme kuvailleet Postfixin asennuksen yhteydessä tarvittavia alkukokoonpanoja.
Sen asentaminen oli melko vaikeaa, joten jos olet rakentamassa Postfixia, tutustu tähän.
Tässä ovat tärkeimmät huomioitavat vaiheet ja rajoitukset.
■Artikkelit
■Profiili
■Yhteystiedot