logo
Etusivu
Käsikirja
Opinnäytetyö
Tiedostot
Linkit
Muuta

LeHTori

Käsikirja

2 FreeBSD Käyttöjärjestelmä

2.1 Esitellään FreeBSD

2.2 Asennetaan FreeBSD

2.3 Yleistä UNIX järjestelmistä

2.4 Peruskomennot

2.5 Komentotulkit

2.6 Ohjelmien asentaminen ja päivittäminen

2.7 Käynnistysjonot

2.8 Asetustiedostot

2.9 Levykiintiö eli quota

2.10 FreeBSD:n kerneli

2.11 Yhteyden jakaminen NATD:llä

2.12 Palomuuriohjelmistot

2.13 Cvsup ja verkosta päivittäminen

2.14 Käyttöjärjestelmän päivittäminen

2.15 XFree86 Ikkunointijärjestelmä

2.16 Sysinstall Ohjelmisto

2.17 Yleisiä ongelmia

2.18 Muuta

2.19 Levyjärjestelmän laitteiden-nimet

3 Asennetut palvelinohjelmistot ja niiden käyttäminen

3.1 Samba ja toimialuepalvelin

3.2 Squid, Internetin välityspalvelin (proxy)

3.3 Apache, Web-palvelin

3.4 Postfix, Sähköpostipalvelin

3.5 Popd, Sähköpostin hakupalvelin

3.6 Openwebmail

3.7 Bind9, DNS-palvelin

3.8 OpenSSH

3.9 OpenSSL sertifikaatti


3.4 Postfix, Sähköpostipalvelin

Mikä on POSTFIX?

Postfix on sähköpostin välitysohjelmisto, eli pitää sisällään smtp protokollan (Simple Mail Transfer Protocol) Tätä protokolla hyväksi käyttäen voidaan välittää ja lähettää sähköpostia, sähköpostipalvelimelta?

Miten päädyimme POSTFIX?

Postfix on yksinkertainen ja helposti hallittava sähköpostin välityspalvelin. Muina vaihtoehtoina, olisi ollut exim tai sendmail, Valitsimme postfixiin juuri, sen monipuolisuuden ja helppo käyttöisyyden takia. Postfix on suunniteltu korvaamaan vaikea käyttöistä sendmail sovellusta

Mitä asensimme sähköposti palvelimen?

Postfix:inSähköpostinvälitysohjelman
ProcmailSähköpostinhakuohjelma
Popd3dSähköpostin-nouto ohjelman, sähköpostiohjelmille
OpenwebmailInternet pohjainen sähköpostinlukusovellus

Käyttämämme esimerkki kokoonpano:

Ensimmäinen postfixin asetustiedostoni:

# Ensimmäinen sähköpostipalvelimeni Postfixi:llä (main.cf)

queue_directory = /var/spool/postfix			#Jonojen sijoitus paikka
command_directory = /usr/local/sbin			#Ohjelman hakemisto
daemon_directory = /usr/local/libexec/postfix		#Daemonin hakemisto
mail_owner = postfix					#Käyttäjä joka omistaa mailpalvelimen "owner"
default_privs = nobody					#Oletus oikeudet 
inet_interfaces = all					#Kuunnellaan kaikki rajapintoja
mydestination = localhost, minun.oma.domain.com		#Otetaan postia vastaan edellisistä osoitteista
unknown_local_recipient_reject_code = 450		#Hylkää lähetys kun lähettäjän
							# osoitteella ei ole luotettavuutta
mynetworks = 10.10.45.0/16, 127.0.0.0/8, 10.10.34.0/16	#Määritetään luotetut verkot
							# (osoitteet jolta sallitaan smtp:n käyttö)

# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.

alias_maps = hash:/etc/aliases					

# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi".
alias_database = hash:/etc/aliases

home_mailbox = Maildir/					#Minne postit sijoitetaan kotihakemistossa
mail_spool_directory = /var/spool/mail			#Mistä löytyvät sähköpostijonot
mailbox_command = /usr/local/bin/procmail		#Procmailin sijainti
							# (Välittää postit käyttäjille)
header_checks = regexp:/usr/local/etc/postfix/header_checks  #Roskapostin tarkistus "otsikoista"
debug_peer_level = 2						
sendmail_path = /usr/local/sbin/sendmail		#Sendmailin polku
newaliases_path = /usr/local/bin/newaliases		#Newaliases ohjelmanpolku
mailq_path = /usr/local/bin/mailq			#Mailq:n polku
setgid_group = maildrop					#Setgid ryhmä
manpage_directory = /usr/local/man			#Man sivujen sijainti
sample_directory = /usr/local/etc/postfix		#Postfixin asetustiedostojen sijainti
readme_directory = no					#Lue minut hakemisto


header_check suodatin suttaa tavallisimmat spam viestit pois.

#Haetaan seuraavia hakusanoja postin aiheista.
# Löydettäessä lähetetään, posti takaisin seuraavan tiedon kanssa. 
/^Subject:.*Sex*/             REJECT Spam filtter has reject your message
/^Subject:.*Viagra*/         REJECT Spam filtter has reject your message
/^Subject:.*Penis*/           REJECT Spam filtter has reject your message
/^Subject:.*Hot*/             REJECT Spam filtter has reject your message
/^Subject:.*Free*/            REJECT Spam filtter has reject your message
/^Subject:.*Drug*/            REJECT Spam filtter has reject your message

#Hylätään seuraavista osoitteista tulevat viestit
^From:.*@microsoft.com/     REJECT


#spämmi ohjelmilla tulevaa paskaa rejektoidaan kaikki (tunnettuja spämmäys softia)

/^X-Mailer: 0001/                       REJECT viestisi
/^X-Mailer: Avalanche/                  REJECT viestisi
/^X-Mailer: Crescent Internet Tool/     REJECT viestisi
/^X-Mailer: DiffondiCool/               REJECT viestisi
/^X-Mailer: E-Mail Delivery Agent/      REJECT viestisi
/^X-Mailer: Emailer Platinum/           REJECT viestisi
/^X-Mailer: Entity/                     REJECT viestisi
/^X-Mailer: Extractor/                  REJECT viestisi
/^X-Mailer: Floodgate/                  REJECT viestisi
/^X-Mailer: GOTO Software Sarbacane/    REJECT viestisi
/^X-Mailer: MailWorkz/                  REJECT viestisi
/^X-Mailer: MassE-Mail/                 REJECT viestisi
/^X-Mailer: MaxBulk.Mailer/             REJECT viestisi
/^X-Mailer: News Breaker Pro/           REJECT viestisi
/^X-Mailer: SmartMailer/                REJECT viestisi
/^X-Mailer: StormPort/                  REJECT viestisi
/^X-Mailer: SuperMail-2/                REJECT viestisi

Postfix ja parametrejen toiminta:

Esittely

Posfix omaa useita satoja asetus parametreja, jotka ovat kontrolloitavissa main.cf tiedostossa. Onneksi, ne ovat järkeviä vakioasetuksia. Useimmissa tapauksissa, sinun ei asettaa kahta tai neljää parametria, ennen kuin voit käyttää postfix ohjelmistoa:

Mitä Domainia käytetään postin lähetyksessä
Miltä Domaineilta sähköpostia vastaanotetaan
Mihin sähköpostipalvelin vastaa

Oletuksena monista arvoista ja muista asetus parametreista, johdetaan näistä muutamasta parametrista. Seuraava parametri kiinnostaa määrällä sähköpostia, joka lähetetään paikalliselle postmaster:ille

Mistä ongelmista raportoidaan postmasterille

Ole varma seuraava on oikein, jos olet proxyn takana tai osoitemuunnoksen ja ajat varmistus MX hostia, jollekin toiselle domainille.

Proxy/NAT verkon osoitteet

Jos, ajat POSTFIX:iä virtuaalisesta verkon rajapinnasta tai laitteistosi ajaa toisia postitusohjelmia virtuaalisissa rajapinnoissa, sinun tulee katsoa muut parametrit, jotka listataan täällä:

Minun osoitteeni (Hostname)
Minun Domain nimeni (Domain name)
Minun verkkoni (Networks)
Minun verkkoni osoite (Network Addresses)


Mitä Domainia käytetään postin lähetyksessä

