Czy narzędzia zwane captcha mogą przyczynić się do uniknięcia ataku typu DDoS na bloga? To dośc daleko idące stwierdzenie, ale jak się przekonałem dość zasadne.

W ciągu ostatnich trzech tygodni mój blog był atakowany spamowymi komentarzami pochodzącymi z różnych źródeł, choć z tym samą, bardzo długą i bogatą w HTML zawartością, emailem i URL’ami. Akismet dzielnie stawiał czoła atakom i żadne z tych komentarzy nie ukazały się jako opublikowane na blogu. Jednak kumulowanie tych spamowych komentarzy przyczyniło się do wzrostu wielkości bazy danych. Moja baza “puchła” o 1MB dziennie tylko od tych komentarzy spamowych.

Nie trzeba opisywać, że w sytuacji kiedy płacę za ilośc wykorzystywanego miejsca, a baza jest współużytkowana przez innych klientów mojego providera, takie zachowanie może budzić niepokój.

Dlatego w niedługim czasie na blogu pojawi się captcha, która wydaje się na chwilę obecną jedynym rozwiązaniem przed tego rodzaju “atakami”.

Dla wszystkich użytkowników WordPress’a polecam wtyczkę Optimize DB, która pozwalała mi sprawnie przywracać bazę do optymalnego stanu po kasowaniu wielu komentarzy.

WordPress daje swoim użytkownikom dwie podstawowe metody zatwierdzania komentarzy:

  • komentarze moderowane, które czekają aż administrator je zatwierdzi bądź też podlegają automatycznym metodom moderacji (np. dwa bądź więcej linków w komentarzu może spowodować uznanie komentarza za potencjalny spam)
  • komentarze otwarte, które ukazują się natychmiast po ich opublikowaniu przez czytelnika bloga

Jest też metoda pośrednia, czyli automatyczne  zatwierdzanie komentarzy od czytelników, których poprzednie komentarze zostały już zatwierdzone. Ale ja chciałbym się skupić na dwóch wyżej wspomnianych.

Moderacja to czynność wymagająca dużej ilości czasu i poświęcenia, tym wyższego im więcej nasz blog ma czytelników. To rozwiązanie sprawdzające się najlepiej dla małych blogów, gdzie komentarze nie są publikowane w dużej ilości. Jeśli dodatkowo wykorzystamy opisaną przeze mnie metodę pośrednią, gdzie komentarz zostaje automatycznie zatwierdzony jeśli pochodzi od autora poprzednio zaakceptowanego komentarza, zmora moderacji może wydawać się trochę lżejsza.

Moderacja ma także inny odcień – nazwałbym go politycznym. Wyobraźmy sobie bloga, którego autor stawia kontrowersyjne tezy, z którymi ludzie się nie zgadzają. Moderacja w takim wypadku może być wykorzystana do publikowania tylko pochlebnych czy zgodnych z tezą autora komentarzy. Inni komentatorzy nigdy nie będą mieli dane zobaczyć swojego komentarza pod postem. Mimo, że blog jest własnością autora i może on dowolnie sterować wyświetlaną na jego stronach treścią, samo istnienie komentarzy daje jego czytelnikom możliwość dyskusji z autorem. Demokracja takiej dyskusji to jeden z filarów Internetu. Jakakolwiek cenzura na tym polu mogłaby wydawać się nieetyczna a w najlepszym przypadku szkodliwa dla samego autora.

Kiedy nasz blog staje się popularny albo nagle dosięga go fala digga, Technorati, Wykopu.pl czy w najgorszym przypadku – spamu, spędzanie czasu na moderacji może być jak walka z wiatrakami. Wtedy też zaczynamy rozglądać się za metodą alternatywną.

Tą alternatywną metodą jest otwarcie komentarzy dla wszystkich. Jeśli jednak moderacja była przez właścicieli blogów uznawana za zmorę i pochłaniała zbyt dużo czasu, usuwanie spamowych komentarzy, które zaczynają się pojawiać w momencie otwarcia naszego bloga na wszyskie komentarze, stanie się horrorem. W tym przypadku wprowadzenie rozwiązania, które przechwytuje spam staje się wręcz obowiązkowe.

