Bądź na bieżąco - RSS

NOCC – następca Webimiau

4 lutego, 2012 | Brak Komentarzy | Kategoria: Linux

Posiadanie własnego systemu webmail lub inaczej mówiąc klienta poczty zainstalowanego na serwerze WWW jest z wielu powodów przydatną rzeczą. Rzecz jasna mamy wiele gotowych rozwiązań takich jak Gmail czy Yahoo Mail lub OWA dla posiadaczy serwera MS Exchange. Jeśli jednak chcemy przygotować rozwiązanie wyłącznie dla swoich (lub firmy) potrzeb i nie chcemy poświęcać dużo czasu na jego konfigurację a mamy już zainstalowany serwer protokołu POP3 lub IMAP to znalezienie dobrego, lekkiego rozwiązania, które w dodatku może zostać zainstalowane praktycznie wszędzie (nie tylko na serwerze poczty jak np. SquirrelMail) staje się małym wyzwaniem.

Moim ulubioną aplikacją do tej pory był Uebimiau. Niestety wydaje się, że projekt został porzucony lub przynajmniej nie jest rozwijany. A szkoda, bowiem był na prawdę prosty w konfiguracji i oferował elegancki interfejs (co dla mnie jest ważne).

Za jego następcę, biorąc pod uwagę łatwość i szybkość wdrożenia, można obecnie uznać projekt NOCC. Ta ciągle rozwijająca się aplikacja posiada minimalne wymagania. W zasadzie wystarczy serwer WWW np. Apache z zainstalowanym PHP w wersji 5.0.0 lub nowszej. Baza danych nie jest potrzebna w tym przypadku. Trochę surowy interfejs całkowicie rekompensuje konfiguracja za pomocą pliku ‘config/conf.php’, która została przejrzyście udokumentowana. Jedyny błąd jaki znalazłem związany był z nieprawidłowym spolsczeniem interfejsu. Usterkę tą można łatwo naprawić usuwając z pliku ‘config/conf_lang.php’ poniższą sekcję:

// Pashto
$lang_array[$i] = new lang();
$lang_array[$i]->filename = 'ps';
$lang_array[$i]->label = 'پښتو';

 

Podobno błąd dotyczy wersji 1.9.1, jednak w poprzednich wersjach również występuje (co osobiście sprawdziłem).

MG

Tagi: , ,

Mozilla Thunderbird – filtry antyspamowe

3 września, 2011 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Pomimo coraz bardziej zaawansowanych algorytmów filtrowania wiadomości zawierających, spam problem zasypywania naszych skrzynek pocztowych niechcianą pocztą jest ciągle aktualny. Ostatnio zetknąłem się z dość szczególnym zachowaniem użytkowników Mozilla Thunderbird. Aplikacja została wyposażona w dosyć dobre filtry antyspamowe. Nie ma sensu opisywanie w tym miejscu jak je włączyć i odpowiednio skonfigurować. Wystarczy skorzystać z Mozilla Zine, gdzie można znaleźć bardzo szczegółowe informacje na ten temat. Wracając do tematu, zauważyłem, że bardzo często użytkownicy z włączonymi filtrami po prostu nie uczą algorytmu co powoduje, że spam nie jest prawidłowo oznaczany i usuwany. W większości przypadków usuwają wiadomości zamiast oznaczyć je jako niechciane. Ponieważ Thunderbird wykorzystuje filtry Bayesa konieczne jest uczenie algorytmu co jest spamem a co nie. Z każdą kolejną iteracją czas poświęcany na naukę filtru skraca się znacząco. W praktyce po kilku dniach nie trzeba już wogóle ingerować w algorytm. Jednak co zrobić gdy mamy do czynienia z wyjątkowo opornym użytkownikiem, który twierdzi, że nie ma na to czasu (wbrew pozorom dosyć częsty przypadek:)? Wystarczy znaleźć użytkownika, który zakończył uczenie filtrów i przegrać od niego plik z danymi treningowymi. Wspomniany plik znajduje się w głównym katalogu profilu Mozlilli Thunderbird  i nosi nazwe training.dat. Teraz wystarczy podmienić wyżej wymieniony plik u użytkownika docelowego. W ten sposób filtr antyspamowy zacznie działać praktycznie od razu. Nie muszę dodawać, że im większy rozmiar  training.dat tym lepiej.

MG

Tagi: ,

Zbuduj sam bezpieczną bramkę SMTP

4 listopada, 2010 | Brak Komentarzy | Kategoria: Linux, Porady

