Jako, że strony uruchamiam na CMS WordPress to z tej perspektywy będę pisał poniższy artykuł. Choć oczywiście poniższe punkty maja zastosowanie dla każdej strony www bo chodzi w głównej mierze o wstawienie odpowiednich reguł w pliku .htaccess
1. Podstawowe zabezpieczania
- punktem byłoby pamiętanie o: korzystanie z zaufanych źródeł, regularnej aktualizacji, kopii bezpieczeństwa itp. (o których tutaj nie będę pisał)
- punktem byłoby stosowanie mocnych haseł, odpowiednie uprawnienia plików itp o tym pisałem w tym artykule https://mojeprogramy.com/zabezpieczenie-wordpress
- punktem byłoby rozpoznanie wtyczek podnoszące bezpieczeństwo strony na WP i poszukanie kolejnych uzupełniających rozwiązań które by uszczelniły i kontrolowały WordPressa (to co się na nim dzieje – kto,kiedy i jakie modyfikował pliki itd.) Tu polecam https://mojeprogramy.com/blokwanie-zakresow-ip
- dodatkowe regułki „ubogacające” .htacces (w przygotowaniu)
- i przechodzimy do właściwego tematu artykułu: monitorowanie i blokowanie IP i wszelkich botów
Zatem jak bronić się przed: spamem, botami, pająkami, clawlerami i niepożądanym działaniami które zużywają zasoby naszego serwera po przez niepotrzebnego generowanie ruchu na naszej stronie, narażając nas na np. odkrycie słabych punktów naszego serwera a w konsekwencji na spam lub skuteczny atak i zawirusowanie naszej strony?
Najlepszym rozwiązaniem byłoby dać dostęp do przeglądania strony www tylko znanym i zaufanym użytkownikom:
- z wybranych tylko krajów (np. PL, UK, USA, DE, NL) – tu sam wybrałem, że puszcze ruch z kilku krajów tylko i tak przygotowaną listę zastosuje dal wszystkich swoich stron https://mojeprogramy.com/wp-content/uploads/2016/08/wybrane-kraje-ip.png
- użytkowników którzy przedstawiają się jako HTTP_USER_AGENT = (np. Mozilla, Chrom, Opera, Safari)
- botom (np. Google, Bing)
- spiderom (np. Majestic, Ahrefs)
- smartfonom (tu akurat chyba wszystkim)
Jednak nie da się tego zrobić gdyż nie znamy wszystkich możliwych nagłówków HTTP_USER_AGENT.
Dlatego trzeba samemu monitorować ruch na naszej stronie a więc stworzyć listy zakresów IP (spamowych lub najczęściej atakujących) + listę BAD_BOTÓW w oparciu o tak jak wspomniałem własne zasoby i aktywne listy w sieci.
2. Blokowanie IP
- zebrane z 15 różnych stron uruchomionych na WordPress-ie pisałem o tym w https://mojeprogramy.com/htaccess-lista
- lista techformatora http://techformator.pl/plik-htaccess-z-lista-abusywnych-podsieci/
- spamowe IP (zebrane z sieci w różnych – wypowiedzi na forach z lat np. 2009-2011; nie sprowadzane!!!) https://mojeprogramy.com/download/spam-ip.txt
- custom blocks – zebrane z sieci https://mojeprogramy.com/download/custom-blocks.txt
- blokowanie ruchu z wszystkich krajów oprócz np. Polski, UK, USA https://www.ip2location.com/free/visitor-blocker – tu dużo krajów i zakresów do pobrania
3. Boty – Robot, crawler, spider
- najpopularniejsze obecnie zebrane ręcznie ma własnych stronach (AWstats, Logi serwera, Analytics) https://mojeprogramy.com/download/all-bots.txt
RewriteCond %{HTTP_USER_AGENT} .*BLEXBot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*BaiDuSpider.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*CFNetwork.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Exabot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*InternetSeer.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MegaIndex.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Nekstbot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Powermarks.* [OR] - zawierające „bot-„, „clawler” w samej nazwie
RewriteCond %{HTTP_USER_AGENT} .*bot/.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*bot-.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*spider.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*robot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*crawl.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures).*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^web(zip|emaile|enhancer|fetch|go.?is|auto|bandit|clip|copier|master|reaper|sauger|site.?quester|whack) [OR] - blokada botów z pustym User-Agent
RewriteCond %{HTTP_REFERER} ^-?$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR]
Pomoc w htaccess:
^ oznacza że może być w ciągu znaków ale nie musi np. RewriteCond %{HTTP_USER_AGENT} ^Zeus
[NC] – nieważna jest wielkość liter np. RewriteCond %{HTTP_USER_AGENT} .*robot.* [NC,OR]
.*ciagznakwo.* – czyli ciagznakow moze być gdzies w środku np. RewriteCond %{HTTP_USER_AGENT} .*bot/.* [OR]
3. Abuse HTTP Referrer Blocking
Czyli nie blokujemy wyświetlanie zawartości ze stron a’la <frame>-owych
RewriteCond %{HTTP_REFERER} 100dollars-seo.com\.com [NC,OR]
RewriteCond %{HTTP_REFERER} anotherbadsite\.com
RewriteCond %{HTTP_REFERER} badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} best-seo-offer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} buttons-for-your-website\.com [NC,OR]
RewriteCond %{HTTP_REFERER} free-social-buttions\.com [NC,OR]
RewriteCond %{HTTP_REFERER} semalt\.com [NC,OR]
RewriteCond %{HTTP_REFERER} todaperfeita\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www1.free-social-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www2.free-social-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www3.free-social-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www4.free-social-buttons\.com
RewriteCond %{HTTP_REFERER} www4.free-social-buttons\.com [NC]
RewriteRule ^.* – [F,L]
Większe przydatne listy:
http://www.botopedia.org – WIKI BOT
http://www.iplists.com – lista IP Google, Yahoo
http://www.projecthoneypot.org/list_of_ips.php – aktualna SPAM lista
http://www.user-agents.org – jeszcze więcej USER_AGENTS
http://www.useragentstring.com/pages/useragentstring.php – jeszcze pare CRAWLERS
http://www.clockwatchers.com/htaccess_dir.html – HTACCESS
http://www.crawltrack.net/crawlprotect/download.php – soft
https://sblam.com/czarnalista.html – aktualna SPAM lista PL
PS. Postaram się w najbliższym czasie przetestować i stworzyć listę gotowych reguł do dodania w .htaccess a na razie wszytko pozostawiam wam 😉
O PORTALU
Polecam tylko sprawdzone programy! Zdecydowana większość to darmowe programy do użytku zarówno w domu jaki i w firmie. Przeważnie są one rozpowszechniane na licencji GNU i Freeware. Dostępne tutaj w wersji przenośnej portable - czyli bez instalacji a więc wystarczy je uruchomić. Sprawdzone - używane przez mnie od kilku lat.
Wybrane programy
Jaki kupić komputer? – wybrać nowy czy używany, stacjonarny czy laptop
Jak przyśpieszyć komputer – analiza, czyszczenie...
Jak zabezpieczyć stronę opartą na WordPress-ie?
KeePass – bezpieczne przechowywanie haseł
NoScript – wtyczka do blokowania reklam, skryptów i apletów Java
Tree Size Free – manager plików podobny do Explorer-a ale 200% lepszy!
Audyt SEO online – narzędzia służące do analizy strony www
Adblock – filtry do blokowania cookies
Sonda
