Šajā 3 raksts sērijā mēs apspriedīsim, kā izveidot a Postfix pasta serveris ar pretvīrusu un surogātpasta aizsardzību a CentOS 7 kaste. Lūdzu, ņemiet vērā, ka šie norādījumi attiecas arī uz citiem izplatījumiem, piemēram, RHEL/Fedora un Debian/Ubuntu.
1. daļa: Kā droši izveidot un iestatīt Postfix pasta servera datu bāzi (MariaDB)
Mūsu plāns ietver e -pasta kontu un aizstājvārdu saglabāšanu a MariaDB datu bāze, kas ir mūsu ērtībai, tiks pārvaldīta, izmantojot phpMyAdmin.
Ja izvēlaties neinstalēt phpMyAdminvai ja jums ir darīšana ar tikai CLI serveri, mēs nodrošināsim arī ekvivalentu kodu, lai izveidotu datu bāzes tabulas, kas tiks izmantotas visā šajā sērijā.
Tā kā pasta servera uzturēšana darbībā ir viens no būtiskajiem uzdevumiem, kas parasti tiek piešķirti sistēmai administratoriem un inženieriem, mēs sniegsim arī dažus padomus, kā efektīvi vadīt šo kritisko pakalpojumu produkcijā vide.
Pirms turpināt, ir jāievēro daži priekšnoteikumi:
1. Jums būs nepieciešams derīgs domēns, kas reģistrēts, izmantojot domēna reģistratoru. Šajā sērijā mēs izmantosim www.linuxnewz.com
, kas tika reģistrēts caur Ej tēti.
2. Šāds domēns jānorāda uz jūsu VPS vai mākoņa mitināšanas pakalpojumu sniedzēja ārējo IP. Ja jūs pats mitināt savu pasta serveri, varat izmantot piedāvāto pakalpojumu FreeDNS (nepieciešama reģistrācija).
Jebkurā gadījumā jums ir jāiestata A
un MX
ieraksti arī jūsu domēnam (varat uzzināt vairāk par MX ierakstiem šo FAQ no Google).
Kad tie ir pievienoti, varat tos meklēt, izmantojot tiešsaistes rīku, piemēram, MxToolbox vai ViewDNS lai pārliecinātos, ka tie ir pareizi uzstādīti.
Svarīgs: Lūdzu, ņemiet vērā, ka tas var aizņemt kādu laiku (1-2 dienas), līdz DNS ieraksti tiek izplatīti un jūsu domēns ir pieejams. Tikmēr jūs varat piekļūt savam VPS, izmantojot tā IP adresi, lai veiktu tālāk norādītos uzdevumus.
3. Konfigurējiet FQDN (Pilnībā kvalificēts domēna vārds) no jūsu VPS:
# hostnamectl set-hostname yourhostname.
lai iestatītu sistēmas resursdatora nosaukumu, pēc tam rediģējiet /etc/hosts šādi (nomainiet AAA.BBB.CCC.DDD, tavs saimniekdators, un jūsu domēns ar jūsu servera publisko IP, saimniekdatora nosaukumu un reģistrēto domēnu):
AAA.BBB.CCC.DDD jūsu resursdatora nosaukums.jūsu domēns.com jūsu saimniekdatora vārds.
kur tavs saimniekdators ir sistēmas resursdatora nosaukums, kas iepriekš tika iestatīts, izmantojot saimniekdatora nosaukums komandu.
4. Lai instalētu nepieciešamās programmatūras pakotnes, piemēram, Apache, Postfix, Dovecot, MariaDB, PhpMyAdmin, SpamAssassin, ClamAV u.c., jums ir jāiespējo EPEL krātuve:
# yum instalēt epel-release.
5. Kad esat izpildījis iepriekš minētās darbības, instalējiet nepieciešamās pakotnes:
# yum update && yum install httpd httpd-devel postfix dovecot dovecot-mysql spamassassin clamav clamav-scanner clamav-scanner-systemd clamav-data clamav-update mariadb mariadb-server php phpMyAdmin.
# aptitude update && aptitude instalēt apache2 postfix dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql spamassassin clamav clamav-dēmons clamav-base mariadb-client mariadb-server php5 phpMyAdmin.
6. Sāciet un iespējojiet tīmekļa un datu bāzes serverus:
# systemctl iespējot httpd mariadb. # systemctl sākt httpd mariadb.
# systemctl iespējot apache2 mariadb. # systemctl start apache2 mariadb.
Kad instalēšana ir pabeigta un iepriekš minētais pakalpojums ir iespējots un darbojas, mēs sāksim, iestatot datu bāzi un tabulas, lai saglabātu informāciju par Postfix pasta kontiem.
Vienkāršības labad mēs izmantosim phpMyAdmin, rīks, kas paredzēts administrēšanai MySQL / MariaDB datu bāzēm, izmantojot tīmekļa saskarni, lai izveidotu un pārvaldītu e -pasta datu bāzi.
Tomēr, lai pieteiktos un izmantotu šo rīku, mums ir jāveic šādas darbības:
7. Iespējot MariaDB konts (to var izdarīt, palaižot mysql_secure_installation
utilītu no komandrindas, piešķirot paroli lietotāja saknei un iestatot rīka piedāvātos noklusējuma iestatījumus EXCEPT "Vai aizliegt root pieteikšanos attālināti?“:
vai kā citādi izveidot jaunu datu bāzes lietotāju:
MariaDB [(nav)]> IZVEIDOT LIETOTĀJU 'dba'@'localhost' IDENTIFICĒTA 'YourPasswordHere'; MariaDB [(nav)]> Piešķiriet visas privilēģijas *. * TO 'dba'@'localhost'; MariaDB [(nav)]> FLUSH PRIVILEGES;
8. Tā kā e -pasta servera datu bāzes pārvaldīšanai izmantosim tīmekļa lietojumprogrammu, mums ir jāveic nepieciešamie piesardzības pasākumi, lai aizsargātu savienojumus ar serveri. Pretējā gadījumā mūsu phpMyAdmin akreditācijas dati pārvietosies vienkāršā tekstā pa vadu.
Uzstādīt Transporta slāņa drošība (TLS) savā serverī, izpildiet sadaļā aprakstītās darbības 8. daļa no RHCE sērijas: HTTPS ieviešana, izmantojot TLS, izmantojot tīkla drošības pakalpojumu (NSS) Apache, pirms turpināt.
Piezīme: ja jums nav piekļuves servera konsolei, jums būs jāatrod cits veids, kā ģenerēt nepieciešamo entropiju atslēgas izveides laikā. Šādā gadījumā ieteicams apsvērt instalēšanu rng-instrumenti un skriešana rngd -r /dev /urandom.
9. In /etc/httpd/conf.d/phpMyAdmin.conf (CentOS) vai /etc/phpmyadmin/apache.conf (Debian un atvasinājumi), atrodiet visus šādu rindu gadījumus un pārliecinieties, ka tie norāda uz jūsu servera publisko IP:
Nepieciešams ip AAA.BBB.CCC.DDD. Atļaut no AAA.BBB.CCC.DDD.
Turklāt atspējojiet noklusējuma aizstājvārdus un izveidojiet jaunu, lai piekļūtu savai phpMyAdmin pieteikšanās lapai. Tas palīdzēs aizsargāt vietni pret robotiem un ārējiem uzbrucējiem, kas mērķē www.jūsudomēns.com/phpmyadmin vai www.jūsudomēns.com/phpMyAdmin.
#Alias /phpMyAdmin /usr /share /phpMyAdmin. #Alias /phpmyadmin /usr /share /phpMyAdmin. Nosaukums /managedb /usr /share /phpMyAdmin.
Turklāt pievienojiet šādu rindu iekšpusē :
Pieprasīt visu piešķirto.
10. Pārliecinieties, vai jūsu domēns ir pievienots iespējotajām vietnēm. Izveidot /etc/httpd/sites-available/linuxnewz.com.conf (CentOS) vai /etc/apache2/sites-available/linuxnewz.com (Debian) ar šādu saturu (pārliecinieties, vai DocumentRoot, vietnes-pieejamas, un iespējotas vietnes ir katalogi):
ServerName www.linuxnewz.com ServerAlias linuxnewz.com DocumentRoot /var/www/linuxnewz.com/public_html ErrorLog /var/www/linuxnewz.com/error.log CustomLog /var/www/linuxnewz.com/requests.log kombinētie opciju indeksi FollowSymLinks.
un simboliskā saite:
# ln -s /etc/httpd/sites-available/linuxnewz.com.conf /etc/httpd/sites-enabled/linuxnewz.com.conf.
# a2ensite linuxnewz.com.
un esat pabeidzis.
11. Tagad jūs varat atvērt savu phpMyAdmin interfeiss plkst https://www.yourdomain.com/managedb
(pieraksti to pārvaldītsb ir aizstājvārds, ko iepriekš iestatījām phpMyAdmin datu direktorijam).
Ja tas nedarbojas (ko var izraisīt DNS ierakstu izplatīšanas aizkavēšanās vai konfigurācijas trūkums), pagaidām varat mēģināt izmantot sava servera publisko IP adresi, nevis www.jūsu domēns.com:
Jebkurā gadījumā pēc pieteikšanās phpMyAdmin jūs redzēsit šādu saskarni. Klikšķis Jauns kreisajā sadaļā:
Ievadiet datu bāzes nosaukumu (EmailServer_db šajā gadījumā nav jāizvēlas šķirošana) un noklikšķiniet Izveidot:
12. Nākamajā ekrānā izvēlieties a vārds pirmajai tabulai (kur mēs saglabāsim domēnus, kurus šis pasta serveris pārvaldīs.
Lūdzu, ņemiet vērā, ka pat tad, ja šajā sērijā mēs pārvaldīsim tikai vienu domēnu, vēlāk varēsit pievienot vairāk) un vajadzīgo lauku skaitu, pēc tam noklikšķiniet uz Iet. Jums tiks piedāvāts nosaukt un konfigurēt šos divus laukus, kur varat droši turpināt, kā norādīts šādos attēlos:
Kad izvēlaties PRIMĀRS zem Indekss priekš Domēna ID, pieņemiet noklusējuma vērtības un noklikšķiniet Iet:
Varat arī noklikšķināt Priekšskatīt SQL lai redzētu kodu zem pārsega:
CREATE TABLE `EmailServer_db`.`Domains_tbl` (` DomainId` INT NOT NULL AUTO_INCREMENT, `DomainName` VARCHAR (50) NOT NULL, PRIMARY KEY (` DomainId`)) ENGINE = InnoDB;
Kad esat gatavs, noklikšķiniet uz Saglabāt lai apstiprinātu izmaiņas. Pēc tam varēsit noklikšķināt Jauns zem EmailServer_db lai turpinātu veidot tabulas:
13. Tagad izpildiet šīs darbības, lai izveidotu pārējās tabulas. Noklikšķiniet uz SQL cilni un ievadiet norādīto kodu katram datu bāzes objektam.
Ņemiet vērā, ka šajā gadījumā mēs izvēlējāmies izveidot tabulu, izmantojot SQL vaicājumu, jo ir jānosaka attiecības starp dažādām tabulām:
CREATE TABLE "Users_tbl" ("UserId" INT NOT NULL AUTO_INCREMENT, "DomainId" INT NOT NULL, "parole" VARCHAR (100) NOT NULL, "Email" VARCHAR (100) NOT NULL, PRIMARY KEY ("UserId"), UNIQUE KEY "Email" ("Email"), FOREIGN KEY (DomainId) REFERENCES Domains_tbl (DomainId) ON DELETE CASCADE) ENGINE = InnoDB;
Jums vajadzētu saņemt apstiprinājuma ziņojumu (ja nē, phpMyAdmin pieprasīs sintakses kļūdas):
CREATE TABLE "Alias_tbl" ("AliasId" INT NOT NULL AUTO_INCREMENT, "DomainId" INT NOT NULL, "Source" varchar (100) NOT NULL, "Galamērķa" varchar (100) NOT NULL, PRIMARY KEY ("AliasId"), FOREIGN KEY (DomainId) ATSAUCES Domains_tbl (DomainId) ON DELETE KASKĀDE. ) DZINĒJS = InnoDB;
(Klikšķis Iet apakšā, lai turpinātu izveidot tabulu).
Līdz šim brīdim jums vajadzētu izveidot šādu datu bāzes struktūru:
Tas nozīmē, ka esat gatavs sākt pievienot dažus ierakstus nākamajā sadaļā.
14. Tagad trīs tabulās mēs ievietosim šādus ierakstus. Paroles domēnam [e -pasts aizsargāts] un [e -pasts aizsargāts] tiks šifrēts un INSERT INTO Users_tbl paziņojums, apgalvojums.
Lūdzu, ņemiet vērā arī to, ka e -pasta ziņojumi ir nosūtīti uz [e -pasts aizsargāts] tiks novirzīts uz [e -pasts aizsargāts]:
INSERT INTO Domains_tbl (DomainName) VALUES ('linuxnewz.com'); INSERT INTO Users_tbl (DomainId, parole, e -pasts) VALUES (1, ENCRYPT ('PasswordForFirstEmailAccount', CONCAT ('$ 6 $', SUBSTRING (SHA (RAND ()))), -16)))), '[e -pasts aizsargāts]'); INSERT INTO Users_tbl (DomainId, parole, e -pasts) VALUES (1, ENCRYPT ('PasswordForSecondEmailAccount', CONCAT ('$ 6 $', SUBSTRING (SHA (RAND ())), -16)))), '[e -pasts aizsargāts]'); INSERT INTO Alias_tbl (DomainId, Source, Destination) VALUES (1, '[e -pasts aizsargāts]',' t[e -pasts aizsargāts]');
Pievienojot savu domēnu, divus lietotāju kontus un e -pasta aizstājvārdu, mēs esam gatavi turpināt sava e -pasta servera iestatīšanu nākamajā šīs sērijas rakstā, kur mēs konfigurēsim Balodis un Postfix.
Šajā rakstā mēs esam uzskaitījuši pakotnes, kas nepieciešamas Postfix e -pasta servera instalēšanai CentOS 7 VPS, un paskaidrots, kā pārvaldīt pamatā esošo datu bāzi, izmantojot phpMyAdmin.
Nākamajos divos rakstos mēs pārskatīsim abu programmu konfigurāciju, kas rūpēsies par mūsu domēna e -pasta izplatīšanu (2. daļa) un parādīs, kā pievienot aizsardzību pret surogātpastu un vīrusiem (3. daļa) jūsu serverim.
Līdz tam droši sazinieties ar mums, izmantojot zemāk esošo veidlapu, ja jums ir kādi jautājumi vai komentāri.