Naujausias pranešimas: Samba kritinis pažeidžiamumas
frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Postfix, Dovecot ir Roundcube diegimas Ubuntu 20.04 aplinkoje

Postfix yra el. pašto siuntimo agentas (MTA - mail transfer agent), skirtas nukreipti ir pristatyti elektroninį paštą. Dovecot yra saugus IMAP ir POP3 pašto pristatymo agentas (MDA - mail deliver agent). Šios dvi atviro kodo programos puikiai veikia su Roundcube - viena populiariausių el. pašto administravimo programų.

Šioje pamokoje įdiegsite Postfix, Dovecot ir Roundcube Ubuntu 20.04 operacinėje sistemoje.

0. Preliminarūs reikalavimai

* Linux serveris naudojantis mūsų parengtą Ubuntu 20.04 operacinę sistemą;
* Atskiras domenas ar subdomenas turintis į serverį nukreiptą MX tipo įrašą;
* Atskiras naudotojas turintis sudo teises;
* LAMP tarnybų rinkinys su SSL sertifikatu.

1. Postfix diegimas ir konfigūravimas

1.1.  Prisijunkite prie serverio terminalo ir paleiskite šias komandas Postfix diegimui:
sudo apt update -y
sudo apt install -y postfix

1.2. Jums bus pateikiamas konfigūracijos langas, kuriame pasirinkite "<ok>":

1.3. Sekančiame lange pasirinkite Internet Site ir "<ok>":

1.4. Įveskite domeno/subdomeno pavadinimą, kurį naudosite pašto sistemai:


1.5. Sukurkite failo /etc/postfix/main.cf atsarginę kopiją ir sukurkite naują papildomą:
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bk
sudo nano /etc/postfix/main.cf

1.6. Įkelkite žemiau pateiktą informaciją į naują failą. Pakoreguokite jį ir vietoje mano-svetaine.lt įrašykite savo domeno vardą. Įsitikinkite, kad smtpd_tls_cert_file ir smtpd_tls_key_file kreipia į SSL sertifikatus:
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no

# TLS parameters
smtp_use_tls = yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_cert_file = /etc/letsencrypt/live/mano-svetaine.lt/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mano-svetaine.lt/privkey.pem
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,  reject_unauth_destination

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = /etc/postfix/virtual_mailbox_domains

myhostname = pastas.mano-svetaine.com
myorigin = /etc/mailname
mydestination =  localhost.$mydomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

1.7. Išsaugokite ir uždarykite failą.

2. Virtualių dėžučių domeno sukūrimas

2.1. Konfigūracinis failas main.cf nurodo Postfix tarnybai, koks domenas bus naudojamas el. pašto dėžučių kūrimui. Domenai aprašomi faile /etc/postfix/virtual_mailbox_domains. Susikuriame failą:
sudo nano /etc/postfix/virtual_mailbox_domains

2.2. Pridedame eilutę (pakeiskite mano-svetaine.lt į savo domeno vardą):
mano-svetaine.lt #domain

2.3. Naudojama postmap komanda, kuri pakeičia failo /etc/postfix/virtual_mailbox_domains formatą tam, kad jis būtų atpažinamas Postfix. Paleiskite šią komandą kiekvieną kartą kai pridėsite papildomą domeną šiame faile:
sudo postmap /etc/postfix/virtual_mailbox_domains

2.4. Pakoreguojame failą:
sudo nano /etc/postfix/master.cf
 kuriame susirandame eilutę:
...
#submission inet n       -       y       -       -       smtpd
...
ir pašaliname groteles:
...
submission inet n       -       y       -       -       smtpd
...
Išsaugome ir uždarome failą.

3. Dovecot diegimas ir konfigūravimas

3.1. Įdiekite Dovecot paketą  ir visus paketus reikalingus imap, pop3 ir lmtp veikimui:
$ sudo apt install -y dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd

3.2. Pakoreguokite failą /etc/dovecot/conf.d/10-mail.conf, kuris informuos Dovecot, kur rasti el. laiškus:
sudo nano /etc/dovecot/conf.d/10-mail.conf
Susiraskite įrašą:
mail_location = mbox:~/mail:INBOX=/var/mail/%u   
ir pakeiskite į:
mail_location = maildir:/var/mail/vhosts/%d/%n
Išsaugokite ir uždarykite failą. Parametras %d reiškia domeną, n% - naudotoją. Tai reiškia, kad turite sukurti subdirektoriją /var/mail/vhosts kataloge kiekvienam domenui, kurio vardu turi būti gaunami laiškai.


3.3. Sukurkite subdirektoriją ir pakeiskite mano-svetaine.lt nurodydami savo domeną:
sudo mkdir -p /var/mail/vhosts/mano-svetaine.lt
Jeigu norite pridėti daugiau domenų, kurie bus naudojami laiškų gavimui, pakartokite veiksmą įvedant kitą domeno vardą.


3.4. Sukurkite Dovecot paslaugoms naudojamą Vmail naudotoją ir grupę. Pirmą sukurkite vmail grupę:
sudo groupadd -g 5000 vmail
Tada sukurkite naudotoją:
sudo useradd -r -g vmail -u 5000 vmail -d /var/mail/vhosts -c "virtual mail user"
Perskirkite /var/mail/vhosts/ teises vmail naudotojui ir grupei:
sudo chown -R vmail:vmail /var/mail/vhosts/

3.5. Pakoreguokite Dovecot 10-master.conf failą:
sudo nano /etc/dovecot/conf.d/10-master.conf
Ir susiraskite įrašus:
...
inet_listener imaps {
  #port = 993
  #ssl = yes
}
...
Pašalinkite # simbolius prieš port ir ssl tam, kad Dovecot naudotų 993 prievadą ir saugų susijungimą:
...
inet_listener imaps {
  port = 993
  ssl = yes
}
...
Susiraskite kitus įrašus:
...
inet_listener pop3s {
  #port = 995
  #ssl = yes
}
...
Pašalinkite # simbolius prieš port ir ssl:
...
inet_listener pop3s {
  port = 995
  ssl = yes
}
...
Taip pat reikia pakeisti lmtp įrašus. Susiraskite juos:
...
service lmtp {
  unix_listener lmtp {
    #mode = 0666
  }
}
...
ir pakeiskite bei pridėkite kelis papildomus, kaip nurodyta žemiau:
...
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
...
Papildomai reikia susirasti Dovecot autorizacijos konfigūraciją, kuri atrodo taip:
...
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
#  mode = 0666
#}
...
ir pakeiskite į:
...
#Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}
...
Išsaugokite ir uždarykite failą.

3.6. Nustatykite Dovecot saugumo autorizacijos konfigūraciją. Tai atliekama koreguojant failą 10-auth.conf:
sudo nano /etc/dovecot/conf.d/10-auth.conf
Susiraskite įrašą:
# disable_plaintext_auth = yes
ir pašalinkite #:
disable_plaintext_auth = yes
Susiraskite kitą įrašą:
auth_mechanisms = plain
ir pridėkite žodį login:
auth_mechanisms = plain login
Toliau pašalinkite Dovecot standartinę konfigūraciją, kuri reikalauja naudotojo turėti sisteminę paskyrą tam, kad naudotis paštu:
!include auth-system.conf.ext
Ir pradžioje įrašykite # simbolį:
#!include auth-system.conf.ext
Tada reikia susirasti kitą eilutę:
#!include auth-passwdfile.conf.ext
ir pašalinti # tam, kad būtų naudojamas slaptažodžių failas:
!include auth-passwdfile.conf.ext

3.7. Toliau reikia atlikti failo auth-passwdfile.conf.ext turinį:
sudo nano /etc/dovecot/conf.d/auth-passwdfile.conf.ext
Tekstą:
passdb {
  driver = passwd-file
  args = scheme=CRYPT username_format=%u /etc/dovecot/users
}

userdb {
  driver = passwd-file
  args = username_format=%u /etc/dovecot/users
...
}
pakeiskite į:
passdb {
    driver = passwd-file
    args = scheme=PLAIN username_format=%u /etc/dovecot/dovecot-users
}

