Wanneer je met websites werkt, gebruik je plaatjes. Dat is ook niet zo vreemd, want volgens het bekende gezegde scheelt dat natuurlijk een hoop typewerk. In het geval van foto’s en afbeeldingen op websites, wordt hier vaak gebruik gemaakt van ImageMagick (of de PHP module iMagick) om het bewerken hiervan mogelijk te maken.
Helaas zijn er recentelijk ook in ImageMagick een aantal lekken ontdekt, waardoor hackers misbruik kunnen maken van de server. We zullen niet te ver op de details in gaan, maar het heeft te maken met het veranderen van de zogenaamde ‘magic bytes’ – wat dan eigenlijk wel weer toepasselijk is – van een afbeelding voordat je hem upload via de website.
Maar, gelukkig is de ontwikkeling van ImageMagick nog steeds in volle gang en heeft het dan ook niet lang geduurd voordat er een update van de veel gebruikte software beschikbaar is gekomen. Updaten en op die manier uw eigen server (en uw klanten!) beschermen, is dan ook een fluitje van een virtuele cent.
Om deze stappen te volgen, zorgt u dat u via SSH bent ingelogd op uw CentOS server.
N.B.: Twijfelt u? Wilt u liever dat wij het doen? Geen probleem! Stuur een ticket naar onze technische dienst en wij voeren het graag voor u uit. Voor unmanged systemen kost dit slechts €17,50 exclusief BTW.
Stap 1: Heb ik het?
Natuurlijk bepaalt u eerst of u überhaupt kwetsbaar bent voor het lek. Via SSH geeft u het volgende commando aan de server om dit te controleren:
# yum list installed | grep -I image
Het antwoord kan er dan bijvoorbeeld zo uit zien.
# yum list installed | grep 'Image' ImageMagick.x86_64 6.5.4.7-6.el6_2 @base ImageMagick-devel.x86_64 6.5.4.7-6.el6_2 @base
Oké, dus ImageMagick is geïnstlaleerd op de server en u draait momenteel versie 6.5.4.7-6.el6_2 voor zowel de gewone als de development branch. De nieuwste versie voor CentOS is 6.7.2.7-4.el6_7, dus daar moet verandering in komen.
Stap 2: Updaten die handel
Om de software op uw CentOS server te updaten, maakt u gebruik van YUM. YUM is het interactieve installatie- en update-programma van het zwarte scherm, wat niet alleen handmatig, maar ook op de achtergrond door de server zelf gebruikt wordt om nieuwe software te installeren of bestaande software te updaten of verwijderen.
Groot voordeel van het gebruik van YUM is dat dit zelf ook bij houdt wat je nodig hebt om iets te kunnen gebruiken. Dus, zoals in het geval van ImageMagick, is bijvoorbeeld een nieuwe versie van OpenEXR-libs benodigd om ImageMagick te kunnen updaten. Goed nieuws: YUM doet dit zelf, en helemaal automatisch.
Dus, laten we de server maar eens aan het werk zetten. Via SSH, geef de server het volgende commando:
# yum install ImageMagick
Dat is alles. YUM gaat alle informatie bij elkaar zoeken welke het nodig heeft voor een succesvolle update. Uiteindelijk krijgt u een overzicht in beeld met wat er allemaal moet gaan gebeuren.
Zoals u ziet, betreft het hier in ons geval 5 installaties en 7 upgrades, wat in totaal 9.8MB in beslag gaat nemen. Prima toch? Er wordt gevraagd voor een verificatie, dus typt u de letter ‘y’, gevolgd door een enter.
Stap 3: Achterover leunen en koffie drinken
Dit is een hele korte stap, want het betreft hier maar een kleine collectie van acties welke uitgevoerd moeten worden en het zal dan ook niet langer duren dan enkele minuten.
YUM gaat voor ons aan het werkt en zal beginnen met het downloaden van alle benodigde installatie-bestanden. Vervolgens worden er wat zaken getest, voordat er daardwerkelijk met de installtie of updates begonnen wordt.
Uiteindelijk wordt er grote opschoning gehouden en worden alle overtollige betanden verwijderd en wordt alles nog geverifieerd, waarna u gepresenteerd wordt met een totaal-overzicht van wat er gebeurd is.
Stap 4: Controleren
Oké, dat is mooi. Als we nu controleren of het gelukt is door nog een keer te vragen welke versie er geïnstalleerd is, zien we inderdaad dat de laatste beschikbare versie aanwezig is op onze server.
# yum list installed | grep -i image ImageMagick.x86_64 6.7.2.7-4.el6_7 @updates ImageMagick-devel.x86_64 6.7.2.7-4.el6_7 @updates
In de nu geïnstalleerde versie zijn de laatste beschikbare patches ook meegenomen. Dit valt te controleren via het volgende commando:
# rpm -q --changelog ImageMagick | less * Thu May 05 2016 Jan Horak <jhorak@redhat.com> - 6.7.2.7-4 - Add fix for CVE-2016-3714, CVE-2016-3715, CVE-2016-3716 and CVE-2016-3717
Stap 5: Tevreden terugblikken
Het heeft u tien minuten gekost, maar mede dankzij uw inzet is het internet weer een stukje veiliger. Daar mag u best trots op zijn! Host u (veel) klanten op de server welke u zojuist heeft beveiligd? Plaats eens een artikel op uw blog of nieuwsfeed, dat schept weer vertrouwen.