Rzadko można spotkać w internecie aż tak dobre tutoriale. Rzecz dotyczy budowy bramki SMTP wraz z funkcją odfiltrowania SPAMu oraz WIRUSÓW. Mówiąc krótko nawet jeśli jesteś wielkim fanem rozwiązań typu MS Exchange to zawsze możesz obniżyć koszty kierując przychodzący ruch SMTP na wspomnianą bramkę, która z kolei odeśle odfiltrowane wiadomości na serwer pocztowy. W ten sposób nie musimy instalować dodatkowego oprogramowania AV na serwerze. Istnieją nawet firmy, które specjalizują się w tego typu rozwiązaniach jak np. Barracuda Networks oferująca Spam & Virus Firewall. Z doświadczenia wiem, że urządzenie to działa bardzo sprawnie. Jego cena niestety nie należy do najniższych. Dlatego jeśli dysponujesz wolnym komputerem oraz wolnym popołudniem to dobra chwila aby zmierzyć się z własną bramką. Poniższy poradnik sieciowy poprowadzi Cię za ręke – nawet jeżeli jesteś tylko średniozaawansowany:)

http://www200.pair.com/mecham/spam/spamfilter20090215.html

MG

Tagi: , ,

Autoodpowiedź czyli do czego możemy zaprząc procmaila

5 sierpnia, 2010 | Brak Komentarzy | Kategoria: Linux, Porady

Autoodpowiedź jest szeroko stosowaną funkcją serwera poczty. Tak przynajmniej myśli większość typowych użytkowników poczty elektronicznej. Jeśli weźmiemy pod uwagę serwery SMTP typowe dla Linuxa to może się okazać, że autoodpowiedź można zrealizować na kilka sposobów i to zupełnie niezależnie od używanego MTA. Pomijam tutaj aspekt przydatności tej funkcji oraz wszystkich za i przeciw. Wracając do Linuxa najprościej jest zainstalować pakiet vacation. Możemy jednak zrobić wszystko jeszcze inaczej. Poniżej zamieściłem przykładowy plik .procmailrc, który umożliwi zrealizowanie opdowiedzi wakacyjnej bez instalowania dodatkowych pakietów.

LOGFILE=$HOME/.procmail_log
vacationFlagFile = $HOME/.vac
vacationMsgFile = $HOME/.vacation_msg

# Jesli dostales wiadomosc Vacation_mode_On
:0
* ^Subject: Vacation_mode_On
{
  # Zapisz tresc wiadomosci
  :0 bc:
  $vacationMsgFile

  # Wlacz znacznik wakacyjny
  :0
  | touch $vacationFlagFile
}

# Jesli otrzymales wiadomosc Vacation_mode_Off
:0
* ^Subject: Vacation_mode_Off
{
  # Usun komunikat i znacznik wakacyjna
  :0
  | rm $vacationFlagFile $vacationMsgFile
}

# Jesli istnieje plik vacationFlagFile
:0
*$ ? $IS_EXIST $vacationFlagFile

{
  :0hc
  * ! ^FROM_DAEMON          # Usun komunikaty systemowe
  * ! ^Subject:.*SPAM       # Usun spam
  * ! ^X-Loop: IWasHere     # Usun wiadomosci zapetlone

  # Odpowiedz komunikatem z vacationMsgFile
  | (formail -rA "Precedence: junk" -A "X-Loop: IWasHere" ; \
  cat $vacationMsgFile) \
  | $SENDMAIL -oi -t
}

Czym różni się powyższy przykład od setki innych, które można znaleźć w internecie? Przede wszystkim w tym przypadku, żeby włączyć autoodpowiedź wystarczy wysłać na swój adres wiadomość z tematem “Vacation_mode_On”. W jej treści zaś umieszczamy komunikat autoodpowiedzi. Odpowiednio, żeby wyłączyć autoodpowiedź wysyłamy wiadomość “Vacation_mode_On”.

Ponadto skrypt odfiltrowywuje komunikaty systemowe, wiadomości zapętlone stanowiące utrapienie wielu administratorów oraz spam. To ostatnie oczywiście jeśli mamy zainstalowane odpowiednie oprogramowanie (np. SpamAssassin), które doda do tematu podejrzanej wiadomości słowo kluczowe SPAM.

Skrypt ten zapewne można poprawiać i dalej optymalizować do czego zachęcam. W trakcie korzystania odkryłem np. że istotne jest kodowanie polskich znaków w wiadomości włączającej autoodpowiedź. Początkowo nie stosowałem wogóle polskich znaków ale rzecz jasna jest to rozwiązanie na krótką metę. Dlatego postanowiłem dodać do skryptu konwerter standardów kodowania. Ale o tym może następnym razem…