Najlepszym rozwiązaniem jakie znam i które z powodzeniem wykorzystuję nazywa się Akismet. Jest to system zbudowany przez twórców WordPress’a, którego zadaniem jest ochrona blogów przed spamem. Odkąd zainstalowałem to narzędzie, a wydaję mi się, że było to już dobre kilka miesięcy temu Akismet obronił mnie przed 191,643 spamowymi komentarzami, przepuścił 2,008 nie-spamowych komentarzy przy dokładność w wykrywaniu spamu aż 99.945%! Ta dokładność oznacza, że Akismet przepuści tylko jeden spam na 1820 komentarzy. Jeśli porównamy to z wydajnością filtrów antyspamowych znanych z Outlook’a, Yahoo Mail, Live Mail czy GMail, 99.945% robi duże wrażenie.

Zaletą Akismet’a jest jego konstrukcja. Wszyscy użytkownicy, którzy mają zainstalowany ten dodatek na swoich blogach pomagają w osiąganiu jego dobrej wydajności. Każdy przepuszczony przez silnik komentarz spamowy jest oznaczany przez właściciela bloga, a Akismet “zapamiętuje” charakterysytkę tego komentarza spamowego, niejako ucząc się, by nie przepuścić go na żadnym innym blogu. Dzięki temu spam raz wykryty nigdy nie będzie przepuszczony na innych blogach. To jedno z najciekawszych i najlepszych rozwiązań, nie tyle w samej idei walki ze spamem, ile w metodzie jak to jest robione. Akismet działa niejako Wikipedia, kolekcjonując wiedzę i doświadczenie wielu blogów/blogerów jednak wykorzystuje tę wiedzę w praktyczny sposób – w celu zapewnienia lepszego działania swojego własnego silnika.

Kiedy piszę te słowa obok mnie leży książka Russella Norviga pt. Artificial Intelligence, A Modern Approach, którą wykorzystywałem do egzaminu z AI z zeszłego tygodnia. Nasuwa mi się do głowy pytanie, czy Akismet nie jest przykładem zubożonego systemu sztucznej inteligencji. Zubożonego, ponieważ system nie uczy się sam, a wykorzystuje do tego dezycje ludzkie. Jednak raz zdobytą w ten sposób wiedzę wykorzystuje bardzo dobrze i robi to sam, na podstawie reguł, jakie ma zdefiniowane.

Jednak nie o AI jest ta notka, a o komentarzach w WordPress. Z osobistego doświadczenia wiem, że metoda druga, czyli nie moderowanie komentarzy i współpraca z Akismet to najlepsze rozwiązanie. Mimo braku znajomości reguł, którymi Akismet się posługuje, co nie raz powodowało krytykę na forach Internetu[1], sama reguła otwartych komentarzy dla czytelników bloga jest jasna i zrozumiała.

Prawda, że miło?

Jestem pod wielkim wrażeniem tego co znalazłem w statystykach odwiedzin mojego bloga. Przeglądałem tylko kilka stron spośród wszystkich ponad 32 tysięcy słów kluczowych i wybrałem tylko kilka, by je skomentować. Postanowiłem je podzielić na kilka kategorii, w zależności od tematyki zapytania.

Microsoft

  • Windows do ściągnięcia – było wiele kombinacji tego zapytania, np. Windows torrent, Windows XP do ściągnięcia, Windows Vista do ściągnięcia, etc. Moja odpowiedź – nie da się. To nie Ubuntu. Ani nawet Debian. Odpowiedź dla zaawansowanych: MSDN. Z drugiej strony, ciekawi mnie czy Ci, którzy szukali Windowsa do ściągnięcia naprawdę spodziewali się linka do obrazu ISO?
  • klucz aktywacyjny do windowsa – tutaj też miałem kilka odmian tego zapytania o cracki, klucze, seriale i temu podobne. To fajnie, że ludzie szukają kluczy na stronach gościa, który pracuje w Microsoft. Bo ostatecznie to chyba dobrze, że tu, a nie gdzie indziej. To szczególnie przydatna informacja, że tego typu zapytania wciąż krążą po Internecie. Oznacza to, że program o nazwie “Anti-Piracy”, którego jestem częścią, ma sens. Następnym razem, po prostu dajcie znać, że macie pirata.

