Elxis CMS Forum

Ελληνικό Forum => Ασφάλεια => Topic started by: ArXoS on July 23, 2007, 03:45:43

Title: Μας χακάρανε !!!
Post by: ArXoS on July 23, 2007, 03:45:43
Γεια σας παιδιά. Τα φώτα σας παρακαλώ

Πριν από 2 μέρες, τα sites που έχουμε με κάποιον φίλο μου, πέσαν θύματα hacking. Στο ένα site άλλαξαν το index.html και στο δεύτερο το configuration.php, κάνοντάς τα να εμφανίζουν τα γνωστά μηνύματα των δραστών.
 
Κοιτώντας τα logs του server, δεν είδα καμία ύποπτη σύνδεση, αλλά πολλές επισκέψεις ερχόντουσαν από το http://www.zone-h.org/component/option,com_attacks/Itemid,45/ (http://www.zone-h.org/component/option,com_attacks/Itemid,45/) (οι τύποι, δημοσιεύουν τα κατορθώματά τους για να περνάει η ώρα)
Διαβάζοντας λοιπόν στο παραπάνω site, διαπίστωσα ότι η όλη διαδικασία (διορθώστε με αν κάνω λάθος) λέγεται site defacement και κυκλοφορούν άπειρα προγράμματα αυτής της νέας «πλάκας». Είμαι σίγουρος ότι δεν έχω αφήσει access που δεν χρειάζονται σε φακέλους ή αρχεία, ενώ τα αρχεία που αλλάχθηκαν από τον hacker ήταν owner 99 (όπως δηλαδή περιγράφονται τα αρχεία που δημιουργεί το elxis ή η php)

Για πείτε μου ρε παιδιά πως μπορούμε να προστατευτούμε από αυτή τη πλάκα; Είναι τρύπα του Elxis, ή του server;
Να σας πώ μόνο, ότι στον server που φιλοξενούμαστε, δεν μας αλλάζουν τις php παραμέτρους (τις έχουν standar) και στον έλεγχο ασφαλείας που έκανα με το Updiag έχω τις παρακάτω αναφορές :

Elxis register globals emulation is set to ON
PHP displays errors
PHP register globals is ON
PHP function system is enabled
PHP function exec is enabled
PHP function passthru is enabled
PHP function shell_exec is enabled
PHP allows openning remote files
Elxis error reporting is set to ON
Elxis FloodBlocker is disabled
Elxis Defender is disabled

Υπάρχει κάτι που μπορούμε να κάνουμε ή είμαστε τελείως απροστάτευτοι ;
Title: Re: Μας χακάρανε !!!
Post by: datahell on July 23, 2007, 07:39:23
Με αυτές τις ρυθμίσεις της php δεν φταίνε αυτοί αλλά εσύ. Τα έχεις όλα ανάποδα σε σχέση με το ασφαλές. Αυτά είναι τα προτεινόμενα:

Elxis register globals emulation = OFF
PHP displays errors = OFF
PHP register globals= OFF
PHP function system= DISABLE
PHP function exec = DISABLE
PHP function passthru = DISABLE
PHP function shell_exec = DISABLE
PHP allows openning remote files= OFF
Elxis error reporting = OFF
Elxis FloodBlocker = ENABLE
Elxis Defender = ENABLE

Όλα τα παραπάνω (και άλλα) είναι σημαντικά αλλά ειδικά οι γραμμές με έντονο κείμενο είναι τζιζ. Όποιος τα έχει ανάποδα την πάτησε.

Κοίτα πάντως τα Logs του apache (access logs/error logs) να δεις πως στο έκαναν.
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on July 23, 2007, 11:01:10
το Elxis register globals emulation το βρηκα // το Elxis error reporting που βρησκεται ?
Τα υπόλοιπα, δεν μου τα αλλαζει ο σερβερ .. υπάρχει βρε παιδιά άλλος τροπος να τα ορισω εγω?
Στα site σας, σας επιτρεπουν να αλλαξετε τις php παραμετρους ή μονο εγώ έχω πεσει ρε περίεργους ;

Επίσης, τον defender δεν μπορω ρε παιδιά να τον κάνω να δουλεψει .. τι φιλτρα λεει .. ιδεα δεν εχω ..
Αν δηλαδή όλα της php ήταν σωστα, δεν θα είχα προβλημα ασφαλειας; Αν αυτό ισχύει, τότε είναι λόγος αποχώρησης από το server ... τι να πω..
Title: Re: Μας χακάρανε !!!
Post by: datahell on July 23, 2007, 12:31:37
Η αλλαγή των προκαθορισμένων ρυθμίσεων της php μπορεί να γίνει είτε με κατάλληλη εντολή στο php script ( πχ με την συνάρτηση ini_set() ), είτε μέσω ενός αρχείου .htaccess, είτε με επεξεργασία του php.ini, είτε τέλος με επεξεργασία του httpd.conf του apache. ΟΜΩΣ, ένας σωστός διαχειριστής server δεν επιτρέπει στους χρήστες να βάζουν ότι τιμές να 'ναι στις ρυθμίσεις της php για το καλό όλων. Πχ αν έχει βάλει REGISTER_GLOBALS σε OFF στο php.ini δεν σου επιτρέπει να το γυρίσεις στο ON. Αυτό ποικίλει από server σε server. Ακόμα αυτά τα δικαιώματα (υπερκάλυψης βασικών ρυθμίσεων) μπορούν να οριστούν και κατά περίπτωση/site σε ένα περιβάλλον virual host. Η παράμετρος που καθορίζει αυτό είναι η AllowOverwrite του apache. Θα πρέπει φυσικά να έχεις πρόσβαση στο httpd.conf του apache.