myorigin parametri määrittää domain:ia, joka näkyy postitettaessa postia tältä koneelta. Oletuksena on oletus paikallinen koneen nimi $myhostname, joka on oletuksena tällä koneella. Tarpeeton sinun ajaessasi pientä sivustoa, sinä mahdollisesti haluat vaihtaa tämän arvon $mydomain, arvoon, joka näyttää koneesi domainin.

Johdonmukaisesti lähettäjän ja vastaanottajan osoitteissa, myorigin myös määrittää domain nimen, myös epäkelvon osoitteen

Esimerkit:

myorigin = $myhostname (oletus)
myorigin = $mydomain (mahdollisesti haluat)

Miltä Domaineilta sähköpostia vastaanotetaan

mydestination parametri määrittää miltä domaineilta tämä kone hankkii postit, itse asiassa uudelleen lähetys toiselle koneelle.

Voit määritellä nollaksi tai enemmän domain nimiä /file/name kaavaan ja/tai type:name seuranta tauluihin, eroiteltuna välilyönneillä ja/tai pilkuilla. /file/name korvaa sisällön type:name:ssa ja taulua, joista seuranta tehdään.

Jos koneesi koko domainin mail palvelin, sinun tulee listata $mydomain

Oletus asetukset:

mydestination = $myhostname localhost.$mydomain
Domainin laajuinen sähköpostipalvelin
mydestination = $myhostname localhost.$mydomain $mydomain
Osoite monenlaisilla DNS A recordeilla.
mydestination = $myhostname localhost.$mydomain www.$mydomain ftp.$mydomain

Varoitus: Järjestyksessä vältettävä looppeja sähköpostille, sinun tulee listata kaikki koneesi osoitenimet (hostnamet), mukaan lukien $myhostname ja localhost.$mydomain.

Mihin sähköpostipalvelin vastaa

Oletuksena, Postfix vastaa asiakasohjelmille, tunnistetuista verkoista.

Tunnistetut asiakasverkot ovat määritettyinä mynetworks parametrilla. Oletuksena on tunnistaa kaikki clientit, IP alaverkoista, joissa koneesi on.

Mistä ongelmista raportoidaan postmasterille

Sinun tulee asettaa postmaster alias, joka osoittaa "jotakuta". Tämä alias tarvisee olla olemassa, koska ihmisten tulee voida raportoida ongelmista sähköpostin välityksessä.

Postfix järjestelmä itsessään yrittää myös raportoida ongelmista postmaster peitenimelle. Sinä et ehkä ole kaikista tyyppisistä ongelma raporteista, joten raportointi mekanismi on asetettavissa. Oletuksena raportoidaan vakavista ongelmista (resurreissa, ohjelmistossa):

Oletuksena:

notify_classes = resource, software

Raportointi luokat ovat seuraavat:

Bounce

Lähettää postmasterille kopiot toimittamattomasta sähköpostista, jos sähköpostia ei toimitettu, niin kutsutaan yksittäinen on typistetty viestin otsikkoon. Niin kutsuttaessa yksittäistä "pampahtanutta" viestiä lähetettäväksi kopio viestistä, jota ei välitetty.

Yksityisyys syistä, postmaster kopio yksittäisestä "pompahtaneesta" viestistä on typistetty alkuperäiseen viestin otsikkoon, jos yksittäinen "pompahtanut" viesti ei vapautunut, postmasteri saa kaiki "pompahtavaa" viestiä kopioineen yksittäisestä viestistä. Katso myös luser_relay ominaisus

2bounce

Lähetä tupla pompahdukset postmasterille.

Delay

Tietoja postmasterille myöhästyneistä viesteistä. Tässä tapauksessa postmaster saa ainoastaan otsikot viesteistä

policy

Tietoja postmasterille "sähköpostiohjelmien" pyynnöistä, jotka ovat hylättyjä UCE politiikan rajoitusten vuoksi. Postmaster vastaanottaa tällöin lähetyskomennon tiedot koko SMTP istunnosta.

protocol

Tietoja postmasterille protokollavirheistä ("asikkaiden tai palvelin puolen") tai yrityksistä, jossa asiakas on pyrkinyt suorittamaan ei toteutuneita komentoja. Postmaster vastaanottaa tällöin lähetyskomennon tiedot koko SMTP istunnosta.

resource

Tietoja postmasterille posteista, joita ei välitetty jollelkin johtuen resurssi ongelmista (esimerkiksi jonotiedoston kirjoitus virheistä)

software

Tietoja postmasterille posteista, joita ei välitetty jollekkin ohjelmisto ongelmien vuoksi.

Proxy/NAT verkon osoitteet

Proxy_interfaces parametri määrittää koko verkon osoitteita niin että POSTFIX saa mailia proxyltä tai verkon osoite muunnos yksiköltä. Sinä voit määrittää symbolisen "hostnamet" itse asiassa verkon osoitteiksi.

Sinä voit määrittää sinun proxy/NAT osoitteille, kun sinun järjestelmällesi on varmistus MX osoite jollakin mulla domainilla, muutoin postipalvelin toimittaa "looppina" kun primaarinen MX on alhaalla.

Esimerkiksi:

Oletuksena:

proxy_interfaces =
Osoite varmistamassa MTA:ta:
proxy_interfaces = 1.2.3.4 (proxy/NAT verkon osoittelle)

Minun osoitteeni (hostname)

myhostname parametri määrittelee täysin pätevää domain nimeä, jolta koneellasi, jolla POSTFIX systeemisiasi ajat. $myhostname ilmenee oletuksena, myös monissa POSTFIXIN asetus parametreissa.

Oletuksena myhostanme on asetettu paikallisen koneen nimeksi, mikäli koneellasi ei ole täysin pätevää domain nimeä kentässä tai jos ajat POSTFIXiä virtuaalisesta rajapinnasta, sinun tulee määrittää täysin pätevä domain nimi, sille mail systeemille jota käytät.

Esimerkit:

myhostname = host.local.domain (paikallinen "hostname" ei ole täysin pätevä domain nimi)
myhostname = host.virtual.domain (virtualinen rajapinta)
myhostname = virtual.domain (virtualinen rajapinta)

Minun Domain nimeni (Domain name)

mydomain parametri määrittää molempia domainia että myhostname:a. Oletuksena saapuvat $myhostname ensimmäiselle domainille (ellei tuloksena olisi ylemmän tason domain)

mydomain = local.domain
mydomain = virtual.domain (virtuaalinen rajainta)

Minun verkkoni (Networks)

mynetworks parametri listaa kaikki verkot, tälle koneelle joihin luotetaan. Tätä informaatiota voidaan käyttää anti-UCE asetuksissa, jotka tunnistavat luotetetun SMTP "asiakas ohjelmat", jotka sallivat välittää postfixillä postia.

Sinän voit määrittää, listan luotetuista verkoista main.cf tiedostoon, tai voit antaa Postfixin muodostan listan sinulle. Oletuksena Postfix tekee "työtä" sinulle

Oletus:

mynetworks_style = subnet
Tyylien tarkoitus alempana:

class

Luota SMTP asiakasohjelmaan A/B/C verkkoluokista mistä Postfix:iä käytetään. Elä käytä tätä soittoverkossa - tämä aiheuttaa Postfix:ille "luotettavan" koko palveluntarjoajan verkossa. Sen sijaan määrittele tietyt verkot listaan käsin seuraavan mukaisesti.

subnet (oleuts)

Luota SMTP asiakasohjelmaan tiettystä aliverkosta tulleesta yhteydestä.

host

Luota vain paikalliseen koneeseen.

Vaihtoehtoisesti sinä voit määrittää mynetworks listan käsin, mikä aiheuttaa Postfix:in eväävän mynetworks_style asetuksen. Määrittääksesti luotettavan verkon käsin, määritä verkkoluokka CIDR (verkko/aliverkonpeite) merkintä seuraavan esimerkin tavoin:

mynetworks = 168.100.189.0/28, 127.0.0.0/8

Sinä voit myös määritellä mallitiedoston paikan, jos se sijaitsee muualla kuin main.cf tiedosto.

Minun verkkoni osoite (Network Addresses)

inet_interfaces parametri määrittää kaikkia verkon rajapintoja, joita Postfix:in tulee kuunnella; sähköposti osoitteet käyttäjä@[verkonosoite] tullaan toimittamaan paikallisesti, kuten jos osoite on listattuna $mydestination:iossa.

Vaikka olisitkin määrittänyt nimenomaan laitteen rajapinnat, ei virtuaalisiina postittajana, joka vastaan ottaa postia itse: ei virtuaalisen postittajan, ei koskaan tule kuunnella virtuaalisia rajapintoja tai tai sinulla on postitus "kierre" noidankehä.

