<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Postfwd_kasutamine_operatsioonis%C3%BCsteemiga_Debian</id>
	<title>Postfwd kasutamine operatsioonisüsteemiga Debian - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=Postfwd_kasutamine_operatsioonis%C3%BCsteemiga_Debian"/>
	<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Postfwd_kasutamine_operatsioonis%C3%BCsteemiga_Debian&amp;action=history"/>
	<updated>2026-05-03T18:32:23Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=Postfwd_kasutamine_operatsioonis%C3%BCsteemiga_Debian&amp;diff=198&amp;oldid=prev</id>
		<title>Imre: Uus lehekülg: '===Sissejuhatus===  Tarkvara postfwd http://postfwd.org/ on Perl keeles programmeeritud SMTP tulemüür, mis on integreeritud Postfixiga policy protokolli abil; st postfwd on pol...'</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=Postfwd_kasutamine_operatsioonis%C3%BCsteemiga_Debian&amp;diff=198&amp;oldid=prev"/>
		<updated>2022-05-10T05:36:56Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;===Sissejuhatus===  Tarkvara postfwd http://postfwd.org/ on Perl keeles programmeeritud SMTP tulemüür, mis on integreeritud Postfixiga policy protokolli abil; st postfwd on pol...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Tarkvara postfwd http://postfwd.org/ on Perl keeles programmeeritud SMTP tulemüür, mis on integreeritud Postfixiga policy protokolli abil; st postfwd on policy server. postfwd kasutusalaks on muu hulgas&lt;br /&gt;
&lt;br /&gt;
* sissetulevatele kirjadele sageduspiirangu rakendamine (nt kirju ajaühikus per src ip address, per mail from address)&lt;br /&gt;
* src ip address, mail from ja rcpt to address alusel (ja nende kombinatsioonide alusel) kirjade sisenemise kontrollimine&lt;br /&gt;
* dns blocklistide ja whitlistide rakendamine&lt;br /&gt;
&lt;br /&gt;
===Tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Postfwd töötab deemon protsessina ja teda juhib seadistusfail. Postfwd on integreeritud Postfixiga kasutades Postfix policy protokolli.&lt;br /&gt;
&lt;br /&gt;
                                internet&lt;br /&gt;
   &lt;br /&gt;
                                   |&lt;br /&gt;
                                 __|__&lt;br /&gt;
                                |     | tulemüür&lt;br /&gt;
                                |     |&lt;br /&gt;
                                |_____|&lt;br /&gt;
                                   |&lt;br /&gt;
                                   |&lt;br /&gt;
                                   |&lt;br /&gt;
         ----|--------------|------|-----------|-----&lt;br /&gt;
             |              |                  |&lt;br /&gt;
           __|__          __|__              __|__&lt;br /&gt;
          |     |        |     |            |     |&lt;br /&gt;
          |     |        |     |            |     |&lt;br /&gt;
          |_____|        |_____|            |_____|&lt;br /&gt;
   &lt;br /&gt;
         frontend        postfwd            backend&lt;br /&gt;
        postimasin      port 10045         postkastid&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* tulemüür - nö tavaline tulemüür (nö tcp/ip)&lt;br /&gt;
