| Door: Sander Potjer. | Categorie: Algemeen.

De grote Joomla! update angst terecht?

security-maand-2

Dit artikel is onderdeel van de veiligheidsmaand op JoomlaCommunity.nl.

“Zo, de website is af! De laatste Joomla 1.5.5 is geïnstalleerd, de template naar wens en de site is ingericht. Nu alleen nog zo nu en dan nieuwe content plaatsen en ik heb verder geen omkijken meer naar mijn website.” Dit gaat goed totdat je een paar maanden later een mailtje van een bezoeker ontvangt dat er allemaal rare teksten en video’s op de site te zien zijn. Je gaat kijken en komt tot de ontdekking dat je website er niet meer uitziet zoals je gewend bent, je bent gehackt...

Helaas komt een gehackte Joomla website nog steeds regelmatig voor. “Is Joomla dan onveilig?” Nee, vrijwel altijd gaat het hierbij om een hack van oudere Joomla versies of extensies (of verkeerde server instellingen, maar dat laat ik in dit artikel buiten beschouwing). “Maar ik heb de laatste Joomla versie gebruikt!” Dat klopt, op het moment dat de website opgebouwd werd wel, maar in de tussentijd zijn er negen nieuwe versies in de Joomla 1.5 serie uitgekomen...

Bovenstaande scenario komt geregeld voor. Een Joomla website wordt gebouwd maar er worden daarna geen Joomla updates uitgevoerd, terwijl dit wel belangrijk is. Joomla updates worden uitgebracht om ontdekte fouten in de code op te lossen en om verbeteringen door te voeren. Dit kunnen ook verbeteringen zijn op het gebied van veiligheid. Daarom is het belangrijk er voor te zorgen dat je altijd de laatste versie uit de Joomla 1.0 of Joomla 1.5 serie gebruikt.

Gebruikte Joomla versies

Toch passen veel website beheerders deze updates niet toe. Bij een van de grootste Joomla hosting providers van Nederland, Byte Internet, heb ik de statistieken opgevraagd van de gebruikte Joomla versies op de servers van Byte Internet. Daaruit komt de volgende grafiek voor Joomla 1.0 en Joomla 1.5.

joomla-versies-byte

Hieruit valt op te maken dat maar 45% van de websites die op Joomla 1.0 draaien de laatste 1.0.15 versie gebruikt. Voor de Joomla 1.5 serie ligt dit percentage nog lager, nog geen 30% gebruikt Joomla 1.5.14. Dit is een erg laag percentage, ondanks dat Byte Internet toch veel aandacht besteed aan de veiligheid en updates van Joomla. Waarschijnlijk ligt dit percentages over alle Joomla websites gezien nog lager.
Daarnaast valt het op dat versie 1.5.0 - 1.5.5 nog steeds op een aantal sites gebruikt wordt. Deze versies zijn erg eenvoudig te hacken, al heeft het merendeel wel een versie draaien tussen de 1.5.6 - 1.5.14, waarschijnlijk vanwege de grote aandacht aan het lek. Toch gebruikt 70% van de websites nog niet de laatste 1.5.14 versie.

Waarom nog zoveel oudere versies?

Hoe komt het dat er toch nog zoveel ‘oude’ versies van Joomla gebruikt worden en gebruikers niet updaten? Instructies voor het updaten van Joomla versies zijn op genoeg plekken te vinden en erg lastig is een update uitvoeren ook niet. Dit laatste zullen vooral de gebruikers zeggen die al eens een update hebben uitgevoerd, en hier is waarschijnlijk dan ook een oorzaak te vinden.

Veel gebruikers maken eenmalig een website als (hobby)project. Aan het eind van de ontwikkeling ben je allang blij dat de website draait en denk je vooral niet aan het bijhouden van de Joomla versies. En als je er wel aan denk ben je bang dat een update er voor zorgt dat alle tijd en moeite voor een site verloren gaat.

Mijn eerste update