Στην περίπτωσή σου: Αν σε αφήνει μέσω .htaccess να αλλάξεις αυτές τις παραμέτρους μπορείς να βάλεις στο αρχείο .htaccess γραμμές όπως αυτή:

php_flag register_globals off

ή αυτή:

php_value allow_url_fopen 0 (υπάρχει περίπτωση αυτό να σου δημιουργήσει error 500)

Επειδή δεν είσαι έμπειρος χρήστης και δεν είναι και αρμοδιότητά σου να ρυθμίζεις το server (πληρώνεις ανθρώπους για αυτή τη δουλειά άλλωστε) καλύτερα είναι, αφού βεβαιωθείς πως οι τιμές των παραμέτρων είναι όπως τις ανέφερες, να απευθυνθείς στην εταιρεία που σε φιλοξενεί για να κάνει τις απαραίτητες αλλαγές ασφαλείας.

Στο site το μόνο που χρειάζεται να κάνεις είναι:  να το κρατάς ενήμερο και να μην εγκαθιστάς οτιδήποτε δεν προέρχεται από το elxis.org. Οποιοδήποτε module/component κλπ δεν είναι για το Elxis, ξήλωσέ το. Αν τέλος έχεις και άλλα script πάνω στο site σου εκτός του elxis βεβαιώσου ότι είναι ασφαλή και ότι δεν "μπήκανε" από εκεί.
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on July 23, 2007, 16:09:38
Σε ευχαριστώ πάρα πολύ για τη βοήθειά σου
έβαλα στο .htaccess την εντολη
php_flag register_globals off
και διορθώθηκε το register globals  ;D ;D

Μπορείς σε παρακαλώ να με βοηθήσεις, με ποιες εντολές πρέπει να βάλω για να διορθωθούν και τα άλλα λάθη της php ;;;
Title: Re: Μας χακάρανε !!!
Post by: ioannis on July 23, 2007, 23:00:47
καλησπέρα,

το .htaccess αρχείο πρέπει να βρίσκεται στον κατάλογο που είναι εγκατεστημένο το Elxis ή σε άλλο σημείο;
Γιατί κι εγώ κοίταξα τα παραπάνω που γράφει ο Datahell και είναι όλα ON.
Title: Re: Μας χακάρανε !!!
Post by: datahell on July 23, 2007, 23:16:50
Όταν επιλέγεται host για να βάλετε το site σας να μην κοιτάτε μόνο την τιμή. Δεν χρειάζεται να είστε ειδήμων, απλά κάντε μία έρευνα αγοράς και ρωτήστε ή ψάξτε πρωτού επιλέξετε να βάλετε το site σας σε κάποιο server. Ειδικά αν το site σας δεν είναι προσωπικό αυτή η διαδικασία είναι επιβεβλημένη. Λίγα ευρώ παραπάνω σε κόστος (ή και τίποτα υπάρχουν φθηνοί και καλοί hosting providers) είναι τίποτα μπροστά στην διασφάλιση του κόπου σας.

Επίσης όταν εγκαταστήσατε το Elxis, δεν είδατε με κόκκινα έντονα γράμματα που σας έλεγε ότι οι τιμές των παραμέτρων της php δεν είναι ασφαλής; Το παραβλέψατε...

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

Το έχω ξαναπεί και στο παρελθόν, το ξαναλέω και τώρα αφού είναι πάντα επίκαιρο: απόλυτη ασφάλεια δεν υπάρχει. Δυνητικά όλοι οι server/site μπορούν να χακευθούν. Τουλάχιστον όμως ας έχουμε μία στοιχειώδη ασφάλεια.
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on July 24, 2007, 00:12:29
Όταν επιλέγεται host για να βάλετε το site σας να μην κοιτάτε μόνο την τιμή.
ϊσα ίσα, που ο server που επέλεξα δεν είναι και από τους φθηνούς. Για τα υπόλοιπα που λες, αν είναι η πρώτη φορά που ασχολείσαι με domains και hosts, πως θέλεις να τα ξέρεις; Ποιους να ρωτήσεις; Όλοι οι servers που προσφέρουν υπηρεσίες online, τις προσφέρουν μετά το παραδάκι .. όταν πλέον είναι αργά. Έτσι λοιπόν, στην εγκατάσταση, έπεσε η πρώτη υπόδειξη στους διαχειριστές για να μου αλλάξουν τα php modes, και έφαγα την πρώτη κράξα. Τί να κάνεις μετά; προσπαθείς μα ζεις με αυτό/αυτούς.

