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).
- Mały dron, duże zamieszanie, czyli seria DJI Mini i zabawa w klasy (unijne klasy dla dronów) z EASA i użytkownikami - 1970-01-01
- Opcja “restore_from_flash”, czyli sposób na zapamiętywanie ustawień w ESPHome na układach ESP8266 - 1970-01-01
- Blokowe szablony powiadomień (block notice) w WooCommerce, nawet w klasycznych motywach - 1970-01-01