Nowy zestaw reguł dla Spamassasina

Około miesiąc temu dodałem nowy zestaw reguł. Są to reguły generowane automatycznie z treści spamu który otrzymuję. Tych reguł jest dosyć dużo, wszystkie to są regexpy, zatem może zauważalnie wzrosnąć obciążenie Waszych serwerów jeśli obsługują one dużą ilość ruchu.
Gdyby były tego typu problemy to dajcie znać. Jeśli te reguły będą działać i wyłapią to czego nie łapią inne reguły, dajcie znać. Jak będą false positive to także proszę o informację.

2024-04 – reguły nadal są generowane i można z nich korzystać.

Mój krótki epizod z gnum.pl

Pewnego pięknego i ciepłego dnia dostałem pęczek maili, które zburzyły mój sielankowy nastrój. Rejestrator moich IDNowych domen przypomniał, że roczny okres dzierżawy domen mija i należy się podzielić z nimi swoimi ciężko zarobionymi pieniędzmi. W takich chwilach gwałtownie rośnie chęć przejrzenia ofert rejestratorów domen. Szukam, szukam i trafiłem na rejestratora, który ma ceny niższe niż moje obecne. Tak o to trafiłem na serwis gnum.pl.
Szczęśliwy, że mogę zaoszczędzić kilka groszy pędzę czytać regulamin:
http://web.archive.org/web/20150921125307/https://gnum.pl/regulamin
A tam widzę taki punkt w Polityce Prywatności:

5. Żadne obszary serwisu Gnum.pl nie wykorzystują plików Cookies.

Wow! Czyżby wzieli przykład z np. StartSSL i logowanie odbywa się z użyciem klucza i certyfikatu SSL? Wydało się mi to jednak zbyt nowatorskim podejściem i zacząłem podejrzewać, że jednak sprawdzanie czy użytkownik jest zalogowany odbywa się klasycznie czyli poprzez ciastko. Użyłem wielce skomplikowanego polecenia aby poznać prawdę jak to jest z tymi słodyczami.

$ curl -I https://gnum.pl
HTTP/1.1 200 OK
Date: Mon, 21 Sep 2015 13:06:00 GMT
Server: Apache/2
X-Powered-By: PHP/5.3.29
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=e4ad72d1d42235c87395755f6fc30e36; path=/
Vary: Accept-Encoding,User-Agent
Content-Type: text/html

Co ja paczę?! Widzę, że php używany przez serwer (zakładając, że nie została ona podmieniona) to bardzo nowoczesna, wspierana i bez żadnych błędów bezpieczeństwa wersja 5.3.29. Nic to, w phpie i tak się nikt nie połapie. Bardziej zacząłem martwić się tym, że jest ustawiane ciastko, a przecież Polityka Prywatności jasno nas informuje, że żadne obszary serwisu nie używają ich. Wysłałem informację na ten temat do serwisu.
Mija dzień za dniem, nie śpię po nocach oczekując informacji o tym, że problem został rozwiązany, w tym czasie na kawę wydałem fortunę. Piątego dnia oczekiwania poddałem się, uznałem, że firma „ReTop Internet Solutions Gądziak Miłosz” nie udzieli mi odpowiedzi na pytanie o to dlaczego łamie swój własny regulamin. A skoro mają takie podejście to ja nie będę zainteresowany współpracą z nimi. Zatem wysłałem do nich grzeczną prośbę o zaprzestanie przetwarzania moich danych osobowych i ich usunięcie. Otrzymałem odpowiedź, że moja prośba została zrealizowana.
Nie mogę się zalogować w tym serwisie na swoje konto, optymistycznie uznaję, że dane zostały usunięte.
I tak myśląc o tych danych to coś mnie tknęło. Zaglądam w regulamin i szukam informacji o tym kto jest administratorem moich danych osobowych. Ups, cisza, nie ma tam takiej informacji. Z duszą na ramieniu tuptam do serwisu https://egiodo.giodo.gov.pl/index.dhtml i staram się znaleźć informację czy ten zbiór danych został zgłoszony. Nie znalazłem ani szukając po słowie „gnum” ani po nazwie firmy. To może mają własnego ABI? Korzystając z wcześniej wymienionych danych również nie znalazłem ABI powiązanego z tą firmą. Cóż, może tylko źle szukałem, może tylko wystarczyłoby dopytać u źródła? Odpuściłem to sobie.
Mija ósmy dzień a odpowiedzi nadal nie mam (usunięcie konta z ich serwisu nie oznacza, że nie chcę jej otrzymać!:) ).