Επίσης όταν εγκαταστήσατε το Elxis, δεν είδατε με κόκκινα έντονα γράμματα που σας έλεγε ότι οι τιμές των παραμέτρων της php δεν είναι ασφαλής; Το παραβλέψατε...
Οι υποδείξεις της εγκατάστασης για copy-paste στο .htaccess δεν δούλεψαν (error 500)

 
Λυπάμαι αλλά δεν θα πω περισσότερα εδώ για θέματα ασφαλείας γιατί δεν θέλω σε καμία περίπτωση να είμαι εγώ υπεύθυνος με τις όποιες συμβουλές δώσω για την ασφάλεια των site σας ενώ πρέπει να είναι άλλοι υπεύθυνοι. Αν θέλει κάποιος άλλος φίλος ας το κάνει.
Θα μπορούσες να το κάνεις αν ήθελες, έστω και private. Δεν σε αδικώ όμως, άλλωστε εδώ δεν είναι forum υποστήριξης php. Μπορεί κάποιος τουλάχιστον να μου πει πως μπορώ να αλλάξω το PHP allows openning remote files;

Θα προσπαθήσω να μην ενοχλήσω ξανά το forum με ερωτήσεις μου. Όχι οτι και στις προηγούμενες ερωτήσεις μου είχα κάποια ικανοποιητική απάντηση, τουλάχιστον να μην αισθάνομαι και βάρος.

Title: Re: Μας χακάρανε !!!
Post by: datahell on July 24, 2007, 07:53:36
Quote from: datahell
php_value allow_url_fopen 0 (υπάρχει περίπτωση αυτό να σου δημιουργήσει error 500)
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on July 24, 2007, 16:07:56
Όντως βγάζει error 500
Διάβασα κάπου ότι αν είναι το register globals off, δεν είναι και τόσο μεγάλη η ζημιά. Το κακό είναι να είναι συνδυασμός αυτών των 2
Αληθεύει ?
Title: Re: Μας χακάρανε !!!
Post by: datahell on July 24, 2007, 18:54:28
Το νο1 είναι το register_globals. Γιατί;

http://to_site_mou.com/index.php?option=...&mosConfig_live_site=http://www.allo_site.com/....

Το register_globals "προάγει" οποιαδήποτε μεταβλητή δηλώνεται σε "παγκόσμιο" επίπεδο. Αυτό σημαίνει πως αν δεν υπάρχει τότε δηλώνεται στο array $GLOBALS, και αν υπάρχει τότε υπερκαλύπτει την υπάρχουσα τιμή. Έτσι το παραπάνω παράδειγμα θα κάνει το elxis να νομίζει ότι το site μας είναι το http://www.allo_site.com, έτσι τόσο απλά και εύκολα, σαν να μπορεί ο οποιοσδήποτε να γράφει ότι θέλει στο configuration.php

Το Elxis δεν έχει ανάγκη το register_globals, ούτε καν την εξομοίωση (βλ. γενικές ρυθμίσεις), μπορεί άνετα να δουλεύει και χωρίς αυτά και συστήνεται έντονα να τα έχετε OFF.

Το allow_url_fopen είναι επίσης θανατηφόρο αλλά η επίδρασή του εξαρτάται και από το πόσο καλογραμμένος είναι ο κώδικας του script μας και αν ελέγχονται οι μεταβλητές πριν εισέλθουν στο script. Αυτή η παράμετρος επιτρέπει στην php να ανοίγει οποιοδήποτε αρχείο ακόμα και απομακρυσμένο σαν να βρισκόταν τοπικά στο server. Ένας χάκερ μπορεί να εκμεταλλευτεί μια αδυναμία ενός script και να εισάγει στον κώδικα του elxis ένα αρχείο αντλώντας το από ένα άλλο site. Σε ένα cms όπως το elxis που αποτελείται από μερικές χιλιάδες αρχεία και εκατοντάδες χιλιάδες γραμμές κώδικα, είναι αρκετό ένα και μόνο σημείο σε ένα αρχείο να έχει πρόβλημα για να προκληθεί γενικό πρόβλημα.
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on July 25, 2007, 00:29:21
Μαλιστα … datahell, τώρα αρχίζω και καταλαβαίνω την ουσία αυτών των εντολών. Πιστευω ότι είναι πολύ χρήσιμο το συγκεκριμένο θέμα για την ασφάλεια, και ότι υπάρχουν πολλοί χρήστες που δεν είχαν καταλάβει τη λειτουργικότητα αυτών των εντολών. 