Oletuksena:
inet_interfaces = all

Osoitteet jotka toimivat virtuaalisina postittajina:
inet_interfaces = virtual.host.tld (virtualinen postiosiote)
inet_interfaces = $myhostname localhost.$mydomain (ei virtuaalinen osoite)

Ylös


Esittely

Postfix tarjoaa erillaisia parametreja, joilla voidaan rajoittaa, ei haluttua mainospostin välitystä.

Oletuksena, Postfix SMTP palvelin hyväksyy postit ainoastaan tai paikallisen verkon tai domainin tai domainejen, jotka ovat määritettynä hostatuiksi postfixiin, joten sinun systeemiäsi ei voida käyttää uudelleen välittämämiseen tuntemattomille.

Seuraava dokumentti kuvaa, kuinka voit asettaa yksityiskohtaisemmin asettaa anti-UCE politiikka, joka estää ei-halutun sähköposti välityksen kokonaisuutena, esimerkiksi sendmai-tyylisellä oikeus listalla tai RBL:llä (real-time blackhole list) nimi palvelimilla.

Tarpeetonta ilmaista muutoin, kaikkia parametreja, jos tahdot vaihtaa parametreja POSTFIX järjestelmästä älä unohda ajaa postfix reload komentoa

Otsikoiden suodatus
Viestin vartalo-osan suodatus
Asiakkaan sähköpostin ohjelma- ja osoiterajoitukset
Vaadi HELO(EHLO) käsky
HELO(EHLO) rajoitukset
Vaatii tarkan RFC 821 tyyppisen osoitteen
Lähettäjän osoiterajoitukset
Vastaanottajan osoiterajoitukset
ETRN komennon rajoitukset
Yleiset rajoitukset
Yleiset UCE:n hallintakomennot


Otsikoiden suodatus

header_check parametri rajoittaa sallittuja otsikoita viestissä. Kaava soveltuu loogisesti viestien otsikoihin vaikka ne olisivat useampi rivisiä ja sanaisia.

Oletuksena sama head_check kaavaa voidaan käyttää pää viestejen otsikoissa, Mime otsikoissa (Mukaan lukien otsikot, jotka alkavat moniosaisella body osalla) ja otsikot jotka aloittavat liite sähköpostiviestin.

Oletuksena: Sallitaan kaikki viestejen otsikoissa.

Syntaksi: Määritä listaan yksi tai enemmän tarkastelu taulukoita. Mitkä otsikot tahansa sopivat taulukkoon, toiminto riippuu tarkistuksen tuloksesta:

REJECT
REJECT tekstiä
Hylkää viesti, kirjoitaylös otsikko ja valinnainen teksti ja lähetä valinnainen teksti lähettäjälle

OK
Pidättäydy kaikista edelleenkäsitelyistä tällä rivillä

IGNORE
Poista otsikko rivi tästä viestistä

WARN
WARN teksti....
Kirjoitetaan ylös, muttei hylätä Otsikko varoituksella ja kirjoitetaan ylös valinnainen teksti

HOLD
HOLD teksti Aseta viesti pidäteltävään jonoon, Postin pidättely voi tarkastaa postcat komennolla ja voi tuhota tai ottaa pois pidätyksestä postuser konella. Valinnainen teksti kirjataan molempiin, jotka täsmäävät tekstiin.

DISCARD
DISCARD tekstiä
Väitä välityksen onnistuneen ja poista viesta viesti hiljaisesti. Tämä vapaavalinnainen teksti kirjataan yhteen täsmäävään tekstiin.

FILTER transport:nextop
Jälkeen kun viesti on ollut jonossa, lähetetä koko viesti läpi sisältö filteristä. Tämä tarvitsee erillistä puhdistus palvelinta, ennen kuin ja jälkeen suodatus otsikolle/body tarkastus on pois, seuraavasta pudistus palvelimesta. Lisää tietoja sisällön suodattamisesta löytyy Postfix FILTER_README tiedostossa. Tämä ominaisuus ohittaa main.cf:än content_filter asetuksen.

Esimerkit (main.cf):stä
header_checks = regexp:/etc/postfix/header_checks
header_checks = pcre:/etc/postfix/header_checks
Esimerkki: (header_checks) tiedostosta:
/^to: *friend@public\.com$/ REJECT

Viestin vartalo-osan suodatus

body_checks paramatri rajoittaa, mitä tekstiä sallitaan vartalo-osissa.

Oletuksena:
Sallitaan kaikki viestien vartalo linjaan:
Syntaksi:
Määritä listaan nolla tai enemmän tarkastettavia tauluja. Milloin tahansa vartalo täsmää tauluun, toiminto riippuu tarkastuksen tuloksesta:

REJECT
REJECT tekstiä...
Hylkää visti, kirjoita ylös vartalo rivi ja lähetätä valinnainen teksti lähettäjälle.

HOLD
HOLD tekstiä...
Laittaa viestin odotuslistalle. Viestit jonosta voi tarkistaa "postcat" komennolla ja viestin voi poistaa tai ottaa pois jonosta "postsuper" komennolla.

WARN
WARN tekstiä..
Kirjoita ylös (älä hylkää) varoita vartalon tiedoista ja kirjoita lokiin valinnainen teksti.

OK
Jätä kaikki välistä (laskee läpi)

IGNORE
Poista vartalo tekstistä

DISCARD
DISCARD tekstiä...
Evää viestin, missä on valinnaista tekstiä, kysymättä mitään.

FILTER transport:nexthop
Jälkeen kun viesti on ollut jonossa, lähetetä koko viesti läpi sisältö filteristä. Tämä tarvitsee erillistä puhdistus palvelinta, ennen kuin ja jälkeen suodatus otsikolle/body tarkastus on pois, seuraavasta pudistus palvelimesta. Lisää tietoja sisällön suodattamisesta löytyy Postfix FILTER_README tiedostossa. Tämä ominaisuus ohittaa main.cf:än content_filter asetuksen.

At present, specifying a pattern with OK serves no useful purpose. A rule ending in OK affects only the line being matched. The next line may still result in a REJECT match, causing the mail still to be rejected.

Esimerkit (main.cf):
body_checks = regexp:/etc/postfix/body_checks body_checks = pcre:/etc/postfix/body_checks

Asiakkaan sähköpostin ohjelma- ja osoiterajoitukset

smtpd_client_restrictions parametri mistä sähköpostiohjelman SMTP hyväksyy yhteydet.

Oletuksena, rajoitus on voimassa kun sähköpostiohjelma öähettää RCPT TO käskyn. Jos haluat rajoituksen toimivan niin nopeasti kuin mahdollista, määritä smtpd_delay_reject = no postfixin main.cf tiedostossa. Näin tekemällä saattaa tulla myös ei-odotettuja tuloksia huonosti varustetuissa sähköpostiohjelmissa.

Oletus:
smtpd_client_restrictions = Salli SMTP yhteydet mistä tahansa sähköpostiohjelmasta.

Syntaksi:
Määritä lista nollasta tai enemmästä rajoituksesta, eroteltuna välilyönnillä tai pilkulla. Rajoitukset toteutetaan tietyssä järjestyksessä: Ensimmäinen rajoitus joka täsmää toteutuu.

erilliset rajoitukset ovat maariteltavissa "asiakas" sahkoposti ohjelman "hostnamen" osoitteen tai ip osoitteen mukaan, sina ehka listaa tanne mitahansa rajoitus pohjaista informaatiota "passed tasta en ole varma" HELO/EHLO komenolle, laheittajan osoite tai vastaanottajan osoite

smtpd_delay_reject = yes joten kaikki rajoitukset ovat arvioitu RCPT TO komennon jälkeen.

Esimerkkejä:
smtpd_client_restrictions = hash:/etc/postfix/access, reject_rbl_client relays.mail-abuse.org (maksullinen)
smtpd_client_restrictions = hash:/etc/postfix/access, reject_rbl_client relays.ordb.org (ilmainen)
smtpd_sender_restrictions = hash:/etc/postfix/access, reject_rhsbl_sender dsn.rfc-ignorant.org (ilmainen)
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client

Rajoituksia:
reject_unknown_client
Hylkää pyyntö kun sähköpostiohjelman IP osoitteella ei ole PTR:ää(address to name) DNS:ssä, tai kun TPR ei täsmää (name to address).