I tak o to nie skusiłem się na korzystanie z takiego rejestratora domen, odżałowałem trochę diengów i zapłaciłem daninę u dotychczasowego rejestratora.
P.S. Zwróciłem nadawcy – właścicielowi firmy uwagę na to, że wysyła maile ze złą datą – wcześniejszą o dwa dni. W mailu otrzymanym kilka dni później data także była wsteczna, zapewne akurat ta osoba była zaczytana w dziele Marcela Prousta:)

Nowy RBL (uribl) oraz kanał z regułami dla Spamassassina

Niedawno uruchomiłem swoją nową czarną listę, do tej pory była to lista oparta na adresach IP serwerów wysyłających emaile (http://blog.mejor.pl/2011/10/czarna-list-rbl/). Ta lista miała pewną wadę, część spamerów dosyć często zmienia adresy IP swoich serwerów, przez to często byłem „zaskakiwany”, że dany nadawca przedostał się przez sito. Zatem zacząłem dodatkowo używać nazw domenowych pojawiających się w treści emaili. Aby elastycznie zarządzać taką listą niechcianych domen to wybór był prosty: uribl. Tak o to powstał uri RBL o adresie uribl.mejor.pl.

Tak jak i „ipkowy” RBL jest głownie nastawiony na walkę z polskimi, niechcianymi mailami marketingowymi tak i ten ma podobny charakter. Co nie oznacza, że inny rodzaj spamu nie jest (o ile da się) dodawany do owych RBLi.

Aby w skorzystać z tego uribl w Spamassassinie proponuję taki zestaw reguł:

 

uridnsbl_skip_domain    www.spamcop.net openspf.net microsoft.com amazonaws.com
urirhssub       LR_URIBL_H1     uribl.mejor.pl. A   127.0.0.1
body            LR_URIBL_H1     eval:check_uridnsbl(’LR_URIBL_H1′)
describe        LR_URIBL_H1     Contains an URL listed in the uribl
tflags          LR_URIBL_H1     net domains_only
urirhssub       LR_URIBL_H2     uribl.mejor.pl. A   127.0.0.2
body            LR_URIBL_H2     eval:check_uridnsbl(’LR_URIBL_H2′)
describe        LR_URIBL_H2     Contains an URL listed in the uribl
tflags          LR_URIBL_H2     net domains_only

 

Punktację proszę sobie ustawić według własnego smaku:)

 

Drugą nowością u mnie jest uruchomienie kanału z regułami dla Spamassasina. Tam planuję umieszczać reguły do wyłapania tego czego nie wyłapią oba w/w RBLe (lub mimo tego dany spam będzie zbyt nisko punktowany) oraz zestaw reguł od Lemata. A także reguły wyłapujące aktualnie rozsyłany wiruso-spam z botnetów (zwłaszcza, że często nie jest on wykrywany przez antywirusa przez dosyć długi czas). Te reguły mogą być aktualizowane nawet kilka razy dziennie (albo w ogóle przez kilka tygodni:)) dlatego proponuję często uruchamiać sa-update. Do tego zestawu reguł dla SA dodałem w/w reguły dotyczące uribl. Więc jeśli skorzystasz z tego kanału to nie musisz dodawać powyższych reguł (ani reguł dodających rbl.mejor.pl ).

