Aggiornare PHP Giacomo Lanzi

Aggiornare php: perche’ e come fare

Tempo di lettura: 5 min

PHP e’ uno dei linguaggi di scripting piu’ popolari oggi sul web. Secondo W3Techs, il PHP e’ utilizzato da oltre l’82% di tutti i siti web che utilizzano un linguaggio di programmazione lato server. Cio’ significa che 8 siti su 10 utilizzano PHP in una forma o nell’altra. Essendo un linguaggio di scripting, e’ fondamentale aggiornare PHP all’ultima versione disponibile, a meno di esigenze particolari.

Oggi cerchiamo di capire l’importanza di aggiornare alle ultime versioni PHP, non solo per motivi di sicurezza, ma anche per migliorare le prestazioni e il supporto. Verra’ anche mostrato il procedimento preciso tramite un semplice how-to.

Quando aggiornare PHP?

Come per ogni software, PHP ha un ciclo di vita a cui deve attenersi per continuare ad apportare miglioramenti e avanzare nello sviluppo. Ogni rilascio principale di PHP e’ in genere pienamente supportata per due anni. Durante questo periodo, i bug e i problemi di sicurezza vengono risolti e corretti regolarmente. e’ garantito un terzo anno di supporto, solo per quello che riguarda la sicurezza del linguaggio e non delle prestazioni.

Versioni PHP supportate

Ad oggi (estate 2020), chiunque esegua una versione di PHP 7.1 o inferiore non usufruisce piu’ del supporto di sicurezza ed e’ esposto a vulnerabilita’ che non verranno risolte. Secondo la pagina ufficiale di WordPress Stats, al momento di scrivere questo articolo, oltre il 41% degli utenti WordPress utilizza ancora su PHP 7.1 o inferiore. Questo non e’ solo un problema dal punto di vista della sicurezza, ma e’ anche un ostacolo perche’ si sono ancora molti siti che non sfruttano ulteriori miglioramenti delle prestazioni introdotte con PHP 7.2 e successive.

Purtroppo, non tutti sono informati del pericolo e poiche’ aggiornare PHP e’ un’operazione che va fatta sul server e non dal sito stesso, una buona fetta degli utenti non sa nemmeno come procedere.

Versioni php supportateCome e’ visibile da questa immagine, le versioni attualmente supportate di PHP sono 3: la 7.2, il cui supporto di sicurezza terminera’ il 30 novembre 2020; la 7.3, supportata fino a dicembre 2021 e la 7.4 supportata fino al novembre 2022. Attenzione: negli ultimi 12 mesi di vita della versione, l’unico supporto garantito e’ quello di sicurezza.

Lentezza degli aggiornamenti

Molti sono i fattori che potrebbero influire una lenta adozione di versioni recenti del linguaggio, di seguito ne vediamo alcuni:

1. I proprietari dei siti, non essendo tecnici, non conoscono il linguaggio e non sanno di dover aggiornare PHP al fine di avere un sito sicuro e al passo coi tempi.
2. Chi utilizza temi o plugin personalizzati sul proprio sito, vuole essere sicuro che le nuove versioni PHP non abbiano problemi di retrocompatibilita’. Questi sviluppatori aspettano che vengano rilasciate le nuove linee guida per le versioni piu’ recenti, e solo dopo aver controllato i loro plugin e temi, adottano pienamente la nuova versione.
3. Alcuni host hanno paura ad aggiornare il linguaggio sul server perche’ potrebbe portare a un’ondata di ticket di supporto. Sempre di piu’, per fortuna, i provider mettono a disposizione la scelta della versione all’utente finale, come vedremo tra poco.

Onestamente, non capisco tutta questa paura nell’aggiornare PHP e tenere i propri sistemi ben funzionanti e al sicuro. Ritengo l’attesa abbastanza inutile e rischiosa.

Come aggiornare PHP sul pannello hosting di SOD

Per prima cosa, accedere al proprio pannello di controllo e dalla dashboard principale, scorrere in basso fino alla sezione del sito interessato. In fondo, cliccare sul tasto “Show More” per visualizzare le opzioni relative a all’hosting.

Aggiornare php - passo 1

Tra le opzioni, cercare quella chiamata “PHP Settings”. Da notare che gia’ a fianco del nome e’ presente, tra parentesi, la versione in uso in quel momento dal server. Cliccare sull’opzione per approdare nella pagina delle impostazioni PHP.

All’interno della sezione PHP, e’ possibile, tramite un menu’ a tendina, modificare la versione in uso. Le versioni che non sono piu’ aggiornate, sono segnate come “outdated”, ma comunque selezionabili.

Nella pagina, oltre alla versione attiva sul server, e’ possibile modificare molte altre opzioni PHP relative alle performance e alla sicurezza. Per esempio il limite della memoria dedicata, il tempo massimo di esecuzione degli script, la posizione delle cartelle di scripting e cosi’ via. 

Sono tutte funzionalita’ di cui l’utente medio non ha bisogno quotidianamente, ma il fatto che sia disponibile un controllo cosi’ approfondito delle opzioni PHP e’ un punto a favore per la duttilita’ del pannello di controllo e del servizio.

Assicuratevi che il vostro host utilizzi le ultime versioni di PHP

Come abbiamo visto, l’aggiornamento PHP alla versione supportata e’ un’operazione semplice da eseguire tramite l’apposito pannello del piano di hosting.

Qualche anno fa, un ottimo articolo intitolato “Whipping Your Host Into Shape” di Joost de Valk, entrava nel dettaglio di come il vero problema sia che i provider non adottano piu’ velocemente le versioni recenti e, anche se lo fanno, non incoraggiano gli utenti ad aggiornarsi. Sono passati anni da quell’articolo e mi auguro che il trend vada migliorando, e che sempre di piu’ si pensi alla sicurezza dei propri portali anche attraverso l’aggiornamento dell’infrastruttura che li ospita.

