Author: sardzent
Date: Tue Sep 26 23:53:11 2006
New Revision: 7814

Modified:
   PLD-doc/book/pl_book__uslugi/pl_uslugi_poczta__exim.sec
Log:
- added about HELO


Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi_poczta__exim.sec
==============================================================================
--- PLD-doc/book/pl_book__uslugi/pl_uslugi_poczta__exim.sec     (original)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi_poczta__exim.sec     Tue Sep 26 
23:53:11 2006
@@ -641,58 +641,167 @@
                </para>
        </section>
        <section id="uslugi_exim_spam">
-               <title>Filtrowanie spamu</title>
+               <title>Walka ze spamem</title>
                <para>Zjawisko spamu jest niezwykle uciążliwe. W niektórych 
Stanach w USA
                        traktowane jest w kategoriach kryminalnych. Zapewne 
znasz jego 
                        definicję lub przynajmniej wiesz jak spam wygląda. W 
skrócie jest to
                        wiadomość e-mail, której nie chciałeś otrzymać. Exim 
posiada wbudowaną obsługę
-                       filtra antyspamowego. Możemy zdefiniować takie wartości 
jak spis <option>black list</option>
-                       czy odpowiedź serwera w przypadku kontaktu z tzw. 
<option>open relay</option>.</para>
-               <para>Przejdźmy do konfiguracji. W przykładzie poniżej wpisano 
kilka adresów usługodawców zajmujących 
-               się blokowaniem spamu.</para>
-               <screen>deny message =  Serwer $sender_host_address figuruje na 
czarnej \
-    liście $dnslist_domain\n$dnslist_text
-         dnslists = blackholes.mail-abuse.org : \
-          dialup.mail-abuse.org : \
-         relays.ordb.org : \
-         bl.spamcop.net : \
-         dnsbl.njabl.org : \
-         dnsbl.sorbs.net
-deny dnslists = blackholes.mail-abuse.org : relays.ordb.org : \
-    dialup.mail-abuse.org : bl.spamcop.net : dnsbl.njabl.org : 
dnsbl.sorbs.net</screen>
-  <para>Powinieneś umieścić ten przykład w sekcji <literal>ACL 
CONFIGURATION</literal> w obrębie
-         <literal>acl_check_rcpt:</literal>.</para>
+                       filtra antyspamowego opartego na technice dnsbl, może 
wykorzystwać zarówno 
+                       <option>czarne listy</option> jak i <option>białe 
listy</option> nadawców oraz adresów serwerów. 
+               </para>
+               <para>
+                       Kolejnym bardzo prostym ale niezwykle skutecznym w 
walce ze spamem jest maksymalne opóźnianie
+                       procesu komunikacji pomiedzy klientem wysyłającym 
poczte a serwerem MTA.
+                       Nie tylko odcina to część robotów spamerskich ale także 
zmiejsza ryzyko przeciążenia serwera.
+               </para>
+               <para>Przejdźmy do konfiguracji. Wszystkie te wpisy powinny 
znaleść się w sekcji
+                       <literal>ACL CONFIGURATION</literal> w obrębie 
<literal>acl_check_rcpt:</literal>.</para>
+
+               <para>
+                       Wymuszamy helo/ehlo
+               </para>
+               <screen>
+               deny    message = Wymagane RFC HELO/EHLO zanim wyslesz 
wiadomosc. \n\
+                       RFCs mandate HELO/EHLO before mail can be sent.
+                       condition = ${if 
or{{!def:sender_helo_name}{eq{$sender_helo_name}{}}}{yes}{no}}
+                       delay = 5s
+                       log_message = No HELO/EHLO.
+               </screen>
+               <para>
+                       Definujemy własne <option>białe listy</option>.
+                       Jeśli nasz zestaw regół okazałby się zbyt restrycyjny 
możemy oznaczyć aby pewne domeny
+                       były traktowane "ulgowo".
+               </para>
+               <screen>
+               accept  domain = +local_domains
+                       condition = /etc/mail/whitelist
+               </screen>
+               
+               <para>
+                       Sprawdzamy czy serwer nadawcy figuruje na listach RBL
+               </para>
+               <screen>
+               deny    message = Serwer nadawcy figuruje na liscie RBL \n\
+                       Server $sender_host_address is at RBL: \
+                       $dnslist_domain\n$dnslist_text
+                       delay = 5s
+                       dnslists = blackholes.mail-abuse.org : \
+                               dialup.mail-abuse.org : \
+                               dnsbl.njabl.org : \
+                               sbl.spamhaus.org : \
+                               list.dsbl.org : \
+                               cbl.abuseat.org : \
+                               relays.ordb.org : \
+                               bl.spamcop.net
+                       hosts = ! +relay_from_hosts
+                       log_message = Listed at RBL list: 
$dnslist_domain\n$dnslist_text.
+
+               deny    message = Serwer nadawcy figuruje na liscie RBL \n\
+                       Server $sender_host_address is at RBL: $dnslist_domain.
+                       hosts = ! +relay_from_hosts
+                       dnslists = bogusmx.frc-ignorant.org/$sender_host_name : 
\
+                       dns.rfc-ignorant.org/$sender_host_name
+                       delay = 5s
+                       log_message = Listed at RFC-Ignorant.                   
                                