* frontend smtp server, mis sisenevate kirjade kontrollimisel muu hulgas kasutab postfwd abi põhimõtteliselt üle võrgu pöördudes postfwd teenuse poole&lt;br /&gt;
* postfwd server pakub postfwd teenust; tema poole pöördumisel kasutatakse nn Postfix policy protokolli, mille käigus edastatakse mitte kogu kiri, aga komplekt smtp päiseid&lt;br /&gt;
* backend serverisse jõuavad frontend smtp serveris kontrolli läbinud kirjad&lt;br /&gt;
&lt;br /&gt;
Postfwd vastuseks on muu hulgas sellised variandid&lt;br /&gt;
&lt;br /&gt;
* kirja võib vastu võtta (DUNNO)&lt;br /&gt;
* saatjale anda ajutine veateade (nt sageduspiirangu puhul)&lt;br /&gt;
* kirja vastuvõtmisest keeldumine (nt spam puhul)&lt;br /&gt;
* lisada kirjale smtp päis ja vastu võtta (nt PREPEND abil)&lt;br /&gt;
* tavaliselt töötab postwd teenus frontend smtp serveri protsessina&lt;br /&gt;
&lt;br /&gt;
===Tarkvara paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install postfwd&lt;br /&gt;
&lt;br /&gt;
Tulemusena tekib failisüsteemi&lt;br /&gt;
&lt;br /&gt;
* /etc/default/postfwd - postfwd deemoni tööd üldiselt juhtiv seadistusfail (millisel pordi kuulab, kuidas logib jms)&lt;br /&gt;
* link /usr/sbin/postfwd -&amp;gt; /etc/alternatives/postfwd -&amp;gt; /usr/sbin/postfwd2&lt;br /&gt;
* kasutaja:grupp postfw:postfw&lt;br /&gt;
&lt;br /&gt;
===Postfwd deemoni seadistamine===&lt;br /&gt;
&lt;br /&gt;
Postfwd käivitamist juhib seadistusfail /etc/default/postfwd, nt sellise sisuga&lt;br /&gt;
&lt;br /&gt;
 STARTUP=1&lt;br /&gt;
 &lt;br /&gt;
 # Config file&lt;br /&gt;
 CONF=/etc/postfix/postfwd.cf&lt;br /&gt;
 # IP where listen to&lt;br /&gt;
 INET=127.0.0.1&lt;br /&gt;
 # Port where listen to&lt;br /&gt;
 PORT=10045&lt;br /&gt;
 # run as user postfwd&lt;br /&gt;
 RUNAS=&amp;quot;postfw&amp;quot;&lt;br /&gt;
 # Arguments passed on start (--daemon implied)&lt;br /&gt;
 ARGS=&amp;quot;--summary=600 --cache=600 --cache-rdomain-only --cache-no-size&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* CONF=/etc/postfix/postfwd.cf - kirjade liikumist kontrollivad reeglid&lt;br /&gt;
* ARGS - deemoni tööd kontrollivad suvandid&lt;br /&gt;
* võib olla alguses lisada ARGS järele veel ka --verbose&lt;br /&gt;
&lt;br /&gt;
postfwd logib vaikimisi /var/log/mail.* failidesse.&lt;br /&gt;
&lt;br /&gt;
===Liidestamine Postfixiga===&lt;br /&gt;
&lt;br /&gt;
Postfixiga liidestamiseks sobib kasutada nt smtpd_recipient_restrictions direktiivi, paigutades ta viimasele postitsioonile&lt;br /&gt;
&lt;br /&gt;
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination&lt;br /&gt;
   check_policy_service inet:127.0.0.1:10045&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* check_policy_service näitab, et policy kontrolliks tuleb pöörduda aadressil 127.0.0.1 port 10045 töötava postfwd deemoni poole&lt;br /&gt;
&lt;br /&gt;
===Postfwd reeglite seadistamine===&lt;br /&gt;
&lt;br /&gt;
Reeglid asuvad failis /etc/postfix/postfwd.cf ning reegel koosneb sellistest elementidest&lt;br /&gt;
&lt;br /&gt;
 ID ; tingimused ; action&lt;br /&gt;
&lt;br /&gt;
nt&lt;br /&gt;
&lt;br /&gt;
 id=RULE-03 ; sender=priit@auul.pri.ee; recipient=priit@kibana.auul.pri.ee; action=REJECT kirja ei saadetud edasi&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* id peab olema unikaalne, see kirjutatakse ka logisse ja võimaldab debugimist hõlpsamini&lt;br /&gt;