Tramite il pannello di controllo dei piani hosting di SOD, tenere aggiornato e sicuro il servizio e’ semplice, e aggiornare PHP e’ solo un esempio delle potenzialita’ del pannello stesso. Verifica tu stesso accedendo a una demo del servizio.

Link utili:

Gestire WordPress dal pannello hosting

Hosting online per siti web

Server hosting per sito web di SOD

Plesk CloudFlare estensione gratuita per gli utenti Webhosting 

Condividi


RSS

Piu’ articoli…

Categorie …

Tags

RSS CSIRT

RSS Dark Reading

RSS Full Disclosure

  • Defense in depth -- the Microsoft way (part 83): instead to fix even their most stupid mistaskes, they spill barrels of snakeoil to cover them (or just leave them as-is) Marzo 17, 2023
    Posted by Stefan Kanthak on Mar 16Hi @ll, with Windows 2000, Microsoft virtualised the [HKEY_CLASSES_ROOT] registry branch: what was just an alias for [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] before became the overlay of [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] and [HKEY_CURRENT_USER\Software\Classes] with the latter having precedence: Note: while [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] is writable only by...
  • [CFP] Security BSides Ljubljana 0x7E7 | June 16, 2023 Marzo 17, 2023
    Posted by Andraz Sraka on Mar 16MMMMMMMMMMMMMMMMNmddmNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMN..-..--+MMNy:...-.-/yNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMy..ymd-.:Mm::-:osyo-..-mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MM:..---.:dM/..+NNyyMN/..:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Mm../dds.-oy.-.dMh--mMds++MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM My:::::/ydMmo..-hMMMmo//omMs/+Mm+++++shNMN+//+//+oMNy+///ohM MMMs//yMNo+hMh---m:-:hy+sMN..+Mo..os+.-:Ny--ossssdN-.:yyo+mM...
  • Full Disclosure - Fastly Marzo 12, 2023
    Posted by Andrey Stoykov on Mar 11Correspondence from Fastly declined to comment regarding new discovered vulnerabilities within their website. Poor practices regarding password changes. 1. Reset user password 2. Access link sent 3. Temporary password sent plaintext // HTTP POST request POST /user/mwebsec%40gmail.com/password/request_reset HTTP/2 Host: api.fastly.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 […]
  • Full Disclosure - Shopify Application Marzo 12, 2023
    Posted by Andrey Stoykov on Mar 11Correspondence from Shopify declined to comment regarding new discovered vulnerabilities within their website. Although 'frontend' vulnerabilities are considered out of scope, person/tester foundhimself a beefy bugbounty from the same page that has been listed below, including similar functionality that has not been tested yet. Two emails and several reports, […]
  • [CVE-2023-25355/25356] No fix available - vulnerabilities in CoreDial sipXcom sipXopenfire Marzo 7, 2023
    Posted by Systems Research Group via Fulldisclosure on Mar 06
  • SEC Consult SA-20230306-0 :: Multiple Vulnerabilities in Arris DG3450 Cable Gateway Marzo 7, 2023
    Posted by SEC Consult Vulnerability Lab, Research via Fulldisclosure on Mar 06SEC Consult Vulnerability Lab Security Advisory < 20230306-0 > ======================================================================= title: Multiple Vulnerabilities product: Arris DG3450 Cable Gateway vulnerable version: AR01.02.056.18_041520_711.NCS.10 fixed version: - CVE number: CVE-2023-27571, CVE-2023-27572 impact: medium homepage: https://www.commscope.com...
  • OpenBSD overflow Marzo 7, 2023
    Posted by Erg Noor on Mar 06Hi, Fun OpenBSD bug. ip_dooptions() will allow IPOPT_SSRR with optlen = 2. save_rte() will set isr_nhops to very large value, which will cause overflow in next ip_srcroute() call. More info is here https://github.com/fuzzingrf/openbsd_tcpip_overflow/ -erg
  • SEC Consult SA-20230228-0 :: OS Command Injectionin Barracuda CloudGen WAN Marzo 3, 2023
    Posted by SEC Consult Vulnerability Lab, Research via Fulldisclosure on Mar 02SEC Consult Vulnerability Lab Security Advisory < 20230228-0 > ======================================================================= title: OS Command Injection product: Barracuda CloudGen WAN vulnerable version: < v8.* hotfix 1089 fixed version: v8.* with hotfix webui-sdwan-1089-8.3.1-174141891 or above version 9.0.0 or above CVE number: CVE-2023-26213...
  • SRP on Windows 11 Marzo 3, 2023
    Posted by Andy Ful on Mar 02The correction to: Full Disclosure: Defense in depth -- the Microsoft way (part 82): INVALID/BOGUS AppLocker rules disable SAFER on Windows 11 22H2 (seclists.org) The Kanthak correction to restore SRP functionality on Windows 11 ver. 22H2, works only when Smart App Control is OFF. If it is in Evaluate […]
  • NetBSD overflow Marzo 3, 2023
    Posted by Erg Noor on Mar 02Hi, Trivial overflow in hfslib_reada_node_offset, while loop has no range checks. |size_t hfslib_reada_node_offsets(void* in_bytes, uint16_t* out_offset_array) { void* ptr; if (in_bytes == NULL || out_offset_array == NULL) return 0; ptr = in_bytes; out_offset_array--; do { out_offset_array++; *out_offset_array = be16tohp(&ptr); } while (*out_offset_array != (uint16_t)14); return ((uint8_t*)ptr - (uint8_t*)in_bytes); }| […]

Customers

Newsletter