+               </screen>
+               <para>
+                       Teraz dokonujemy weryfikacji podanego HELO
+               </para>
+
+               <para>
+                       <literal>HELO</literal> nie może być postaci 
<literal>localhost.localhomain</literal>
+               </para>
+               <screen>
+               deny    message = Niepoprawne HELO. \n\
+                       $sender_helo_name is a stupid HELO.
+                       hosts = !+relay_from_hosts
+                       condition = ${if match 
{$sender_helo_name}{\N^(127\.0\.0\.1|localhost(\.localdomain)?)$\N}{yes}{no}}
+                       delay = 5s
+                       log_message = Stupid localhost HELO.
+               </screen>
+
+               <para>
+                       <literal>HELO</literal> musi być nazwą domenową 
(<literal>hostname</literal>)
+               </para>
+               <screen>
+               deny    message = HELO musi byc nazwa domenowa. \n\
+                       HELO must be hostname.
+                       hosts = !+relay_from_hosts
+                       condition = ${if !match {$sender_helo_name}\
+                               {\N.*[A-Za-z].*\N}{yes}{no}}
+                       delay = 5s
+                       log_message = Helo must be hostname.
+               </screen>
+
+               <para>
+                       Według <literal>RFC821</literal> 
<literal>HELO</literal> musi być pełną nazwą domenową 
+                       (<literal>Fully Qualifield Domain Name</literal>).
+               </para>
+               <screen>
+               deny    message = HELO nie wyglada poprawnie. Zobacz RFC 821. 
\n\
+                       HELO must contain a Fully Qualifield Domain Name. See 
RFC821.
+                       hosts = !+relay_from_hosts
+                       condition = ${if !match{$sender_helo_name} \
+                               {\N.*[A-Za-z].*\..*[A-Za-z].*\N}{yes}{no}}
+                       delay = 5s
+                       log_message = HELO is not a FQDN.
+               </screen>
+
+               <para>
+                       Eliminujemy sytuację gdy nadawca jako 
<literal>HELO</literal> podaje
+                       serwer z naszej domeny np. <literal>domena.pl</literal>
+               </para>
+               <screen>
+               deny    message = Wykryto zafalszowane RFC HELO. \n\
+                       Fake HELO detected: $sender_helo_name.
+                       condition = ${if eq{$sender_helo_name}\
+                               {\N^(.*\.)?domena\.pl$\N}{yes}{no}}
+                       hosts = !+relay_from_hosts
+                       delay = 5s
+                       log_message = Fake HELO from host $sender_helo_name.    
                
+               </screen>
+               
+               
+               <para>Krótkie wyjaśnienie wykorzystanych opcji</para>
   <itemizedlist>
          <listitem>
-                 <para><literal>deny_message</literal></para>
-                 <para>Definiujemy tutaj wpis w dzienniku systemowym exima
-                                 czyli 
<filename>/var/log/exim/main.log</filename></para>
+                 <para><literal>deny   message</literal></para>
+                 <para>Określamy jaka informacja zwrotna pojawi się u 
nadawcy.</para>
+       </listitem>
+       <listitem>
+                 <para><literal>delay</literal></para>
+                 <para>Opóźnienie po jakim komunikat określnony jako 
<literal>message</literal> zostanie 
+                         zwrócony nadawcy.</para>
          </listitem>
