ot N. Antonov(17-11-2003)

reiting (32)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Postfix.html

Postfix - burz, siguren i lesen za upravlenie

V tazi statiia shte se opitam da nasocha vnimanieto vi kum Postfix - prilozhenie, koeto se polzva s reputatsiiata na edin ot nai-sigurnite, burzi i lesni za administratsiia poshtenski survuri. Statiiata ne tseli da bude pulnotsenno HowTo, po-skoro - kratko opisanie na niakoi ot nai-chesto izpolzvanite vuzmozhnosti na Postfix. Spetsialistite kazvat, che osven vsichko Postfix e suvmestim sus Sendmail, koeto garantira lesnata migratsiia ot ediniia kum drugiia survur. Tova e dobra novina za administratorite, koito se pritesniavat ot problemite sus sigurnostta, koito poniakoga se poiaviavat pri Sendmail.

Predpolaga se, che mozhete da si instalirate Postfix na sistemata i veche ste go storili. Konfiguratsiiata na Postfix obiknoveno se namira v /etc/postfix, a poshtenskata opashka po podrazbirane mozhete da otkriete vuv /var/spool/postfix. Nai-vazhna za nas e direktoriiata /etc/postfix. Tia sudurzha dva konfiguratsionni faila i razlichnite vidove tablitsi (maps) kato aliases, virtual, transport, access i t.n. Tablitsite sa edno poniatie, koeto triabva da iziasnim.

Tablitsite predstavliavat failove, bazi ot danni, koito survurut chete i na bazata na koito opredelia povedenieto si. Sushtestvuvat niakolko formata, v koito mogat da se suzdavat tablitsi - hash, dbm, nis i failove s reguliarni izrazi v ASCII. Tablitsita se suzdavat s komandata postmap. Podrazbirashtiiat se format e hash.

  • Tablitsata aliases (/etc/postfix/aliases)

Pochti vsiaka distributsiia idva po podrazbirane s tablitsata aliases, kudeto se opisvat psevdonimite na potrebitelite sum dadena sistema. Postfix sushto polzva tazi tablitsa. Za tselta v konfiguratsionniiat mu fail triabva da ima red ot tozi tip:

alias_maps = hash:/etc/postfix/aliases

Tvurde vuzmozhno e po podrazbirane da chete v /etc/aliases ot suobrazheniia za suvmestimost.

Formatut na tazi tablitsa e identichen na formata pri Sendmail. Logikata e slednata:

local-user: alias

user@[some-machine, some-machine@somedomain]

root: pete@guardiandigital.com

Ako domeinut na mashinata e naprimer domain.com, suglasno tazi tablitsa pismata do root@domain.com shte se preprashtat kum pete@guardiandigital.com. Sled vsiako redaktirane na /etc/postfix/aliases triabva da regenerirame bazata ot danni vuv formata hash.

postalias hash:/etc/postfix/aliases

Tova e edinstvenata tablitsa, koiato se upravliava ne s komandata postmap, a s komandata postalias. Vmesto da pishem gornata komanda, mozhem da postignem sushtoto i s:

newalises

  • Tablitsata virtual (/etc/postfix/virtual)

S tazi tablitsa mozhem da definirame virtualnite domeini i tehnite potrebiteli, kato instruktirame survura da preprashta pismata, izprateni primerno do user1@domain.com v druga posoka, koiato mozhe da bude drug lokalen potrebitel ili potrebitel na drug domein, kakto i tsiala kombinatsiia ot potrebiteli. Tipichniiat format pri opisanieto na virtualnite domeini e tozi:

DOMAINNAME1 XXXXXXX

user1@DOMAINNAME local-user

user2@DOMAINNAME user@someotherdomain

user3@DOMAINNAME user@someotherdomain, user@anotherdomain, ...

.

.

@DOMAINNAME local-user or user@somedomain (OPTIONAL)

Eto i konkreten primer:

linuxseclabs.net VIRTUALDOMAIN

bill@linuxseclabs.net bill

joe@linuxseclabs.net joe@guardiandigital.com

@linuxseclabs.net pete@guardiandigital.com

V sluchaia, niama znachenie kakvo shte napishem na miastoto na HHHHHHH. Sled redaktirane na tazi tablitsa, osven zadulzhitelnoto regenerirane s komandata postmap, triabva da prezaredim i konfiguratsiiata na survura:

postfix reload

  • Tablitsata transport (/etc/postfix/transport)

Tuk kazvame na survura kakvo da pravi sus suobshteniia, izprateni do domein, poshtata na koito naprimer se obrabotva na druga mashina ili posredstvom drug protokol, TCP-port... S edna duma, Postfix prosto triabva da gi transportira.

Tipichen primer:

demo.guardiandigital.com smtp:smtp.demo.guardiandigital.com

Sega pismata do domeina vliavo shte otivat kum domeina vdiasno prez protokol SMTP. Razlichnite vidove transportirane sa opisani v /etc/postfix/master.cf. V tozi fail mozhete da opisvate sobstveni vidove transportirane. Naprimer, ako iskate vsichki pisma da minavat prez antivirusna proverka ot Amavis, koito slusha na port 10025, v tozi fail mozhete da definirate kak stava transportiraneto. Tova obache ne e predmet na tozi material.

  • Drugi vidove tablitsi

  • relocated - Tuk se opisva informatsiia za t. nar. bounce messages, svurzani s potrebiteli, koito ne sushtestvuvat v tazi sistema.
  • access - Opisanie za izbiratelniia red, po koito survurut obrabotva suobshteniiata ot spetsifichni hostove, domeini, mrezhi ili adresi.
  • canonical - Tablitsa, v koiato mozhem da opishem adresite za lokalni e nelokalni potrebiteli. Tazi tablitsa se izpolzva ot demona cleanup.

