Τρέχουσα κατάσταση: PHP2Shell. Δύο κρίσιμες ευπάθειες της PHP (CVSS 9.2) επιτρέπουν κακόβουλο κώδικα χωρίς σύνδεση. Patches από τις 21/10/2026.Τι πρέπει να γίνει τώρα →

Ασφάλεια της PHP σε Windows και IIS

Στο IIS η PHP εκτελείται συνήθως ως php-cgi.exe μέσω FastCGI. Δείτε πώς βρίσκετε όλες τις εγκαταστάσεις, αντικαθιστάτε με ασφάλεια την PHP, ανακυκλώνετε τα application pools και ελέγχετε το αποτέλεσμα.

Ημερομηνία 5 λεπτά ανάγνωσηςΔιακομιστές και φιλοξενία

Εν συντομία: Στα Windows με IIS η PHP εκτελείται συνήθως ως php-cgi.exe μέσω FastCGI, έναν τρόπο λειτουργίας που επηρεάζεται ρητά από το PHP2Shell. Η ενημέρωση PHP στο IIS αποτελείται από τρία βήματα: εντοπισμός όλων των εγκαταστάσεων PHP, αντικατάστασή τους με διορθωμένη έκδοση και ανακύκλωση των application pools. Διαχείριση πακέτων και backports όπως στο Linux συνήθως δεν υπάρχουν εδώ.

Πώς εκτελείται η PHP στο IIS

Στους διακομιστές Windows το IIS συνδέει την PHP μέσω της μονάδας FastCGI. Για κάθε έκδοση PHP υπάρχει μια καταχώριση FastCGI που δείχνει σε ένα php-cgi.exe και μια αντιστοίχιση handler που κατευθύνει εκεί τα αρχεία με την κατάληξη .php. Το IIS ξεκινά ανάλογα με τις ανάγκες πολλές διεργασίες php-cgi και τις κρατά ενεργές για περαιτέρω αιτήματα.

Σε αντίθεση με το Linux, η PHP εδώ δεν προέρχεται συνήθως από διαχειριστή πακέτων, αλλά ως αρχείο ZIP των builds Windows του έργου PHP, ως μέρος μιας εξειδικευμένης εφαρμογής ή μέσω παλαιότερων προγραμμάτων εγκατάστασης. Αυτό σημαίνει: οι ενημερώσεις δεν γίνονται αυτόματα και δεν υπάρχουν backports ενός διανομέα. Καθοριστικός είναι ο αριθμός έκδοσης των εγκατεστημένων αρχείων.

Τι σημαίνει το PHP2Shell για διακομιστές Windows

Το PHP2Shell περιλαμβάνει τα CVE-2026-109618 και CVE-2026-109619 στην ίδια την PHP, με CVSS v4.0 9,2 το καθένα. Και τα δύο επιτρέπουν εκτέλεση κώδικα χωρίς σύνδεση. Το έργο PHP αναφέρει ρητά το php-cgi ανάμεσα στους επηρεαζόμενους τρόπους λειτουργίας. Διορθωμένες είναι οι PHP 8.5.12, 8.4.27, 8.3.36 και 8.2.35.

Για την PHP 8.1 και παλαιότερες δεν υπάρχουν πλέον επίσημες ενημερώσεις. Οι διακομιστές Windows με εξειδικευμένες εφαρμογές εκτελούνται εμπειρικά συχνά σε τέτοιες εκδόσεις, επειδή η εφαρμογή απαιτεί μια συγκεκριμένη έκδοση. Εδώ, εκτός από τα προσωρινά μέτρα, απαιτείται διευκρίνιση με τον κατασκευαστή της εφαρμογής. Το υπόβαθρο για αυτόν τον τρόπο λειτουργίας υπάρχει στη σελίδα php-cgi: μια παρωχημένη λύση με κίνδυνο.

Ενημέρωση PHP στο IIS: εντοπισμός εγκαταστάσεων

Οι παρακάτω εντολές PowerShell μόνο διαβάζουν. Δείχνουν ποιες εγκαταστάσεις PHP χρησιμοποιεί το IIS και ποια έκδοση έχουν. Οι διαδρομές είναι παραδείγματα.

# Καταχωρίσεις FastCGI στο IIS: ποιο php-cgi.exe χρησιμοποιείται;
& "$env:windir\system32\inetsrv\appcmd.exe" list config -section:system.webServer/fastCgi