W celu dodania oraz aktualizacji tych reguł można użyć takiego polecenia: sa-update --nogpg --channel sa.mejor.pl

 

W razie pytań proszę o pozostawienie komentarza.

Serce mi krwawi (heartbleed) gdy widzę efekty pracy lamer adminów

Kilka dni temu świat IT obiegła informacja o bardzo niemiłej podatności w bibliotece OpenSSL. Została ona nazwana Heartbleed.Z grubsza umożliwia ona dostęp do pamięci procesu z którym możemy połączyć się protokołem TLS.

Po przeskanowaniu kilku sieci jestem bardzo zdegustowany poziomem jaki prezentują ladmini. Nie mówię o serwerach, które są całkowicie podatne, ignorowanie aktualizacji bezpieczeństwa może być zarówno wynikiem lenistwa, lamerstwa jak i układów biznesowych. Tacy ladmini nie są zaskoczeniem. Natomiast zauwazyłem jeszcze jedną kategorię, Ci co coś słyszeli o błedzie w OpenSSL i że ich serwery www mogą byc podatne na ten atak. Cóż takiego oni robią? Aktualizują bibliotekę kryptograficzną, restartują demona www i zadowoleni z siebie wylogowują się.
A ten błąd dotyczy wszystkich aplikacji korzystających z OpenSSL, tak, tak, MTA także jest podatny! Jak i demon pop3/imap, itd. Informacja o tym, że na porcie 443 działa serwer z załataną biblioteką ale na porcie 25 już nie wprowadza mnie w stan zażenowania, zażenowania, że ktoś może brać pieniądze za taką amatorszczyznę. Toć to większa amatorszczyzna niż 777 u pseudophpowców.

Nmap scan report for xxx.pl (91.x.y.z)
 Host is up (0.030s latency).
 Not shown: 2 closed ports
 PORT    STATE SERVICE
 25/tcp  open  smtp
 | ssl-heartbleed:
 |   VULNERABLE:
 |   The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. It allows for stealing information intended to be protected b
 y SSL/TLS encryption.
 |     State: VULNERABLE
 |     Risk factor: High
 |     Description:
 |       OpenSSL versions 1.0.1 and 1.0.2-beta releases (including 1.0.1f and 1.0.2-beta1) of OpenSSL are affected by the Heartbleed bug. The bug allows for reading me
 mory of systems protected by the vulnerable OpenSSL versions and could allow for disclosure of otherwise encrypted confidential information as well as the encryption
 keys themselves.
 |
 |     References:
 |       http://cvedetails.com/cve/2014-0160/
 |       http://www.openssl.org/news/secadv_20140407.txt
 |_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
 110/tcp open  pop3
 143/tcp open  imap
 443/tcp open  https
  465/tcp open  smtps
 | ssl-heartbleed:
 |   VULNERABLE:
 |   The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. It allows for stealing information intended to be protected b
 y SSL/TLS encryption.
 |     State: VULNERABLE
 |     Risk factor: High
 |     Description:
 |       OpenSSL versions 1.0.1 and 1.0.2-beta releases (including 1.0.1f and 1.0.2-beta1) of OpenSSL are affected by the Heartbleed bug. The bug allows for reading me
 mory of systems protected by the vulnerable OpenSSL versions and could allow for disclosure of otherwise encrypted confidential information as well as the encryption
 keys themselves.
 |
 |     References:
 |       http://cvedetails.com/cve/2014-0160/
 |       http://www.openssl.org/news/secadv_20140407.txt
 587/tcp open  submission
 | ssl-heartbleed:
 |   VULNERABLE:
 |   The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. It allows for stealing information intended to be protected b
 y SSL/TLS encryption.
 |     State: VULNERABLE
 |     Risk factor: High
 |     Description:
 |       OpenSSL versions 1.0.1 and 1.0.2-beta releases (including 1.0.1f and 1.0.2-beta1) of OpenSSL are affected by the Heartbleed bug. The bug allows for reading me
 mory of systems protected by the vulnerable OpenSSL versions and could allow for disclosure of otherwise encrypted confidential information as well as the encryption
 keys themselves.
 |
 |     References:
 |       http://cvedetails.com/cve/2014-0160/
 |       http://www.openssl.org/news/secadv_20140407.txt
 |_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
 993/tcp open  imaps