unknown_client_reject_code
Parametri määrittää vastaus koodin hylätyille pyynnöille (oletus: 450).

permit_mynetworks
Salli pyyntö kun IP osoite täsmää johonkin verkkoon joka on listattu $mynetworks :ssa.

reject_rbl_client domain.tld
Hylkää pyyntö kun käännetty sähköpostiohjelman verkko on listattu domain.tlf:ssä. maps_rbl_reject_code määrittää vastaus koodin hylätyille pyynnöille (oletus 554), default_rbl_reply parametri määrittää oletus palvelin vastauksen, ja rbl_reply_maps parametri määrittää pöydät palvelimen vastauksilla.

reject_rhsbl_client domain.tld
Hylkää pyynnön jos ohjelman isäntänimi on listattuna domain.tld.

check_client_access maptype:mapname
maptype:mapname
Etsi nimettyä access database sähköpostiohjelman isäntänimeä, vanhempaa domainia, clientin IP osoitetta. tai verkkoa.

Vaadi HELO(EHLO) käsky

smtpd_helo_required parametri päättää täytyykö sähköpostiohjelman lähettää HELO (tai EHLO) käsky SMTP session alussa. Tämä lopettaa jotkut UCE ohjelmat.

Oletus: smtpd_helo_required = no

Oletuksena Postfix SMTP palvelin ei vaadi HELO(EHLO).

Syntaksi:
Määritä "yes" tai "no"

Esimerkki:
smtpd_helo_required = yes

HELO(EHLO) rajoitukset

smtpd_helo_restrictions
smtpd_helo_restrictions parametri rajoittaamitä isäntänimiä sähköpostiohjelmat voivat lähettää HELO (EHLO) käskyllä. Tämä lopettaa jotkut UCE ohjelmat.

Oletuksena tämä rajoitus menee päälle kun sähköpostiohjelma lähettää RCPT TO käskyn. Määritä smtpd_delay_reject = no postfix.cf:ään jos haluat rajoituksen toimivan nopeasti. Tämä saattaa antaa ei-odotettuja tuloksia huonosti varustetuilta sähköposti ohjelmilta.

Oletus: smtpd_helo_restrictions =
oletuksena Postfix SMTP palvelin hyväksyy mitkä tahansa "jätteet" HELO (EHLO) komennolla. Internetissä on paljon rikkinäisiä tai huonosti koodattuja ohjelmia.

Syntaksi:
Määritä lista nollasta tai enemmästä rajoituksesta, eroteltuna välilyönnillä tai pilkulla. Rajoitukset toteutetaan tietyssä järjestyksessä: Ensimmäinen rajoitus joka täsmää toteutuu.

Lisätyt rajoitukset joka on määritetty HELO(EHLO) komennon parametreissa, voidaan listata rajoitukset näistä client hostname , client address , sender address tai recipient address. lähettäjä tai vastaanottaja rajoitukset otetaan käyttöön vain jos smtpd_delay_reject = yes jotta kaikki rajoitukset olisi arvioitu ennen RCPT TO koimentoa.

Esimerkki:
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname

Rajoitukset:

reject_invalid_hostname
Hylkää pyyntö kun clientin HELO tai EHLO parametrilla on huono isäntänimi syntaksi. invalid_hostname_reject_code määrittäävastauksen hylättyyn pyyntöön(oletus: 501).

reject_unknown_hostname
Hylkää pyynnön kun isäntänimi clientin(HELO) komennolla ei ole DNS A tai MX asiakirjaa. unknown_hostname_reject_code määrittää vastauksen hylättyyn pyyntöön.

reject_non_fqdn_hostname
Hylätty pyyntö kun isäntänimi clientin HELO(EHLO) komennossa ei ole täydellinen domain muoto, RFC:n pyytämänä. non_fqdn_reject_code Määrittää vastaus koodin hylätyille pyynnöille(oletus: 504).

check_helo_access maptype:mapname
maptype:mapname

Vaatii tarkan RFC 821 tyyppisen osoitteen

strict_rfc821_envelopes parametri kontrolloi kuinka tarkka Postfix on annetuista osoitetiedoista MAIL, FORM tai RCPT TO komennoissa määritettynä. Valitettavasti laajassa käytössä oleva Sendmail ohjelma sietää epänormaalia käytöstä, jolloin ohjelma ei siedä itseään. Silloin kun on tarkka RFC, ei vain pysäytä ei-haluttuja viestejä, vaan myös evää huonosti kirjoitetut sovellukset, vaikka se olisikin asiallista.

Oletus:
strict_rfc821_envelopes = no
Oletuksena Postfix:n SMTP palvelin hyväksyy minkätahansa viestin minkä se tajuaa, mukaan lukien osoitteet RFC 822 tyyppisestä tulevat komennot tai osoitteet, joissa ei ole < ja > merkkejä joita on virheellisissä tai väärin konfiguroiduissa ohjelmissa, joita on paljon Internetissä.

Esimerkki:
strict_rfc821_envelopes = yes

Lähettäjän osoiterajoitukset

smtpd_sender_restrictions parametri rajoittaa mitä lähettäjän osoittteissa järjestelmä hyväksyy MAIL FROM komennolla.

Oletuksena tämä rajoitus on voimassa kun "asiakas" sähköpostiohjelma lähettää RCPT TO käskyn. Kun haluat rajoituksen tulevan voimaan mahdollisimman nopeasti määritä smtpd_delay_reject = no postfixin main.cf. Tämä saattaa johtaa ei-odotettuihin tuloksiin huonosti kirjoitetuilla sähköposti ohjelmilla.

Oletus:
smtpd_sender_restrictions =

oletuksena postfix SMTP palvelin hyväksyy minkätahansa lähettäjän osoitteen.

Syntaksi:
Määritä nolla tai enemmän rajoituksia, eroteltuna välilyönnillä tai pilkuilla. Rajoitukset ovat voimassa tietyssä järjestyksessä, ensimmäinen rajoitus joka täsmää voittaa.

Lisätyssä rajoituksessa on määritelty lähettäjän postiosoite. Rajoitus on voimassa vain jos smtpd_delay_reject = yes jolloin kaikki rajoitukset on ennen RCPT TO komentoa.

Esimerkki:
smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain

Rajoitukset:
reject_unknown_sender_domain

hylkää tuntemattoman lähettäjän kun osoitteella ei ole DNS tai MX kirjausta. unknown_address_reject_code parametri määrittää vastaus koodin hylätylle pyynnölle(oletus: 450). Vastaus on aina 450 jos väliaikainen DNS virhe.

reject_rhsbl_sender domain.tld
Evää pyyntö kun lähettäjän postiosoite domain on listattu domain.tld:ssä. maps_rbl_reject_code parametri määrittää vastaus koodin evätyille pyynnöille (oletus: 554), default_rbl_reply parametri määrittää oletus palvelin vastauksen, ja rbl_reply_maps parametri määrittää pöydät palvelimen vastauksiin indeksoituna RBL domain.

check_sender_access maptype:mapname
maptype:mapname

Etsii nimeä access database lähettäjän postiosoitteelle, lähettäjän domain ja kaavan domain, tai paikallinenosa@.

reject_non_fqdn_sender
Hylkää pyynnön kun osoite MAIL FROM komennossa ei ole täysin pätevä domain muoto. non_fqdn_reject_code määrittää vastaus kodin hylätylle pyynnölle (oletus: 504)

reject_sender_login_mismatch
Hylkää pyynnön kun $smtpd_sender_owner_maps määrittää omistajan MAILF FROM osoitteelle, mutta "asiakas" postiohjelma ei ole (SASL) kirjautuneena sisällä MAIL FROM osoitteen omistajassa.

vastaanottajan osoitterajoitukset

smtpd_recipient_restrictions parametri rajoittaa osoitteita, jotka hyväksytään RCPT TO komennoissa.

oletus:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Vakiona postfix SMTP palvelin välittää seuraavat mailit:

  • Luotetuista ohjelmista joiden IP osoitteet löytyvät $mynetworks joka suuntaan,
  • Ei-luotetuista ohjelmista joiden päämäärä täsmää $relay_domains tai alidomain siitä, paitsi osoitteet jotka sisältävät lähettäjän määräämän reitityksen (käyttäjä@jossain@domain).

Lisätty ylös, postfix oletuksena hyväksyy postit, joiden päämäärä täsmää $inet_interfaces:n kanssa,

  • Päämäärä täsmää $mydestination,
  • Päämäärä täsmää $virtual_alias_domains,
  • Päämäärä täsmää $virtual_mailbox_domains.

