De lat wordt hoger gelegd om de veiligheid te verhogen

joomla3.3-readyOp 29 januari 2014 publiceerde Joomla.org een blog van Michael Babker. Daarin wordt uitgelegd wat de nieuwe eisen zijn die Joomla! stelt om Joomla! 3.3 werkend te krijgen. Als Joomla! 3.3 beschikbaar komt, dan is de minimum versie van PHP verhoogd naar PHP 5.3.10!

Omdat dit zowel voor de Joomla!gebruikers  als voor de hostingproviders van belang is, heeft Wouter (WoodyF4u) het blog van Michael vertaald voor Joomla!NL.
Het blog bevat:

  • Waarom komen die wijzigingen nu?
  • Waarom zijn de eisen nu hoger gesteld dan bij de start van Joomla! 3.x?
  • Hoe zullen extensies hierop reageren?
  • Krijg ik een waarschuwing? Waar moet ik op letten?
  • Wat gebeurt er als mijn hostingprovider nog niet klaar is voor Joomla! 3.3?

Laten we beginnen met, "Waarom komen die wijzigingen nu?"

De Joomla! 3.x-series zullen binnen een jaar overgaan op de Long Term Stable (LTS) versie. Daarna zal deze LTS-versie minimal 2 jaar worden ondersteund. Er is een hele belangrijke aanpassing gedaan in de PHP 5.3.x series richting PHP versie 5.3.10. Het niveau van cryptografie voor het beveiligen van wachtwoorden is sterk verhoogd.
Wetende dat Joomla! 1.5 en 2.5  al lang in gebruik zijn, is het redelijk om te voorspellen dat Joomla! 3.x-sites binnen drie jaar die oude sites hebben vervangen. Dan zijn Joomla! 1.5 en 2.5 namelijk beide End-Of-Life. Niemand wil een onveilige Joomla!-3.x-site in beheer hebben. Ook willen we niet de pers halen omdat we niet in staat zouden zijn om de sites goed te beschermen.

Omdat de nieuwe ontwikkelingen in hack-technieken constant doorgaan, zou het een slechte service zijn voor de Joomla!gebruikers als er niet zou worden gewerkt aan betere cryptografische algoritmes die beschikbaar zijn gekomen in PHP 5.3.10 en dus beschikbaar zijn voor de nieuwste LTS-versie.
Het Production Leadership Team (PLT) had ervoor kunnen kiezen om tests te gaan schrijven die op verschillende serverconfiguraties met verschillende PHP-versies kunnen worden uitgevoerd. Er is voor gekozen om dat niet te doen. Beveiliging is nu al erg gecompliceerd en vraagt om heel veel extra complexe code.  Dan zou er heel veel flexibiliteit ingebouwd moeten worden om ervoor te zorgen dat ook servers die drie jaar geleden zijn ingericht  en sindsdien niet zijn geupdate nog voldoende snel kunnen werken. In plaats daarvan wordt er nu gewerkt om een beter beveiligde wachtwoordcryptografie beschikbaar te stellen zodat die kan worden ingezet in de 3.x-LTS-series. Dit wordt nu toegepast in de nieuw uit te brengen 3.3-versie. Daarmee komt die techniek dus beschikbaar voor alle nieuwe websites die met Joomla! 3.x worden ingericht.

Websitebeveiliging staat op ieders netvlies sinds we onlangs berichten in het nieuws hebben gezien  van grote aanvallen op organisaties van credtcarddata en de Adobe-accounts. Zo worden beheerders van CMS-sites zich er steeds meer van bewust dat beveiliging heel erg belangrijk is. Zelfs vandaag de dag zijn Joomla! 1.5.26 websites nog steeds erg veilig, als de laatste patch er maar overheen is gezet. Het nieuwsbericht van vorige week waarin werd gemeld dat enkele belangrijke hostingbedrijven  websites zouden gaan blokkeren was gebaseerd op het verspreiden van onrust over mogelijke lekken die zij hadden gevonden in Joomla! 1.5-sites die NIET zijn geupdate naar Joomla! 1.5.26 en ook niet zijn voorzien van die laatste patch. Daarnaast bleken de gemelde risico’s gebaseerd op serversoftware die nog steeds draait op PHP 5.2!

Wat zijn dan de voordelen van deze beveiligingswijziging? Met de nieuwe toepassingen in Joomla! 3.2 en die komen in Joomla! 3.3 bieden we gebruikers de mogelijkheid om één van de meest veilige CMS-oplossingen te beheren.


Hadden we de lat al hoger moeten leggen aan het begin van de Joomla! 3.x-series?

lat hoger glazenbolMisschien wel als we toen al de ervaringen hadden die we onlangs hebben opgedaan. We moeten terugkijken naar de zomer van 2012 toen nog niet kon worden voorspeld wat de minimum PHP-toepassingen zouden zijn die ontwikkelaars zouden gaan gebruiken  richting de oplevering van 3.x-series voor LTS. Daarvoor zou een kristallen bol wel handig zijn geweest. Zowel voor Joomla! 1.5 als 2.5 waren de vereisten toen ruim voldoende.