* reegli rakendumiseks peavab kõik tingimused olema täidetud&lt;br /&gt;
* action näitab tegevust (REJECT keeldub kirja vastu võtmast, DUNNO ei tee midagi jne, vt http://www.postfix.org/access.5.html)&lt;br /&gt;
&lt;br /&gt;
Reeglites tehtud muudatuste kehtestamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # /etc/init.d/postfwd restart&lt;br /&gt;
&lt;br /&gt;
või õigemini&lt;br /&gt;
&lt;br /&gt;
 # systemctl status|stop|start postfwd&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://postfwd.org/quick.html&lt;br /&gt;
* http://postfwd.org/doc.html&lt;br /&gt;
* man postfwd, postfwd -m&lt;br /&gt;
&lt;br /&gt;
====Tunnustele vastavate kirjade vastuvõtu keelamine====&lt;br /&gt;
&lt;br /&gt;
Postfwd tööd kontrollivad reeglid, üldiselt kontrollitakse reegleid järjest ning esimene action näidatud tegevusega lõpetatakse, nt&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/postfwd.cf&lt;br /&gt;
 id=RULE-01 ; sender=mart@auul.pri.ee; action=REJECT kirja ei saadetud edasi&lt;br /&gt;
 id=RULE-02 ; recipient=root@kibana.auul.pri.ee; action=REJECT kirja ei saadetud edasi&lt;br /&gt;
 id=RULE-03 ; sender=priit@auul.pri.ee; recipient=priit@kibana.auul.pri.ee; action=REJECT kirja ei saadetud edasi&lt;br /&gt;
&lt;br /&gt;
Reeglite esitamiseks&lt;br /&gt;
&lt;br /&gt;
 # postfwd -f /etc/postfix/postfwd.cf -C&lt;br /&gt;
 Rule   0: id-&amp;gt;&amp;quot;RULE-01&amp;quot;; action-&amp;gt;&amp;quot;REJECT kirja ei saadetud edasi&amp;quot;; sender-&amp;gt;&amp;quot;=;mart@auul.pri.ee&amp;quot;&lt;br /&gt;
 Rule   1: id-&amp;gt;&amp;quot;RULE-02&amp;quot;; action-&amp;gt;&amp;quot;REJECT kirja ei saadetud edasi&amp;quot;; recipient-&amp;gt;&amp;quot;=;root@kibana.auul.pri.ee&amp;quot;&lt;br /&gt;
 Rule   2: id-&amp;gt;&amp;quot;RULE-03&amp;quot;; action-&amp;gt;&amp;quot;REJECT kirja ei saadetud edasi&amp;quot;; sender-&amp;gt;&amp;quot;=;priit@auul.pri.ee&amp;quot;; recipient-&amp;gt;&amp;quot;=;priit@kibana.auul.pri.ee&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* mail from aadressiga mart@auul.pri.ee kirjad blokeeritakse&lt;br /&gt;
* rcpt to aadressiga root@kibana.auul.pri.ee kirjad blokeeritakse&lt;br /&gt;
* mail from priit@auul.pri.ee ja rcpt to priit@kibana.auul.pri.ee kirjad blokeeritakse&lt;br /&gt;
* natuke ebaselge on, mis puhul tuleks kasutada = ja mis puhul == operaatorit, ideeliselt peaks olema esimene omistamine ja teine võrdlus, aga katse näitab, et päris nii see nagu pole; reeglina kasutatakse käesolevas tekstis ainult = operaatorit&lt;br /&gt;
&lt;br /&gt;
====src ip ja rcpt to alusel läbilubamine + sageduspiirang====&lt;br /&gt;
&lt;br /&gt;
src ip ja rcpt to alusel läbilubamine + sageduspiirang rakendamiseks sobib kasutada sellist seadistust&lt;br /&gt;
&lt;br /&gt;
 id=EVAL-01 ; action=set(SRC_IP_IK_AUUL_EE=1)&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;&amp;amp;WL_SRC_IP_IK_AUUL_EE { client_address=file:/etc/postfix/wl-src-ip-ik-auul-ee.txt; };&lt;br /&gt;
 &lt;br /&gt;
 id=RULE-00 ; &amp;amp;&amp;amp;WL_SRC_IP_IK_AUUL_EE; action=set(SRC_IP_IK_AUUL_EE=0);&lt;br /&gt;
 &lt;br /&gt;
 id=RULE-01 ; SRC_IP_IK_AUUL_EE = 0; recipient=^[0-9]{11}@kibana.auul.pri.ee$ ; action=DUNNO&lt;br /&gt;
 id=RULE-02 ; SRC_IP_IK_AUUL_EE = 1; recipient=^[0-9]{11}@kibana.auul.pri.ee$ ; action=REJECT ip aadressilt $$client_address ei ole lubatud  isikukood@kibana.auul.pri.ee aadressile kirju saata&lt;br /&gt;
 &lt;br /&gt;
 id=RULE-03 ; SRC_IP_IK_AUUL_EE = 0; recipient=@kibana.auul.pri.ee$; action=DUNNO&lt;br /&gt;
 id=RULE-04 ; SRC_IP_IK_AUUL_EE = 1; recipient=@kibana.auul.pri.ee$; action=rate(client_address/5/300/450 4.7.1 only 5 recipients per 5 minutes allowed)&lt;br /&gt;
&lt;br /&gt;
ning&lt;br /&gt;
 &lt;br /&gt;
 # cat /etc/postfix/wl-src-ip-ik-auul-ee.txt&lt;br /&gt;
 10.0.1.1&lt;br /&gt;
 10.0.1.2&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* id=EVAL-01 - väärtustatakse nn muutuja SRC_IP_IK_AUUL_EE 'false' väärtusega (vaikeväärtus)&lt;br /&gt;
* &amp;amp;&amp;amp;WL_SRC_IP_IK_AUUL_EE - kirjeldatakse mitmeelemendiline muutuja (tõsi, antud juhul see väga erilist efekti ei anna)&lt;br /&gt;
* id=RULE-00 - kui kliendi aadress on nimekirjas, siis SRC_IP_IK_AUUL_EE väärtustakse 0 ('true')&lt;br /&gt;
* id=RULE-01 - kui kliendi aadress on nimekirjas ning rcpt to aadress on kujul isikukood@kibana.auul.pri.ee, siis lubatakse kiri läbi ilma piiranguteta&lt;br /&gt;
* id=RULE-02 - kui kliendi aadress ei ole nimekirjas ning rcpt to aadress on kujul isikukood@kibana.auul.pri.ee, siis kirja ei lubata läbi mingitel tingimustel ja kasutajale antakse veateade 5xx&lt;br /&gt;
* id=RULE-03 - kui kliendi aadress on nimekirjas ning rcpt to aadress on lõpuga @kibana.auul.pri.ee, siis lubatakse kiri läbi ilma piiranguteta&lt;br /&gt;
* id=RULE-04 - kui kliendi aadress ei ole nimekirjas ning rcpt to aadress on lõpuga @kibana.auul.pri.ee, siis rakendatakse sageduspiirangut (5/300/450 - viis kirja 300 sekundi jooksul per ip aadress, mis üle lähevad saavad 450 smtp ajutise veateate)&lt;br /&gt;
&lt;br /&gt;
===Testimine===&lt;br /&gt;
&lt;br /&gt;
Mitte lubatud ip aadressilt kirja saatmise katse paistab selline&lt;br /&gt;
&lt;br /&gt;
 # sendemail -f imre@moraal.ee -t 37003212713@auul.pri.ee -u test_4 -m 'test 4' -s 10.204.62.114:25 -o tls=no&lt;br /&gt;
 Mar 30 01:07:36 haldus sendemail[24788]: WARNING =&amp;gt; The recipient &amp;lt;37003212713@auul.pri.ee&amp;gt; was rejected by the mail server, error follows:&lt;br /&gt;
 Mar 30 01:07:36 haldus sendemail[24788]: WARNING =&amp;gt; Received:   554 5.7.1 &amp;lt;37003212713@auul.pri.ee&amp;gt;: Recipient address rejected: &lt;br /&gt;
   ip aadressilt 10.146.76.121 ei ole lubatud isikukood@auul.pri.ee aadressile kirju saata&lt;br /&gt;
&lt;br /&gt;
Analoogilised sissekanded tehakse postiserveri logisse.&lt;br /&gt;
&lt;br /&gt;
Otseselt serveri testimiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # nc 127.0.0.1 10045 &amp;lt;/usr/share/doc/postfwd/request.sample&lt;br /&gt;
 action=DUNNO&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
 # cat /usr/share/doc/postfwd/request.sample&lt;br /&gt;
 ccert_fingerprint=&lt;br /&gt;
 size=64063&lt;br /&gt;
 helo_name=english-breakfast.cloud9.net&lt;br /&gt;
 reverse_client_name=english-breakfast.cloud9.net&lt;br /&gt;
 queue_id=&lt;br /&gt;
 encryption_cipher=&lt;br /&gt;
 encryption_protocol=&lt;br /&gt;
 etrn_domain=&lt;br /&gt;
 ccert_subject=&lt;br /&gt;
 request=smtpd_access_policy&lt;br /&gt;
 protocol_state=RCPT&lt;br /&gt;
 recipient=someone@domain.local&lt;br /&gt;
 instance=6748.46adf3f8.62156.0&lt;br /&gt;
 protocol_name=ESMTP&lt;br /&gt;
 encryption_keysize=0&lt;br /&gt;
 recipient_count=0&lt;br /&gt;
 ccert_issuer=&lt;br /&gt;
 sender=imre@kibana.auul.pri.ee&lt;br /&gt;
 client_name=english-breakfast.cloud9.net&lt;br /&gt;
 client_address=95.163.127.178&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* lõpus on vajalik tühi rida, mille lõpetab reavahetus&lt;br /&gt;
&lt;br /&gt;
 # postfwd --dumpcache&lt;br /&gt;
 &lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; @list          -&amp;gt; 'RULE-04+5_300'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @action   -&amp;gt; '450 4.7.1 only 5 recipients per 5 minutes allowed'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @count    -&amp;gt; '5'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @maxcount -&amp;gt; '5'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @rule     -&amp;gt; 'RULE-04'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @time     -&amp;gt; '1461537624.75926'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @ttl      -&amp;gt; '300'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @type     -&amp;gt; 'rate'&lt;br /&gt;
 %rate_cache -&amp;gt; %client_address=10.80.96.209 -&amp;gt; %RULE-04+5_300 -&amp;gt; @until    -&amp;gt; '1461537924.75926'&lt;br /&gt;
&lt;br /&gt;
 # postfwd --dumpstats&lt;br /&gt;
 &lt;br /&gt;
 [STATS] postfwd2::cache 1.35: 6 queries since 0 days, 01:38:02 hours&lt;br /&gt;
 [STATS] Requests: 0.0/min last, 0.0/min overall, 0.0/min top&lt;br /&gt;
 [STATS] Hitrates: 0.0% requests, 0.0% dns, 0.0% rates&lt;br /&gt;
 [STATS] Contents: rate=1&lt;br /&gt;
 &lt;br /&gt;
 [STATS] postfwd2::policy 1.35: 6 requests since 0 days, 01:38:02 hours&lt;br /&gt;
 [STATS] Requests: 3.61/min last, 0.06/min overall, 3.61/min top&lt;br /&gt;
 [STATS] Dnsstats: 0.00/min last, 0.00/min overall, 0.00/min top&lt;br /&gt;
 [STATS] Hitrates: 0.0% ruleset, 0.0% parent, 0.0% child, 16.7% rates&lt;br /&gt;
 [STATS] Timeouts: 0.0% (0 of 0 dns queries)&lt;br /&gt;
 [STATS]   6 matches for id:  EVAL-01&lt;br /&gt;
 [STATS]   6 matches for id:  RULE-04&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* PCRE avaldiste testimine - https://www.debuggex.com/&lt;br /&gt;
* http://blog.erben.sk/2011/08/19/fighting-againts-spam-postfwd/&lt;/div&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
</feed>