Konfiguratsiiata

  • Main.cf

Tova e glavniiat konfiguratsionen fail. V nego mogat da budat opisani poveche ot 200 konfiguratsionni parametura! Tui kato povecheto ot tiah sa nastroeni po podrazbirane, tuk shte oburnem vnimanie samo na tezi, koito nai-chesto puti se nalaga da pipnem sami.

  • Parameturut myorigin opisva domeina, koito se obsluzhva lokalno i ot koito survurut shte izprashta pismata.

myorigin = $myhostname

  • Parameturut mydestination opisva destinatsiiata, do koiato survurut shte priema adresiranite pisma.

mydestination = $myhostname, localhost.$mydomain, $mydomain

Ako imame samo tozi parametur, survurut shte othvurlia avtomatichno vsichki pisma, koito ne sa adresirani do goreposochenite destinatsii.

  • Tablitsite, za koito govorihme veche, triabva da budat posocheni tuk, inache survurut niama da im obrushta vnimanie. Naprimer:

alias_maps = hash:/etc/postfix/aliases

alias_database = hash:/etc/postfix/aliases

virtual_maps = hash:/etc/postfix/virtual

transport_maps = hash:/etc/postfix/transport

  • Parameturut relay_domains se izpolzva, kogato iskate da posochite drugi domeini, osven osnovniia, za koito survurut shte priema obrabotva poshtata.

relay_domains = $mydestination, linuxseclabs.com, linuxseclabs.net

  • Parameturut mynetworks e mnogo vazhen za sigurnostta!!! Ne zabraviaite da go nastroite. S tozi parametur ogranichavame potrebitelite, koito shte mogat da iprashtat pisma chrez tozi survur, po mrezhi ili hostove. Ako go propusnem, tova oznachava, che vseki mozhe da polzva survura za SMTP, koeto e dobre doshlo za samorazprashtashtite se virusi i spamerite.

mynetworks = 127.0.0.0/8, 192.168.0.0/24, 194.135.73.15

  • Parameturut relayhost se izpolzva, kogato iskame survurut da ne izprashta pismata direktno, a posredstvom drug SMTP-survur. Naprimer, nashiiat meilsurvur niama publichen IP-adres v internet, a se namira samo v lokalnata ni mrezha, togava mozhem da go nastroim da izprashta pismata chrez drug survur s publichen adres.

relayhost = 175.210.73.117

Upravlenie na survura

  • postconf - pokazva tekushtata konfiguratsiia
  • postconf -d - pokazva podrazbirashtata se konfiguratsiia taka, kakto e zadadena ot avtorite mu
  • postconf -n - pokazva samo tezi tekushti nastroiki, koito se razlichavat ot nastroikite po podrazbirane
  • puskane/spirane/prezarezhdane

/etc/init.d/postfix start

/etc/init.d/postfix stop

/etc/init.d/postfix restart

  • izchistvane na opashkata

postfix flush

  • proverka na sudurzhanieto v dadena tablitsa

postmap -q keymap

Naprimer:

[root@demo postfix]# postmap -q linuxseclabs.com transport

smtp:orion-t.secure.linuxseclabs.com

[root@demo postfix]#

  • pokazvane na pismata v opashkata

mailq

Naprimer:

[root@juggernaut postfix]# mailq

-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------

BF09A11D315 1125 Mon May 21 14:30:24

vuln-newsletter-admins@linuxsecurity.com

(Name service error for ec.ucdb.br: Host not found, try again)

SOMEHOST@SOMEDOMAIN.COM

  • pokazvane na failovete v opashkata

postcat queuefile

Naprimer:

root@demo ]# find /var/spool/postfix/active -type f active/B/8/B8E7611D302

[root@demo ]# postcat active/B/8/B8E7611D302

  • iztrivane na pisma ot opashkata

Mozhem da potursim pismata, koito sa oboznacheni po spetsifichen nachin i edva sled tova da gi iztriem. Naprimer, zastoiavat v opashkata, zashtoto ne mogat da budat izprateni poradi niakakva greshka (greshen adres v To:).

find /var/spool/postfix -name "IDENTIFIER" -exec rm {} \;

Sled kato sme iztrili dadeno pismo, triabva da startirame komandata mailq.

Ako iskame da premahnem tsiala opashka, mozhem da go napravim taka:

postsuper -d queueID

Sled kato razgledahme niakoi osnovni aspekti v nastroikata i upravlenieto na Postfix, za po-lyuboznatelnite bih preporuchal dokumentatsiiata. Postfix pritezhava, razbira se, i mnogo drugi vuzmozhnosti, koito ne sa predmet na tozi material i iziskvat po-zadulbocheno izuchavane na tozi burz, siguren i lesen za upravlenie poshtenski survur.



<< CHudniiat sviat na Linuks 2.6 | Vuvedenie v Z Shell >>