Widziałem jeszcze kilka innych ciekawych dot. produktów Microsoft. Niektóre bardziej, inne mniej śmieszne, ale te dwa wspomniane wyżej zapytania wciąż stanowią największą część słów kluczowych na podstawie których ludzie do mnie trafiają.

Pochodne od IT

  • jak działa Google – całkiem dobre wyjaśnienie znajduje się na Wikipedii pod hasłem “Google search“. Niestety nie ma wersji polskiej tego tekstu.
  • poszukuję programisty – jeśli tu trafiłeś przez to zapytanie, to źle trafiłeś. Kiedyś szukałem, teraz już nie.
  • informatyk wracam do polski z irlandii – czyżby ktoś z polskiego projektu “Powroty” szukał blogerów wśród informatyków szykujących się do powrotu? Zapraszam na stronę forum Polish IT Club, gdzie można poczytać o dyskusjach Polaków pracujących w IT w Irlandii. Kilka wątków o powrotach już się pojawiło.

Totalnie zakręcone

  • panie na gg – wróżę krótkie życie agencji matrymonialnych czy ogłoszeń w prasie. Najnowszy przebój to panie na gg!
  • jak zostać sławnym/sławną – otwórz bloga, napisz coś i czekaj aż dziwne zapytania będą lądować w Twoich statystykach odwiedzin
  • palące dzieci – napisałem kiedyś o cenzurze we Flickr dot. zdjęcia dziecka z papierosem w ustach. Ale mój blog nie jest miejscem do poruszania jakiejkolwiek tematyki związaenej z problemem młodocianych palaczy.
  • dlaczego jestem tak naiwny/naiwna? – naprawdę szukasz odpowiedzi na to pytanie? Naprawdę uwierzysz w to, co przeczytasz? To zapraszam tutaj.
  • dowal komuś, dowalić komuś, jak dowalić komuś – zadziwiające, że “dowal komus” na Google daje mój blog na pierwszej pozycji wyszukiwania. Live.com już nie popełnia tego błędu.
  • dlaczego jestem w jakim celu na świecie – odpowiedzi na to pytanie zazwyczaj poznajesz kiedy jest już za późno by ten cel zrealizować
  • dziecko z butelka alkoholu- zdjecia – pochodne do zapytania z papierosem
  • księżniczka diana z rodu williams foto galeria – to nawiązanie do mojego posta z października 2007 roku. Ktoś pewnie dostał przypadek podobnego spamu jak ja.
  • bedę dobrym sprzedawcą w przyszłości? – nie mam pojęcia. Ale jeśli spodziewasz się znaleźć odpowiedź na to pytanie w Internecie, to jestem przekonany, że nie.

Google, Live czy inne wyszukiwarki zindeksowały każde słowo z mojego bloga. Dlatego nie dziwi mnie, że adres http://michal.osmenda.com pojawia się na liście wyszukiwań, kiedy poszukiwana jest “księżniczka Diana z rodu Williams”. Dziwi mnie jednak, że wchodzą na moją stronę nawet wtedy, kiedy każdy jeden tytuł strony na moim blogu zaczyna się od “ITblog”. IT nie brzmi jak Pudelek czy Onet. IT brzmi całkiem podobnie do information technology, co może oznaczać tematy pochodne do technologii komputerowych.

Czyżby było to wyzwanie dla algorytmów wyszukiwania, by nie umieszczać wysoko na liście stron, które wymieniają wyszukiwaną frazę raz, może dwa razy, ale tematyka jest zupełnie nie przystająca do wyszukiwanych słów?

W jaki sposób możemy zapobiec, by blog taki jak ten był na szczycie wyników wyszukiwania dla frazy “księżniczka diana z rodu williams” pomimo, że moja strona zawiera dokładnie taką frazę, ale tylko raz? A najważniejsze, czy można taką optymalizację zautomatyzować, by zbudować chociaż pozory sztucznej inteligencji odróżniającej główną tematykę (spam, o czym był tekst) od szumu tła (księżniczka, gdzie słowo to wystąpiło dwa razy)?

Spam dosięga coraz głębszego dna. Oto wiadomość, jaką otrzymałem wczoraj na moją prywatną skrzynkę:

