1 / 20

Procmail: Możliwości i zastosowania.

Imię Nazwisko Grupa studencka. Procmail: Możliwości i zastosowania. procmail :: informacje wstępne. narzędzie do manipulacji przychodzącej pocztą elektroniczną, najczęściej obecnie używane, najbardziej zaawansowane, http://www.procmail.org/. procmail :: możliwości.

wes
Download Presentation

Procmail: Możliwości i zastosowania.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Imię Nazwisko Grupa studencka Procmail: Możliwości i zastosowania.

  2. procmail :: informacje wstępne narzędzie do manipulacji przychodzącej pocztą elektroniczną, najczęściej obecnie używane, najbardziej zaawansowane, http://www.procmail.org/.

  3. procmail :: możliwości przychodzący list może być zapisany do pliku, przesłany na inny adres lub grupę adresów e-mail, przekazany do obróbki przez dowolny program lub polecenie, możliwość łączenia funkcji (także kolejno kilku) z dowolnie złożonymi warunkami, przeszukiwanie dowolnego pola nagłówka, a także samej treści listu, warunki tak-nie, definiowanie reguł oceniających listy punktami.

  4. procmail :: zastosowania sortowanie poczty do odpowiednich folderów, zapisywanie do plików, eliminowanie listów spełniających określone warunki, przekazywanie (forward) listów, przetwarzanie wiadomości w innych programach, powiadamianie o nowej poczcie na telefon komórkowy, autorespondery.

  5. procmail :: program program powinien być wywoływany z pliku .forward poleceniem „|/usr/local/bin/procmail”, polecenie „|exec /usr/local/bin/procmail" – oszczędność pamięci podczas działania programu, program przetwarza reguły zawarte w pliku .procmailrc, do każdego przychodzącego listu uruchamiana jest osobna kopia programu (proces).

  6. procmail :: plik .procmailrc ^ poczatek linii . dowolny znak .+ dowolny ciag znaków (ale co najmniej jeden) .* dowolny ciag znaków (takze ciag pusty znaków...) * zero lub wiecej powtórzen wyrazenia który jest przed "gwiazdka" / dowolny ciag znaków | wywołanie polecenia systemu Unix ! uzyty na poczatku warunku jest zaprzeczeniem $ koniec linii {} otwarcie i zamkniecie bloku danych ab|cd sekwencje znaków `ab' lub `cd' (alternatywa) a* dowolna sekwencja z a na poczatku (jedno i wiecej) (abc)* sekwencja abc powtarza sie zero lub kilka razy (dowolna ilosc powtórzen) • plik reguł filtrowania, • każda reguła składa się z kilku (typowo trzech) wierszy, • pierwszy wiersz - początek reguły, rozpoczyna się znakami „:0”, • po nim może wystąpić kilka dodatkowych znaków, modyfikujących sposób przetwarzania reguły, • gwiazdka „*” na początku każdej reguły, • w kolejnych wierszach umieszczamy jeden lub więcej warunków, • ostatni wiersz zawiera akcję, która ma być wykonana w przypadku spełnienia warunku.

  7. procmail :: możliwości :: warunki warunek będzie spełniony jeżeli w którymkolwiek nagłówku wystąpi wyrażenie „adult”, * adult sprecyzowanie, które nagłówki będą przeszukiwane (przeszukiwanie tematu listu), * ^Subject:.*adult przeszukiwanie pola nadawcy. * ^From:.*konto@serwer.com.pl Warunki mają postać wrażeń regularnych, domyślnie przeszukiwany jest tylko nagłówek listu.

  8. procmail :: możliwości :: warunki c.d. „.” w wyrażeniach regularnych zastępuje dowolny znak, warunek zostanie też spełniony przy np: konto@serwercom.pl, i dlatego przed „.” stosuje się „\”, * ^From:.*konto@serwer\.com\.pl alternatywa wyrażeń – warunek jest spełniony, gdy temat listu zawiera którekolwiek z oddzielonych „|” wyrażeń, * ^Subject:.*(adult|sex|girls|porn) warunek pasuje do listów wysyłanych przez automaty, zwrotów odbitej poczty, listów z niektórych list dyskusyjnych, * ^FROM_DAEMON nie jest wyrażeniem regularnym – warunek jest spełniony gdy wielkość listu jest większa/mniejsza od podanej wartości bajtów, * < liczba * > liczba

  9. procmail :: możliwości :: warunki c.d. • „H” - przeszukuje nagłówek, • „B” – przeszukuje treść listu, • „c:” – pozostawienie listu w naszej skrzynce pocztowej, Nagłówek oraz treść listu zostaną przeszukane na okoliczność wystąpienia słowa „zebranie” i (po spełnieniu warunku) wiadomość zostanie przekazana na adres kolega@serwer.com.pl. :0 HBc * spotkanie ! kolega@serwer.com.pl • „!” – zaprzeczenie, Wiadomości pochodzące z adresu konto@serwer.com.pl nie zawierające w temacie ciągu znaków „piln” (pilne, pilna, pilnie) i nie posiadające priorytetu „pilne”, zostaną zapisane w pliku „biurowe”. :0: * ^From:.*konto@serwer.com.pl * !^Subject:.*piln * !^Priority: urgent biurowe

  10. procmail :: możliwości :: łączenie reguł połączenie 2 poprzednich przykładów: zapisywanie i przekaz wiadomości, „c:” - program pomimo sprawdzenia pierwszego warunku i wykonania związanej akcji (zapisanie wiadomości) przechodzi do sprawdzenia kolejnej reguły, użycie „A” zapobiega sprawdzaniu tej samej reguły kilka razy, reguła z „A” jest przetwarzana gdy warunek w poprzedniej regule nie zawierającej „A” jest prawdziwy. :0 c: * ^From:.*konto@serwer.com.pl zapisane_wiadomości :0 * ^To:.*konto@serwer.com.pl ! kolega@firma.com.pl :0 c: * ^From:.*konto@serwer.com.pl zapisane_wiadomości :0 A * ^To:.*konto@serwer.com.pl ! kolega@firma.com.pl

  11. procmail :: możliwości :: łączenie reguł c.d. użycie zagnieżdżonego bloku reguł, brak warunków przy regułach w bloku, jeżeli warunek zostanie spełniony to wykonywana akcja będzie polegała na przetworzeniu reguł zawartych w bloku pomiędzy znakami „{„ i „}”. :0 * ^From:.*konto@serwer.com.pl { :0 c: zapisane_wiadomości :0 ! kolega@firma.com.pl }

  12. procmail :: możliwości :: semafory listy które spełniają warunek zostaną skompresowane do pliku konto.gz, „|” wywołuje program gzip, zastosowanie semafora poprzez użycie drugiego „:” „w” – oczekiwanie z opuszczeniem semafora na zakończenie programu gzip. :0 w: * ^To:.*konto@serwer.com.pl | /usr/local/bin/gzip >>konto.gz W przypadku otrzymania w tym samym czasie kilku listów do każdego z nich uruchamiana jest osobna kopia programu procmail i próba jednoczesnego zapisu kilku listów do jednego pliku spowodowałoby to brak spójności pliku. Program który pierwszy rozpocznie zapisywanie „opuszcza semafor” uniemożliwiając to innym kopiom programu do czasu zakończenia działania i „podniesienia semafora”.

  13. procmail :: możliwości :: liczenie punktów przyznawanie punktów po spełnieniu warunków, kasowanie listu po osiągnięciu założonej ilości punktów. 1 :0 B 2 * -3^0 3 * 1^1 money 4 /dev/null • linia 2: „* -3^0” – przypisanie wartości początkowej -3, • linia 3: x^y – „w” jest liczbą punktów doliczaną za wystąpienie wyrażenia, „y” wykładnik potęgi, określa jak bardzo będą się liczyć kolejne wystąpienia w stosunku do poprzedniego: 1 wystąpienie = x 2 wystąpienie = x*y 3 wystąpienie = x*y*y, itd. Cały warunek uważany jest za spełniony jeżeli ostatecznie suma punktów jest większa od zera. Trzykrotne wystąpienie wyrażenia „money” spowoduje skasowanie listu.

  14. procmail :: zastosowania :: zapisywanie wiadomości :0: *^From:.*konto@serwer.com.plzapisane_wiadomosci :0 c: *^From:.*konto@serwer.com.plzapisane_wiadomosci • linia 1 – początek reguły, • linia 2 – określenie sprawdzanego warunku, • linia 3 – wykonywane polecenie w przypadku spełnienia warunku. Każdy list z adresu konto@serwer.com.pl zostanie zapisany do pliku zapisane_wiadomosci zamiast w skrzynce pocztowej. W przypadku grup dyskusyjnych uwzględniać należy pole „To:” . Dodanie w pierwszej linii „c:” dodatkowo pozostawi list w skrzynce pocztowej.

  15. :0 *^Subject:.*pilne mail/pilne :0 *^From:.*jan@serwer.com.pl mail/jan :0 c *!^From:.*(zaufany@serwer.pl|zaufany1@serwer.pl) *^Subject:.*(money|cash|sex|porn) /dev/null procmail :: zastosowania :: sortowanie i usuwanie • działanie nie dotyczy zaufanch adresów • jeżeli w temacie wiadomości znalezione zostanie którekolwiek ze słów: money, cash, sex, porn, wiadomość zostanie zapisana do pliku /dev/null, czyli skasowana. • po spełnieniu warunku (tutaj: wiadomość od określonego adresata lub zdefiniowany ciąg znaków w temacie) wiadomość zostanie skopiowana do odpowiedniego folderu.

  16. procmail :: zastosowania :: przekaz poczty linia 1 – „:0” – rozpoczęcie przetwarzania reguł „c” – list pozostaje na koncie, linia 2 – adres na który ma być przekazana wiadomość. Wiadomość zostanie przekazana na adres konto@serwer.com.pl i nie będzie zapisana w lokalnej skrzynce pocztowej. Dodanie parametru „c” dodatkowo pozwoli na zachowanie przekazywanego listu. „!” jest poleceniem wysłania listu na podany adres. 1 :0 2 ! konto@serwer.com.pl 1 :0 c 2 ! konto@serwer.com.pl

  17. 1 :0 hc 2 ^TOkonto@serwer\.com\.pl 3 * !^FROM_DAEMON 4 * !^X-Loop: konto@serwer\.com\.pl 5 | (formail -r -A "Precedence: junk" \ 6 -A "X-Loop: konto@serwer.com.pl" ; \ 7 cat info.reply) | $SENDMAIL -t procmail :: zastosowania :: autoresponder • linia 1 – „h” – przekazanie do programu formail tylko nagłówka listu, „c” – list pozostaje na koncie, • linia 2 – uwzględniany jest adres konto@serwer.com.pl, • linia 3 – ignorowane są listy od automatów pocztowych, • linia 4 – zabezpieczenie przed pętlą pocztową, • linia 5 i 6 – program formail generuje nagłówek odpowiedzi: • „-r” generuje pole „To:” na podstawie adresu nadawcy oryginału, oraz „Subject:Re:” będący tematem wiadomości, • „-A” dodaje do nagłówka pola „Precedence:” i „X-Loop:” – pierwszy oznacza list jako pochodzący z automatu, a drugi zabezpiecza list przed powtórną odpowiedzią na niego, • linia 7 – komenda „cat” dopisuje odpowiedź z pliku „info.reply” i wszystko zostaje przekazane do programu sendmail.

  18. procmail :: zastosowania :: powiadomienie sms linia 1 – „h” – przekazanie do programu formail tylko nagłówka listu, „c” – list pozostaje na koncie, linia 2 – ignorowane są listy od automatów pocztowych, linia 3 – program egrep przekazuje wartości pól „From:” i „Subject:”, „head -2” określa ile linii ma zostać przekazanych do programu sms, powiadomienie sms powinno być umieszczane na końcu pliku aby nie otrzymywać wiadomości np. o spamie. 1 :0 h c 2 * !^FROM_DAEMON 3 | egrep "From:|Subject:" | head -2 | /usr/bin/sms 60290000

  19. procmail :: zastosowania :: usuwanie spamu :0 HB * -250^0 * -1000^0 ^FROM.+@.+\.pl * -2000^0 ^FROM.+@.+\.serwer\.com\.pl * 100^0 !^From: * 200^0 !^To: * 100^0 !^Subject: * 200^0 Received.*(advertise|stealth|bulk|sex) * 100^2 Received.(comanche|apache).+(net|com|org)? * 50^2 ^(From|To).*(sex|adult|porn) * 200^0 Message-ID.*(advert|bulk|lov(e|ing)|aegispam) * 190^0 ^Subject.*(\ sex|adult|porn|gay|erotic|advert|\ xxx\ | zaprosz|bulk.+email|revenue|expense|profit|sperm|money|earn| cash|free|lingerie) * 20^0 ^Subject.*\$ * 100^0 ^Subject.*\$\$ * 500^0 ^Subject.*\$\$\$ * 20^0 ^Subject.*\! * 100^0 ^Subject.*\!\! * 300^0 ^Subject.*\!\!\! * 20^2 \ sex|^sex|adult|erotic|gay|porn|chain.+letter|sponsor|\ xxx\ | ^xxx\ |bulk|girls|hardcore|\ cum|advertise|remove|revenue| expense|profit|sperm|money|marketing|targeted\ search| collect.+email|\ pay|lingerie|org(y|ies)|teens|sign\ up\ now /dev/null początkowa wartość punktów odejmowanie punktów listom z zaufanych adresów/domen brak pól Od, Do, Temat charakterystyczne fragmenty adresów spamerów wystąpienie w temacie listu charakterystycznych słów wystąpienie w temacie listu 1, 2, 3 razy znaków $ lub ! poszukiwanie słów kluczowych w treści listu skasowanie listu, jeśli liczba uzyskanych punktów > 0

  20. Dziękuję za uwagę

More Related