# Έκδοση κάθε εγκατάστασης που βρέθηκε (η διαδρομή είναι παράδειγμα)
& "C:\PHP\8.3\php.exe" -v

# Διεργασίες php-cgi που εκτελούνται, με ώρα εκκίνησης
Get-Process php-cgi -ErrorAction SilentlyContinue | Select-Object Id, StartTime, Path

Αναζητήστε επιπλέον σε όλες τις μονάδες δίσκου άλλα php-cgi.exe, επειδή οι εξειδικευμένες εφαρμογές φέρνουν ορισμένες φορές δικά τους αντίγραφα. Σημειώστε για κάθε εγκατάσταση την έκδοση, την παραλλαγή (Thread Safe ή Non Thread Safe) και την αρχιτεκτονική.

Εφαρμογή της ενημέρωσης και ανακύκλωση των application pools

Κατεβάστε τη διορθωμένη έκδοση από τα επίσημα builds Windows του έργου PHP, που συνδέονται από το php.net, στην ίδια παραλλαγή και αρχιτεκτονική. Δοκιμασμένη πρακτική είναι να αποσυμπιέσετε τη νέα έκδοση σε νέο φάκελο, να μεταφέρετε το υπάρχον php.ini και τις απαραίτητες επεκτάσεις και στη συνέχεια να μεταβάλετε την καταχώριση FastCGI στη νέα διαδρομή. Έτσι η παλιά κατάσταση διατηρείται για μια οδό επιστροφής.

# Ανακύκλωση application pool (το όνομα είναι παράδειγμα)
Import-Module WebAdministration
Restart-WebAppPool -Name "Intranet"

# Εναλλακτικά επανεκκίνηση όλων των υπηρεσιών IIS
iisreset

# Έλεγχος: ξεκίνησαν όλες οι διεργασίες php-cgi μετά την ενημέρωση;
Get-Process php-cgi -ErrorAction SilentlyContinue | Select-Object Id, StartTime, Path

Κάθε διεργασία php-cgi πρέπει να έχει ώρα εκκίνησης μετά την ενημέρωση και να δείχνει στη νέα διαδρομή. Δοκιμάστε στη συνέχεια τους ιστοτόπους. Αφαιρέστε τον παλιό φάκελο PHP, μόλις η νέα κατάσταση λειτουργεί σταθερά, ώστε να μην ενσωματωθεί ξανά κατά λάθος.

Σημαντικό

Τα νέα αρχεία στον φάκελο PHP δεν αρκούν, όσο εκτελούνται παλιές διεργασίες php-cgi. Το patch είναι ενεργό μόνο μετά την ανακύκλωση των pools ή την επανεκκίνηση του IIS.

Προσωρινά μέτρα στο php.ini

Αν μια εγκατάσταση δεν μπορεί να ενημερωθεί άμεσα, το php.net συνιστά προσωρινά μέτρα χωρίς πλήρη προστασία. Στο IIS ορίζετε τις τιμές στο κεντρικό php.ini της αντίστοιχης εγκατάστασης. Αρχεία .user.ini και ini_set() δεν αρκούν σύμφωνα με το php.net.

; php.ini της επηρεαζόμενης εγκατάστασης
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M

Με λειτουργία upload το php.net αναφέρει post_max_size = 32M. Στην PHP 8.5 προστίθεται το fatal_error_backtraces=0. Ώστε οι ιστότοποι να μην αλλάζουν τις τιμές μέσω δικών τους αρχείων .user.ini, μπορεί το user_ini.filename να οριστεί κενό στο κεντρικό php.ini· ελέγξτε πρώτα αν οι εφαρμογές εξαρτώνται από αυτό. Στη συνέχεια ανακυκλώστε τα pools. Το BSI (Ομοσπονδιακή Υπηρεσία Ασφάλειας Πληροφοριών της Γερμανίας) συνιστά να αποσυνδέονται προσωρινά οι διακομιστές ιστού από το δίκτυο, όταν η ενημέρωση δεν είναι άμεσα δυνατή. Περισσότερες ρυθμίσεις εξηγεί η σελίδα Ασφαλής διαμόρφωση του php.ini.

Μετά την ενημέρωση

Ένα patch δεν αφαιρεί κακόβουλο λογισμικό που εισήχθη νωρίτερα. Διατηρήστε τα αρχεία καταγραφής του IIS από τις 20/10/2026, ελέγξτε τους καταλόγους ιστού για νέα αρχεία σεναρίων και ελέγξτε τις προγραμματισμένες εργασίες και τους τοπικούς λογαριασμούς χρηστών για άγνωστα στοιχεία. Αν ο διακομιστής λειτουργεί σε domain, ανήκει εδώ και μια ματιά στις συνδέσεις.