userdb {
    driver = static
    args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n    
}
Išsaugokite ir uždarykite.

3.8. Susikurkite slaptažodžių failą /etc/dovecot/dovecot-users. Šis failas bus duomenų bazė, kurioje bus nurodomi serverio el. pašto naudotojai:
sudo nano /etc/dovecot/dovecot-users
Pridėkite el. pašto adresą ir SLAPTAZODIS pakeiskite į sudėtingą slaptažodį. Taip pat pakeiskite mano-svetaine.lt į savo domeną:
admin@mano-svetaine.lt:{plain}SLAPTAZODIS
info@mano-svetaine.lt:{plain}SLAPTAZODIS
tomas@mano-svetaine.lt:{plain}SLAPTAZODIS
Išsaugokite ir uždarykite failą.

3.9. Paskutiniai Dovecot konfigūracijos pakeitimai - nustatymas naudoti SSL sertifikatą. Atsidarykite failą /etc/dovecot/conf.d/10-ssl.conf:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Susiraskite eilutę:
ssl = yes
ir pakeiskite ssl reikšmę iš yes į required:
ssl = required
Susiraskite kitus du įrašus:
#ssl_cert = </etc/dovecot/dovecot.pem
#ssl_key = </etc/dovecot/private/dovecot.pem
pašalinkite # ir sutikrinkite, kad nurodytas kelias atitiktų sertifikato failus. Jeigu naudojatės Let's Encrypt sertifikatu, įrašai turėtų būti tokie patys kaip nurodyti žemiau (nepamirškite pakeisti mano-svetaine.lt):
ssl_cert = </etc/letsencrypt/live/mano-svetaine.lt/fullchain.pem
ssl_key = </etc/letsencrypt/live/mano-svetaine.lt/privkey.pem
Išsaugokite ir uždarykite failą. Tada perkraukite Postfix ir Dovecot tarnybas:
sudo service postfix restart 
sudo service dovecot restart

4. Roundcube diegimas ir konfigūravimas


4.1. Tam, kad galėtumėte naudotis Postfix ir Dovecot tarnybomis, įdiekite Roundcube pašto serverį:
sudo apt install -y roundcube
4.2. Pasirinkite <Yes>:


4.3. Įveskite MySQL duomenų bazės slaptažodį:


tada reikės pakartotinai įvesti slaptažodį ir pasirinkti Enter.

4.4. Toliau reikia atlikti konfigūracinius pakeitimus. Atsidarykite SSL konfigūracinų failą direktorijoje /etc/apache2/sites-enabled. Mūsų atveju konfigūracijos failas yra 000-default-le-ssl.conf, tačiau Jūsų atveju gali būti skirtingas, todėl visų pirmą patikrinkite koks tai failas apsilankę:
cd /etc/apache2/sites-enabled/
Tada atlikite failo korekcijas:
sudo nano /etc/apache2/sites-enabled/pavadinimas-le-ssl.conf
Susiraskite turinį:
...
<VirtualHost *:443>
    ServerAdmin admin@mano-svetaine.lt
    ServerName server.mano-svetaine.lt 
...    
</VirtualHost>
...
ir pakeiskite pridėdami papildomą eilutę Alias /mail /usr/share/roundcube žemiau ServerName:
...
<VirtualHost *:443>
    ServerAdmin admin@mano-svetaine.lt
    ServerName mano-svetaine.lt
   Alias /mail /usr/share/roundcube  
...    
</VirtualHost>
...
Išsaugokite ir uždarykite failą.

4.5. Perkraukite Apache tarnybą:
sudo service apache2 restart

5. Testavimas

Tam, kad galėtumėte prisijungti prie dėžutės, įveskite žemiau nurodytą URL adresą pakeisdami į savo domeną:
https://mail.mano-svetaine.lt/mail
Atidarius Jums turėtų būti pateikiamas toks langas:


Galite prisijungti ir siųsti/gauti laiškus naudojantis Roundcube pašto administravimo programa.

Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2023 Dedikuoti.lt forumas, visos teisės saugumos.