Πρέπει λοιπόν να πιεστεί πιο έντονα ο κάθε διαχειριστής server από τους πελάτες του για την σωστή τους ρύθμιση. Μου κάνει όμως εντύπωση, που όλοι οι server που έχω περάσει, έχουν σαν standard configuration τις παραπάνω ρυθμίσεις. Δεν το καταλαβαίνουν ότι εκθέτουν τους πελάτες τους; Με την εξάπλωση μάλιστα των cms όλα τα παραπάνω θα έπρεπε να είναι default off.

Προτελευταίο.
Οι εντολές των functions που είναι και αυτές λάθος, και προτείνει μάλιστα το elxis στην εγκατάσταση την επέμβαση στο htaccess (php_admin_value disable_functions "exec, system, passthru, shell_exec, suexec, dbmopen")  ούτε αυτή δουλεψε. Είναι το ίδιο κρύσιμη όπως και αυτά που προανέφερες;

...Και τελευταίο !
Αλήθεια, στην προσπάθεια μου να λειτουργήσω το defender, είδα ότι πρέπει να κατέχω κάμποσα από τα φίλτρα,  και δυστυχώς δεν τα γνωρίζω. Υπάρχει κάποιο topic για βοήθεια; Ή αναφέρονται στο βιβλίο του elxis, καθως είναι tool εκτός της διάθεσης του elxis;

Ευχαριστώ και πάλι
Title: Re: Μας χακάρανε !!!
Post by: datahell on July 25, 2007, 01:13:08
Οι εντολές που προτείνει το elxis κατά την εγκατάσταση είναι μία χαρά και καθόλου λάθος. Αν τις δεχτεί ο server σου αυτό είναι άλλο θέμα καθώς εξαρτάται από τις εκάστοτε ρυθμίσεις του apache και της php. Το κάθε πράγμα μπορεί να αλλάξει με πολλούς τρόπους. Πχ σου είπα παραπάνω για 4 τρόπους. Υπάρχουν και άλλοι αλλά δεν είναι βέβαιο πως όλοι θα δουλέψουν στο server σου. Εξαρτάται και από τις άλλες ρυθμίσεις του. Για παράδειγμα σου ανέφερα παραπάνω το AllowOverwrite του apache, αν αυτό είναι σε OFF δεν σε αφήνει να αλλάξεις τις τιμές μέσω κάποιου αρχείου htaccess και παράγει σφάλμα 500 (Internal server error).

Ο Defender αποτελεί ένα "φίλτρο απαγορευμένων λέξεων". Βάζεις όποιες λέξεις/φράσεις δεν θες να περνάνε ως εισόδοι στο elxis. Παίξε με τον defender σε μία τοπική εγκατάσταση για να τον μάθεις.
Title: Re: Μας χακάρανε !!!
Post by: artman on September 11, 2007, 15:08:37
Η αλλαγή των προκαθορισμένων ρυθμίσεων της php μπορεί να γίνει είτε με κατάλληλη εντολή στο php script ( πχ με την συνάρτηση ini_set() ), είτε μέσω ενός αρχείου .htaccess, είτε με επεξεργασία του php.ini, είτε τέλος με επεξεργασία του httpd.conf του apache. ΟΜΩΣ, ένας σωστός διαχειριστής server δεν επιτρέπει στους χρήστες να βάζουν ότι τιμές να 'ναι στις ρυθμίσεις της php για το καλό όλων. Πχ αν έχει βάλει REGISTER_GLOBALS σε OFF στο php.ini δεν σου επιτρέπει να το γυρίσεις στο ON. Αυτό ποικίλει από server σε server. Ακόμα αυτά τα δικαιώματα (υπερκάλυψης βασικών ρυθμίσεων) μπορούν να οριστούν και κατά περίπτωση/site σε ένα περιβάλλον virual host. Η παράμετρος που καθορίζει αυτό είναι η AllowOverwrite του apache. Θα πρέπει φυσικά να έχεις πρόσβαση στο httpd.conf του apache.

Στην περίπτωσή σου: Αν σε αφήνει μέσω .htaccess να αλλάξεις αυτές τις παραμέτρους μπορείς να βάλεις στο αρχείο .htaccess γραμμές όπως αυτή:

php_flag register_globals off

ή αυτή:

php_value allow_url_fopen 0 (υπάρχει περίπτωση αυτό να σου δημιουργήσει error 500)

Επειδή δεν είσαι έμπειρος χρήστης και δεν είναι και αρμοδιότητά σου να ρυθμίζεις το server (πληρώνεις ανθρώπους για αυτή τη δουλειά άλλωστε) καλύτερα είναι, αφού βεβαιωθείς πως οι τιμές των παραμέτρων είναι όπως τις ανέφερες, να απευθυνθείς στην εταιρεία που σε φιλοξενεί για να κάνει τις απαραίτητες αλλαγές ασφαλείας.

Στο site το μόνο που χρειάζεται να κάνεις είναι:  να το κρατάς ενήμερο και να μην εγκαθιστάς οτιδήποτε δεν προέρχεται από το elxis.org. Οποιοδήποτε module/component κλπ δεν είναι για το Elxis, ξήλωσέ το. Αν τέλος έχεις και άλλα script πάνω στο site σου εκτός του elxis βεβαιώσου ότι είναι ασφαλή και ότι δεν "μπήκανε" από εκεί.