Προσέξτε επιπλέον τα δικαιώματα των ταυτοτήτων των application pools. Αν ένα pool εκτελείται με λογαριασμό που έχει δικαιώματα εγγραφής σε ολόκληρο τον κατάλογο ιστού ή ακόμη και διαχειριστικά δικαιώματα, ένας επιτιθέμενος μπορεί μετά από μια επιτυχημένη παραβίαση να προκαλέσει σαφώς μεγαλύτερη ζημιά. Σκόπιμη είναι μια δική της, περιορισμένη ταυτότητα ανά pool με δικαιώματα εγγραφής μόνο εκεί όπου η εφαρμογή πράγματι τα χρειάζεται, για παράδειγμα στον φάκελο uploads ή cache. Σε αυτούς τους φακέλους το IIS δεν πρέπει να εκτελεί αρχεία PHP· αυτό ρυθμίζεται μέσω των αντιστοιχίσεων handlers του αντίστοιχου φακέλου. Ελέγξτε επίσης αν υπάρχουν στον κατάλογο ιστού παλιά αρχεία δοκιμών και εγκατάστασης, όπως εξόδους phpinfo, και αφαιρέστε τα.

Πώς βοηθά συγκεκριμένα το PHP SOS;

  • Βρίσκουμε όλες τις εγκαταστάσεις PHP στους διακομιστές Windows σας, ακόμη και αντίγραφα μέσα σε εξειδικευμένες εφαρμογές.
  • Μέσω της υπηρεσίας PHP-Patch αντικαθιστούμε την PHP, ανακυκλώνουμε τα pools και τεκμηριώνουμε την έκδοση και τους χρόνους διεργασιών.
  • Για παλιές εκδόσεις ξεκαθαρίζουμε μαζί σας και με τον κατασκευαστή της εφαρμογής τον δρόμο προς τη μετάβαση σε υποστηριζόμενη έκδοση PHP.
  • Ελέγχουμε τους διακομιστές για ίχνη επίθεσης και διασώζουμε τα αρχεία καταγραφής.

Συχνές ερωτήσεις

Ποια παραλλαγή PHP χρειάζομαι για το IIS;

Για το IIS με FastCGI χρησιμοποιείται συνήθως η παραλλαγή Non-Thread-Safe (NTS). Προσέξτε κατά την ενημέρωση να επιλέξετε ξανά την ίδια παραλλαγή και αρχιτεκτονική, ώστε οι επεκτάσεις να εξακολουθούν να ταιριάζουν.

Αρκεί να αποσυμπιέσω τον νέο φάκελο PHP;

Όχι. Το IIS κρατά διεργασίες php-cgi.exe ενεργές για κάποιο διάστημα. Ανακυκλώστε τα application pools ή επανεκκινήστε το IIS και ελέγξτε ότι δεν εκτελούνται πλέον παλιές διεργασίες.

Μπορώ να λειτουργώ περισσότερες εκδόσεις PHP σε ένα IIS;

Ναι, μέσω πολλών καταχωρίσεων FastCGI και αντιστοιχίσεων handlers ανά ιστότοπο. Αυτό αυξάνει όμως την προσπάθεια συντήρησης. Κάθε εγκατάσταση χρειάζεται δική της ενημέρωση και δικό της έλεγχο.

Επηρεάζεται η PHP στα Windows από το PHP2Shell;

Οι ευπάθειες βρίσκονται στην ίδια την PHP. Στο IIS η PHP εκτελείται κατά κανόνα ως php-cgi, το οποίο το έργο PHP συγκαταλέγει ρητά στους επηρεαζόμενους τρόπους λειτουργίας. Αντιμετωπίστε γι' αυτό τους διακομιστές Windows το ίδιο επείγοντα με τους διακομιστές Linux.

Πηγές

Άμεση επικοινωνία

Κάθε ώρα μετράει. Γράψτε μας τώρα.

Περιγράψτε σύντομα το σύστημα, την έκδοση PHP και ό,τι παρατηρείτε. Θα επικοινωνήσουμε μαζί σας, θα διευκρινίσουμε την κατάσταση και θα εργαστούμε εξ αποστάσεως μέχρι το περιστατικό να κλείσει και να τεκμηριωθεί.

Άμεση βοήθεια