aankondigingen:2018:software-updates-201809

Differences

This shows you the differences between two versions of the page.


aankondigingen:2018:software-updates-201809 [2024/04/16 07:59] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +~~META:
 +title = C2018D10: Software updates september 2018
 +~~
 +====== C2018D10: Software updates september 2018 ======
 +
 +====== Klantcommunicatie ======
 +
 +==== Aankondigingen ====
 +
 +=== Aankondiging: Software onderhoud hosting omgeving en aankondiging End-Of-Life verouderde software ===
 +Beste Klant / collega,
 +
 +Bij deze vragen we aandacht voor het volgende:
 +
 +Het NPO-ICT webhosting platform bestaat uit een veelheid van software
 +componenten; denk aan webservers als apache en nginx; programmeertalen
 +als php, java, ruby en python; databases als mysql, mariadb, postgresql, redis en couchdb.
 +Vaak maakt deze software gebruik van externe programmabibliotheken om
 +specifieke taken uit te voeren. Denk aan openssl voor encryptie of
 +imagemagick voor image processing. 
 +
 +Van al deze tientallen tot honderden componenten komen regelmatig nieuwe
 +versies uit en omdat de developers ervan niet alles kunnen ondersteunen
 +worden oude versies vaak op enig moment tot not-supported verklaard.
 +
 +Vaak kunnen wij software van een oude naar een nieuwe versie updaten
 +zonder dat dat enige impact op de werking van een website of een
 +applicatie heeft. Helaas is dat echter niet altijd mogelijk. Van tijd
 +tot tijd komen er nieuwe zogeheten "major releases" uit, die niet 100%
 +backwards compatible met oudere versies zijn. Het gevolg hiervan is dat
 +als we zo'n upgrade toch zouden uitvoeren er een grote kans bestaat dat
 +een website of applicatie na afloop niet meer werkt.
 +Bij zo'n major upgrade zijn vaak aanpassingen in de code van de website
 +of applicatie nodig om deze weer te laten werken met de nieuwere
 +software versie. En daar is dus actie van de ontwikkelaars van de
 +website voor nodig.
 +
 +In het verleden is het regelmatig gebeurd dat dit soort major upgrades
 +(te) lang uitgesteld zijn, waardoor er nu op een aantal plekken (te)
 +oude, niet meer gesupporte software draait. Dit is een security risico,
 +wat weer een impact op privacy kan hebben. Denk aan een datalek als
 +gevolg van een oude website die verouderde software draait.
 +
 +Vanwege de strengere wetgeving t.a.v. privacy en informatiebeveiliging
 +is bij de NPO een project gestart om aan een ISO norm op dat gebied
 +te gaan voldoen (ISO 27001). Gevolg hiervan is dat we op termijn van
 +alle niet meer gesupporte software af willen en dat we in de nabije
 +toekomst onze klanten dus vaker en met meer nadruk zullen vragen om
 +voor ons software updates mogelijk te maken door de websites en
 +applicaties geschikt te maken voor de nieuwere versies.
 +Waarbij uiteindelijk de keuze tussen upgraden of uitzetten gemaakt zal
 +moeten worden.
 +
 +Omdat het over vrij veel componenten gaat doen we de upgrades gespreid in de
 +tijd. Afgelopen jaar is bijvoorbeeld al met betrokkenen contact
 +opgenomen over het upgraden van oude php-, mysql- en java versies.
 +
 +Bij deze willen we aandacht vragen voor de volgende componenten:
 +  - Php-5.6 wordt nog tot [[http://php.net/supported-versions.php|het einde van dit jaar]] gesupport. Het is dus zaak om bestaande php-5.6 applicaties geschikt te maken voor php-7.1 of php-7.2.
 +  - Python 2.7 gaat op 1 januari 2020 [[https://pythonclock.org/|met pensioen]]; python-3 staat al jaren in de startblokken.
 +  - We draaien nog een aantal oude, ongesupporte [[http://tomcat.apache.org/whichversion.html|tomcat-6]] installaties.  We zullen contact opnemen met de klanten die het betreft met het verzoek om deze danwel te upgraden naar tomcat-8.5, danwel ze uit te zetten.
 +  - We draaien nog een aantal oude, ongesupporte [[https://www.postgresql.org/support/versioning/|postgresql-8]] installaties. Ook hier zullen we contact opnemen met het verzoek deze te upgraden danwel uit te zetten.
 +
 +De komende maanden zullen we ook aandacht gaan vragen voor activemq,
 +elasticsearch, couchdb, ffmpeg, gearman, graylog, junction,
 +kibana, node-js, mongodb, redis, resin en ruby. 
 +Graag willen we deze componenten upgraden naar nieuwe supporte versies.
 +Wij denken dat een termijn van een 3-6 maanden tussen aankondiging en
 +uitfasering redelijk zou moeten
 +zijn om applicaties met de nieuwe versies te laten werken, maar zijn
 +ook benieuwd wat jullie daarvan denken.
 +
 +Naast de major upgrades zijn er ook de minor updates. In de periode van 24--26 september
 +zullen we onderstaande updates doorvoeren:
 +
 +/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
 +^ wat ^ van ^ naar ^ changelog ^
 +/*| apache | 2.4.33 | 2.4.34 | [[http://www.apache.org/dist/httpd/CHANGES_2.4.34|1]] |*/
 +| nginx | 1.15.2 | 1.15.3 | [[http://nginx.org/en/CHANGES|1]] |
 +| php 5.6 | 5.6.37 | 5.6.38 | [[http://php.net/ChangeLog-5.php#5.6.37 |1]] |
 +| php 7.1 | 7.1.20 | 7.1.22 | [[http://php.net/ChangeLog-7.php#7.1.21|1]] [[http://php.net/ChangeLog-7.php#7.1.22|2]] |
 +| php 7.2 | 7.2.8 | 7.2.10 | [[http://php.net/ChangeLog-7.php#7.2.9|1]] [[http://php.net/ChangeLog-7.php#7.2.10|2]] |
 +| passenger 5 | 5.0.21 | 5.3.4 | [[https://github.com/phusion/passenger/blob/stable-5.3/CHANGELOG|1]] |
 +/*| python | 2.7.14 | 2.7.15 | [[https://www.python.org/downloads/release/python-2715/|1]] |*/
 +/*| python | 3.6.4 | 3.6.5 | [[https://www.python.org/downloads/release/python-365/|1]] |*/
 +/*| java 1.8 | 1.8.0_172 | 1.8.0_181 | [[http://www.oracle.com/technetwork/java/javase/8u181-relnotes-4479407.html|1]] |*/
 +| tomcat 8 | 8.0.15 / 8.0.30 | 8.5.33 | [[https://tomcat.apache.org/tomcat-8.5-doc/changelog.html|1]] |
 +| ImageMagick 6 | 6.7.2.7 / 6.9.7-5 | 6.9.10-11 | [[https://www.imagemagick.org/script/changelog.php|1]] |
 +| ImageMagick 7 | 7.0.4-5 | 7.0.8-11 | [[https://www.imagemagick.org/script/changelog.php|1]] |
 +/*| memcached | 1.5.8 | 1.5.10 | [[https://github.com/memcached/memcached/wiki/ReleaseNotes1510|1]] |*/
 +/*| mariadb | 10.2.15 | 10.2.17 | [[https://mariadb.com/kb/en/library/mariadb-10216-release-notes/|1]] [[https://mariadb.com/kb/en/library/mariadb-10217-release-notes/|2]] |*/
 +/*| mysql | 5.7.22 | 5.7.23 | [[https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-23.html|1]] |*/*/
 +/*| postgresql 8 | 8.1.5 | 9.6.10 | [[https://www.postgresql.org/docs/9.6/static/release.html|1]]|*/
 +| postgresql 9.4| 9.4.5 | 9.4.19 | [[https://www.postgresql.org/docs/9.4/static/release.html|1]]|
 +| postgresql 9.6| 9.6.4 | 9.6.10 | [[https://www.postgresql.org/docs/9.6/static/release.html|1]]|
 +| openssh | 7.7 | 7.8 | [[https://www.openssh.com/releasenotes.html|1]] |*/
 +/*| postfix | 3.2.5 | 3.2.6 | [[http://www.postfix.org/announcements/postfix-3.3.1.html|1]] |*/
 +/*| bind | 9.11.3 | 9.11.4-P1 | [[https://kb.isc.org/article/AA-01634/81/BIND-9.11.4-Release-Notes.html|1]] [[https://kb.isc.org/article/AA-01644/81/BIND-9.11.4-P1-Release-Notes.html|2]] |*/
 +/*|unbound | 1.7.1 | 1.7.3 | [[http://www.unbound.net/download.html|1]] |*/
 +
 +De updates worden voor 19 september op het testcluster doorgevoerd,
 +zodat er gelegenheid is om de nieuwe versies te testen.
 +
 +In deze ronde zijn een paar aanpassingen die speciale aandacht vragen:
 +  * Vanaf deze maand gaan we ook standaard postgresql, tomcat en passenger upgrades doen. Dat betekent dat we vanaf nu ook aan onze postgres, java en ruby gebruikers gaan vragen om deze berichten in de gaten te houden en waar nodig actiever te testen.
 +  * Voor de bestaande tomcat-8.0 installaties (welke niet meer gesupport zijn) voeren we een upgrade uit naar versie 8.5, die wel gesupport is. Deze versie is backwards compatible met 8.0, dus we verwachten daar geen problemen mee.
 +  * Er is recent een [[https://www.kb.cert.org/vuls/id/332928|probleem]] gevonden in Ghostscript waardoor arbitraire commando's op de webserver uitgevoerd kunnen worden. In het bijzonder ImageMagick is hier gevoelig voor omdat het Ghostscript gebruikt om postscript content mee af te handelen. (denk aan plaatjes die geconverteerd worden van pdf naar iets anders) Met deze update ronde worden de Ghostscript en ImageMagick versies die ingebakken zitten in onze php distributie hiervoor gefixed.
 +  * In het OS ingebakken zat nog een oude versie van ImageMagick (6.7.2.7). (o.a. /usr/bin/convert is hier een onderdeel van) Omdat deze ook kwetsbaar is voor bovenstaand probleem wordt deze vervangen, door een nieuwe 6.x versie. Daarnaast stellen we op afroep een 7.x versie beschikbaar.
 +
 +Het schema voor de productie clusters is als volgt:
 +/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
 +^ wat ^ actie ^ impact ^ wanneer ^
 +/*|apache |herstart webservers |geen |27 augustus 8:00 -- 12:00 |*/
 +|nginx |herstart webservers |geen |24 september 8:00 -- 12:00 |
 +|php |herstart applicatieservers |geen |24 september 8:00 -- 12:00 |
 +|passenger |herstart Ruby-on-Rails applicaties |geen |24 september 8:00 -- 12:00 |
 +/*|python |herstart applicatieservers |geen |11 juni 8:00 -- 12:00 |*/
 +/*|java |herstart niet geclusterde applicaties als Tomcat, ActiveMQ, Graylog en Junction |ongeveer 1-5 min downtime per instantie |28 augustus 1:00 -- 6:00 |*/
 +|ImageMagick |nieuwe versie wordt actief |geen |24 september 8:00 -- 12:00 |
 +/*|mariadb |herstart databases |2 korte onderbrekingen naar de database instanties |28 augustus 1:00 -- 6:00 |*/
 +/*|mysql |herstart databases |2 korte onderbrekingen naar de database instanties |28 augustus 1:00 -- 6:00 |*/
 +/*|memcached |herstart Memcached instanties |memory caches worden gecleared |29 augustus 8:00 -- 12:00 |*/
 +|openssh |herstart openssh |geen, bestaande sessies blijven bestaan |25 september 8:00 -- 12:00 |*/
 +/*|postfix |herstart mailservers |geen |12 juni 8:00 -- 12:00 |*/
 +/*|bind |herstart nameservers |geen |29 augustus 8:00 -- 12:00 |*/
 +/*|unbound |herstart dns-resolvers |geen |29 augustus 8:00 -- 12:00 |*/
 +/*|java |herstart wel geclusterde applicaties als Elastic Search |geen |29 augustus 13:00 -- 17:00 |*/
 +|postgresql |herstart databases |1 korte onderbreking naar de database instanties |26 september 1:00 -- 5:00 |
 +|tomcat |herstart java applicaties |ongeveer 1-5 min downtime per instantie |26 september 1:00 -- 5:00 |