Skip to main content
Πώς μπορούμε να βοηθήσουμε;

Πώς θα μπλοκάρω κακόβουλα bots μέσω του αρχείου .htaccess;

Κακόβουλα bots

Σε γενικά πλαίσια, εκτός από bots / crawlers από εταιρίες που έχουν ως σκοπό την χαρτογράφηση της ιστοσελίδας σου (π.χ. Google), υπάρχουν και διάφορα άλλα τα οποία έχουν σαν σκοπό κακόβουλες ενέργειες, όπως κλοπή περιεχομένου, κατακερματισμού του bandwidth, προσθήκης spam σχολίων κ.α.

Bots / crawlers στην ιστοσελίδα σου.

Εντοπισμός κακόβουλων bots

Αρχικά, θα πρέπει να αναγνωρίσεις τα κακόβουλα bots. Για τον σχετικό έλεγχο, θα πρέπει να ελέγξεις τα αρχεία καταγραφής (logs).

Cpanel

Μέσω του cPanel, μπορείς να κατεβάσεις τα αρχεία καταγραφής από την ενότητα Metrics μέσω της επιλογής Raw Access Logs. Στην ίδια ενότητα μπορείς να δεις και την επιλογή Visitors.

Επιλογές Visitors και Raw Access.

Εναλλακτικά, μπορείς να βρεις τα αρχεία καταγραφής, μέσα στον φάκελο logs στην διαδρομή /home/username/logs.

Φάκελος logs.

Plesk

Μέσω του Plesk, μπορείς να τα βρεις μέσα στην επιλογή Logs.

Επιλογή Logs.

Εναλλακτικά, μπορείς να τα δεις στον φάκελο logs εντός του Home directory.

Φάκελος logs.

Μέθοδοι αποκλεισμού

Αφού εντοπίσεις τα κακόβουλα bots, μπορείς να χρησιμοποιήσεις διάφορες μεθόδους για να τα αποκλείσεις, όπως:

  1. Αποκλεισμός μέσω URI αιτήματος.
  2. Αποκλεισμός μέσω User-Agent.
  3. Αποκλεισμός μέσω Referrer.
  4. Αποκλεισμός μέσω διεύθυνσης IP.

Υποσημείωση

Σε κάθε περίπτωση, οι παρακάτω κανόνες, θα πρέπει να προστεθούν στο επάνω μέρος του αρχείου .htaccess, έτσι ώστε ο Web Server να τους διαβάζει πρώτους.

Αποκλεισμός του URI αιτήματος

Έχεις ελέγξει τα αρχεία καταγραφής και βλέπεις πολλές καταγραφές τύπου:

https://testwebsite.com/malwarebot/request/scan=3545 https://www.testwebsites.eu/4732-malwarebot/request/scan354557

Τα παραπάνω αιτήματα, έχουν πιθανότατα διαφορετικούς agents και διευθύνσεις IP.

Συνεπώς για να προχωρήσεις σε αποκλεισμό των σχετικών αιτημάτων, θα πρέπει να βρεις τα κοινά μοτίβα που έχουν οι παραπάνω καταγραφές.

Κάποια από αυτά είναι τα ακόλουθα:

  1. malwarebot
  2. request
  3. scan

Για να κάνεις τον βέλτιστο αποκλεισμό, θα πρέπει να βρεις το μοτίβο που θα αποκλείσει όλα τα αιτήματα από τα παραπάνω, χωρίς να αποκλείσεις την πρόσβαση κανονικών αιτημάτων.

Συνεπώς και σύμφωνα με τα παραπάνω, εάν επιθυμείς να αποκλείσεις τα αιτήματα που περιέχουν το ‘malwarebot’ και το ‘scan’ μπορείς να προσθέσεις τον παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos me Query String <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} (malwarebot|scan) [NC] RewriteRule (.*) - [F,L] </IfModule>

Αποκλεισμός του User-Agent

Από τον έλεγχο στα αρχεία καταγραφής, εντόπισες ότι υπάρχουν κακόβουλα αιτήματα που αναφέρουν στους παρακάτω agents:

  1. kakovoulobot
  2. crawlerhacker
  3. spiderspam

Υποσημείωση

Τα ονόματα των agents είναι τυχαία.

Σύμφωνα με το παραπάνω, μπορείς να αποκλείσεις κατευθείαν την πρόσβαση στους agents, προσθέτοντας τον παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos User-Agent SetEnvIfNoCase User-Agent "kakovoulobot" bad_bots SetEnvIfNoCase User-Agent "crawlerhacker" bad_bots SetEnvIfNoCase User-Agent "spiderspam" bad_bots <RequireAll> Require all granted Require not env bad_bots </RequireAll>

