Postfix
Z wiki linux-user
Linia 189: | Linia 189: | ||
chkconfig --level 2345 spamassassin on | chkconfig --level 2345 spamassassin on | ||
− | Włączamy aktualizację sa-update | + | Włączamy aktualizację |
− | Dodajemy odpowiedni wpis do pliku ''main.cf'' postconf -e 'mailbox_command = /usr/bin/procmail' | + | sa-update |
+ | Dodajemy odpowiedni wpis do pliku ''main.cf'' | ||
+ | postconf -e 'mailbox_command = /usr/bin/procmail' | ||
Tworzymy plik ''/etc/procmailrc'' i dodajemy do niego następujące wpisy UMASK=0073 | Tworzymy plik ''/etc/procmailrc'' i dodajemy do niego następujące wpisy UMASK=0073 | ||
VERBOSE=yes | VERBOSE=yes | ||
Linia 201: | Linia 203: | ||
Dużo więcej informacjii o pakiecie spamassassin można przeczytać na oficjalnej stronie projektu spamassassin. | Dużo więcej informacjii o pakiecie spamassassin można przeczytać na oficjalnej stronie projektu spamassassin. | ||
+ | |||
+ | == Konfiguracja końcowa == | ||
+ | |||
+ | Edytujemy plik ''/etc/hosts'' tak aby miał przypisany zewnętrzny adres ip do nazwy hosta bo inaczej nie będzie możliwości odbierania listów spoza sieci. Jeśli chcesz skonfigurować klienta w Twojej sieci lokalnej to też musisz dodać do pliku ''/etc/hosts'' klienta, ip serwera w sieci lokalnej i jego hostname | ||
+ | |||
+ | == Informacje dodatkowe == | ||
+ | |||
+ | Szybka instalacja webowego klienta poczty. Możemy w bardzo prostysposób dać możliwość użytkownikom korzystania z naszej poczty poprzez strone www. Do tego celu instalujemy i konfigurujemy [[squirrelmail|squirrelmaila]]. Aby uruchomić taką usłuhę musimy wcześniej mieć uruchomiony usługę httpd czyli serwer stron www. | ||
+ | |||
+ | yum install squirrelmail | ||
+ | |||
+ | Uruchamiamy w konsoli skrypt służący do konfiguracji systemu webmail | ||
+ | |||
+ | /usr/share/squirrelmail/config/conf.pl | ||
+ | |||
+ | Restartujemy serwer www | ||
+ | |||
+ | /etc/init.d/httpd restart | ||
+ | |||
+ | Po przeprowadzeniu konfiguracji możemy się zalogować na naszą pocztę na adresie: ''http://twoj_adres_ip/webmail'' Możemy również zainstalować bardziej zaawansowanego klienta webowego o nazwie [[RoundCube]], jak to zrobić możecie przeczytać na stronie wiki instalacja [[RoundCube|rouncube]]. | ||
+ | |||
+ | |||
+ | == Filtrowanie treści wiadomości == | ||
+ | |||
+ | '''Postfix''' dysponuje bardzo fajnym mechanizmem filtrowania treści przychodzących jak i wychodzących wiadomości. Jest to szczególnie przydatna funkcja jeśli np wiemy, że serwer poczty będzie np głównie wykorzystywany przez dzieci i chcielibyśmy wycinac wiadomości z nieodpowiednim słownictwem. | ||
+ | |||
+ | Aby dokonać tego czynu na początku musimy dodać odpowiednią opcję do pliku '''main.cf''' | ||
+ | |||
+ | body_checks = regexp:/etc/postfix/body_checks | ||
+ | |||
+ | lokalizacja pliku jak i sama nazwa '''body_checks''' jest przykładowa i może być inna. Następnie w ścieżce podanej wyżej tworzymy plik o nazwie takiej jak podaliśmy w opcji body_checks w tym przypadku '''body_checks''' | ||
+ | |||
+ | vim /etc/postfix/body_checks | ||
+ | ~^[[:alnum:]+/]{60,}\s*$~ OK | ||
+ | #SPAM | ||
+ | /(AS SEEN ON NATIONAL TV|READ THIS E-MAIL TO THE END)/ | ||
+ | REJECT Spam #1 | ||
+ | /We are shanghai longsun electrical alloy/ | ||
+ | REJECT Chinese spammer from hell #2 | ||
+ | /Do you want EVERYONE to know your business/ | ||
+ | REJECT Spam #3 | ||
+ | /(Zainab|San?ni) Abacha/ | ||
+ | REJECTNigeria Spam #4 | ||
+ | /MILITARY HEAD OF STATE IN NIGERIA/ | ||
+ | REJECT Nigeria fraud spam #5 | ||
+ | /antivirus \.5xx\.net/ | ||
+ | REJECT Virus hoax (0190-dialer) #6 | ||
+ | /MOSE CHUKWU/ | ||
+ | REJECT Business fraud spam #7 | ||
+ | /Ahmed Kabbah/ | ||
+ | REJECT Business fraud spam #8 | ||
+ | /Godwin Igbunu/ | ||
+ | REJECT Business fraud spam #9 | ||
+ | /I PRESUME THIS EMAIL WILL NOT BE A SURPRISE TO YOU/ | ||
+ | REJECT Business fraud spam #10 | ||
+ | /http:\/\/www\.a1-oportunity4u\.com\/euro2/ | ||
+ | REJECT Business fraud spam #11 | ||
+ | /http:\/\/66.151.240.30\// | ||
+ | REJECT Spam of the worst kind #12 | ||
+ | /http:\/\/members.tripod.com.br\/lev3irkd/ | ||
+ | REJECT Spam of the worst kind #13 | ||
+ | #Mistyfikacje | ||
+ | /jdbgmgr\.exe/ | ||
+ | REJECT Virus hoax #14 | ||
+ | /ready to dictate a war/ | ||
+ | REJECT Hoax #15 | ||
+ | /inquiries@un\.org/ | ||
+ | REJECT Hoax #16 | ||
+ | /UNO is ready to receive signatures/ | ||
+ | REJECT Hoax #17 | ||
+ | /Third World War/ | ||
+ | REJECT Hoax #18 | ||
+ | #Wirusy | ||
+ | /The processing of this message can take a few minutes\.\.\./ | ||
+ | REJECT Win32.Netsky.V #19 | ||
+ | /Converting message.Please wait\.\.\./ | ||
+ | REJECT Win32.Netsky.V #20 | ||
+ | /Please wait while loading failed message\.\.\./ | ||
+ | REJECT Win32.Netsky.V #21 | ||
+ | /Please wait while converting the message\.\.\./ | ||
+ | REJECT Win32.Netsky.V #22 | ||
+ | |||
+ | |||
+ | Oczywiście sam plik możemy dowolnie zmieniać i dostosować do swoich potrzeb, przykład ma na celu pokazać, że bez trudu możemy kontrolować przepływ informacjami w naszym systemie pocztowym. | ||
+ | |||
+ | Po zakończeniu edycji pliku oraz dodania opcji '''body_checks''' do pliku '''main.cf''' pamiętaj o przerestartowaniu usługi postfix | ||
+ | |||
+ | /etc/init.d/postfix reload | ||
+ | |||
+ | == Dodatkowe opcje == | ||
+ | |||
+ | *'''2bounce_notice_recipient''' (domyślnie: postmaster) - jedna z możliwych klas błędów, każda taka klasa może generować powiadomienia o błędach. Polecenie wskazuje adres obdbiorcy powiadomienia o błędzie, np 2bounce_notice_recipient = jkowalski@domenkax.pl | ||
+ | *'''append_at_myorgin''' (domyślnie: yes) - opcja powoduje dołączenie wartości z pola myorigin do adresów, które składają się tylko z części lokalnej np jeśli adresatem jest jkowalski, to opcja ta spowoduje dołączenie do adresata dalszej wartości czyli jkowalski@domenkax.pl. Umożliwia to przesyłanie listów w sieci lokalnej podając tylko nazwe adresata. | ||
+ | *'''body_checks_size_limit''' (domyślnie: 51200) - wartość podawana w bajtach, przy zastosowaniu tego polecenia możemy ograniczyć wielkość początkowego fragmentu treści wiadomości, np body_checks_size_limit = 51200 | ||
+ | *'''daemon_timeout''' (domyślnie: 18000s) - polecenie wskazuje na czas przez jaki demony postfix'a mogą obsługiwać dane żądanie, po jego przekroczeniu kończą pracę. | ||
+ | *'''default_recipient_limit''' (domyślnie: 10000) - opcja ustawia limit liczby odbiorców, których menadżer kolejek przechowuje w pamięci dla konkretnego transportu. | ||
+ | *'''disable_dns_lookups''' (domyślnie: no) - jeżeli ustawimy parametr na yes to postfix nie będzie szukać rekordów MX a pocztę doręcza bezpośrednio na adres z rekordu A, który będzie ustawiony dla domeny docelowej. | ||
+ | *'''empty_address_recipient''' (domyślnie: MAILER-DAEMON) - jeżeli została wysłana wiadomość z pustym polem nadawcy, wiadomość nie może być doręczona. Taka wiadomość zostaje wysłana na adres podany w tej opcji np empty_address_recipient = jkowalski@domenkax.pl | ||
+ | *'''header_size_limit''' (domyślnie: 102400) - opcja pozwala ustawić limit liczby znaków w nagłówku wiadomości, nadmiarowy teks zostaje odrzucony bez żadnych komunikatów. | ||
+ | *'''line_length_limit''' (domyślnie: 2048) - ustawia limit długości wierszy w wiadomości. Wiersze przekraczające tę długość są dzielone i odtwarzane przy doręczeniu np line_length_limit = 3000 | ||
+ | *'''luser_relay''' (domyślnie: pusta) - adres docelowy, na który będą wysyłane wszystkie wiadomości dla nieznanych odbiorców. | ||
+ | *'''max_idle''' (domyślnie: 100s) - maksymalny czas bezczynności, jaki proces demona postfixa może czekać na nowe żądanie. | ||
+ | *'''maximal_backoff_time''' (domyślnie: 4000s) - ustawienie maksymalnego limitu czasu, po jakim postfix ponowi póbę doręczenia odłożonych wiadomości. | ||
+ | *'''message_size_limit''' (domyślnie: 10240000) - opcja ustawia limit wielkości dowolnej wiadomości jaką nasz system może przyjąć, wielkość określana jaes w bajtach, np messae_limit_size = 10000000 | ||
+ | *'''qmgr_message_limit''' (domyślnie: 20000) - określenie limitu liczby wiadomości w kolejce active | ||
+ | *'''smtp_data_xfer_timeout''' (domyślnie: 180s) - ustawienie limitu czasu oczekiwania przez klienta SMTP przy wysyłaniu treści wiadomośc. Jeśli połączenie utknie na czas dłuższy od ustawionej wartości, klient SMTP przerwie połączenie. | ||
+ | *'''smtpd_banner''' (domyślnie: $myhostname ESMTP $mail_name) - tekst który zostanie wyświetlony po kodzie 220 w nagłówku powitalnym SMTP. Jeżeli będziesz chciał zmienić ten parametr musisz pamiętać o dołączeniu dyrektywy $myhostname jest to wymóg RFC. | ||
+ | *'''smtpd_recipient_limit''' (domyślnie: 1000) - limit liczby odbiorców dozwolonych w poleceniach RCPT TO dla każdej wiadomości. | ||
+ | *'''undisclosed_recipients_header''' (domyślnie: To: undisclosed-recipients:;) - wiersz nagłówka wstawiany, gdy w żadnym z nagłówków To:, Resent-To:, Cc: nie jest podany odbiorca. | ||
+ | |||
+ | == Polecenia postfix'a == | ||
+ | |||
+ | Poniżej przedstawiam liste komend, które mogą być użyte w systemie z zainstalowanym '''postfix'em''' do wykonywania różnych operacji. Pełny opis wszystkich poleceń związanych z systemem '''postfix''' znajduje się na stronach [[man]]. | ||
+ | |||
+ | *'''postalias''' - tworzy i odpytuje bazy danych aliasów | ||
+ | *'''postconf''' - polecenie umożliwiające zmiane i wyświetlenie parametrów postfix'a. | ||
+ | *'''postdrop''' - wstawia wiadomość do kolejki poczty, która ma być doręczona przez postfixa. | ||
+ | *'''postkick''' - wysyła żądanie do konkretnej usługi postfix'a. | ||
+ | *'''postlock''' - blokuje wskazany plik dla dostępu z wyłącznością. Pozwala na używanie blokad zgodnych z postfix'em. | ||
+ | *'''postlog''' - rejestruje wskazane informacje. | ||
+ | *'''postmap''' - tworzy i odpytuje tablice powiązań. | ||
+ | *'''postqueue''' - daje dostęp do kolejki postfix'a na poziomie użytkownika. | ||
+ | *'''postsuper''' - daje dostęp do kolejki postfixa na poziomie super użytkownika. Pozwala administratorowi usuwać wiadomości, wstrzymywać je i zwalniać wstrzymanie. | ||
+ | <br /> | ||
+ | Oficjalna strona systemu postfix - [http://www.postfix.org www.postfix.org]<br /> | ||
+ | Konfiguracja postfixa za pomocą pakietu postfix.admin - [http://postfixadmin.sourceforge.net postfixadmin.sourceforge.net] | ||
+ | |||
+ | <br /><google1 style="4"></google1> |