Toen ik in 2005 mijn eerste (toen nog hobby) Joomla site maakte had ik hetzelfde gevoel. Ik was bang dat een update er voor zorgde dat ik alles opnieuw moest instellen. Onterecht, bleek achteraf. Na een keer de tijd te nemen en de stappen voor een update te doorlopen heb ik mijn eerste update uitgevoerd. Wat bleek, de Joomla versie was aangepast maar verder zag ik geen verschil, wat een opluchting! Zelfs een vervelend probleempje in de backend was ineens verdwenen, wat fijn!

Ik kwam er dus achter dat een update heel eenvoudig is uit te voeren en dat de website er alleen maar beter van wordt. Inmiddels lig ik van een nieuwe versie niet meer wakker en voorzie ik in een handomdraai een hele lijst websites van updates. Ik moest een update dus gewoon een keer uitvoeren om van mijn angst af te komen.

De onterechte update angst

Achteraf begrijp ik mijn (onterechte) angst. Voor mijn gevoel kon een update er voor zorgen dat ik al mijn content kwijt raakte. Inmiddels weet ik beter en snap ik dat met een Joomla update alleen de Joomla core bestanden aangepast worden en niet de database structuur en inhoud, waar alle teksten en instellingen worden opgeslagen. Anders is het met een migratie van Joomla 1.0 naar Joomla 1.5. Hierbij wordt wel de database structuur aangepast, maar daarom heet dit ook een ‘migratie’ en geen ‘update’.

Zolang je geen aanpassingen maakt in de core bestanden van Joomla zul je niet snel tegen problemen aanlopen. Met Joomla 1.5 is de ‘template overrides’ functie geïntroduceerd, zo kan je de Joomla output toch aanpassen zonder de core bestanden aan te passen. Al zal de gemiddelde beginner nog niet denken aan het aanpassen van Joomla core bestanden.

De grote beginnersvalkuil

Toch is er voor beginners een grote valkuil bij Joomla updates waardoor er slechte ervaringen ontstaan. Bij de eerste Joomla website die iemand maakt wordt vaak gebruikt gemaakt van een van de standaard aanwezige Joomla templates. Als je na het schuiven van de modules naar andere posities een stapje verder wilt in het bewerken van templates wordt er vaak geëxperimenteerd met het aanpassen van de template CSS bestanden. Na het aanpassen van bijvoorbeeld de template kleuren ben je tevreden over het resultaat, totdat je er na een Joomla update achter komt dat alle aanpassingen ineens zijn verdwenen... dat is dan flink balen!

Dit probleem ontstaat als er bij een update van Joomla ook verbeteringen aan de standaard templates zijn gemaakt. Je template bestanden worden dan overschreven en je raakt de gemaakte  aanpassingen kwijt. Zorg er daarom voor dat je de template bestanden niet overschrijft bij een update. Dit kan je doen door de template map niet mee te nemen bij een update. Een andere optie is de template map te kopiëren en te hernoemen, dan kan het nooit misgaan bij een update. Vergeet echter niet te kijken welke aanpassingen er gedaan zijn aan de standaard template om die eventueel voor je eigen template ook door te voeren.

De update vuistregel

Als vuistregel voor Joomla updates kunnen we dus stellen dat alle bestanden die bij de eerste installatie van Joomla op de server zijn geplaatst overschreven kunnen worden bij updates. Maak aanpassingen aan de Joomla core door gebruik te maken van template overrides en gebruik andere template mapnamen dan de die van de standaard Joomla templates.
Bij een update worden er normaal gesproken geen database aanpassingen gemaakt. Alle instellingen voor je pagina’s, menu’s, modules, plugins, etc... en de content zelf zullen nooit verloren gaan bij een update omdat deze in de database zijn opgeslagen.

Het uitvoeren van een update

In een volgend artikel zal ik de stappen die voor een update nodig zijn doorlopen en daarbij enkele tips geven. Mocht je nu al aan de slag willen staat er in onze documentatie sectie een instructie voor het uitvoeren van updates. Veel succes!