Syntaksi:
Määritä nolla tai enemmän rajauksia erotettuna välilyönnilla tai pilkulla. Rajaukset ovat toiminnassa tietyssä järjestyksessä, ensimmäinen joka täsmää, aktivoituu.

Lisäys rajauksiin joka määrittää vastaanottajan postiosoitteen, voit myös määrittää rajauksia sender mail address, informaatiossa HELO/EHLO komennon läpi, ja client hostname ja network address .

Esimerkki:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Huomaa: Sinun tulee määrittää ainakin yksi seuraavista säännöistä: reject, defer, defer_if_permit, tai reject_unauth_destination. Postfix ei muuten suostu ottamaan postia vastaan.

Säännöt:
permit_auth_destination
Hyväksyy pyynnön jos joku seuraavista säännöistä toteutuu:

  • Ratkaistu osoitteen päämäärä täsmää $relay_domains tai siitä ja osoite sisältää lähettäjän määrittämän reitityksen(käyttäjä@jossain@domain),
  • Postfix on viimeinen pysäkki: kaikki jotka täsmäävät: $mydestination, $inet_interfaces, $virtual_alias_domains, tai $virtual_mailbox_domains.

reject_unauth_destination
Hylkää pyynnön paitsi jos jokin seuraavista toteutuu:

  • Ratkaistu päämäärä osoite täsmää $relay_domains tai ali-domainiin siitä, tai jos osoite ei sisällä lähettäjän määrittämää reititysta.(käyttäjä@jossain@domain),
  • Postfix on viimeinen pysäkki_ päämäärä täsmää: $mydestination, $inet_interfaces, $virtual_alias_domains, tai $virtual_mailbox_domains.

relay_domains_reject_code
parametri määrittää vastaus koodin hylätyille pyynnöille (oletus: 554)

permit_mx_backup
Päästää pyynnön kun paikallinen mail systeemi on MX isäntä ratkaistulle päämärälle. Tämä mukaan lukee tilanteen jossa paikallinen mail systeemi on viimeinen pysäkkki. Kutienkin, SMTP palvelin ei välitä edelleen postia osoitteella joka on lähettäjän määrittämä reititys (esimerkki käyttäjä@jossain@domain).

Käytä optionallista permit_mx_backup_networks parametria myös vaatimaan ensisijainen MX isäntä täsmäys verkon paikoista.

check_recipient_access maptype:mapname
maptype:mapname
etsi nimeä access database ratkaistaakseen osoitteen päämärän, lähettäjän domainin tai vanhemman domainin, tai paikallisen@. check_recipient_maps

Hylkää pyyntö kun vastaanottajan osoite ei ole listattu seuraavissa haku pöydissä:

Vastaanottajan domain täsmäyksetVastaajan hakutaulu
$mydestination or $inet_interfaces$local_recipient_maps
$virtual_alias_domains $virtual_alias_maps
$virtual_mailbox_domains $virtual_mailbox_maps
$relay_domains $relay_recipient_maps

huomaa 1: tyhjä $local_recipient_maps tai $relay_recipient_maps asetukset tarkoittavat ettei vastaajan tarkistusta ole tehty vastatuille domaineille.

Huomaa 2: Postfix ottaa käyttöön check_recipient_maps rajoituksia lopuksi vastaajien rajoituksissa.

reject_unknown_recipient_domain
Hylkää pyyntö jos vastaanottajan osoitteella ei ole DNS A tai MX. unknown_address_reject_code parametri määrittää vastaus kodin hylätyille pyynnöille (oletuksena: 450). Vastaus on aina 450 jos väliaikainen DNS virhe.

reject_rhsbl_recipient domain.tld
Hylkää pyyntö kun vastaajan postiosoite on listattu domain.tld:ssä. maps_rbl_reject_code parametri määrittää vastaus kodin hylätyille pyynnöille (oletus: 554), default_rbl_reply parametri määrittää oletus palvelimen vastauksen, ja rbl_reply_maps parametri määrittää pöydät palvelimen vastauksille indeksoituna RBL domain.

reject_non_fqdn_recipient
Hylkää pyyntö kun clientin RCPT TO osoite ei ole täysin pätevä domain-muoto. non_fqdn_reject_code määrittää vastaus koodin hylätyille pyynnöille.(oletus: 504).

ETRN rajoitus komento

Ei tavallaan UCE rajoitus, smtpd_etrn_restrictions parametri rajoittaa mitä domaineja voidaan määrittää ETRN komennoilla, ja millä clientillä ETRN voi käskeä:

Oletus:
smtpd_etrn_restrictions =
Oletuksena, postfix SMTP server hyväksyy kaikki ETRN komennot miltä tahansa ohjelmalta.

Syntaksi:
Määritä lista jossa nolla tai enemmän rajoituksia, eroteltuna välilyönnillä tai pilkuilla. Rajoitukset käyvät toteen tietysä järjestyksessä, ensimmäinen joka täsmää toteutuu.

Esimerkki:
smtpd_etrn_restrictions = permit_mynetworks, hash:/etc/postfix/etrn_access, reject

Rajaukset:
check_etrn_access maptype:mapname
maptype:mapname

Yleiset rajoitukset

Seuraavia rajoituksia voidaan käyttää asiakkaan isäntänimen "hostname" tai osoitteen HELO (ELLO) isäntään "hostanme", lähettäjän ja vastaanottajan osoitteeseen. Rajoitukset:

Permit
Salli pyynnöt. Tämä rajoitus on käytännöllinen lopuksi rajoitus listassa, tekemään oletus politiikasta tarkan.

defer
Lykkää pyyntöä. Sähköpostiohjelmalle kerrotaan yrittämään uudelleen. Tämä rajoitus on käytännöllinen lopuksi rajoitus listassa, tekemään oletus käynnöstä täsmällisen.

reject
Hylkää pyyntö. Tämä rajoitus on käytönnöllinen rajoitus listan lopuksi, tekemään oletus käytönnöstä tarkan. reject_code asetus parametri määrittää vastaus koodin hylättyihin pyyntöihin (oletuksena: 554).

warn_if_reject
Vaihda tarkoitusta, seuraavaan rajoitukseen, joten se kirjataan ylös varoituksena sen sijaintaa, että hylättäisiin pyyntö (Katso loki tiedoston tiedot, jotka sisältävät "reject_warning":in) Tämä on käytännöllinen testatessa uusia rajoituksia "todellisuudessa" työskentely-ympäristössä ilman riskejä ja sähköpostin menetyksiä.

reject_unauth_pipelining Hylkää pyyntö, kun "asiakas" sähköposti ohjelma lähettää SMTP komentoja eteenpäin ilman, tietämättä sitä POSTFIX todellisuudessa tukee SMTP komentoa putkituksessa. Tämä Pysäyttää sähköpostin massapostiohjelmat.

Yleiset UCE:n hallintakomennot

Postfix tarjoaa valinnanvaraa parametreilla jotka rajoittavat kaupallisten mailien jakelua.

Oletuksena Postfix SMTP server hyväksyy postit vain paikallisesta verkosta tai domainista, tai domaineista joiden isäntänä on Postfix, joten järjestelmäsi ei voi käyttää postinvälitykseen kukaan ulkopuolinen.

Seuraava dokumentti esittelee, kuinka voit määrittää lisää anti-UCE sääntöjä, jotka pysäyttää ei-tahdotut mailit, esimerkiksi: sendmail tyyppisesti access lista tai RBL (real time blakchole list).

Ellei viitata toisin, kaikki parametrit esitellään main.cf tiedostossa. Jos vaihdat käynnissä olevan postfixin parametrejä, elä unohda postfix reload komentoa.

Lisää UCE control parametrejä

default_rbl_reply
Vakio vastaus mitä käytetään kun SMTP asiakkaan pyyntö evätään reject_rbl tai reject_rhsbl rajoituksella. Vastaus mallinne on otsikoitu täysin yhden asteen $name aliluokan kuvauksen alle. smtpd_expansion_filter konfiguraatio parametrit kasa kirjaimia jotka ovat sallittu $name makrossa.

Vakiona:
default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason}

$name :n sijaan voit käyttää myös ${name} tai $(name).

Makro lisäsyntaksi:

$client
Asiakasohjelman IP osoite tai isäntänimi, muodossa name[address].