Έχω Shared Hosting και δυστυχώς και με τις 2 επιλογές μου βγάζει error 500. Σε κατάσταση ON είναι το register globals από τα ανησυχητικά απ' ότι κατάλαβα.

Θέλω να ρωτήσω, αν απευθυνθώ στην εταιρία να μου το κάνει OFF, επηρεάζει αρνητικά τα υπόλοιπα sites που έχω επάνω (κάποιο με oscommerce και κάποια με html)?

Ευχαριστώ
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on September 11, 2007, 19:53:15
Έχω να ρωτήσω κάτι άλλο ..
Τελικά, η εταιρία φιλοξενίας, μετά από πολλά emails, μου έβαλε το php.ini στο root
Κάνω διάφορες αλλαγές, αλλά δε βλέπω να γίνεται τίποτε .. λογικά για να πάρει τις νέες ρυθμίσεις, δε πρέπει να κάνει restart η php ? τι να πω ..

α .. και κάτι άλλο
οι εντολές disable_functions = "exec,system,passthru,shell_exec, suexec, dbmopen"   θέλουν " (αυτάκια) 'η οχι?
Title: Re: Μας χακάρανε !!!
Post by: datahell on September 11, 2007, 20:23:08
Σου έβαλε php.ini στο root;;;  :-X

Αν μπορείς να αλλάζεις τις τιμές runtime τότε τις παίρνει κατευθείαν αλλιώς θέλει restart ο apache ( "service httpd restart"  αν είναι ως service). Η php δεν γίνεται restart, είναι γλώσσα προγραμματισμού όχι service/deamon ::)

Θέλει αυτάκια αν το βάζεις στο php.ini Κανονικά αυτά πρέπει να τα κάνει ο host σου όχι εσύ. Αυτοί είναι υπεύθυνοι να σου παρέχουν ένα ασφαλές και λειτουργικό περιβάλλον για το site σου. Δεν παίζουν με αυτά τα πράγματα. Τι να πω...
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on September 11, 2007, 22:32:39
Ε ναι, η apache ήθελα να πω θέλει restart .. κάτι τέτοιο θυμόμουν όταν δοκίμασα σε τοπική εγκατάσταση.
Και εμένα μου έκανε εντύπωση που το βάλαν στο root. Είναι λες και καλά κίνηση «πάρτο να παίζεις και παράτα μας;»/ Και που το έβαλαν, με χίλια παρακάλια και προειδοποιήσεις ότι θα την κάνω, τα λεφτά μου πίσω κτλ κτλ ..  Άσε που κόβουν το κεφάλι τους ότι ο μόνος τρόπος να με χακάρουν είναι τα mods των αρχείων-φακέλων. Τα register globals, safe modes και όλα τα υπόλοιπα τα θεωρούν λεπτομέρειες. Και να πεις ότι είναι από τις μικρές εταιρίες, να πω ..

Στο θέμα μας. Διαβάζοντας στο php.ini, οι εντολές του disable_functions, είδα να γράφει από πάνω το εξής :
Code: [Select]
This directive allows you to disable certain functions for security reasons.
 It receives a comma-delimited list of function names. This directive is
*NOT* affected by whether Safe Mode is turned On or Off.

