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).


- Notepad++ i wtyczka Linefilter3, czyli prosty sposób na filtrowanie treści, np. logów serwera, nie tylko na prośbę prokuratury ;-) - 1970-01-01
- Poważny danych wyciek z ALAB Laboratoria – do internetu trafiły nie tylko dane osobowe, ale też i dane medyczne, i choć już jest grubo, to ponoć tylko zapowiedź prawdziwego armagedonu - 1970-01-01
- Prosty sposób na bezpłatny dostęp do płatnych ikon Font Awesome, czyli krótkie testy przed ewentualnym zakupem - 1970-01-01