Postfix CentOS-il: pärandseadistuse juhend 2026. aasta turvamärkustega


Avaldatud:

Uuendatud:


Artiklid › Postfix CentOS-il: pärandseadistuse juhend 2026. aasta turvamärkustega

Olukord 2026. aastal ja ohutu kasutamine

Järeldus: tootmisposti transport ei ole lõppenud, kui Postfix alles käivitub. See vajab toetatud OS-i ja Postfixi koostamist, õiget DNS-identiteeti, piiratud edastamise poliitikat, autentitud esitamist, kaasaegset TLS-i, sertifikaadi uuendamist, kuritarvitamise kontrolli, logimist, järjekorra jälgimist ja testitud edastatavust.

Mida õpid

  • Mida konfigureeris algne CentOS 7/Postfix 2.10.1 ülevaade.
  • Miks ei tohi esitamise autentimine kogemata luua avatud releed?
  • Millised TLS-i, SASL-i, DNS-i, tulemüüri ja toimingute otsused tuleb praeguse juurutuse jaoks ümber kujundada.

Kellele artikkel on mõeldud: Administraatorid, kes hindavad päritud Postfixi käsiraamatut, mitte algajad, kes otsivad avalikku kopeerimis- ja kleepimisserverit.

Olukord 2026. aastal: CentOS 7 ja loetletud paketiversioonid on aegunud. Allolevat pärandkonfiguratsiooni ei ole valideeritud praeguse turvalise meiliteenusena ja seda ei tohi muutmata kujul juurutada; eelkõige kontrollige, kas esitamispiirangud lõpevad selgesõnalise tagasilükkamise poliitikaga, kaitske mandaate ja kasutage pakendatud süsteemset teenust, selle asemel, et leiutada ülevaatamata üksust.

Ohutusmärkus: Algse artikli käske ja seadistusnäiteid ei ole tänapäevases tootmiskeskkonnas uuesti käivitatud. Enne rakendamist kontrolli toetatud versioone, tee varukoopia ja valmista eraldi testkeskkonnas ette tagasipööramise plaan.

Ametlikud allikad

Ülevaade

See on esialgne konfiguratsiooniprotseduur, mis on vajalik Postfixi paigaldamiseks CentOS-i ja käivitamiseks. Teave põhineb eeldusel, et kasutatakse CentOS7. Me tahaksime selle sisse seada esitamissadamas.

Kui paigaldate ka Dovecot, vt ka.

Postfix on posti saatmiseks ja Dovecot on posti vastuvõtmiseks. Kui teil on vaja töödelda e-kirjade saatmist, installige Postfix ja kui soovite ka e-kirju vastu võtta, installige Dovecot.

Versioonid on järgmised.

CentOS versioon7.6 (1810)
Postfixi versioon2.10.1

Sisukord

  1. paigaldada
  2. Seadistamise üksikasjad
  3. Kokkuvõte

1. paigaldada

Selles jaotises kirjeldatakse Postfixi konfigureerimist alates paigaldamisest kuni käivitamiseni.

1-1. Postfixi paigaldamine

Viige Postfixi paigaldamine läbi käsuga yum. Viige töö läbi root-kasutajana.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix

1-2. bootstrap check

Et kontrollida, kas see on edukalt paigaldatud, kontrollige käivitamist.