Πρέπει να είναι On το safe mode για να δουλέψουν τα disable_functions ?
Και κάτι άλλο. Τι είναι προτημότερο; Να έχεις τις εντολές σου από το php.ini ή από το .htaccess ?
Ευχαριστώ παίδες ..
Title: Re: Μας χακάρανε !!!
Post by: datahell on September 12, 2007, 08:12:10
Το php.ini είναι το αρχείο ρυθμίσεων της php, συνεπώς εκεί πρέπει να είναι όλες οι ρυθμίσεις όπως πρέπει να είναι. Τώρα υπάρχει μία παράμετρος στον apache που λέγεται allow_overwrite αν αυτή έχει οριστεί πχ σε ALL μπορείς να υπερκαλύψεις κάποιες από τις ρυθμίσεις και να βάλεις δικές σου (σε ένα virtual directory του apache ή μέσω του htaccess ή μέσω της function ini_set() ). Σε virtual host περιβάλλον το να αλλάζεις runtime τις ρυθμίσεις της php επηρεάζει και τα άλλα site! Το σωστό και ασφαλές είναι οι ρυθμίσεις της php να ΜΗΝ υπερκαλύπτονται από κανέναν. Κάποιες γενικές και βασικές ρυθμίσεις ασφαλείας πρέπει να είναι ίδιες και παντού για όλα τα site. Η function exec() για παράδειγμα σου επιτρέπει μέχρι και καφέ να ψήσεις μέσω της php (κυριολεκτώ - με την exec τρέχω DOS προγράμματα στο pc μου). Είναι εντελώς επικίνδυνη (και άχρηστη) για το 99,9% των site. Το register_globals μεταφράζεται σε "ελάτε να παίξετε με τις μεταβλητές μας" και το allow_url_fopen σε "φορτώστε ότι θέλετε". Από την άλλη το safe_mode είναι μία μαλ.... που κλειδώνει τα πάντα και δεν μπορείς να κάνεις τίποτα. Το safe_mode θα καταργηθεί στις επόμενες εκδόσεις της php. Ακολουθήστε τις γενικές οδηγίες ασφαλείας όπως προτείνονται από την εγκατάσταση του Elxis. Διαβάστε στο internet (υπάρχουν πάμπολλα άρθρα) για ακόμα καλύτερες ρυθμίσεις και αύξηση της ασφάλειας.
Title: Re: Μας χακάρανε !!!
Post by: artman on September 12, 2007, 10:56:19
Η αλλαγή των προκαθορισμένων ρυθμίσεων της php μπορεί να γίνει είτε με κατάλληλη εντολή στο php script ( πχ με την συνάρτηση ini_set() ), είτε μέσω ενός αρχείου .htaccess, είτε με επεξεργασία του php.ini, είτε τέλος με επεξεργασία του httpd.conf του apache. ΟΜΩΣ, ένας σωστός διαχειριστής server δεν επιτρέπει στους χρήστες να βάζουν ότι τιμές να 'ναι στις ρυθμίσεις της php για το καλό όλων. Πχ αν έχει βάλει REGISTER_GLOBALS σε OFF στο php.ini δεν σου επιτρέπει να το γυρίσεις στο ON. Αυτό ποικίλει από server σε server. Ακόμα αυτά τα δικαιώματα (υπερκάλυψης βασικών ρυθμίσεων) μπορούν να οριστούν και κατά περίπτωση/site σε ένα περιβάλλον virual host. Η παράμετρος που καθορίζει αυτό είναι η AllowOverwrite του apache. Θα πρέπει φυσικά να έχεις πρόσβαση στο httpd.conf του apache.

Στην περίπτωσή σου: Αν σε αφήνει μέσω .htaccess να αλλάξεις αυτές τις παραμέτρους μπορείς να βάλεις στο αρχείο .htaccess γραμμές όπως αυτή:

php_flag register_globals off

ή αυτή:

php_value allow_url_fopen 0 (υπάρχει περίπτωση αυτό να σου δημιουργήσει error 500)

Επειδή δεν είσαι έμπειρος χρήστης και δεν είναι και αρμοδιότητά σου να ρυθμίζεις το server (πληρώνεις ανθρώπους για αυτή τη δουλειά άλλωστε) καλύτερα είναι, αφού βεβαιωθείς πως οι τιμές των παραμέτρων είναι όπως τις ανέφερες, να απευθυνθείς στην εταιρεία που σε φιλοξενεί για να κάνει τις απαραίτητες αλλαγές ασφαλείας.

Στο site το μόνο που χρειάζεται να κάνεις είναι:  να το κρατάς ενήμερο και να μην εγκαθιστάς οτιδήποτε δεν προέρχεται από το elxis.org. Οποιοδήποτε module/component κλπ δεν είναι για το Elxis, ξήλωσέ το. Αν τέλος έχεις και άλλα script πάνω στο site σου εκτός του elxis βεβαιώσου ότι είναι ασφαλή και ότι δεν "μπήκανε" από εκεί.

Έχω Shared Hosting και δυστυχώς και με τις 2 επιλογές μου βγάζει error 500. Σε κατάσταση ON είναι το register globals από τα ανησυχητικά απ' ότι κατάλαβα.

Θέλω να ρωτήσω, αν απευθυνθώ στην εταιρία να μου το κάνει OFF, επηρεάζει αρνητικά τα υπόλοιπα sites που έχω επάνω (κάποιο με oscommerce και κάποια με html)?

Ευχαριστώ

???
Title: Re: Μας χακάρανε !!!
Post by: datahell on September 12, 2007, 11:42:40
Για το Elxis δεν έχεις πρόβλημα με το register_globals μιας και το elxis δεν το λαμβάνει υπόψιν του, παίζει και με off (συνιστάται off). Επίσης οτιδήποτε software διανέμεται μέσω του Elxis.org και έχει περάσει τον έλεγχο μας είναι ασφαλές και δεν χρειάζεται register_globals. Άρα είναι ασφαλές από αυτό. Προσέχετε πάρα πολύ όμως αν εγκαθιστάτε πράγματα που δεν είναι φτιαγμένα για το Elxis γιατί πολλοί τρίτοι κατασκευαστές δεν τηρούν στοιχειώδη μέτρα ασφάλειας στον κώδικά τους.Το oscommerce θυμάμαι από παλιά ότι θέλει register globals σε on αλλιώς ΔΕΝ παίζει. Το oscommerce ήταν ανασφαλές εφαρμογή και γι αυτό δεν το έχω χρησιμοποιήσει ποτέ σε Online site. Δεν ξέρω αν στις νέες εκδόσεις τα έχουν φτιάξει αυτά. Μην εγκαθιστάτε software που για να δουλέψει σωστά θέλει register_globals σε on.