$client_name
Asiakasohjelman isäntänimi, tai unknown.

$client_address
Asiakasohjelman IP

$helo_name
Isäntänimi annettuna HELO tai EHLO komennolla, tai tyhjä Jolloin EHLO tai HELO komentoa ei annettu.

$sender
Lähettäjän osoite tai <> jos tyhjä osoite.

$sender_name
Lähettäjän osoitteen paikallinen osa tai <> jos tyhjä osoite.

$sender_domain
Lähettäjän osoitteen domain tai tyhjä jolloin domain ei ole saatavilla.

$recipient
Vastaanottajan osoite tai <> jos tyhjä osoite.

$recipient_name
Vastaanottajan osoitteen paikallinen osa, tai tyhjä jos ei saatavilla.

$recipient_domain
Vastaanottajan osoitteen domain tai tyhjä jos ei saatavilla.

$rbl_what
Mustalista: IP osoite, isäntänimi, tai maili osoite joiden osoitteet ovat mustalla listalla.

$rbl_domain RBL domain missä $rbl_what on mustalla listalle kirjattu.

$rbl_reason
Syy miksi $rbl_what on mustalla listalla tai tyhjä jos tietoa ei ole saatavilla.

$rbl_class
Mustanlistan tyyppi: Asiakkaan isäntä, HELO käsky, lähettäjän osoite tai vastaajan osoite.

$rbl_code
Numeraalinen Palvelimen vastaus koodi, määriteltynä maps_rbl_reject_code konfiguraatio parametrinä (vakio: 554).

All other text
Kopioitu ilman muutosta.

Ehdollisen makron laajennettu syntaksi:

${name?text}
laajentaa text jos $name ei ole tyhjä.

${name:text}
laajentaa text jos $name ei ole tyhjä.

permit_mx_backup_networks
rajoittaa permit_mx_backup viestinohjaus mahdollisuutta päämäärään kenen ensisijainen MX isäntä vastaa blokattujen verkkojen nimeä.

Oletus:
permit_mx_backup_networks = /p>

Tämä on, kaikki verkot ovat sallittu vakiona:

Syntaksi:
Määritä verkot jotka blokataan CIDR (network/mask) esittelyssä:, esimerkiksi
permit_mx_backup_networks = 168.100.0.0/16

Voit myös määrittää täydellisen kaavan polun sen sijaan kuin kirjoitat kaavat main.cf tiedostoon.

rbl_reply_maps
Tämä parametri määrittää haku pöydät RBL vastaus kaavoilla indeksoituna RBL domain nimi. Jos kaavoitusta ei löydy default_rbl_reply kaavio on käytössä.

Oletus:
rbl_reply_maps =

Oletuksena Postfix käyttää aina default_rbl_reply kaaviota:

Syntaksi
Määritä nolla tai enemmän type:more haku pöytää, eroteltuna välillä ja/tai pilkuilla Syntaksin haun vastaus jonot, katso default_rbl_reply parametrin kuvaus.

relay_domains
Tämä parametri ohjaa reject_unauth_destination ja permit_auth_destination rajauksia joita saattaa ilmetä osana vastaajan osoitetta rajattujen osoitteiden listassa.

Oletus:
relay_domains = $mydestination

Oletuksena Postfix SMTP palvelin välittää posteja:

  • Luotetuilta asiakkailta, joiden IP-osoitteet täsmäävät $mynetworks,
  • Ei-luotetuilta asiakkailta, joiden päämäärä täsmää $relay_domains tai sen ali-domaineilta, paitsi osoitteista jotka sisältävät käyttäjän määräämän reitityksen (käyttäjä@jossain@domain).

Syntaksi:
Määritä nolla tai enemmän domain nimiä, /filename/name kaavalla ja or:name haku pöytiä, eroteltuna välilyönnillä tai pilkuilla.

Isäntä tai päämäärä osoite täsmää $relay_domains kun sen nimi tai vanhempi domain vastaa mitä tahansa nimeä ,tiedostoa tai haku pöydässä listattua $relay_domains.

smtpd_sender_login_maps
Tämä parametri määrittää omistajuuden MAIL FROM osoitteille käyttäen reject_sender_login_mismatch lähettäjän osoitteen rajoitusta.

Oletus:
smtpd_sender_login_maps =

Syntaksi:
Määritä nolla tai enemmän type:name haku pöytiä, erotettuna välilyönnillä tai pilkulla. Kartat etsitään tietyssä järjestyksessä:. Regexp pöydät ovat sallittuja.

Jokainen kartoitus päättyy määritettyyn lähettäjän osoitteeseen a kirjautumisnimi jonka osoite omistaa. Etsintä järjestys on seuraava:

user@domain owner
Tällä on korkein arvojärjestys

user owner
Tämä täsmää useer@site kun site on saman arvoinen kuin $myorigin, kun site on listattu $mydestination, tai kun se on listatu $inet_interfaces.

@domain owner
Tämä täsmää jokaiseen osoitteeseen määritetyssä domainissam ja tällä on alin arvovalta.

Ylös


Rajoitustyökalut

Esittely

Rakentaessa hyvä suorituskykyistä postin välitys systeemiä on yksi juttu, rakenne joka ei koputtele toisten systeemien yli on toinen tarina. Jotkut maili palvelimet kärsivät thundering herd syndroomasta: ne "spämmäävät" toisia systeemejä posteilla. Postfix pyrkii olla nopea ja naapuri ystävällinen samaan aikaan.

Postfix SMTP palvelin omaa puolustuksen ilkeitä tai sekaisin olevia asiakkaita vastaan.

Ellei muuten näe, kaikki parametrit ovat esitelty main.cf tiedostossa. Jos vaihdat päällä olevan postfixin parametrejä, muista käyttää postfix reload komentoa.

prosessi rajoitukset
moniajo kohde
Vastaanottajan rajoitukset
Postistuminen kuolleesta isännistä
Haitallisten asiakkaiden torjunta


prosessi rajoitukset

default_process_limit parametri (oletus: 100) antaa suoran ohjattavuuden sisään ja ulos meneville vauhdeille. Tämä parametri ohjaa prosesseja, jotka käyttävät Postfixiä työkaluna (smtp client, smtp server, local delivery, jne.). Pienissä systeemeissä, tai systeemeissä jotka ovat puhelinverkko yhteydellä yhteydessä, default_process_limit on 10 on varmasti enemmän kuin sopiva. Käytä isompia arvoja, jos koneesi on postin keskitin.

Voit kommentoida nämä rivit master.cf tiedostostasi jos et esim. tarvitse 100 SMTP viestiä yhtä aikaa, eli risuaidat eteen seuraavan lailla:

 
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
. . .
smtp      inet  n       -       -       -       5       smtpd
. . .

moniajo kohde

Joten, sinulla on valtava posti keskitin, tonneittain tilaa ja muistia, ja olet määrittänyt Postfixin ajamaan yli tuhatta SMTP asiakkaan prosessia samaan aikaan. Onnittelut. Mutta haluatko tosiaan 1000 samanaikaista etäyhteyttä koneeseesi samaan aikaan? todennäköisesti et.

Postfixin jonomanageri pelastaa. Tämä ottaa hitaasti viestejä aluksi ja nostaa vauhtia koko niin kauan kuin kaikki menee hyvin.

initial_destination_concurrency parametri (vakio: 2) ohjaa sitä kuinka monta viestiä lähetetään samaan paikkaan ennen kuin otetaan käyttöön moniajo.

default_destination_concurrency_limit parametri (vakio: 20) ohjaa kuinka monta viestiä voidaan lähettää samaan päämäärään samanaikaisesti. Voit kumota tämän asetuksen tietyiltä kanavilta (local, smtp, uucp etc.). main.cf suosittelee seuraavaa:

local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 20
local_destination_concurrency_limit
parametri ohjaa kuinka monta viestiä välitetään samanaikaisesti samalle paikalliselle vastaajalle. Suositukset ovat pieniä koska samaan osoitteeseen lähetetään harvoin saman aikaisesti, joten suuret arvot ovat turhia.

Päätteen moniajonraja on 20. SMTP välitys vie muutenkin tehoja sopivasti ilmankin, että tällä olisi suuri arvo. Ole varovainen tämän kanssa.

Vastaanottajan rajoitukset