[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

Iga protsess, mis töötab postfixi kasutajana, nagu eespool kirjeldatud, on OK. Lõpeta.

[root@hostname ~]# /usr/sbin/postfix stop

2. Seadistamise üksikasjad

2-1. initsialiseerimine

Postfixi esialgne konfiguratsioon. Põhimõtteliselt on Postfixi konfiguratsioon kirjeldatud failis "/etc/postfix/main.cf", seega muudame faili main.cf.

[root@hostname ~]# vi /etc/postfix/main.cf

Muuda järgmiselt.

main.cf【Enne muutust】


#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~lühendamine~
#
#mydomain = domain.tld
~lühendamine~
#myorigin = $myhostname
#myorigin = $mydomain
~lühendamine~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~lühendamine~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~lühendamine~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~lühendamine~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

main.cf【pärast muutust】


#
myhostname = example.com
#myhostname = virtual.domain.tld
~lühendamine~
#
mydomain = example.com
~lühendamine~
#myorigin = $myhostname
myorigin = $mydomain
~lühendamine~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~lühendamine~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~lühendamine~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~lühendamine~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/

myhostname", "mydomain" ja "myorigin" Need on domeeniga seotud seaded. Osa, mis on muudetud 'example.com', tuleks määrata serveri domeeninimeks. "https://example.com/" osa "example.com" on domeeninimi.

E-posti aadress on username@example.com.

'mynetworks' on võrguga seotud seade. See on IP-aadress, mida saab ühendada postfixiga. Kui postiserver on seotud teise serveriga, muutke seda väärtust vastavalt.

'home_mailbox' on e-posti kataloog. Salvesta saadetud e-kiri.

2-2. OS kasutaja või lükkab tagasi, kui seda ei ole defineeritud $alias_mapsis

Konfigureeri seaded e-kirjade saatmiseks operatsioonisüsteemi kasutajaga ja $alias_maps'is loetletud kasutajatega. Operatsioonisüsteemi kasutaja on kasutaja, mis on lisatud käsuga useradd.

[root@hostname ~]# vi /etc/postfix/main.cf

Muuda järgmiselt.

main.cf【Enne muutust】


#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =

main.cf【pärast muutust】


local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =

Lisage faili main.cf lõppu järgmine tekst.

main.cf


### MAIL SIZE (20 Mbaiti.)
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

'smtpd_tls_cert_file' ja 'smtpd_tls_key_file' tuleks määrata vastavalt keskkonnale. Määrake tee, kuhu serveri sertifikaat salvestatakse.

SSL-seadistused on vajalikud eelnevalt, nii et kui te ei ole SSL-seadistusi seadistanud, siis palun tehke kõigepealt SSL-seadistused. Palun vaadake järgmist.

Esialgne konfiguratsioon, mis on vajalik alates Apache'i paigaldamisest CentOS-ile kuni käivitamiseni.

2-3. Postfixi esitamise pordi seaded

Konfigureeri seaded e-kirjade saatmiseks, kasutades esitamisporti.

[root@hostname ~]# vi /etc/postfix/master.cf

Märkus:Pange tähele, et redigeeritav fail on 'master.cf', mitte 'main.cf', seega on failide nimed sarnased.

Muuda järgmiselt.

master.cf【Enne muutust】


#submission inet n - n - - smtpd
~lühendamine~
#-o smtpd_sasl_auth_enable=yes
~lühendamine~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~lühendamine~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~lühendamine~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

master.cf【pärast muutust】


submission inet n - n - - smtpd
~lühendamine~
-o smtpd_sasl_auth_enable=yes
~lühendamine~
-o smtpd_client_restrictions=permit_sasl_authenticated
~lühendamine~
-o smtpd_sender_restriction=permit_sasl_authenticated
~lühendamine~
-o smtpd_recipient_restrictions=permit_sasl_authenticated


Paigaldage SASL-autentimiseks vajalikud raamatukogud yumiga.

[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

Redigeeri saslauthd, et kasutada autentimiseks UNIX-i kontosid.

[root@hostname ~]# vi /etc/sysconfig/saslauthd

Muuda järgmiselt.

saslauthd


#MECH=pam
MECH=shadow

2-4. SASL-i lubamine

Võta SASL kasutusele.

[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 check

Kontrollige, et Postfix käivitub.

[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

Kui on olemas protsess, mis töötab postfixi kasutajana, nagu eespool kirjeldatud, siis on konfiguratsioon edukalt lõpetatud ja see töötab. Kui käivitamine on kinnitatud, on aeg lõpetada.

[root@hostname ~]# /usr/sbin/postfix stop

2-6. Automaatne käivitusseadistus

Lõpuks, kuigi see ei ole kohustuslik, on raske käivitada Postfixi iga kord, kui server taaskäivitatakse, nii et pane seade nii, et Postfix käivitub automaatselt, kui server käivitub. See registreerib ka käsu systemctl. Pange tähele, et see protseduur on CentOS7 jaoks, nii et kui te kasutate midagi muud kui CentOS7, peate kasutama selleks käsku Service.

Kontrollida, kas '/usr/lib/systemd/system/postfix.service' on olemas. Kui see puudub, looge 'postfix.service', kasutades järgmist protseduuri. Käivita root-kasutajana.

[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service

Esitatakse järgmine teave.

[Unit]
#Kirjeldus.
Description=Postfix
#Täitmiseelne ja -järgne kontroll.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Kasutaja ja grupi määramine
User=root
Group=root
#Kui see on aktiveeritud, määrake olekuks "Aktiveeritud".
Type=oneshot
RemainAfterExit=yes
#Käivitage, peatage ja laadige uuesti.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Runlevel 3 samaväärsed seaded.
WantedBy=multi-user.target

Seejärel registreerige end käsuga systemctl.

[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. kokkuvõte

Oleme kirjeldanud Postfixi paigaldamisel vajalikku algkonfiguratsiooni.

Selle seadistamine oli üsna keeruline, nii et kui te ehitate Postfixi, vaadake seda.

Need on peamised sammud ja piirangud, mida tuleb arvestada.