This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ~~META: title = C2019D07: Software updates februari 2019 ~~ {{htmlmetatags> metatag-keywords=(software update) metatag-og:title=(Software updates februari 2019) metatag-og:description=( In de periode van 18--20 februari worden er software updates in de NPO hosting omgeving uitgevoerd. Het betreft keepalived, apache_mod_smooth_streaming, icecast, passenger, ruby, python, java, mysql, ImageMagick, ffmpeg en postfix. Omdat oracle per 1 januari 2018 gestopt is met het supporten van java 1.8 stappen we over op de AdoptOpenJDK versie van Java. Maxmind is gestopt met het aanbieden van een aantal GeoIP versie 1 databases. Daardoor zullen wij deze ook niet meer distribueren. Vanaf januari 2019 is er geen support meer voor php-5.6. Versie 5.3 is al sinds juni 2014 niet meer gesupport. We houden op 31 maart 2019 op met het aanbieden van php-5.3 en willen 30 september 2019 ophouden met het aanbieden van php-5.6 op het hosting platform. ) }} ====== C2019D07: Software updates februari 2019 ====== ===== Aankondigingen ====== ==== Aankondiging: Software onderhoud hosting omgeving ==== Beste Klant / collega (Is dit bericht niet goed leesbaar? Bekijk dan [[|hier]] de online versie.) Bij deze vragen we aandacht voor het volgende: - Overgang van Oracle java naar AdoptOpenJDK versie - Uitfaseren van oude Maxmind GeoIP databases - Upgrade van ffmpeg-2 en ffmpeg-3 naar ffmpeg-4. - Upgrade van passenger-5 naar passenger-6 - Upgrade van Python-3.6 naar Python-3.7 - Upgrade van ImageMagick-6 naar ImageMagick-7 en bekende kwetsbaarheden in ghostscript - Upgrade van apache_mod_smooth_streaming-1.7 naar 1.9 - End Of Life van PHP-5.3 en PHP-5.6 - End Of Life kalender van overige software componenten - Reguliere software updates === Overgang van Oracle java naar AdoptOpenJDK versie === Zoals eerder aangekondigd is Oracle in januari van dit jaar opgehouden met het supporten van java 8. Daarom [[c2019d01-uitfaseren-java-8#aankondigingjava_gebruik_in_de_hosting_omgeving_na_januari_2019_ivm_eol_oracle_java_18|stappen we over]] van de oracle variant naar AdoptOpenJDK. Vorige maand is dat met alle instanties in de testomgeving gebeurd. Deze maand is het de beurt aan de productieomgeving. Dat betekent dat zaken als POMS, Elasticsearch en graylog voortaan op basis van AdoptOpenJDK zullen draaien. Omdat beide versies onderling uitwisselbaar zijn verwachten we daar geen problemen mee. Daarnaast bieden we met ingang van heden naast java 8 ook java 11 aan. Op de upload servers is naast een runtime environment ("jre") ook een volledige development kit ("jdk") beschikbaar met daarin tools als jar, javac, jdb en jconsole. Dit was op basis van oracle jdk-1.8 en wordt nu OpenJDK-11. === Uitfaseren van oude Maxmind GeoIP databases === Maxmind (het bedrijf achter de geolocation op basis van IP databases) is opgehouden met het aanbieden van een aantal legacy GeoIP versie 1 databases. Dit betreft "GeoIPASNum.dat", "GeoIPCity.dat" en de IPv6 databases. De belangrijkste database in dit rijtje ("GeoIP.dat", die een IPv4 adres vertaalt naar een landcode) is nog wél beschikbaar, maar omdat Maxmind bezig is alles om te bouwen naar hun nieuwe versie 2 formaat ("GeoIP2") raden we gebruikers van de maxmind databases aan om hun code aan te passen naar de nieuwe databases. In PHP kan daar de [[https://github.com/maxmind/MaxMind-DB-Reader-php|MaxMind-DB-Reader]] extension voor gebruikt worden, welke wij bundelen met php-7. Meer informatie over het gebruik van de nieuwe maxmind code staat op de NPO [[:maxmind-geoip|hosting wiki]]. === Upgrade van ffmpeg-2 en -3 naar ffmpeg-4 === In de vorige update ronde heeft een migratie plaatsgevonden van niet meer gesupporte ffmpeg versies naar de dichtsbijzijnde wel gesupporte versie. Nu is het moment aangebroken om de drie versies die nog overbleven (ffmpeg-2, -3 en -4) terug te brengen naar één versie: ffmpeg-4. Omdat de verschillen in API tussen bovenstaande ffmpeg versies klein zijn verwachten we daar geen problemen mee. Het grootste verschil is de zgn "[[https://nl.wikipedia.org/wiki/Advanced_Audio_Coding|AAC]]" encoder. In oudere versies van ffmpeg is "libfaac" de aangewezen encoder daarvoor, terwijl in nieuwere versies deze vervangen is door de "aac" encoder. Dat betekent dat aanroepen waarin staat "-c:a libfaac" vervangen dienen te worden door "-c:a aac" === Upgrade van passenger-5 naar passenger-6 === In Ruby-on-rails sites zit een stukje middleware genaamd "Passenger" wat dient als verbindingsschakel tussen de webserver en de ruby code. Veel (oude) Ruby-on-rails sites draaien nog met een oudere versie van passenger (versie 4) omdat ze niet met de nieuwere versie 5 kunnen samenwerken. Nieuwere sites maken wel gebruik van versie 5. Deze zullen we upgraden naar passenger-6. Hiervoor zijn geen wijzigingen in de ruby code nodig. === Upgrade van Python-3.6 naar Python-3.7 === Wij bieden zowel Python-2.7 als Python-3 aan. De Python-3 tak wordt ge-upgrade van 3.6 naar 3.7 waarmee Python-3.6 verdwijnt. Aangezien 3.7 voldoende backwards compatible is met 3.6 verwachten we daar geen problemen mee. Waar nodig zullen we contact met gebruikers van Python-3.6 opnemen, bijvoorbeeld om even "pip install" voor Python-3.7 modules te doen. === Upgrade van ImageMagick-6 naar ImageMagick-7 en bekende kwetsbaarheden in ghostscript === ImageMagick wordt veel gebruikt om plaatjes te converteren. In php leveren we een [[http://php.net/manual/en/book.imagick.php|gebundelde]] ImageMagick, maar het is ook mogelijk om op de command line losse ImageMagick commando's aan te roepen. Het bekendste voorbeeld daarvan is een programma genaamd "convert". Indien dit zonder expliciet pad wordt gedaan is dat de systeem default, ''/usr/bin/convert''. Dat is nu nog op basis van ImageMagick-6, maar wordt ge-upgrade naar ImageMagick-7. Tijdelijk zullen we versie 6 en 7 naast elkaar leveren, waarbij versie 6 nog te bereiken is via ''/local/ImageMagick6/'' en versie 7 (ook) via ''/local/ImageMagick7/''. Er zijn verschillen in aanroep tussen beide versies, dus testen is een goed idee. Een scenario zou kunnen zijn om waar nu gerefereerd wordt aan ''convert'' alvast te gaan refereren aan ''/local/ImageMagick6/bin/convert''. Dat geeft dan tijd om rustig te kijken wat er eventueel veranderd moet worden om om te gaan van versie 6 naar 7. ImageMagick-6 bieden we nog aan tot medio 2019. Los van de versie (6 of 7) wordt ImageMagick ook vaak gebruikt om postscript en pdf naar image formaten als png te converteren. ImageMagick gebruikt daar een tool genaamd "ghostscript" voor. Postscript echter is een volledige programmeertaal, wat het voor de interpreter daarvan, ghostscript, heel lastig maakt om zo'n conversie in alle gevallen goed te doen. Het is soms mogelijk om "kwaadaardige" postscript bestanden te fabriceren die problemen in ghostscript veroorzaken waardoor het kwaadaardige postscript bestand de controle van ghostscript overneemt en zo bijvoorbeeld willekeurige programma's kan executeren. Recent zijn er weer van dit type kwetsbaarheden in ghostscript [[https://www.theregister.co.uk/2019/01/24/pdf_ghostscript_vulnerability/|gevonden]]. Normaal zorgen wij voor een ghostscript update, waarbij de problemen opgelost zijn. Alleen in dit geval is dat niet mogelijk, omdat er nog geen update beschikbaar is. Dat betekent dat indien uw website ImageMagick gebruikt om willekeurige postscript of pdf bestanden te converteren er een nu risico is dat dit misbruikt wordt. Wij zien op dit moment 2 mogelijkheden: 1) het risico accepteren of 2) tijdelijk conversie van postscript documenten niet toestaan. Indien u kiest voor optie 2 kunt u contact met ons opnemen voor een configuratiewijziging om deze conversies tijdelijk niet meer toe te staan. We verwachten dat voor de volgende software update ronde (maart 2019) er een gefixte ghostscript beschikbaar zal zijn, waar deze problemen in opgelost zijn. Maar, omdat er in het verleden meer van dit soort problemen gevonden zijn is dat geen garantie voor de toekomst en is het heel goed denkbaar dat er in de toekomst nog meer problemen in ghostscript gevonden gaan worden. === Upgrade van apache_mod_smooth_streaming-1.7 naar 1.9 === Het NPO streaming platform maakt gebruikt van een een [[https://www.unified-streaming.com/products/unified-origin|module]] waarme het bron signaal on-the-fly vertaald wordt naar een aantal verschillende adaptive streaming formaten. Deze module wordt ge-upgrade naar een up-to-date versie. === End Of Life van PHP-5.3 en PHP-5.6 === Zoals [[:aankondigingen:2018:c2018d18-software-updates-201812#rectificatie_en_aankondiging_end-of-life_php-53_php-56|eerder]] aangekondigd zijn zowel PHP-5.3 als PHP-5.6 End-Of-Life. We zullen we per 31 maart ophouden met het aanbieden van php-5.3. PHP-5.6 blijft nog op het platform beschikbaar tot 30 september 2019. We verzoeken alle PHP-5 gebruikers zo snel mogelijk te upgraden naar PHP-7 en/of energie te steken in een migratie naar ons nieuwe [[:chp|Community Hosting Platform]] op basis van [[https://www.openshift.com/|OpenShift]]. === End Of Life kalender van overige software componenten === Beniewd tot wanneer een bepaalde software component nog beschikbaar is? Deze informatie staat nu overzichtelijk bij elkaar in onze [[:eol-kalender]] === Reguliere software updates === In de vorige ronde hebben we aangekondigd dat Icecast (audio streaming) en Keepalived (loadbalancers) ge-update zouden worden. Omdat daar in de testfase nog wat problemen in zijn gevonden zijn beide updates uitgesteld naar deze ronde. De eerder aangekondigde Elasticsearch upgrades van hele oude naar up-to-date versies stuiten nog steeds op problemen en zijn tot nader order uitgesteld. In de periode van 18--21 februari worden de volgende updates doorgevoerd: /* Dingen die deze ronde niet meedoen zijn uit ge-comment */ ^ wat ^ van ^ naar ^ changelog ^ | keepalived | 1.2.15 | 2.0.11 | [[http://www.keepalived.org/changelog.html|1]]| | icecast | 2.4.0-kh8 | 2.4.0-kh10 | [[https://github.com/karlheyes/icecast-kh|1]] | /*| apache | 2.4.37 | 2.4.37 | TLS1.3 support toegevoegd |*/ |mod_smooth_streaming | 1.7.6 | 1.9.5 | [[https://www.unified-streaming.com/products/unified-origin|1]] | /*| nginx | 1.15.7 | 1.15.8 | [[http://nginx.org/en/CHANGES|1]] |*/ /*| php 5.6 | 5.6.38 | 5.6.40 | [[http://nl1.php.net/ChangeLog-5.php#5.6.39|1]] [[http://nl1.php.net/ChangeLog-5.php#5.6.40|2]] |*/ /*| php 7.1 | 7.1.24 | 7.1.26 | [[http://php.net/ChangeLog-7.php#7.1.25|1]] [[http://php.net/ChangeLog-7.php#7.1.26|2]] |*/ /*| php 7.2 | 7.2.12 | 7.2.14 | [[http://php.net/ChangeLog-7.php#7.2.13|1]] [[http://php.net/ChangeLog-7.php#7.2.14|2]] |*/ | passenger 5/6 | 5.3.7 | 6.0.1 | [[https://github.com/phusion/passenger/blob/stable-6.0/CHANGELOG|1]] | | ruby 2.1 | 2.1.8 | 2.1.9 | [[https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/|1]] | /*| ruby 2.2 | 2.2.4 | 2.2.10 | [[https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-2-10-released/|1]]|*/ /*| ruby 2.3 | 2.3.4 | 2.3.8 | [[https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-3-8-released/|1]] |*/ /*| ruby 2.4 | 2.4.4 | 2.4.5 | [[https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/|1]] |*/ | python | 3.6.8 | 3.7.2 | [[https://docs.python.org/3.7/whatsnew/changelog.html|1]] | /*| python | 2.7.14 | 2.7.15 | [[https://www.python.org/downloads/release/python-2715/|1]] |*/ /*| java 1.8 | 1.8.0_192 | 8u192b12 | In test over naar AdoptOpenJDK versie |*/ /*| java 11 | - | 11.0.1_13 | Nieuw toegevoegd |*/ | OpenJDK8U-jre | 8u192b12 | 8u202b08 | vervanging van Oracle jre-1.8 || | OpenJDK11U-jre | - | 11.0.2_9 | nieuw! | | OpenJDK11U-jdk | 11.0.1_13 | 11.0.2_9 | vervanging van Oracle jdk-1.8 | /*| tomcat 6 | 6.0.35 | 6.0.53 | [[http://tomcat.apache.org/tomcat-6.0-doc/changelog.html|1]] |*/ /*| tomcat 8 | 8.5.35 | 8.5.37 | [[https://tomcat.apache.org/tomcat-8.5-doc/changelog.html|1]] |*/ /*| ActiveMQ | 5.15.4 | 5.15.8 | [[http://activemq.apache.org/activemq-5158-release.html|1]] |*/ /*| Elastic Search 5.5 | 5.5.2 | 5.5.3 | [[https://www.elastic.co/downloads/past-releases/elasticsearch-5-5-3|1]] |*/ /*| Elastic Search 5.6 | 5.6.8 | 5.6.14 | [[https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-14|1]] |*/ /*| Elastic Search 6.1 | 6.1.3 | 6.1.4 | [[https://www.elastic.co/downloads/past-releases/elasticsearch-6-1-4|1]] |*/ | Elastic Search 6.5/6.6 | 6.5.4 | 6.6.0 | [[https://www.elastic.co/guide/en/elasticsearch/reference/current/release-notes-6.6.0.html|1]] | /*| memcached | 1.5.11 | 1.5.12 | [[https://github.com/memcached/memcached/wiki/ReleaseNotes1512|1]] |*/ /*| redis | 2.x,3.x,4.x | 4.0.12 | [[https://raw.githubusercontent.com/antirez/redis/4.0/00-RELEASENOTES|1]] |*/ /*| redis | - | 5.0.3 | [[https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES|1]] |*/ /*| mariadb 10.1 | 10.1.36 | 10.1.37 | [[https://mariadb.com/kb/en/library/mariadb-10137-release-notes/|1]] |*/ /*| mariadb 10.2 | 10.2.19 | 10.2.21 | [[https://mariadb.com/kb/en/library/mariadb-10220-release-notes/|1]] [[https://mariadb.com/kb/en/library/mariadb-10221-release-notes/|2]] |*/ | mysql | 5.7.24 | 5.7.25 | [[https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-25.html|1]] | /*| postgresql 9.4| 9.4.19 | 9.4.20 | [[https://www.postgresql.org/docs/9.4/static/release.html|1]]|*/ /*| postgresql 9.6| 9.6.10 | 9.6.11 | [[https://www.postgresql.org/docs/9.6/static/release.html|1]]|*/*/ | ImageMagick 6 | 6.9.10-23 | 6.9.10-25 | [[https://legacy.imagemagick.org/script/changelog.php|1]] | | ImageMagick 7 | 7.0.8-23 | 7.0.8-25 | [[https://www.imagemagick.org/script/changelog.php|1]] | /*| curl | 7.62.0 | 7.63.0 | [[https://curl.haxx.se/changes.html|1]] |*/ | ffmpeg | 2.x | 4.1 | we discontinueren ffmpeg-2 | | ffmpeg | 3.x | 4.1 | we discontinueren ffmpeg-3 | /*| ffmpeg | 4.x | 4.1 | [[https://www.ffmpeg.org/download.html#releases|1]] |*/ /*| gearmand | 1.1.11 | 1.1.188 | [[https://github.com/gearman/gearmand/releases|1]] |*/ /*| openssh | 7.8p1 | 7.9p1 | [[https://www.openssh.com/releasenotes.html|1]] |*/ | postfix | 3.2.7 | 3.3.2 | [[http://www.postfix.org/announcements/postfix-3.3.2.html|1]] | /*| bind | 9.11.5 | 9.11.5-P1 | [[https://ftp.isc.org/isc/bind9/9.11.5-P1/CHANGES|1]] |*/ /*| unbound | 1.8.1 | 1.8.3 | [[http://www.unbound.net/download.html|1]] |*/ De updates worden voor 11 februari op het testcluster doorgevoerd. zodat er gelegenheid is om de nieuwe versies te testen. 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 |18 februari 8:00 -- 12:00 |*/ |mod_smooth_streaming |herstart origins |encoding sessies worden herstart |18 februari 8:00 -- 12:00 | /*|nginx |herstart webservers |geen |18 februari 8:00 -- 12:00 |*/ /*|php |herstart applicatieservers |geen |18 februari 8:00 -- 12:00 |*/ |passenger |herstart Ruby-on-Rails applicaties |geen |18 februari 8:00 -- 12:00 | |ruby |herstart Ruby-on-Rails applicaties |geen |18 februari 8:00 -- 12:00 | |python |herstart applicatieservers |geen |18 februari 8:00 -- 12:00 | /*|memcached |herstart Memcached instanties |memory caches worden gecleared |18 februari 8:00 -- 12:00 |*/ /*|gearmand |herstart gearman servers |bestaande verbindingen worden verbroken |18 februari 8:00 -- 12:00 |*/ |ImageMagick |nieuwe versie wordt actief |geen |18 februari 8:00 -- 12:00 | /*|curl |nieuwe versie wordt actief |geen |18 februari 8:00 -- 12:00 |*/ |ffmpeg |nieuwe versie wordt actief |geen |18 februari 8:00 -- 12:00 | /*|openssh |herstart openssh |geen |19 februari 8:00 -- 12:00 |*/ |postfix |herstart mailservers |geen |19 februari 8:00 -- 12:00 | /*|bind |herstart nameservers |geen |19 februari 8:00 -- 12:00 |*/ /*|unbound |herstart dns-resolvers |geen |19 februari 8:00 -- 12:00 |*/ |tomcat |herstart java |ongeveer 1-5 min downtime per instantie |20 februari 1:00 -- 6:00 | |graylog |herstart java |1 korte onderbreking naar de Graylog instanties |20 februari 1:00 -- 6:00 | |ActiveMQ |herstart java |1 korte onderbreking naar de ActiveMQ instanties |20 februari 1:00 -- 6:00 | /*|redis |herstart databases |1 korte onderbreking naar de database instanties |20 februari 1:00 -- 6:00 |*/ /*|mariadb |herstart databases |2 korte onderbrekingen naar de database instanties |20 februari 1:00 -- 6:00 |*/ |mysql |herstart databases |2 korte onderbrekingen naar de database instanties |20 februari 1:00 -- 6:00 | /*|postgresql |herstart databases |1 korte onderbreking naar de database instanties |20 februari 1:00 -- 6:00 |*/ |Elastic Search |herstart java |geen |20 februari 13:00 -- 17:00 | |keepalived |herstart loadbalancers |geen |18--21 februari 13:00 -- 17:00 | |icecast |herstart streamservers |geen |18--21 februari 13:00 -- 17:00 | aankondigingen/2019/c2019d07-software-updates-201902.txt Last modified: 2025/03/21 11:39by 127.0.0.1 Log In