Elxis CMS Forum

Ελληνικό Forum => Εγκατάσταση => Topic started by: adouda on April 27, 2015, 13:22:40

Title: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: adouda on April 27, 2015, 13:22:40
Εχω τα Windows Server 2012 R2 Essentiasl
Εγκατέστησα το elxis
Εδωσα τους κωδικους ασφαλειας και στην πρωτη οθονη μετα την ολοκλήρωση της εγκατάστασης μου εβγαλε το μηνυμα :

Security alert
Request dropped!

I think you are a bad boy.
Reference code: SEC-DEFB-0002

Sorry for the inconvenience.

Τι εχει συμβεί ;
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: datahell on April 27, 2015, 21:48:05
Ο Defender δεν μπορεί να ανιχνεύσει την IP σου, συνεπώς αυτή είναι κενή, αυτό δεν αρέσει στον defender και σε κάνει ban.
Η μη ανίχνευση της IP οφείλεται στον windows server σου (κατά την άποψή μου τα windows είναι άθλια για λειτουργικό server).
Θα πρέπει ο server να επιστρέφει τουλάχιστον ένα από αυτά: HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR.

Κάνε την εξής δοκιμή και πες μου τα αποτελέσματα.
Φτιάξε ένα νέο αρχείο με όνομα test.php
Άνοιξε το με το notepad ή άλλον text editor και γράψε μέσα:

Code: [Select]
<?php 
header
('content-type:text/plain; charset=utf-8');
print_r($_SERVER);
?>