Dear sir/madam:
Please forgive us to disturb your valued time.
This is a big wholesale company in china, sell electronic products to all the world,such as laptop, camera, phone and so on. We can offer the low price and high quality to you. If you have free time, please take a few to visit our official website: <deleted> .
Then any qualm, please contact us freely.
Email: <deleted>
MSn:  <deleted>

Dear Sir / Madam:
Proszę nam wybaczyć Zaburzenia wyceniane czasu.
Jest to duże firmy hurtowego w Chinach, sprzedaży produktów elektronicznych dla wszystkich na świecie, takich jak laptop, aparat fotograficzny, telefon i tak dalej. Oferujemy niskie ceny i wysoką jakość dla Ciebie. Jeśli masz wolny czas, należy podjąć kilka do odwiedzenia naszej oficjalnej stronie internetowej: <deleted>
Wtedy wszelkie skrupuły, skontaktuj się z nami swobodnie.
E-mail: <deleted>
MSN: <deleted>

Mam wszelkie skrupuły, by nie rozumieć co tu jest do mnie napisane. Po przeczytaniu wersji angielskiej troche mi się w głowie rozjaśniło, ale uśmiech na ustach po przeczytaniu wersji polskiej pozostał. Ciekawe, że po polsku Dear Sir / Madam pisane jest z wielkiej litery, ale w angielskim już nie. Czyżby polski Sir albo Madam musi być grzeczniejsze niż angielskie?

Dało mi też trochę do myślenia. Czy osoby stojące za spamem naprawdę uważają, że ludzie są tak głupi i dadzą się złapać na głupie sztuczki i nie gramatyczny język? Jednak, z czysto statystycznego punktu widzenia, jeśli na taki spam “łapie się” 0.01% odbiorców, to przy 1 mln emaili, daje to 100 osób. Ile zatem musi być takich emaili, by się to opłaciło? 10 mln, 100mln?

Zagubieni w spamie

26 Lipiec 2008

Przepraszam wszystkich, których komentarze nie zostały opublikowane. W ciągu ostatnich dwóch tygodni otrzymałem około 20 tyś spamowych komentarzy wychwyconych przez Akismet. Nie byłem w stanie ich przejrzeć i mogło dojść do sytuacji, w której nie spamowy komentarz mógł zostać zakwalifikowany przez system jako spam a ja tego nie wychwyciłem.

Od momentu zainstalowania wtyczki na moim blogu Akismet wychwycił 105,353411 spamowych komentarzy i trackbacków.

Morning at Erg LehoudiWczoraj wieczorem wróciłem do Dublina, tym samym kończąc moje krótkie, tygodniowe wakacje. To wystarczyło, by naładować baterie pod palmami i na pustyni. Tylko tydzień wystarczył także, by przeżyć szok termiczny związany z aż 25-stopniową różnicą temperatur między Marakeszem a Londynem.

Tak jak podejrzewałem, zużyłem blisko połowę z 30GB dysku, jaki wziąłem na zdjęcia. W sumie zrobiłem 1277 zdjęć, niektóre kopiując kilka razy, tak dla pewności. Pełna galeria znajduje się, jak zwykle, na Flickr.com.

Sprawdziłem jak bardzo ludzie i spamboty za mną tęsknili. Poczta firmowa – 4834 wiadomości (spam: 2), poczta prywatna 269 wiadomości, z czego aż 252 to spam! Dzięki Ci hosting365.ie za 96% spamu! Google Reader powitał mnie 1236 nowymi postami na blogach i serwisach, które subskrybuje. W tym czasie, tydzień 16-23 marca odwiedziło ten blog 2419 osób, z czego aż 84% to nowi użytkownicy.

Czas trochę popracować do następnych wakacji…

40,029 spamu

24 Luty 2008

Można by powiedzieć, że jest co świętować. Akismet pokazał mi dzisiaj, że ochronił mnie przed 40,029 spamowymi komentarzami. Ta prawie okrągła liczba tłumaczy się na:

  • 41.26 spamu na post
  • 15.77 raza więcej spamowych komentarzy w stosunku do nie-spamowych
  • 33.44 spamu na dzień

Panie i Panowie to oficjalne: zalał nas spam.