default_destination_recipient_limit
parametri (oletus: 50) ohjaa kuinka monta vastaajaa postfic välitys agentti (smtp, uucp, etc.) lähettää jokaisesta mailin kopiosta. Jos maililla on enemmän kuin $default_destination_recipient_limit vastaanottajaa samassa päämärssä, vastaanottajat pilkotaan pinempiin listaan ja mailit jatkaa matkaansa.

Voit kumota tämän asetuksen Postfixin välitys agentille(smtp, uucp, etc.). esimerkiksi:

uucp_destination_recipient_limit = 100
Rajoittaa vastaanottajien määrän per UUCP 100 välitystä.

Sinun tulee olla varovainen nostaessasi tää rajaa, sillä jos raja on korkea ja tulee täyteen niin se syö koneesi muistia rutkasti.

smtpd_recipient_limit parametri (vakio:1000) ohjaa kuinka monta vastaanottajaa SMTP palvelin ottaa kerralla. Se on enemmän kuin SMTP palvelin voi ottaa kerralla. Rajoitukset ovat olemassa suojaamassa ilkeiltä tai seonneilta asiakasohjelmilta.

Poistuminen kuolleesta isännistä

Kun Postfixin välitysagentti (smtp, local, uucp, etc.) ei ole mahdollinen lähettää viestiä, se saattaa syyttää itseään tai joukkoa (vastaanottaja/etä host)

  • Jos Välitysagentti syyttää viestiä, jono manageri antaa viestille aika lyönnin joten ei tarkisteta vähään aikaan. Oletuksena aika jonka jälkeen viesti tarkistetaan uudelleen on sama aika joka meni siihen kuin viesti otettiin vastaan.
  • Jos välitysagentti syyttää joukkoa(esim. paikallinen vastaanottaja tai etä-isäntä), jono manageri ei laita aika lyöntiä, mutta laittaa joukon "kuolleelle" listalle jota ei tarkisteta vähään aikaan.

Kuin voit odottaa, tämä kaikki toteutuu muutamilla parametreillä:

queue_run_delay (oletus: 1000 sekuntia)
Kuinka usein jono manageri selaa jonon.

maximal_queue_lifetime (oletus: 5 päivää)
Kuinka monta päivää viesti pysyy jonossa ennen kuin se palautetaan lähettämättömänä, 0 = lähetetään heti takaisin.

minimal_backoff_time (oletus: 1000 sekuntia)
Pienin aika jolloin viestiä ei katsota kuolleesta "dead" tilasta pois.

maximal_backoff_time (oletus: 4000 sekuntia)
Suurin aika, jolloin viestiä ei katsota välitysvirheen jälkeen.

qmgr_message_recipient_limit (oletus: 20000)
Muistissa pysyvän jonotus hallintaohjelman tietojen rakenteen koko. Tämä parametri rajoittaa lyhyitä termejä muistin kuollutta "dead" listaa. Kaikki, jotka eivät mahdu listaan, ei lisätä.

Haitallisten asiakkaiden torjunta

Ensinnäkin, mikään ei torju "kaikki-ulos-kielto " hyökkäykseltä, En vain halua nostaa odotuksia. Mutta on pari helppoa niksiä, jotka kannattaa tehdä ilkeitä/hulluja asiakkaita vastaan:

Jotkut puolustukset ovat osa isompaa strategiaa: esimerkiksi, kuinka kauan rivi tekstiä voi, olla ennen kuin se tarjoaa palsaksi ja kuinka paljon tekstiä voidaan kantaa moni rivi viestin otsikossa.

Postfix SMTP palvelin incer istunnon virhelaskuriin aina kuin asiakkaan vaatimuksia tai välinettä ei tunnistettu, tai aina kuin asiakas vaatii UCE:n rajoitusta loukkaavaa tietoa, tai muista syistä. Laskuri nollataan, kun viesti on onnistuneesti lähetetty.

Kun virheilmoitukset yhdelle istunnolle alkavat kasvaa, Postfix vaihtaa toimintatapaa. Idea on rajata vaurioita hidastamalla asiakasta. Se toimii seuraavilla parametreillä:

smtpd_error_sleep_time (oletus: 1 sekuntta)
Kunkin istunnon virhemäärä on pieni, SMTP palvelin pysähtyy vain jos raportoidaan asiakkaan ongelmallisesta.

smtpd_soft_error_limit (oletus: 10)
Kunkin istunnon virhemäärä kasvaa yli sallitun, SMTP palvelin menee uni tilaan error_count ennen kuin vastaa asiakkaan pyyntöön.

smtpd_hard_error_limit (oletus: 20)
Kunkin istunnon virhemäärä kasvaa liian korkeaksi, SMTP palvelin katkaisee yhteyden.

Valitettavasti Postfix SMTP palvelin ei vielä tiedä, kuinka rajata yhteyksiä samalta asiakkaalta, mutta osaa rajata kaikkien yhteydet. Asiat voisivat olla huonomminkin, jotkut asiakkaat eivät edes osaa SMTP palvelimen prosessirajausta, tämä ei tietenkään ole hyvä asia. Etsin yhä hyvää ratkaisua.


Resurssien hallinta

Esittely

Postfix on suunniteltu toimimaan loputtomalla muistibudjetilla. muistin käyttöä voi konfiguroida objekteille, kuten teksti rivi katkelma, numero tapauksissa tietyissä objekteissa ja aika ja ajalle jota operaatio ottaa.

Objektejen koko rajaukset

Ensimmäinen askel kohti korjattuja muisti resurssi budjettia on koon rajoittaminen kullekin objektille. Kun koko on määritetty objekteille, koko muistin käyttö on rajoitettu rajoittamalla objektien määrää. Yksinkertaista, ei?

line_length_limit (oletus: 2048 bytes)
Kuinka pitkä teksti voi olla ennen kuin se pilkotaan. Kaikki Postfix rinnakkaisohjelmat (SMTP server, SMTP client, local pickup ja local delivery) käyttää tätä pituuden rajoitusta kun luetaan dataa ei-luotetusta lähteestä. Pitkät rivit rakennetaan uudestaan lähetyksessä.

header_size_limit (oletus: 102400 bytes)
Kuinka paljon tekstiä pystytään pitää moni rivi viestin otsikossa. Otsikko teksti joka ei mahdu $header_size_limit tavuun poistetaan.

header_address_token_limit (Oletus: 10240 tokens)
Raja, miten paljon muistia ja CPU aikaa Postfix käyttää osoitteiden uudelleen kirjoittamiseen otsikkoon. Raja ilmoitetaan merkeissä(?).

extract_recipient_limit (Oletus: 10240 recipients)
Kuinka monta vastaanottajaa Postfix purkaa otsikosta ennen kuin antaa periksi.

Seuraavat parametrit rajoittavat tiedostojen varastoa:

message_size_limit (Oletus: 10240000 bytes)
Suurin Postfix jonon koko, mukaan lukien kirjekuoret(lähettäjä, vastaanottaja jne.).

queue_minfree (Oletus: ei rajaa)
Kuinka paljon tilaa tarvitaan jonotus järjestelmälle(bitteinä).

bounce_size_limit (oletus: 50000 bytes)
Kuinka paljon(bitteinä) ei-toimitettuja viestejä lähetetään takaisin lähettäjälle.

Objektien määrän rajaus

Kun viestien objektit koot on rajattu, seuraava askel on rajata Postfix:n rajaton muistin käyttö rajaamalla objektien määrän.

qmgr_message_recipient_limit (oletus: 20000)
Ylempään numeroon sidottu queue manager muistissa vastaajan osoite rakenteet. Tämä parametri ohjaa myös muiden tapauksien muistissa olevia rakenteita.

qmgr_message_active_limit (oletus: 20000)
Aktiivisten viestien rajoitus jonossa.

duplicate_filter_limit (oletust: 1000)
Kuinka monta vastaajaa osoitetta "local delivery" agentti ja "address cleanup" daemoni muistaa kun toimittaa viestiä. Vastaajan osoitetta ei piitata, jos se löytyy "muistettujen" listalta.

Aikarajoitukset

Ulkopuolisille komennoille on annettu loputon aika. Jotkut komennot ajaa paikallinen välitys agentti kun se löytää "|command" päämäärän alias tietokannasta, :include tiedosto tai .forward tiedosto. Putki "postaaja" työkalu on toinen tapa putkittaa postia ulkopuolisilla komennoilla.

command_time_limit (oletus: 1000 sekuntia)
Kuinka kauan pakallinen välitys agentti odottaa ennen kuin keskeyttää ulkopuolisen komennon.