MG

Tagi: , ,

Listy dystrybucyjne i procmail

25 lutego, 2010 | Brak Komentarzy | Kategoria: Linux, Porady

Powszechne narzekanie na ilość zalewającego nas spamu stało się banałem. Automaty rozsyłające niechciane wiadomości działają nieustannie, dość skutecznie zalewając skrzynki pocztowe. Istnieje wiele metod walki z opisywanym zjawiskiem. Ja jednak chciałem skupić się na wybranym przypadku. W większości firm istnieją adresy zbiorowe, za pomocą których tworzy się proste listy dystrybucyjne,  np.  wysłanie wiadomości na adres “biuro@firma.com” powoduje automatyczne rozesłanie jej do kilku adresatów. Nie trzeba długo się zastanawiać aby dojść do wniosku, że taki adres może również ułatwiać rozsyłanie spamu! Co zrobić aby zabezpieczyć się przed tym zjawiskiem? Poniżej zamieściłem opis dość prostej i skutecznej metody.

Przede wszystkim zakładam, że na serwerze zainstalowany jest pakiet procmail, który umożliwi przetwarzanie przychodzących wiadomości. Na temat pisania reguł dla procmaila można znaleźć dużo materiałów w sieci  np. tutaj. Nadaje się do wielu zadań i pozwola naprawdę dodać nowe funkcje do serwera poczty sam nie będąc jego integralną częścią. Ale do rzeczy. Żeby zabezpieczyć adres zbiorowy tworzymy w katalogu domowym dla konta “biuro” (kontynuując przykład z pierwszego akapitu) plik “.procmailrc”

touch .procmailrc

Następnie umieszczamy w nim mniej więcej taką zawartość:

LOGFILE=$HOME/.procmail_log
:0
# Przepuszczaj wiadomosci jesli pole nadawca zawiera ciąg @firma.com.
* ^From:.*@firma\.com
# Odfiltruj wiadomosci od daemona.
* ! ^FROM_DAEMON
# Odfiltruj wiadomosci zapetlone.
* ! ^X-Loop: EFa1bie2reifiuXeiveizae2
{
  :0fwh
  # Stempluj naglowek kazdej przetwarzanej wiadomosci.
  | formail -A"X-Loop: EFa1bie2reifiuXeiveizae2"
  :0
  # Wyslij wiadomosc na adresy pobrane z pliku ".lista".
  !`cat .lista`
}
:0
# Cala reszte przekieruj w kosmos!
/dev/null

A teraz po kolei. Przede wszystkim ograniczamy zbiór nadawców do tych, którzy mają w polu “Nadawca” ustawione “@firma.com“. Oczywiście spamerzy również mogą podszyć się pod ten adres  (zmiana wartości pola “Nadawca” jest łatwa). Jednak z mojego doświadczenia wynika, że to proste ograniczenie pozwala znacznie ograniczyć ruch. Pozostałe wiadomości odrzucamy przekierowując  je na “/dev/null”.

Wiadomość, która spełnia podstawowy warunek zostanie przetworzona. Zanim jednak tak się stanie dobrze jest sprawdzić 2 warunki:

  • Czy nie jest to przypadkiem wiadomość od daemona systemowego. Bardzo pożyteczny warunek w sytuacji gdy dystrybuujemy wiadomość na konto, które nie istnieje (np. administrator usunał je bez poinformowania nas o tym). Zabezpiecza przed zapętleniem wiadomości.
  • Czy nie jest to wiadomość zapętlona. Np. użytkownik docelowy ustawił sobie autoodpowiedź, wówczas będzie automatycznie odpowiadał na wiadomość z listy dystrybucyjnej (rozsyłając tym samym autoodpowiedź do wszystkich jej odbiorców). Lista z kolei będzie odsyłać ją z powrotem i tak w kółko. Warto zwrócić uwagę, że aby sprawdzić czy wiadomość nie była już raz przetwarzana (czyt. jest zapętlona) trzeba ją oznaczyć stemplem w nagłówku.

Jeżeli wymienione warunki zostały spełnione, możemy z czystym sumieniem rozesłać wiadomość do użytkowników wymienionych w pliku “.lista”, która przykładowo ma postać:

user1@firma.com
user2@firma2.com
user3@firma3.com

MAG

Tagi: , , ,