Εξαρτάται από που θα αλλάξεις τις παραμέτρους για το αν θα επηρεαστούν άλλα site. Αν πχ τις αλλάξεις στο php.ini επηρεάζει όλο το server. Στο htaccess επηρεάζει μόνο το site σου (ολόκληρο ή μέρος του). Στο httpd.conf επηρεάζει ολόκληρο το server ή συγκεκρημένο/α site.

To σφάλμα 500 σημαίνει πως αυτό που πας να κάνεις δεν στο επιτρέπουν οι ρυθμίσεις του php.ini/httpd.conf. (Allow Overwrite : off)

Τα html site είναι html..., δεν επηρεάζονται από ρυθμίσεις της php.
Title: Re: Μας χακάρανε !!!
Post by: artman on September 12, 2007, 12:00:16
Δηλαδή το μόνο που έχω να κάνω είναι να ζητήσω από την εταιρία να μου δώσουν access για να μπορώ να πειράζω το htaccess έτσι ώστε να μην επηρεάζεται άλλο site, σωστά?
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on September 22, 2007, 00:38:49
.... το AllowOverwrite του apache, αν αυτό είναι σε OFF δεν σε αφήνει να αλλάξεις τις τιμές μέσω κάποιου αρχείου htaccess και παράγει σφάλμα 500 (Internal server error).

Ο αγώνας μου με τους τεχνικούς τους σερβερ συνεχίζεται . Αφού εδώ και 1 μήνα ψάχνουν πώς να αλλάξουν το ulr_fopen και όλα τα disable_funtions και δε μπορούν, τους πρότεινα σύμφωνα με το παραπάνω που γράφεις να αλλάξουν τα settings του apache για να με αφήσουν να φτιάχνω το .htacess μόνος μου

Διάβασα στο http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride τα περί allowOverride. Τι εντολές πρέπει να βάλουν στο apache ? All? Να σας θυμίσω, ότι στο .htaccess με εντολή για rergster globals και display errors οι εντολές μου έγιναν δεκτές, ενώ για τα disable_funtions και fopen βγάζει error 500

Βοηθήστε ρε παιδιά, τρώω συνεχόμενες επιθέσεις (μέχρι και php emailer μου βάλανε χακερς και με έχουνε μαυρίσει σαν spamer!), και έχω μπλέξει με σερβερ που δεν πρέπει να το κατέχει το άθλημα .. Βάλαμε τις εντολές στο php.ini, και μετά από 200 restart της apache πάλι έχω τις ίδιες «τρύπες»

Ελπίζω μόνο πλέον στο allowOverride, ή σε κανέναν άλλον τρόπο που μπορεί να δουλέψει ..
Title: Re: Μας χακάρανε !!!
Post by: nikos65 on September 22, 2007, 08:50:37
Νομίζω ότι θα πρέπει να δουλέψεις μόνο το php.ini εφόσον ο server σου χρησιμοποιεί phpsuexec.
Για να το καταλάβεις αυτό κοίτα μέσα στην διαχείριση του elxis στο σύστημα>πληροφορίες php εάν στην 4 γραμμή εκεί που  γράφει server api εάν είναι η τιμή CGI τότε χρησιμοποιείς phpsuexec.

Μία βασική ρύθμιση τότε είναι ότι όλοι οι κατάλογοι που πρέπει να είναι εγγράψιμοι να είναι  σε 755 και οχι σε 777 γιατί σε συνδυασμό με την .htaccess και με τις εντολές που πέρασες λογικά σου βγάζει το λάθος 500.

Σε αυτή την περίπτωση θα πρέπει να βρεις το php.ini και να αλλάξεις τις ρυθμίσεις  στα register globals,display errors ,allow_urls φυσικά και τις ρυθμίσεις που προτείνει το elxis κατά την αρχή της εγκατάστασης.

Μετά ρίξε το Php.ini στο public_html και στον κατάλογο του administration κάνε έλεγχο ασφάλειας και δεν θα υπάρχει καμία προειδοποίηση.

Κοίτα το και ενημέρωσε μας ..
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on September 22, 2007, 13:17:16
Συστημα/Πληροφορίες PHP έχει :   Server API    Apache
Είναι αυτό που λες ?


το Php.ini στο public_html και στον κατάλογο του administration ??? στεκει αυτο που λες? δαβαζεται το php.ini απο εκει μέσα?
Title: Re: Μας χακάρανε !!!
Post by: nikos65 on September 22, 2007, 14:49:21
Ναι στέκει και δουλεύει τέλεια αλλά δεν ισχύει για σένα γιατί δεν έχεις phpsuexec οπότε θα πρέπει να δουλέψεις με τις εντολές  στο .htaccess.
Δυστυχώς οι γνώσεις μου έχουν να κάνουν μόνο με αυτό που ασχολήθηκα γιατί έχω php>5 και φυσικά phpsuexec και έπρεπε να προστατέψω τα site μου σύμφωνα με τα δεδομένα του hosting που έχω.
Ψάξε στο forum ή κάνε αναζήτηση στο google και θα βρεις λύσεις γιατί πολλές κοινότητες αντιμετωπίζουν το ίδιο πρόβλημα επίσης ο datahell   έχει δημοσιεύσει σημαντικά πράγματα.