Palvelun_nimi_time_limit (Oletus: $command_time_limit)
Aika raja ulkopuolisten käskyjen hoitoon pipe mailerin kautta. service_name, kohtaa palvelun_nimi.


Esittely

Kaiken kaikkiaan Postfix ei omaa osoitteen kirjoitus kieltä, se pystyy tekemään aivan tarpeeksi osoite manipulointia hakupöydän kautta. Kun viesti menee Postfix systeemin läpi, sen osoitteet mankeloidaan tässä dokumentissa näkyvässä järjestyksessä.

Ellei viitata muuhun, kaikki parametrit esitellään main.cf tiedostossa. Jos muutat asetuksia käynnissä olevasta Postfixistä, muista käyttää postfix reload komentoa.

Kaikki posti:

Osoitteen naamioiminen
Virtuaalinen osoitekartoitus
Postin kuljetusvaiheet

Pakallinen välitys:

Peitenimi tietokanta
.forward tiedostot
Ei olemassaolevat käyttäjät


Osoitteen naamioiminen

Osoitteen naamioiminen on tapa piilottaa kaikki isännät domainin sisällä reitittimen takana ja ilmestyä, jos posti tulee reititin koneelta.

Osoitteen naamioiminen on vakiona pois päältä. laittaaksesi päälle sen muokkaa masquerade_domains parametriä main.cf tiedostosta ja määritä yksi tai useampi domain nimi eroteltuna välilyönnillä tai pilkuilla.

masquerade_domains = foo.example.com example.com
Naamioi any.thing.foo.example.com -> foo.example.com, mutta naamioi any.thing.else.example.com -> example.com.

Domain nami jossa on huutomerkki alussa, tarkoittaa että ÄLÄ naamio tätä domainia tai tämän alidomaineja.

masquerade_domains = !foo.example.com example.com
Älä vaihda any.thing.foo.example.com ja foo.example.com, mutta vaihda any.thing.else.example.com -> example.com.

masquerade_exceptions
parametri määrittää mitä käyttäjä nimiä ei saisi olla naamioinnin osoite otsikossa. Erottele välilyönnillä tai pilkuilla. Esimerkiksi:

masquerade_exceptions = root
Oletuksena, Postfix ei tee poikkeuksia:

Hiuksenhieno pointti: oletuksena osoitteen naamioiminen on päällä vain viestin otsikossa ja kirjekuoren osoitteessa, mutta ei vastaajan kirjekuorissa. Tämä mahdollistaa sinun käyttää osoitteen naamioimista postireititin koneessa, samalla pystyen kuitenkin välittämään postia ulkopuolisen käyttäjän yksilölliselle koneelle.

masquerade_classes = envelope_sender, envelope_recipient, header_sender, header_recipient
Jos teet tämän, Postfix ei enää pysty lähettää postia yksittäisille koneille ulkopuolelle.

Virtuaalinen osoitekartoitus

Ennen kuin laitetaan kanooni- ja naamiointikartoitus päälle, cleanup daemon käyttää virtual alias pöytää uudelleen ohjatakseen postin kaikille vastaanottajille, paikallisille tai etä-Kartoitus vaikuttaa vain määrättyihin vastaajiin. Virtuaalisten nimien haku on käytännöllinen kun uudelleen ohjataan postia virtuaali-nimisistä domaineista oikeisiin käyttäjien maileihin, välittäessä viestiä domainiin jota ei ole enää olemassa. Virtuaali-nimien hakua voidaan käyttää myös firstname :n muuntamisessa. Lastname palaa UNIX kirjautumisnimiin.

Virtuaalinen nimeäminen on poissa oletuksena. Laittaaksesi päälle sen muokkaa virtual_alias_maps parametriä main.cf tiedostossa ja määritä yksi tai useampi haku pöytä, eroteltuna välilyönnillä tai pilkuilla.

virtual_alias_maps = hash:/etc/postfix/virtual

Postin kuljetusvaiheet

Kun osoite on uudelleen kirjoitettu ja päämäärä daemoni on sallinut yhteyden päämäärään, se päättää vakio kuljetus tavan päämäärälle. Postfix omaa seitsemän tärkeää osoite luokkaa. jokainen näistä omaa oman kuljetustavan.

Päämäärä osumatVakio kuljetus tapaOhjaus parametri
$mydestination or $inet_interfaceslocal$local_transport
$virtual_mailbox_domainsvirtual$virtual_transport
$relay_domainsrelay (clone of smtp)$relay_transport
nonesmtp$default_transport

Valinnainen kuljetus pöytä korvaa, vakiona olevan viestin kuljetustavan. Kuljetus pöytä pystyy lähettämään postia UUCP kautta tietyille sivuille, tai lähettää postia hajonneisiin maili ohjelmistoihin jotka pystyvät käyttämään vain SMTP kerralla( kyllä, huonoja systeemejä on olemassa ja ihmiset vielä maksavat niistä!)

Kuljetus haku pöytä on pois päältä vakiona. Laittaaksesi päälle editoi transport_maps parametriä main.cf tiedostosta. Ja määritä yksi tai useampi haku pöytä, eroteltuna pilkuilla tai välilyönnillä.

esimerkiksi:
transport_maps = hash:/etc/postfix/transport

Peitenimi tietokanta

Kun maili on välitetty paikallisesti, local välitys agentti ajaa jokaisen paikallisen lähettäjän nimen aliases tietokannan läpi. Kartoitus ei koske osoitteiden otsikkoihin.

Alias tietokanta on päällä vakiona. Oletus asetukset riippuvat järjestelmästä, mutta tavallisesti se näyttää tältä:

alias_maps = hash:/etc/aliases
alias_maps = dbm:/etc/aliases, nis:mail.aliases

Polku alias tietokantaan ohjataan alias_database konfiguraatio parametrilla. Tämä arvo on järjestelmäkohtainen. Mutta tavallisesti näyttää:

alias_database = hash:/etc/aliases (4.4BSD, LINUX)
alias_database = dbm:/etc/aliases (4.3BSD, SYSV<4)
alias_database = dbm:/etc/mail/aliases (SYSV4)

.forward tiedostot

Käyttäjät voivat ohjata heidän omia postin välityksiä määrittämällä päämäärän heidän kotihakemistossa olevaan .forward tiedostoon. Syntaksi on sama kuin järjestelmä aliaksissa, paitsi haku avainta ja kaksoispistettä ei anneta.

Ei olemassaolevat käyttäjät

Kun paikallinen välittäjä agentti viestin vastaanottajan jota ei ole olemassa, viesti normaalisti kimpoaa takaisin lähettäjälle ("tuntematon käyttäjä"). Joskus ne halutaan ohjata toiselle koneelle. Tähän tarkoitukseen voit määrittää toissijaisen päämäärän luser_relay asetus parametriin.

Toissijaiseesti posti ei-olemassa oleville menevä posti voidaan "delegoida" kokonaan erilaiseen viestin kuljetukseen, fallback_transport konfiguraatio parametriin.

Huomaa: Jos käytät luser_relay toimintoa vastaanottaaksesi postia ei-UNIX tileiltä, täytyy sinun määritellä:

local_recipient_maps =
(t.s. tyhjä) main.cf tiedostossa, toisin kuin Postfix SMTP palvelin hylkää postit ei UNIX tileiltä "Tuntematon käyttäjä paikallisella vastaanottaja pöydällä"

luser_relay voi määrittää yhden osoitteen. Se on otsikoitu $name. Kaikkein käytetyimmät esimerkit ovat:

$user@other.host
paljas käyttäjänimi, ilman osoitteen jatketta, , se on prepended @other.host. Esimerkiksi, posti username+foo:lle lähetetään username+foo@other.host.

$mailbox@other.host
Olemassa oleva alkuperäinen vastaanottajan paikallinen osa, mukaan lukien osoite jatkeen, on prepended @other.host. Esimerkiksi posti username+foo:lle lähetetään username+foo@other.host.

sysadmin+$user
Paljaat käyttäjänimet, ilman osoite jatketta, ovat lisätty sysadmin. esimerkiksi: username+foo lähetetään sysadmin+username

sysadmin+$mailbox
Olemassa oleva alkuperäinen vastaanottajan paikallinen osa, mukaan lukien osoite jatkeen, on lisätty sysadmin. Esimerkiksi, username+foo lähetetään sysadmin+username+foo.

Ylös

daemon

Tero Asikainen, Mika Mähönen ja Markku Hämäläinen