Εν ολίγοις: Όταν ο ιστότοπος ανακατευθύνει σε ξένες σελίδες, η αιτία βρίσκεται σε ένα από έξι στρώματα: DNS, CDN ή proxy, διαμόρφωση διακομιστή ιστού, κώδικας PHP, βάση δεδομένων ή ενσωματωμένα σενάρια. Επειδή πολλές ανακατευθύνσεις ενεργοποιούνται μόνο υπό όρους, δοκιμάστε στοχευμένα με διαφορετικά αναγνωριστικά και σελίδες προέλευσης. Προστατέψτε πρώτα τους επισκέπτες, διασφαλίστε τα ίχνη και μετά την αφαίρεση κλείστε την είσοδο.
Όταν οι πελάτες καταλήγουν σε σελίδες διαγωνισμών
Η ειδοποίηση έρχεται συνήθως απ' έξω. Ένας πελάτης γράφει ότι, καλώντας τη σελίδα σας, κατέληξε σε διαγωνισμό ή σε αμφίβολο κατάστημα. Εσείς το ελέγχετε στον δικό σας υπολογιστή και όλα φαίνονται κανονικά. Αυτό δεν είναι αντίφαση αλλά πρόθεση: οι ανακατευθύνσεις μετά από παραβίαση είναι φτιαγμένες ώστε οι φορείς λειτουργίας να τις αντιληφθούν όσο το δυνατόν αργότερα.
Για την εταιρεία σας αυτό είναι ευαίσθητο. Οι επισκέπτες χάνουν την εμπιστοσύνη τους, οι μηχανές αναζήτησης και οι περιηγητές μπορεί να εμφανίσουν προειδοποιήσεις και στις σελίδες προορισμού περιμένουν κάποτε απάτη ή κακόβουλο λογισμικό. Μια ανακατεύθυνση σχεδόν ποτέ δεν είναι το μοναδικό που αφήνει πίσω του ένας επιτιθέμενος.
Μετά το PHP2Shell, τις ευπάθειες CVE-2026-109618 και CVE-2026-109619 με εκτέλεση κώδικα χωρίς σύνδεση, οι ανακατευθύνσεις συγκαταλέγονται στις ορατές συνέπειες που πρέπει να λαμβάνουν σοβαρά υπόψη οι φορείς λειτουργίας. Δεν αποτελούν συγκεκριμένη ένδειξη του PHP2Shell, καθώς δεν υπάρχουν επιβεβαιωμένοι Indicators of Compromise. Δείχνουν όμως ότι κάποιος μπόρεσε να αλλάξει περιεχόμενο του ιστοτόπου σας.
Συχνά οι ανακατευθύνσεις δεν έρχονται μόνες. Όποιος ανακατευθύνει επισκέπτες δημιουργεί συχνά και σελίδες spam για τις μηχανές αναζήτησης, ώστε να αποσπάσει ακόμη περισσότερη επισκεψιμότητα. Αν η Google εμφανίζει ήδη ένδειξη για παραβιασμένο ιστότοπο, ο οδηγός Αφαίρεση της προειδοποίησης της Google περιγράφει τον δρόμο προς τον επανέλεγχο. Για ξένες σελίδες στο ευρετήριο αναζήτησης ασχολείται το άρθρο SEO spam και ξένες σελίδες στο ευρετήριο της Google.
Γιατί ο ιστότοπος ανακατευθύνει μόνο κάποιες φορές
Οι υπό όρους ανακατευθύνσεις αξιολογούν χαρακτηριστικά του αιτήματος. Συχνά είναι τα εξής:
- Προέλευση: Ανακατευθύνεται μόνο όποιος έρχεται από αποτέλεσμα αναζήτησης. Οι άμεσες κλήσεις δείχνουν την κανονική σελίδα.
- Συσκευή: Επηρεάζονται μόνο κινητές συσκευές ή ορισμένοι περιηγητές.
- Επανάληψη: Η ανακατεύθυνση ενεργοποιείται μία φορά ανά επισκέπτη, μετά ορίζει ένα cookie και σιωπά.
- Σύνδεση: Όποιος είναι συνδεδεμένος στο CMS δεν βλέπει ποτέ τίποτα.
- Χρόνος ή τυχαιότητα: Η ανακατεύθυνση ενεργοποιείται μόνο σε ένα μέρος των κλήσεων.
Μην δοκιμάζετε επομένως μόνο στη θέση εργασίας σας. Με ένα αίτημα μόνο ανάγνωσης βλέπετε πώς απαντά ο διακομιστής σε διαφορετικές κλήσεις:
# Κανονική κλήση: κωδικός κατάστασης και προορισμός μιας πιθανής ανακατεύθυνσης
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' https://www.ihre-domain.de/
# Κλήση όπως από κινητή συσκευή που έρχεται από αναζήτηση
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' \
-A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 Mobile/15E148" \
-e "https://www.google.com/" https://www.ihre-domain.de/
Αν μόνο στο δεύτερο αίτημα εμφανιστεί ξένος προορισμός, η ανακατεύθυνση βρίσκεται στον διακομιστή. Αν και τα δύο φαίνονται φυσιολογικά, μπορεί να γίνεται στον περιηγητή μέσω JavaScript. Τότε βοηθά μια ματιά στον πηγαίο κώδικα της σελίδας που σερβίρεται ή στην προβολή δικτύου των εργαλείων προγραμματιστή του περιηγητή, κατά προτίμηση σε ιδιωτικό παράθυρο.
Ο ιστότοπος ανακατευθύνει: έλεγχος των έξι στρωμάτων
Προχωρήστε από έξω προς τα μέσα. Έτσι αποφεύγετε να ψάχνετε ώρες στον κώδικα, ενώ η αιτία βρίσκεται σε μια εγγραφή DNS:
| Στρώμα | Τυπική αιτία | Έλεγχος |
|---|---|---|
| Domain και DNS | αλλαγμένη εγγραφή A ή διακομιστές ονομάτων | σύγκριση των εγγραφών DNS με το γνωστό αναμενόμενο, έλεγχος της πρόσβασης στον registrar |
| CDN ή proxy | ξένος κανόνας ανακατεύθυνσης ή σελίδας | εξέταση των κανόνων στην περιοχή πελατών του παρόχου |
| Διακομιστής ιστού | κανόνες στο .htaccess ή στη διαμόρφωση του διακομιστή |
αναζήτηση κανόνων Rewrite και Redirect με συνθήκες |
| Κώδικας PHP | πρόσθετος κώδικας σε αρχεία εισόδου, πρότυπα ή επεκτάσεις | σύγκριση των βασικών αρχείων με το πρωτότυπο |
| Βάση δεδομένων | αλλαγμένες ρυθμίσεις διευθύνσεων, σενάρια σε περιεχόμενο ή επιλογές | στοχευμένη αναζήτηση ξένων διευθύνσεων και σεναρίων |
| Εξωτερικά σενάρια | παραβιασμένη ενσωμάτωση τρίτου παρόχου | καταγραφή και αξιολόγηση των ενσωματωμένων πηγών σεναρίων |
Τα εξωτερικά στρώματα συχνά τα προσπερνούν, επειδή δεν βρίσκονται στον δικό σας διακομιστή. Ακριβώς γι' αυτό είναι επικίνδυνα: όποιος πήρε τον έλεγχο του λογαριασμού στον registrar ή στον πάροχο CDN δεν χρειάζεται πρόσβαση στον διακομιστή. Ελέγξτε εκεί, εκτός από τους κανόνες, ποιος έχει πρόσβαση και αν είναι ενεργή η σύνδεση δύο παραγόντων.
Για το στρώμα του διακομιστή ιστού ταιριάζουν αναζητήσεις μόνο ανάγνωσης για κανόνες που αντιδρούν σε προέλευση ή συσκευή:
# Κανόνες ανακατεύθυνσης με συνθήκες σε όλα τα αρχεία .htaccess
grep -rn --include='.htaccess' -iE 'Rewrite(Cond|Rule)|Redirect' /var/www/ihre-website
# Ανακατευθύνσεις στη διαμόρφωση του διακομιστή (Apache και Nginx)
grep -rn -iE 'Rewrite|Redirect|return 30[12]' /etc/apache2/ /etc/nginx/ 2>/dev/null
Για το στρώμα PHP, το Σύγκριση των βασικών αρχείων του CMS με το πρωτότυπο περιγράφει τη διαδικασία. Για τη βάση δεδομένων αξίζει το άρθρο Έλεγχος της βάσης δεδομένων για κώδικα που έχει εισαχθεί.
Όταν η αιτία βρίσκεται έξω από τον διακομιστή
Δεν σημαίνει κάθε ανακατεύθυνση παραβιασμένο διακομιστή. Τα ενσωματωμένα σενάρια τρίτων παρόχων, για παράδειγμα για chat, στατιστικά ή διαφήμιση, εκτελούνται απευθείας στον περιηγητή των επισκεπτών. Αν ένας τέτοιος πάροχος παραβιαστεί ή λήξει ένα domain από το οποίο η σελίδα σας φορτώνει ακόμη σενάριο, μπορεί να προκύψει ανακατεύθυνση χωρίς να έχει αλλάξει κανένα αρχείο στον διακομιστή σας.
Μια Content Security Policy περιορίζει από ποιες πηγές επιτρέπεται στον περιηγητή να φορτώνει σενάρια και κάνει ορατές τέτοιες περιπτώσεις. Υποδείξεις υπάρχουν στο Κεφαλίδες ασφαλείας για ιστότοπους. Πολύ σπάνια η αιτία βρίσκεται στον ίδιο τον επισκέπτη: διαφημιστικό ή κακόβουλο λογισμικό στον υπολογιστή του ανακατευθύνει τότε και σε άλλους ιστοτόπους.
Η σωστή σειρά μετά το εύρημα
- Προστασία επισκεπτών: Θέστε τον ιστότοπο σε λειτουργία συντήρησης ή αποκλείστε τα επηρεαζόμενα τμήματα.
- Διασφάλιση ιχνών: Αντιγράψτε ύποπτους κανόνες, αρχεία και περιεχόμενο βάσης δεδομένων με χρονοσήμανση, προτού τα αφαιρέσετε.
- Αφαίρεση: Εξαλείψτε την ανακατεύθυνση και αντικαταστήστε τα βασικά αρχεία από καθαρή πηγή.
- Κλείσιμο της εισόδου: Φέρτε την PHP σε διορθωμένη έκδοση, ενημερώστε το CMS και τις επεκτάσεις, επανεκκινήστε όλους τους workers, ανανεώστε τις προσβάσεις.
- Επανέλεγχος: Ελέγξτε ξανά με όλες τις παραλλαγές της δεύτερης ενότητας και παρακολουθήστε το Search Console.
Ένας κανόνας ανακατεύθυνσης που αφαιρέθηκε δεν αποδεικνύει καθαρό ιστότοπο. Αν ο κανόνας επιστρέψει έπειτα από ημέρες, κάπου υπάρχει ακόμη μια κερκόπορτα που τον ξαναγράφει.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Αναπαράγουμε την ανακατεύθυνση με διαφορετικά αναγνωριστικά και σελίδες προέλευσης και περιορίζουμε το στρώμα.
- Διασφαλίζουμε τα ίχνη και αφαιρούμε ανακατευθύνσεις, κακόβουλο κώδικα και κερκόπορτες σε αρχεία, διαμόρφωση και βάση δεδομένων.
- Σε οξεία προσβολή, η έκτακτη βοήθεια για παραβιασμένους ιστοτόπους αναλαμβάνει τον περιορισμό, μέχρι το περιστατικό να ολοκληρωθεί και να τεκμηριωθεί.
- Ελέγχουμε τα ενσωματωμένα σενάρια τρίτων παρόχων και προτείνουμε μια κατάλληλη Content Security Policy.
Συχνές ερωτήσεις
Γιατί δεν βλέπω εγώ ο ίδιος την ανακατεύθυνση;
Πολλές ανακατευθύνσεις ενεργοποιούνται μόνο υπό όρους: για επισκέπτες από την αναζήτηση της Google, μόνο σε κινητές συσκευές, μόνο στην πρώτη επίσκεψη ή όχι για συνδεδεμένους διαχειριστές. Δοκιμάστε γι' αυτό με διαφορετικές συσκευές, χωρίς σύνδεση και μέσω συνδέσμου από αποτέλεσμα αναζήτησης.
Μπορεί να προκύψει ανακατεύθυνση και χωρίς παραβίαση;
Ναι. Ένα ληγμένο plugin, ένα παραβιασμένο εξωτερικό σενάριο, λανθασμένες εγγραφές DNS ή κακόβουλο λογισμικό στον υπολογιστή του επισκέπτη μπορούν να έχουν παρόμοια αποτελέσματα. Αν η αιτία βρίσκεται στον δικό του υπολογιστή, η ανακατεύθυνση εμφανίζεται συνήθως και σε άλλους ιστοτόπους.
Πού κρύβουν οι επιτιθέμενοι συχνότερα τις ανακατευθύνσεις;
Τυπικά είναι κανόνες στο .htaccess ή στη διαμόρφωση του διακομιστή, πρόσθετος κώδικας σε αρχεία εισόδου της εφαρμογής, αλλαγμένες ρυθμίσεις διευθύνσεων στη βάση δεδομένων και αποσπάσματα JavaScript που έχουν εισαχθεί σε περιεχόμενο ή πρότυπα.
Τι πρέπει να κάνω αμέσως αν ο ιστότοπός μου ανακατευθύνει;
Προστατέψτε τους επισκέπτες, για παράδειγμα με λειτουργία συντήρησης, και διασφαλίστε τα ίχνη προτού διαγράψετε οτιδήποτε. Στη συνέχεια αναζητήστε την αιτία στρώμα προς στρώμα και κλείστε την είσοδο. Ένας κανόνας που αφαιρέθηκε χωρίς να κλείσει η ευπάθεια συνήθως επιστρέφει.