Eén van de uitdagingen waar we in november tegenaan liepen bij de uitrol van verbeterde veiligheidsaanpassingen in Joomla! 3.2 was dat we ontdekten dat er wel heel veel verschillend ingerichte hostingservers zijn. En veel daarvan draaien ook nog eens op verouderde software. We kwamen er ook achter dat veel van onze testers niet meer werken met die oude servers en zo de 'fouten' er niet uit konden halen. De problemen traden alleen op met de oude PHP-versies. Omdat het doel altijd is om Joomla! installeerbaar te laten zijn op zoveel mogelijk verschillende omgevingen, voelt dit een beetje als het niet meer ondersteunen van IE6. De tijd is nu gekomen waarop we niet meer vasthouden aan terughoudend zijn met beveiligingsaanpassingen aanbieden zodat ze op zoveel mogelijk niet goed onderhouden hostingomgevingen en dus met oude serversoftware kunnen werken.

Ik ben wel nieuwsgierig, hoe oud is oud?

Sommigen geven aan dat de meest recente PHP-versie nu 5.5.8 is. PHP 5.2 heeft End of Life bereikt in januari 2011. Dat is drie jaar geleden. En nog steeds draaien veel Joomla! 1.5-sites op die PHP-versie. Toen Joomla! 3.x in 2012  beschikbaar kwam werd het minimum PHP-niveau gesteld op 5.3.1 die in November 2009 is uitgekomen. Die versie werd ondersteund tot maart 2010.
Met deze nieuwe wijziging stellen we nu het minimale PHP-niveau vast op 5.3.10 dat sinds februari 2012 beschikbaar is en de te gebruiken versie was tot april 2012. Dus zal deze aanpassing effect hebben op servers die begin 2012 zijn ingericht en sindsdien niet meer zijn geupdate.

Hoe zullen extensies hierop reageren?

Dat zullen ze niet. Vanuit het ontwerp is Joomla! 3.x  in staat om terug te kunnen tot de eerste versie die beschikbaar kwam in de 3.x-serie. Dus Joomla! 3.0 en van daaraf dus weer door kan tot en met de Long Term Stable versie van 3.5. Extensie-ontwikkelaars hoeven er dus geen werk van te maken zolang ze hun extensies maar hebben ontwikkeld met de Series 3.x API.

Deze aankondiging zal dus voor goed ontwikkelde extensies geen consequenties hebben. Alle extensies die goed zijn geschreven met de Series 3.x API zullen probleemloos blijven werken.
De paar extensies die de Joomla!basiscode vervangen met hun eigen code zoals inlog-plugins met een eigen beveiliging zullen door de ontwikkelaars wel goed moeten worden gecontroleerd voordat Joomla! 3.3 wordt vrijgegeven.

Krijg ik een waarschuwing in beeld? Waar moet ik op letten?

Ja, de eerstvolgende in de  3.x-reeks wordt Joomla! 3.2.2 en is gepland voor volgende week. Tijdens het installeren van die versie vindt er een PHP-controle plaats. Als het niet PHP 5.3.10 of hoger is, verschijnt er een post-installatiebericht  dat meldt dat de server niet geschikt is voor Joomla! 3.3. Als dit bericht niet verschijnt , dan is alles in orde.

Als je het nu al wil controleren, kun je inloggen in het Administratordeel en dan gaan naar: Systeem => Systeeminformatie => PHP versie en daarachter staat de PHP-versie van de server.

Wat zal er gebeuren als je hostingprovider niet klaar is voor Joomla! 3.3?

Er zal in ieder geval nog niets met je website gebeuren. Wanneer je start met Joomla! 3.2.2, zal een nieuwe toepassing de PHP-versie testen en als de server niet geschikt is, zullen de updates niet worden uitgevoerd. Voor de komende zes maanden nadat Joomla! 3.3 is vrijgegeven, zal het Joomla! Project Team wel veiligheidsupdates uitgeven voor zowel Joomla! 3.2 als 3.3 (en natuurlijk 2.5) zodat een veiligheidslek wel met een eenklik-update kan worden gerepareerd en updaten naar 3.3 dus niet direct noodzakelijk is. Je kan dus nog op tijd bij je provider melden dat die zijn servers moet updaten. Het is wel belangrijk dat dit maar een zes-maanden-service is en je in ieder geval wel moet updaten naar Joomla! 3.2 om updates te blijven ontvangen.

Je hebt twee mogelijkheden. De meest eenvoudige is je hostingprovider vragen om je site te verplaatsen naar één van hun meest recent opgezette servers die al draaien op PHP 5.3.10 of hoger. Als dat niet lukt en je twijfelt over de ondersteuning en service die je hostingbedrijf biedt, dan heb je nog voldoende tijd om te verhuizen naar een andere provider. Je hebt nog tot oktober 2014 om het op te lossen, zodat je kunt updaten middels de eenklik-methode naar de 3.5-LTS-versie die dan beschikbaar komt.

Er is ruimte geboden op het (Engelstalige) forum voor communicatie over dit onderwerp:
http://forum.joomla.org/viewtopic.php?f=704&t=833872