Σημείωση

Στον παραπάνω κανόνα, μπορείς να προσθέσεις και άλλους agents, προσθέτοντας το σύμβολο pipe ( | ).

Αποκλεισμός του Referrer

Εάν κατά τον έλεγχό σου, εντοπίσεις ότι τα bots που έχουν στοχοποίηση την ιστοσελίδα σου έχουν κοινό referrer, τότε είναι εύκολο να περιορίσεις την πρόσβασή τους.

Για παράδειγμα, εάν εντοπίσεις από τα αρχεία καταγραφής σου τις παρακάτω εγγραφές από referrers:

  1. https://www.kakovoulobot.com/
  2. https://crawlerhacker.eu/
  3. https://spiderspam.org/

Υποσημείωση

Τα ονόματα των referrers είναι τυχαία.

Τότε μπορείς να προχωρήσεις σε προσθήκη του παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos Referrer <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} ^https://(.*)kakovoulobot\.com [NC,OR] RewriteCond %{HTTP_REFERER} ^https://(.*)crawlerhacker\.eu [NC,OR] RewriteCond %{HTTP_REFERER} ^https://(.*)spiderspam\.org [NC] RewriteRule (.*) - [F,L] </IfModule>

Αποκλεισμός της διεύθυνσης IP

Κατά τον έλεγχο σου μπορεί να εντοπίσεις ότι τα αιτήματα στην ιστοσελίδα σου, γίνονται από συγκεκριμένες IP.

Σε γενικά πλαίσια, η πιθανότητα αυτού είναι πάρα πολύ μικρή, καθώς συνήθως τα συγκεκριμένα αιτήματα, γίνονται από πολλαπλές IP ή ακόμα και από ολόκληρα range IP.

Προειδοποίηση

Πολλά αιτήματα έρχονται από την IP του διακομιστή. Συνεπώς θα πρέπει να προσέξουμε να μην προχωρήσουμε σε περιορισμό της. Ακόμα, η εξαίρεση μεγάλου πλήθους ΙΡ μπορεί να επηρεάσει αρνητικά την απόδοση της ιστοσελίδας σας.

Για παράδειγμα, εάν επιθυμείς να προχωρήσεις σε αποκλεισμό μιας IP, μπορείς να προσθέσεις τον παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos dieuthynsis IP <RequireAll> Require all granted Require not ip 192.168.1.1 </RequireAll>

Με τον παραπάνω κανόνα, αποκλείεις την IP 192.168.1.1 (η σχετική IP είναι τυχαία, σε αυτό το τμήμα προσθέτεις την IP που βρήκες στα logs).

Εάν επιθυμείς να προχωρήσεις σε αποκλεισμό πολλαπλών IP, μπορείς να προσθέσεις τον παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos IP <RequireAll> Require all granted Require not ip 192.168.1.1 192.168.1.15 192.168.1.128 </RequireAll>

Με τον κανόνα παραπάνω, έχεις αποκλείσει τις IP 192.168.1.1, 192.168.1.15 και 192.168.1.128. Μπορείς να προσθέσεις όσες IP θέλεις σύμφωνα με τον κανόνα.

Σε περίπτωση που θέλεις να αποκλείσεις ολόκληρο IP range, μπορείς να προσθέσεις τον παρακάτω κανόνα στο αρχείο .htaccess:

# Apokleismos range IP <RequireAll> Require all granted Require not ip 192 192.168 192.168.1 </RequireAll>

Σύμφωνα με το παραπάνω:

  1. Στην αρχή, περιορίζεις όλο το range που ξεκινάει με 192.xxx.xxx.xxx.
  2. Με την μέση, περιορίζεις όλο το range που ξεκινάει με 192.168.xxx.xxx.
  3. Στο τέλος, περιορίζεις όλο το range που ξεκινάει με 192.168.1.xxx.

Σε κάθε περίπτωση, από πλευράς μας στους Shared Hosting διακομιστές, υπάρχουν ήδη σχετικοί κανόνες οι οποίοι προστατεύουν από κακόβουλα bot και crawlers την ιστοσελίδα σου.

Χρειάζεσαι βοήθεια;

Τεχνική Υποστήριξη

Κάλεσε μας

Φόρμα επικοινωνίας