Link: http://ie.youtube.com/watch?v=anwy2MPT5RE

Fight Spam!-out

24 Styczeń 2008

Poradnik dotyczący metod walki ze spamem musi wylecieć z ITblog. Być może doczeka się nowszej wersji, bo ta się bardzo zdeaktualizowała.

2007, to był dobry rok

22 Styczeń 2008

Długo zwlekałem z podsumowaniami roku 2007. Czekałem aż wybrzmią się gazety, strony, blogi, by z odrobiną dystansu i bez wpadania w utarte schematy napisać jak minął mi ten rok 2007.

Praca. Microsoft.

W 2007 roku, poza codziennymi obowiązkami z zakresu codesign i AV, zacząłem podążać w kierunku narzędzi business intelligence. Jedno z nich, na użytek swojej grupy napisałem nawet sam [1]. Co się kryje pod terminem business intelligence? SQL Server, SQL Reporting Services, Sharepoint Server, Project Server, Project Portfolio Server. Tych dwóch ostatnich produktów Microsoft nie zalicza do grona BI, w ich miejsce wstawiając PerformancePoint Server, ja jednak wykazuje inicjatywę we własnej terminologii. W celu optymalizacji procesów i zarządzania projektami zaproponowałem kilka rozwiązań wykorzystujących BI. Z tego wszystkiego stałem się menedżerem projektu i tak już zostało.

Pod koniec roku zakupiłem sobie książkę Davida Allena Getting Things Done. Bardzo pożyteczna lektura!

Ucierpiały moje wakacje. W zeszłym roku nie byłem zbyt często na urlopie, dlatego na 2008 przeniosło mi się 12 niewykorzystanych dni. W sumie 37 do wykorzystania!

Blog. ITblog.

Po miesiącach walki z Servage [2] zmieniłem hosting na irlandzką firmę hosting365.ie. Moja strona jest teraz dostępna, a przynajmniej od momentu przenosin była dostępna, przez 100% czasu. Nie mam problemów z konfiguracją, nie kontaktowałem się jeszcze ani razu z pomocą techniczną. Niestety, nowy hosting ma problem ze spamem. Jest go zdecydowanie za dużo a ochrony żadnej brak [3].

Mam więcej czytelników, co mnie bardzo cieszy i bardzo motywuje do dalszej pracy. Ze statystyk z Feedburner’a wynika, że 2007 był rekordowo dobrym rokiem pod względem czytelnictwa.

Google Analytics też potwierdza te trendy, choć już nie tak wyraźne. Wnioskuję, że większość internautów woli czytać bloga przez RSS niż zaglądając na stronę.  Analytics pokazał mi, że różnice rok do roku czasami były dość dramatyczne:

Rok do roku zanotowałem wzrost odwiedzin o ponad 72%, 75% na page views, bounce rate spadł o ponad 3% co też jest pocieszające, długość czasu spędzonego na stronie wzrosła o ponad 11%. Miałem natomiast o 4% mniej nowych wizyt niż w roku 2006. Przy jednoczesnym wzroście w odwiedzalności oznaczać to może, że mam stałych czytelników. Dziękuję, wpadajcie częściej!

Bardzo duży bo prawie 185% wzrost zaobserwowałem przy ruchu przychodzącym z Wielkiej Brytanii. Na drugim miejscu, ze 146% uplasowała się Irlandia i 125% – Stany Zjednoczone. Innymi statystykami już nie będę zanudzał. Wszystkie te dane pochodzą z Google Analytics, gdzie jest dostępna opcja porównywania zebranych danych. Naprawdę dobre narzędzie!

A co w 2008 roku? Premiera Windows Server 2008, Windows Vista SP1, Windows XP SP3 i kilku innych produktów, których nie pamiętam bądź wymieniać nie mogę :) W niedługim czasie postaram się opublikować kilka materiałów wideo prezentujących kilka narzędzi z zakresu business intelligence. Natomiast w drugiej połowie roku skupię się na mojej pracy na uczelni i projekcie sieci rozproszonej. DIT pomoże mi nawiązać kontakt z IBM i Google, które wspólnie tworzą uczelniany grid.

Życzę Dobrego Roku 2008!