|_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160

Krótka i wybiórcza pamięć polityków (na przykładzie Danuty Pietraszewskej)

We wczorajszym programie „Za a nawet przeciw” nadawanym w Polskim Radio, w Trójce była rozmowa o tym „Czy należy uznać Ślązaków za mniejszość narodową?”. Przyczynkiem do tej audycji była decyzja SN o cofnięciu rejestracji „Stowarzyszenia Osób Narodowości Śląskiej”.

Pod koniec audycji Pani posłanka Danuta Pietraszewska ( całą audycję można wysłuchać tutaj http://www.polskieradio.pl/9/302/Artykul/1001113,Czy-nalezy-uznac-Slazakow-za-mniejszosc-narodowa ) stwierdziła (czas: 43:15)  „[…]  Potrzebna jest bardzo szeroka dyskusja na ten temat ponieważ nie można lekceważyc miliona, prawie miliona ludzi, którzy w sercu mają tą tożsamość Śląską, chcą ją wyrazić. […]”. Później pada stwierdzenie, że użycie określenia „prawie milion osób” jest nadużyciem, Pani poseł przychyla się do tegi zdania, że Ślązaków jest około 400 tysięcy.

Niedawno było głośno o referendum dotyczącym tego czy sześciolatki mają mieć obowiązek szkolny. Zebrano ponad milion podpisów pod wnioskiem o jego ogłoszenie. Było w sejmie głosowanie w sprawie tego wniosku, Pani poseł Pietraszewska głosowała tak jak główna chorągiew PO wskazała. Zagłosowała przeciwko referendum ( imienna lista głosujących posłów: http://orka.sejm.gov.pl/Glos7.nsf/nazwa/53_22/$file/glos_53_22.pdf) .

Rozumiem, że to oznacza, „szeroką dyskusję” na temat, którym jawne zainteresowanie (poprzez złożenie podpisu pod wnioskiem) wyraziło _ponad_ milion osób?!  Ach ta względność, 400 tysięcy znaczy więcej niż ponad milion! Na pewno nie ma to żadnego związku z tym, że Pani Pietraszewska czuje się Ślązaczką…

Tanie (i nie tylko) mięso psy jedzą cz.2, dziś opinia o Exone (exone.pl)

Jedną z cech bloga powinna być długość wpisów. Krótsze od książki lecz dłuższe od wpisów na Twitterze. Nie używam Twittera używam zatem bloga do umieszczenia krótkich informacji.

Dzisiaj chciałbym wyrazić moją negatywną ocenę o firmie Exone.pl.  Posiadam tam vpsa co daje mi możliwość sprawdzenia jak ten hosting działa. Głównym problemem jaki mam z firmą Exone.pl to jej słaby dostęp do internetu. Host jest często nieosiągalny ze świata albo są duże straty do niego. Okresy problematyczne trwają niejednokrotnie po kilkadziesiąt minut, kilka godzin.

Problem z dostępnością nie jest cechą taniego vpsa, można to sprawdzić badając np. dostępność ich głównej strony. Ona także jest nieosiągalne z powodów problemów sieciowych.

Aktualizacja marzec 2021:

Potrzebowałem małego vpsa gdzieś w innej sieci. Zapomniałem już o tym, że nie byłem zadowolony z ich usług. Dla vps typu konter posiadają tylko stare dystrybucje, najnowsza to Ubuntu 16, która za chwilę w ogóle nie będzie wspierana. Na dwa maile do ich działu pomocy nie dostałem żadnej odpowiedzi po dwóch pełnych dniach. Być może jeszcze dostanę.

Moja opinia: Exone.pl należy omijać łukiem.

Poszukiwania nowego banku dla prowadzenia RORu

Obecnie korzystam z usług banku Credit Agricole, od pewnego czasu niektóre jego wady zaczęły być dla mnie bardziej irytujące. Najspokojniejszym momentem dnia jest u mnie późny wieczór. Mogę wtedy spokojnie zasiąść do kompa, wypchnąć zaległości, porobić opłaty. Właśnie, najczęściej wtedy trafiam na przerwę w pracy e-bankowości. Nie podoba mi się także limit 300PLN aby nie ponosić opłaty za kartę płatniczą. Nie jestem wielbicielem plastikowego pieniądza, a na dodatek zwykle to nie ja robię zakupy domowe. Więc często płacę za kartę.

Jestem w trakcie przeglądania ofert banków, niektóre z nich odpadają u mnie już po zapoznaniu się z taryfą opłat. A niektóre testuję w rzeczywistym użyciu. Zakładam konto, robię przelewy, oglądam funkcjonalność i działanie ich serwisu. Chciałem się podzielić niektórymi spostrzeżeniami jakich dokonałem. Nie jest to żadne syntetyczne porównanie, tym zajmują się portale finansowe.

Jeśli przetestuję kolejne konta to uzupełnię wpis.

Lukas Credit Agricole:

– opłaty za prowadzenie konta i kartę płatniczą jeśli nie zrobi się „planu”. Aby nie pobrano opłaty za kartę płatniczą to należy w ciągu miesiąca dokonać transakcji na min. 300 PLN.

– nie można robić przelewów od około 23.30 do ok. północy

+- przeciętna wysokość oprocentowania lokat

+ darmowe elektroniczne potwierdzenia wykonania przelewy

+ token do autoryzacji operacji

+ zmiana limitu wypłat jest darmowa

+ serwis www jest oszczędny we wzornictwie i bajerach, za to działa szybko

+ wszystkie operacje (łącznie z logowaniem) wymagają użycia tokena

+ elektroniczne potwierdzenia przelewu można samemu wygenerować, bez opłat

 Alior Bank:

– kontakt z BOKiem w sprawie technicznej pozostawił we mnie niesmak

– opłata za kartę płatniczą (min. 5PLN)

+ wygodny interfejs www (obrzydliwie ajaxowy;) )

Deutsche Bank PBC:

– serwer www z serwisem transakcyjnym jest prawdopodobnie w USA, są duże opóźnienia (min. 100ms) na trasie pakietów nie sprzyjają szybkiej nawigacji po stronie

– teraz hit: przelewy wewnętrzne (w tym także pomiędzy rachunkami konta) są księgowane od poniedziałku do piątkowego popołudnia. Jeśli w sobotę będziemy potrzebowali pieniędzy z konta oszczędnościowego to jest pewien problem.

– aby zalogować się do systemu bankowego wystaczy samo hasło (bez kodu z sms, 8 cyfr)

– nie widzę możliwości wygenerowania potwierdzenia przelewu w formie elektronicznej (a papierowa? kosztuje 10PLN)

+ rachunek oszczędnościowy ma (na bieżącą chwilę) wysokie oprocentowanie

 

Aktualizacja (2013.07.02): Credit Agricole cichutko wprowadził opłatę za posiadanie pożyczki w koncie. Opłata wynosi min. 60PLN. Doszła również opłata za korzystanie z tokena sprzętowego w wys. 3 PLN/mies. Czas ponownie zainteresować się tym czy któryś bank mniej, jakby to bezpiecznie określić…, pobiera z konta swojego przymusowego klienta.

Widziałem potwora z Loch Ness!

Nie zdążyłem, niestety, wyjąć aparatu i zrobić zdjęcie. Ale widziałem!

Dobra, żartuję, jest sezon ogórkowy i trzeba się ratować. Apropos ogórków, nareszcie są już nowalijki, wreszcie można zjeść sobie świeżą zieleninę. Ponad pół roku na to czekałem.

blog-loch-ness@kolekcja2.mejor.pl

skrzynka-post@kolekcja2.mejor.pl

Czarna list adresów ip (RBL) nadawców maili

Pod adresem rbl.mejor.pl jest dostępna moja własna lista adresów ip, od których nie chcę otrzymywać emaili. Najczęściej są to maile z „to nie jest oferta handlowa”. Jest to lista (obecnie) trójstopniowa, zwracam rekordy o wartości 127.0.0.1, 127.0.0.2, 127.0.0.5. Zwykle wygląda to w ten sposób, że pierwszy email to jeden punkt, drugi to dwa, trzeci to pięć. Jak zawsze są wyjątki, jeśli mail dostał zbyt mało punktów z innych reguł to ipek nadawcy może już w pierwszym podejściu awansować na wyższy pułap (lub gdy treść była wyjątkowo irytująca).
Na swojej liście mam umieszczony np. Linkedin, za spamowanie zaproszeniami. Ostrzegam…
Sposób odpytywania rbla jest klasyczny, jeśli interesuje kogoś co sądzę o adresie 1.2.3.4 to odpytuje o rekord A dla hosta 4.3.2.1.rbl.mejor.pl.

Poniżej zamieszczam gotowca do spamassassina (zawierającego również punktację dla białej listy).


header __LR_NADAWCA_W_H eval:check_rbl('horhe-lastexternal', 'rbl.mejor.pl.')
describe __LR_NADAWCA_W_H Odebrane od nadawcy w RBL horhe
tflags __LR_NADAWCA_W_H net
reuse __LR_NADAWCA_W_H

header LR_NADAWCA_W_RBL_H1 eval:check_rbl_sub('horhe-lastexternal', '127.0.0.1')
describe LR_NADAWCA_W_RBL_H1 Odebrane od nadawcy w RBL horhe
tflags LR_NADAWCA_W_RBL_H1 net
score LR_NADAWCA_W_RBL_H1 1
reuse LR_NADAWCA_W_RBL_H1

header LR_NADAWCA_W_RBL_H2 eval:check_rbl_sub('horhe-lastexternal', '127.0.0.2')
describe LR_NADAWCA_W_RBL_H2 Odebrane od nadawcy w RBL horhe
tflags LR_NADAWCA_W_RBL_H2 net
score LR_NADAWCA_W_RBL_H2 2
reuse LR_NADAWCA_W_RBL_H2

header LR_NADAWCA_W_RBL_H5 eval:check_rbl_sub('horhe-lastexternal', '127.0.0.5')
describe LR_NADAWCA_W_RBL_H5 Odebrane od nadawcy w RBL horhe
tflags LR_NADAWCA_W_RBL_H5 net
score LR_NADAWCA_W_RBL_H5 5
reuse LR_NADAWCA_W_RBL_H5

header LR_NADAWCA_W_RWL_H1 eval:check_rbl_sub('horhe-lastexternal', '127.0.1.1')
describe LR_NADAWCA_W_RWL_H1 Odebrane od nadawcy w RWL horhe
tflags LR_NADAWCA_W_RWL_H1 net
score LR_NADAWCA_W_RWL_H1 -1
reuse LR_NADAWCA_W_RWL_H1

header LR_NADAWCA_W_RWL_H2 eval:check_rbl_sub('horhe-lastexternal', '127.0.1.2')
describe LR_NADAWCA_W_RWL_H2 Odebrane od nadawcy w RWL horhe
tflags LR_NADAWCA_W_RWL_H2 net
score LR_NADAWCA_W_RWL_H2 -2
reuse LR_NADAWCA_W_RWL_H2

To jest moja własna lista, nie ponoszę odpowiedzialności za skutki jej użycia przez innych.