Od kilku lat formularz dodawania komentarzy m.in. na stronie Webinsider.pl chroni wtyczka, która dodaje standardowo niewidzialne pole pułapkę (honeypot) na różnej maści skrypty (roboty/boty) rozsyłające za pomocą komentarzy SPAM. Wszystko działa sprawnie, ale od pewnego czasu obserwuję pewien skrypt, który zdaje się radzić sobie z tym zabezpieczeniem, zupełnie tak jakby, przetwarzał kod JavaScript, który zazwyczaj jest wykorzystywany w tego typu zabezpieczeniach. Dlatego uznałem, że krok na kolejny element układanki, tym razem na wyższym poziomie, bo już jakby DNSów…

Eliminacja SPAMu w komentarzach w WordPressie za pomocą Cloudflare WAF

Postanowiłem wykorzystać to, że większość stron i tam mam „schowanych” za usługą Cloudflare, a tam wśród licznym funkcji jest WAF (Web Application Firewall), dzięki czemu można odpowiednio przyciąć nieporządny ruch na komentarzach. Oczywiście w sposób w większości przypadków niewymagający od użytkownika (komentującego) jakichkolwiek działań dodatkowych, takich jak np. rozwiązywanie różnych „graficznych zagadek”, czy przepisywania szlaczków udających literki.

Tak więc będąc w widoku ustawień wybranej domeny przechodzimy do zakładki „firewall rules” w sekcji WAF (Security -> WAF -> Firewall rules):

W tym miejscu możemy dodać nową regułę, która będzie aktywna w momencie, gdy ktoś zachce kliknąć przycisk, dodający komentarz na naszej stronie:

Nazwa bez znaczenia, choć warto nadać taką, by później było wiadomo, co ta reguła robi. Ważne, by odpowiednio ustawić następne pola:

  • Field: URI Path
  • Operator: contains
  • Value: wp-comments-post.php

Co da regułę w stylu:

(http.request.uri.path contains "wp-comments-post.php")

Dalej musimy wybrać akcję, która ma się w takiej sytuacji zadziać. Jeszcze kilka dni temu byłaby to akcja „JS Challenge”, z której sam korzystałem. Jednak 1 kwietnia na blogu Cloudflare pojawiła się informacja, o pewnych zmianach w mechanizmie (mechanizmach) CAPTCHA wykorzystywanych (dostępnych) w Cloudflare. Stąd obecnie zaleca się wybrać opcję „Managed Challenge”.

Teoretycznie można by do tego wykorzystać zasady stron (page rusles) w Cloudflare, ale tam wśród działań nie znajdziemy opcji pozwalającej skierować ruchu na potencjalne wyzwanie (jest tylko opcja „I’m Under Attack!”, a to nie do końca to samo).

(!) Zgłoś błąd na stronie
WordPress: Pierwsze kroki (na dobry początek)

Zapraszam do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!

Envato Elements - pobierasz co chcesz, ile chcesz