Αποθήκευσέ το, ανέβασέ το στο site σου και τρέξτο με τον browser (πχ http://www.example.com/test.php)
Από όλα όσα θα σου γράψει κάπου θα έχει διευθύνσεις ip, επικόλησέ μου εδώ αυτές τις γραμμές.

Παράδειγμα:
[REMOTE_ADDR] => 127.0.0.1
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: adouda on April 28, 2015, 18:45:52
Αυτό είναι το αποτέλεσμα της καταγραφής

Array
(
    [PROCESSOR_ARCHITEW6432] => AMD64
    [_FCGI_X_PIPE_] => \\.\pipe\IISFCGI-8e646be7-50da-4f3f-b27f-270578de3490
    [PHP_FCGI_MAX_REQUESTS] => 10000
    [PHPRC] => C:\Program Files (x86)\PHP\v5.4
    [ALLUSERSPROFILE] => C:\ProgramData
    [APPDATA] => C:\Windows\system32\config\systemprofile\AppData\Roaming
    [APP_POOL_CONFIG] => C:\inetpub\temp\apppools\RootApp\RootApp.config
    [APP_POOL_ID] => RootApp
    [CommonProgramFiles] => C:\Program Files (x86)\Common Files
    [CommonProgramFiles(x86)] => C:\Program Files (x86)\Common Files
    [CommonProgramW6432] => C:\Program Files\Common Files
    [COMPUTERNAME] => WWW
    [ComSpec] => C:\Windows\system32\cmd.exe
    [FP_NO_HOST_CHECK] => NO
    [LOCALAPPDATA] => C:\Windows\system32\config\systemprofile\AppData\Local
    [NUMBER_OF_PROCESSORS] => 4
    [OS] => Windows_NT
    [Path] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\PHP\v5.4;C:\Windows\system32\inetsrv
    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    [PROCESSOR_ARCHITECTURE] => x86
    [PROCESSOR_IDENTIFIER] => Intel64 Family 6 Model 15 Stepping 11, GenuineIntel
    [PROCESSOR_LEVEL] => 6
    [PROCESSOR_REVISION] => 0f0b
    [ProgramData] => C:\ProgramData
    [ProgramFiles] => C:\Program Files (x86)
    [ProgramFiles(x86)] => C:\Program Files (x86)
    [ProgramW6432] => C:\Program Files
    [PSModulePath] => C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
    [PUBLIC] => C:\Users\Public
    [SystemDrive] => C:
    [SystemRoot] => C:\Windows
    [TEMP] => C:\Windows\TEMP
    [TMP] => C:\Windows\TEMP
    [USERDOMAIN] => xxxxxxxxxx
    [USERNAME] => WWW$
    [USERPROFILE] => C:\Windows\system32\config\systemprofile
    [WebAddIns] => C:\Program Files\Windows Server\Bin\WebApps\RemoteAccess\Addins
    [windir] => C:\Windows
    [ORIG_PATH_INFO] => /test.php
    [URL] => /test.php
    [SERVER_SOFTWARE] => Microsoft-IIS/8.5
    [SERVER_PROTOCOL] => HTTP/1.1
    [SERVER_PORT_SECURE] => 0
    [SERVER_PORT] => 80
    [SERVER_NAME] => www.xxxxxxxxxx.gr
    [SCRIPT_NAME] => /test.php
    [SCRIPT_FILENAME] => C:\Program Files\Windows Server\Bin\webapps\site\test.php
    [REQUEST_URI] => /test.php
    [REQUEST_METHOD] => GET
    [REMOTE_USER] =>
    [REMOTE_PORT] => 57846
    [REMOTE_HOST] => fe80::4db0:8e68:c6ca:b188%12
    [REMOTE_ADDR] => fe80::4db0:8e68:c6ca:b188%12
    [QUERY_STRING] =>
    [PATH_TRANSLATED] => C:\Program Files\Windows Server\Bin\webapps\site\test.php
    [LOGON_USER] =>
    [LOCAL_ADDR] => fe80::4db0:8e68:c6ca:b188%12
    [INSTANCE_META_PATH] => /LM/W3SVC/1
    [INSTANCE_NAME] => DEFAULT WEB SITE
    [INSTANCE_ID] => 1
    [HTTPS_SERVER_SUBJECT] =>
    [HTTPS_SERVER_ISSUER] =>
    [HTTPS_SECRETKEYSIZE] =>
    [HTTPS_KEYSIZE] =>
    [HTTPS] => off
    [GATEWAY_INTERFACE] => CGI/1.1
    [DOCUMENT_ROOT] => C:\Program Files\Windows Server\Bin\webapps\site
    [CONTENT_TYPE] =>
    [CONTENT_LENGTH] => 0
    [CERT_SUBJECT] =>
    [CERT_SERIALNUMBER] =>
    [CERT_ISSUER] =>
    [CERT_FLAGS] =>
    [CERT_COOKIE] =>
    [AUTH_USER] =>
    [AUTH_PASSWORD] =>
    [AUTH_TYPE] =>
    [APPL_PHYSICAL_PATH] => C:\Program Files\Windows Server\Bin\webapps\site\
    [APPL_MD_PATH] => /LM/W3SVC/1/ROOT
    [IIS_UrlRewriteModule] => 7.1.0871.0
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
    [HTTP_HOST] => www.xxxxxxxxxxxx.gr
    [HTTP_ACCEPT_LANGUAGE] => el-GR,el;q=0.8,en-US;q=0.5,en;q=0.3
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [HTTP_CONNECTION] => keep-alive
    [FCGI_ROLE] => RESPONDER
    [PHP_SELF] => /test.php
    [REQUEST_TIME_FLOAT] => 1430235202.6088
    [REQUEST_TIME] => 1430235202
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: datahell on April 28, 2015, 20:50:02
Το πρόβλημα είναι ότι συνδέεσε με IP v6 (πως κι έτσι;) η οποία όμως είναι άκυρη.
 [REMOTE_ADDR] => fe80::4db0:8e68:c6ca:b188%12

Θα σου απαντήσω σε λίγο τι να κάνεις. Σημείωσε πάντως πως η χρήση IP V6 είναι πολύ περιορισμένη ακόμα.
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: datahell on April 28, 2015, 21:13:17
Η ip που μου έδειξες (fe80::4db0:8e68:c6ca:b188%12) είναι άκυρη IP V6 γιατί έχει στο τέλος ένα %12. Η σωστή/έγκυρη ip είναι αυτή: fe80::4db0:8e68:c6ca:b188. Το γιατί προστίθεται το %12 στο τέλος ψάξτο στο server σου, ίσως φταίει η έκδοση php για windows που χρησιμοποιείς ή ο web server.

Αν ο server σου σου προσθέτει το %12 (μη εκτυπώσιμο device character) σε κάθε ip κάνε την παρακάτω αλλαγή για να το διορθώσεις.

Άνοιξε το αρχείο includes/libraries/elxis/defender.class.php
Βρες την γραμμή 80:
$this->address = $this->getIP();
και πρόσθεσε από κάτω αυτό:
$this->address = preg_replace('@(%12)$@', '', $this->address);

Συμπέρασμα: Ο Defender σωστά σε μπλοκάρει γιατί ο server διαβάζει λάθος την ip σου.
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: adouda on April 30, 2015, 11:23:43
Η περιπετεια συνεχιζεται

το προηγουμενο λαθος το διορθωσα αλλα εμανιστηκε αμεσως μετα ενα νεο μηνυμα λαθους

Fatal error
Unrecoverable error!

Could not save session! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'ip_address' cannot be null
Reference code: SEC-ELXIS-0003

Sorry for the inconvenience.
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: datahell on April 30, 2015, 13:17:00
Πρέπει να κάνεις και αλλού αλλαγές αν και όπως έγραψα ήδη το σωστό είναι να φτιάξεις την εγκατάστασή σου γιατί το πρόβλημα είναι στο server σου, όχι στο Elxis.

Άνοιξε αυτό το αρχείο:
includes/libraries/elxis/helpers/ip.helper.php
Πήγαινε στη γραμμή 42:

} elseif (isset($_SERVER['REMOTE_ADDR']) && ($_SERVER['REMOTE_ADDR'] != '')) {
   $ip = $_SERVER['REMOTE_ADDR'];
} else {
   return null;
}


και πρόσθεσε από κάτω:
$ip = preg_replace('@(%12)$@', '', $ip);

Μετά από αυτή την αλλαγή θα είσαι ΟΚ όσον αφορά τον πυρήνα του Elxis. Ίσως έχεις πρόβλημα μόνο σε κάποια third party επέκταση που χρησιμοποιεί διευθύνσεις ip.
Title: Re: Πρόβλημα ασφαλειας στην εγκατασταση
Post by: adouda on May 04, 2015, 11:25:01
το προηγουμενο μηνυμα το ξεπερασε
αλλα εβγαλε νεο μηνυμα σφαλματος

Fatal error
Unrecoverable error!

Could not save session! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'ip_address' cannot be null
Reference code: SEC-ELXIS-0003

Sorry for the inconvenience.

αυτο ειναι το αποτελεσμα ειναι στον server, αλλ σε client  υπολογιστη απο το σπιτι μου, εμφανιζει μονο την βασικη σελίδα του διαχειριστή και την σελίδα με τα Famous Places και ολες οι αλλες σελιδες ειναι σαν να μην υπαρχουν στον server