Title: Re: Μας χακάρανε !!!
Post by: artman on September 23, 2007, 13:12:58
για αυτά που γράφει ο nikos65 έχει δίκιο, κι εγώ όλες τις ρυθμίσσεις τις έκανα μόνος μου, σύμφωνα με τις οδηγίες του datahell (έχει λιώσει το παληκάρι να απαντάει σε τέτοια θέματα!), πάντως αν βλέπεις πως δεν βγάζεις άκρη μαζί τους (server) γιατί δεν πας αλλού ??

είναι σημαντικό το κομμάτι της ασφάλειας.

ευτυχώς εγώ εδώ που είμαι (server) έχω πολύ καλό support και τα παιδιά απαντάνε σε όλες τις ερωτήσεις μου, αφού πρώτα ψάξω στο forum τι χρειάζομαι ή τι μου λείπει, μιας και είμαι άσχετος με τα πάντα εδω μέσα και όλα είναι πρωτόγνωρα για εμένα (κοινώς κινέζικα!).
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on October 02, 2007, 20:00:53
Γεια σας ρε παιδια

Η συνέχεια της ιστορίας !!!
Τελικά ο server μου χρησιμοποίησε Server API CGI
Έχουμε λοιπόν τις εξής αλλαξές :

1.Όλα τα αρχεία και οι φακέλοι έγιναν εγγράψημα (με 755 και 644)
Ερώτηση : Πως θα τα κάνω μη εγγράψημα ?

2.Επίσης, όταν πάω να βάλω το php.ini στο public_html, έχοντας φτιάζει ένα αρχείο δοκιμαστικά με την εντολή
Code: [Select]
<?php
phpinfo
();
?>

βλέπω οτι τελικά οι παράμετροι άλλαξαν  ;D ;D ;D
Στο updiags όμως, δεν φαίνονται αλλαγμένοι, παρα μόνο αν βάλω το php.ini Και στο adminisrator

Αυτό λοιπόν που θέλω να ρωτήσω, είναι το εξής :
Πρέπει να βάλω σε όλους τους φακέλους το php.ini για να ισχύουν οι ρυθμίσεις αυτές σε όλα τα paths? Το λέω αυτό γιατί έχω αρκετά components και moduls πέραν της εγκατάστασης του elxis, και φυσικά chat και forum .. Tί γίνεται λοιπόν με αυτα τα paths ??

Ευχριστώωωω
Title: Re: Μας χακάρανε !!!
Post by: nikos65 on October 03, 2007, 03:36:38
Πλέον η προστασία σου πρέπει να γίνεται απο το php.ini .
Εχω διαβάσει ότι καλό είναι να εάν μπορείς να το βάλεις σε κάθε <dir> δεν μπορώ να το επιβεβαιώσω όμως.
Ξεκίνα τουλάχιστον με το root και τον φάκελο <admin...>  σχετικά με τα 755 νομίζω ότι δεν πρέπει να ανησυχείς εάν το Php.ini είναι οκ.

Αυτά ξέρω παρακαλώ διορθώστε με εάν κάτι δεν ισχύει..
Title: Re: Μας χακάρανε !!!
Post by: artman on October 03, 2007, 10:06:14
Αντιμετώπισα ανάλογο πρόβλημα. Εμένα μου είπαν πως πρέπει να μπει σε όλους τους φακέλους κανονικά. Οπότε το κάνεις όπως ακριβώς το θες και το βάζεις παντού.

Ναι, μην ξεχάσεις κάτι γιατί πρέπει να το ξαναπεράσεις παντού.  8)
Title: Re: Μας χακάρανε !!!
Post by: ArXoS on October 05, 2007, 17:16:36
Οκ., το έβαλα παντού

Κάτι που παρατήρησα ..

Από τότε που έγινε  η αναβάθμιση σε phpsuexec, βλέπω οτι τα αποθηκευμένα στην cash είναι
phpThumb_cache_www.XXXXXXXX.gr
ενώ πριν ήταν
phpThumb_cache_ΧΧΧΧΧΧΧΧ.gr

Πρέπει να αλλάξω κάτι στο elxis 'η δεν έχει σχέση?


Το δεύτερο που δεν βλέπω να δουλεύει, είναι το SMPT μαιλ ... όλα τα μαιλς που στελνει το ελχις, μου επιστρεύονται πίσω (δεν φτάνουν στον προοτισμό τους γιατί απορύπτονται ως spams)
Να το γυρίσω σε PHP mail ???
Title: Re: Μας χακάρανε !!!
Post by: nikos65 on October 05, 2007, 17:36:06
Σε Php mail δεν έχω πρόβλημα !!