-         <listitem>
-                 <para><literal>dnslist</literal></para>
-                 <para>Lista systemów z bazami blokującymi serwery 
<option>open relay</option>.
-                                 Wymienione tutaj powinny skutecznie 
powstrzymać spam. Jeżeli
-                                 nadal dostajesz niechciane maile, wykonaj 
następujące 
-                                 czynności. Sprawdź w nagłówku wiadomości 
adres IP serwera,
-                                 który przekazał Twojemu MTA pocztę. Wejdź na 
stronę:
-                                 <ulink 
url="http://www.ordb.org/lookup/";>www.ordb.org/lookup/</ulink>
-                                 i wpisz adres IP do sprawdzenia. Jeżeli 
wyszukiwanie w bazie
-                                 ordb.org nie przyniesie rezultatów, wejdź 
tutaj: 
-                                 <ulink 
url="http://www.ordb.org/lookup/rbls/?host=w.x.y.z";>http://www.ordb.org/lookup/rbls/?host=w.x.y.z</ulink>,
 gdzie zamiast symbolicznego zapisu podajemy adres IP.
-                                 Skonstruowane w ten sposób zapytanie dokona 
sprawdzenia, czy dany adres IP figuruje na innych czarnych listach. Pozytywny 
rezultat testu powinien zwrócić w odpowiedzi
-                                 listę systemów RBL (Relay Black List). Można 
ją wykorzystać
-                                 dopisując do naszej regułki. Uważaj na system 
-                                 <literal>block.blars.org</literal> figuruje w 
nim smtp.wp.pl. Więc
-                                 jeśli nie chcesz blokować użytkownikom 
możliwości
-                                 otrzymywania poczty z tego serwera, nie 
dopisuj do regułki tego
-                 systemu RBL.</para>
-         </listitem>
-         <listitem>
-                 <para><literal>deny dnslist</literal></para>
-                 <para>Lista systemów RBL, które będą odpytywane podczas 
blokowania
-                         spamu. Kolejne pozycje na liście są przedzielone 
znakiem
-                         dwukropka. Jest to zresztą specyfika 
-                         <filename>exim.conf</filename></para>
+       <listitem>
+               <para><literal>dnslist</literal></para>
+               <para>Lista systemów z bazami blokującymi serwery <option>open 
relay</option>.
+                                Wymienione tutaj powinny skutecznie 
powstrzymać spam. Jeżeli
+                               nadal dostajesz niechciane maile, wykonaj 
następujące
+                               czynności. Sprawdź w nagłówku wiadomości adres 
IP serwera,
+                               który przekazał Twojemu MTA pocztę. Wejdź na 
stronę:
+                               <ulink 
url="http://www.ordb.org/lookup/";>www.ordb.org/lookup/</ulink>
+                               i wpisz adres IP do sprawdzenia. Jeżeli 
wyszukiwanie w bazie
+                               ordb.org nie przyniesie rezultatów, wejdź tutaj:
+                               <ulink 
url="http://www.ordb.org/lookup/rbls/?host=w.x.y.z";>http://www.ordb.org/lookup/rbls/?host=w.x.y.z</ulink>,
 gdzie zamiast symbolicznego zapisu podajemy adres IP.
+                               Skonstruowane w ten sposób zapytanie dokona 
sprawdzenia, czy dany adres IP figuruje na
+                               innych czarnych listach. Pozytywny rezultat 
testu powinien zwrócić w odpowiedzi
+                               listę systemów RBL (Relay Black List). Można ją 
wykorzystać
+                               dopisując do naszej regułki. Uważaj na system
+                               <literal>block.blars.org</literal> figuruje w 
nim smtp.wp.pl.
+               </para>
+       </listitem>
+
+       <listitem>
+               <para><literal>hosts</literal></para>
+               <para>Podana lista serwerów. W powyższym przykładzie jest to 
<literal>!+relay_from_hosts</literal> 
+                       co oznacza, że cała regółka dotyczy połączeń z 
wszystkich serwerów za wyjątkiem tych 
+                       zdefiniowanych jako 
<literal>relay_from_hosts</literal>.</para>
+       </listitem>
+       <listitem>
+               <para><literal>log_message</literal></para>
+               <para>Informacja jaka zostanie zapisana w dzienniku systemowym 
exima 
+                       czyli <filename>/var/log/exim/main.log</filename></para>
          </listitem>
   </itemizedlist>
 <para>Teraz należałoby włączyć wszystkie usługi jakie zainstalowaliśmy</para>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to