aankondigingen:2020:c2020d11-software-updates-202006

Differences

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


aankondigingen:2020:c2020d11-software-updates-202006 [2024/04/16 07:59] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +~~META:
 +title = C2020D11: Software updates juni 2020
 +~~
 +{{htmlmetatags>
 +metatag-keywords=(software update)
 +metatag-og:title=(Software updates juni 2020)
 +metatag-og:description=(
 + In de periode van 8--11 juni worden er software updates in de
 + NPO hosting omgeving uitgevoerd. Het betreft
 + openssh, nginx, apache-upload-progress-module, php, python, tomcat,
 + newrelic-java, graylog, elasticsearch, grafana, keycloak,
 + memcached, mongodb, redis, mariadb, postgresql, ImageMagick,
 + Image-ExifTool, goaccess, ffmpeg, sox, alsa-utils, dovecot,
 + mailman,
 + postfix, amavisd, clamav, p0f, postgrey, spamassassin, unrar,
 + freeipmi en git.
 + Verder zijn er mededelingen betreffende spoedchanges in DNS,
 + een overstap naar mod_event voor de apache frontends, aangepaste
 + extensies in PHP, Git en Subversion updates en een apache upload
 + progress module update.
 + )
 +}}
 +====== C2020D11: Software updates juni 2020 ======
 +====== Aankondiging: Software onderhoud hosting omgeving ======
 +Beste klant/collega,
 +
 +(Is dit bericht niet goed leesbaar? Bekijk dan de [[|online versie]].)
 +
 +Wij vragen aandacht voor het volgende:
 +  - Spoedchanges DNS
 +  - Apache frontends over naar mod_event
 +  - Aangepaste extensies in PHP
 +  - Git en Subversion updates
 +  - Apache upload progress module update
 +  - Reguliere software updates
 +
 +==== Spoedchanges DNS ====
 +In de afgelopen weken zijn er een
 +[[https://thehackernews.com/2020/05/dns-server-ddos-attack.html|aantal]]
 +[[https://kb.isc.org/docs/cve-2020-8616|kwetsbaarheden]] in DNS software
 +(bind en unbound) gevonden. Vanwege het spoedeisende karakter hiervan
 +zijn die kwetsbaarheden direct gepatched in plaats van op deze
 +reguliere software update ronde te wachten.
 +
 +==== Apache frontends over naar mod_event ====
 +In de hosting omgeving worden 2 soorten webservers gebruikt,
 +[[http://httpd.apache.org/|apache]] en [[http://nginx.org/|nginx]],
 +beide met hun eigen voor- en nadelen. De apache webservers gebruiken
 +intern een stukje software genaamd
 +"[[https://httpd.apache.org/docs/2.4/mod/worker.html|mod_worker]]" om inkomende connecties
 +over beschikbare CPU resources te verdelen. Deze is al heel efficient,
 +maar de afgelopen jaren is er gewerkt aan een alternatief, genaamd
 +"[[https://httpd.apache.org/docs/2.4/mod/event.html|mod_event]]", welke
 +nog beter is. Na in onze omgeving geruime tijd op proef gedraaid te
 +hebben zullen we op maandag 8 juni de software omzetten van worker naar
 +event. Dit kan zonder impact en er zijn verder ook geen aanpassingen in
 +bijvoorbeeld php programmatuur nodig hiervoor. Het voordeel van deze
 +aanpassing is dat naderhand meer connecties tegelijkertijd afgehandeld
 +kunnen worden en op die manier dus beter omgegaan kan worden met grote
 +pieken in bezoekersaantallen.
 +
 +==== Aangepaste extensies PHP ====
 +De programmeertaal [[https://www.php.net/|PHP]] bestaat uit een een
 +kern-taal met daarnaast een groot aantal [[https://pecl.php.net/|extensies]]
 +waarmee de taal uitgebreid wordt om zo extra functionaliteit te bieden.
 +De gebruikers van de pdo_mysql van de sqlite3 extensies willen we vragen
 +om deze ronde even extra op te letten, want voor deze extensies worden
 +nu nieuwere versies van mysql resp. sqlite3 gebruikt.
 +
 +==== Git en Subversion updates ====
 +[[https://git-scm.com/|Git]] en
 +[[https://subversion.apache.org/|Subversion]] zijn software versie
 +management systemen. In de hosting omgeving worden deze vaak gebruikt om
 +een nieuwe versie van b.v. een website te kunnen deployen door een
 +zogeheten "checkout" te updaten.
 +Op onze systemen stonden nog hele oude versies van zowel git als
 +subversion. Git wordt in deze ronde ge-update naar de meest up-to-date
 +versie. Voor Subversion doen we eerst een tussenstapje naar een versie
 +die nog backwards compatible is met de oude versie. Op een later moment
 +zullen we een nieuwere subversion aan gaan bieden.
 +
 +===== Apache upload progress module update =====
 +In het Ruby-on-Rails landschap wordt er soms een native apache module genaamd
 +"[[https://github.com/drogus/apache-upload-progress-module|upload-progress-module]]" 
 +gebruikt. Bij de standaard updates van de afgelopen tijd was deze module
 +nog buiten de boot gevallen. Dit wordt nu hersteld en we stappen over
 +naar een iets nieuwere (maar nog steeds stokoude) versie die inmiddels van deze
 +module beschikbaar is.
 +
 +===== Software update rooster =====
 +Het software update rooster voor de konmende tijd ziet er als volgt uit:
 +^software update ronde ^gelegenheid tot testen ^uitrol in productie ^
 +|Juni |1--5 juni |8--11 juni |
 +|Juli |29 juni--5 juli |6--9 juli |
 +|Augustus |27--31 juli |3--6 augustus |
 +
 +===== Reguliere software updates =====
 +De updates worden op donderdag 28 mei op het testcluster doorgevoerd,
 +daarna is er een week de gelegenheid om te testen.
 +In de periode van 8--11 juni worden de updates op de
 +productie-omgevingen doorgevoerd volgens onderstaand schema:
 +
 +/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
 +^wat ^impact ^op ^van ^ naar ^
 +/*|keepalived |0 |W |2.0.18 |[[http://www.keepalived.org/changelog.html|2.0.20]]|*/
 +/*|icecast |0 |W |2.4.0-kh13 |[[https://github.com/karlheyes/icecast-kh|2.4.0-kh14]] |*/
 +^ ^^^^^
 +/*|dhcp |0 |D1 |4.4.1 |[[https://ftp.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2-RELNOTES|4.4.2]] |*/
 +|freeipmi |0 |D1 |1.6.4 |[[https://www.gnu.org/software/freeipmi/NEWS|1.6.5]] |
 +/*|nrpe |0 |D1 |4.0.3 |[[https://github.com/NagiosEnterprises/nrpe/blob/master/CHANGELOG.md|4.0.3]] |*/
 +|openssh |0 |D1 |8.2p1 |[[https://www.openssh.com/releasenotes.html|8.3p1]] |
 +/*|GeoIP |0 |D1 |1.6.12 |1.6.12 | */
 +/*|geoipupdate |0 |D1 |3.1.1 |[[https://github.com/maxmind/geoipupdate/blob/master/CHANGELOG.md|3.1.1]] |*/
 +/*|fcron |0 |D1 |3.2.1 |[[http://fcron.free.fr/doc/en/changes.html|3.2.1]] |*/
 +/*|chrony |0 |D1 |3.4 |[[https://chrony.tuxfamily.org/news.html|3.5]] |*/
 +/*|gearmand |1 |D1 |1.1.18 |[[https://github.com/gearman/gearmand/releases|1.1.19.1]] |*/*/
 +/*|openldap |1 |D1 |2.4.49 |[[https://www.openldap.org/software/release/changes.html|2.4.50]] |*/
 +/*|freeradius 3.x |1 |D1 |3.0.20 |[[https://freeradius.org/release_notes/?br=3.0.x&re=3.0.21|3.0.21]] |*/
 +|dovecot |1 |D1 |2.3.10 |[[https://www.dovecot.org/|2.3.10.1]] |*/
 +|mailman |1 |D1 |2.1.23 |[[https://launchpad.net/mailman/2.1/2.1.33|2.1.33]] |
 +|mongodb |1 |D1 |4.2.6 |[[https://docs.mongodb.com/manual/release-notes/4.2/|4.2.7]] |
 +|Graylog |1 |D1 |3.2.4 |[[http://docs.graylog.org/en/3.2/pages/changelog.html|3.3]] |
 +/*|influxdb |1 |D1 |1.8.0 |[[https://docs.influxdata.com/influxdb/v1.8/about_the_project/releasenotes-changelog/|1.8.0]] |*/
 +|grafana |1 |D1 |6.7.3 |[[https://github.com/grafana/grafana/blob/master/CHANGELOG.md|7.0.0]] |
 +|apache-upload-progress-module|0|D1 |2008 |[[https://github.com/drogus/apache-upload-progress-module/commits/master|0.2]] |
 +|alsa-utils |0 |D1 |1.1.5 |[[https://www.alsa-project.org/wiki/Main_Page|1.2.2]] |
 +^ ^^^^^
 +/*|syslog-ng |0 |D2 |3.27.1 |[[https://github.com/balabit/syslog-ng/blob/master/NEWS.md|3.27.1]] |*/
 +/*|apache |0 |D2 |2.4.43 |[[http://www.apache.org/dist/httpd/CHANGES_2.4.43|2.4.43]] |*/
 +/*|mod_smooth_streaming |0 |D2 |1.9.5 |[[https://www.unified-streaming.com/products/unified-origin|1.9.5]] |*/
 +|nginx |0 |D2 |1.19.0 |[[http://nginx.org/en/CHANGES|1.19.0]]|
 +|php 7.2 |0 |D2 |7.2.30 |[[https://www.php.net/ChangeLog-7.php#7.2.31|7.2.31]] |
 +|php 7.3 |0 |D2 |7.3.17 |[[https://www.php.net/ChangeLog-7.php#7.3.18|7.3.18]] |
 +|php 7.4 |0 |D2 |7.4.5 |[[https://www.php.net/ChangeLog-7.php#7.4.6|7.4.6]] |
 +/*|passenger 6 |0 |D2 |6.0.4 |[[https://github.com/phusion/passenger/blob/stable-6.0/CHANGELOG|6.0.4]] |*/
 +/*|ruby 2.6 |0 |D2 |2.6.6 |[[https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-6-6-released/|2.6.6]] |*/
 +/*|python |0 |D2 |2.7.16 |[[https://www.python.org/downloads/release/python-2717/|2.7.17]] |*/
 +|python |0 |D2 |3.8.2 |[[https://docs.python.org/3.8/whatsnew/changelog.html|3.8.3]] |
 +/*|node |0 |D2 |10.20.1 |[[https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V10.md|1.20.1]] |*/
 +/*|yarn |0 |D2 |1.22.4 |[[https://github.com/yarnpkg/yarn/blob/master/CHANGELOG.md|1.22.4]]|*/
 +/*|perl |0 |D2 |5.30.2 |[[https://perldoc.perl.org/index-history.html|5.30.2]] |*/
 +/*|tomcat-native |0 |D2 |1.2.24 |[[http://tomcat.apache.org/native-doc/miscellaneous/changelog.html|1.2.24]] |*/
 +|ImageMagick |0 |D2 |7.0.10-9 |[[https://www.imagemagick.org/script/changelog.php|7.0.10-14]] |
 +|Image-ExifTool |0 |D2 |11.98 |[[https://sourceforge.net/projects/exiftool/|11.99]] |
 +/*|curl |0 |D2 |7.70.0 |[[https://curl.haxx.se/changes.html|7.70.0]] |*/
 +|goaccess |0 |D2 |1.3 |[[https://goaccess.io/release-notes|1.4]] |
 +/*|gzip |0 |D2 |1.10 |[[https://www.gnu.org/software/gzip/|1.10]] |*/
 +|ffmpeg |0 |D2 |4.2.2 |[[https://www.ffmpeg.org/download.html#releases|4.2.3]] |
 +|sox |0 |D2 |14.0.0 |[[http://sox.sourceforge.net/|14.4.2]] |
 +|git |0 |D2 |1.8 |[[https://git-scm.com/|2.62.2]] |
 +|postfix |0 |D2 |3.5.1 |[[http://www.postfix.org/announcements/postfix-3.5.1.html|3.5.2]] |
 +|amavisd |0 |D2 |2.10.1 |[[https://www.amavis.org/release-notes.txt|2.11.1]] |
 +|clamav |0 |D2 |0.99.2 |[[https://blog.clamav.net/|0.102.3]] |
 +|p0f |0 |D2 |3.08b |[[https://lcamtuf.coredump.cx/p0f3/|3.09b]] |
 +|postgrey |0 |D2 |1.34 |[[https://github.com/schweikert/postgrey/blob/master/Changes|1.37]] |
 +|spamassassin |0 |D2 |3.4.1 |[[https://spamassassin.apache.org/news.html|3.4.4]] |
 +|unrar |0 |D2 |5.2.7 |[[http://www.linuxfromscratch.org/blfs/view/svn/general/unrar.html|5.9.2]] |
 +/*|bind |0 |D2 |9.11.19 |[[https://ftp.isc.org/isc/bind9/9.11.18/CHANGES|9.11.19]] |*/
 +/*|unbound |0 |D2 |1.10.1 |[[http://www.unbound.net/download.html|1.10.1]] |*/
 +|memcached |1 |D2 |1.6.5 |[[https://github.com/memcached/memcached/wiki/ReleaseNotes164|1]] [[https://github.com/memcached/memcached/wiki/ReleaseNotes165|1.6.6]]|
 +|redis |1 |D2 |6.0.1 |[[https://raw.githubusercontent.com/antirez/redis/6.0/00-RELEASENOTES|6.0.3]] |
 +^ ^^^^^
 +/*|OpenJDK8U-jre |2 |N3 |8u242b08 |[[https://adoptopenjdk.net/release_notes.html|8u242b09]] |*/
 +/*|OpenJDK11U-jre |2 |N3 |11.0.6_10 |[[https://adoptopenjdk.net/release_notes.html|11.0.7_10]] |*/
 +/*|OpenJDK11U-jdk |2 |N3 |11.0.6_10 |[[https://adoptopenjdk.net/release_notes.html|11.0.7_10]] |*/
 +|tomcat 8 |2 |N3 |8.5.54 |[[https://tomcat.apache.org/tomcat-8.5-doc/changelog.html|8.5.55]] |
 +|tomcat 9 |2 |N3 |9.0.34 |[[https://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt|9.0.35]] |
 +/*|mysql-connector-java |2 |N3 |8.0.20 |[[https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/|8.0.20]] |*/
 +/*|mysql-connector-java5 |2 |N3 |5.1.49 |[[https://dev.mysql.com/doc/relnotes/connector-j/5.1/en/|5.1.49]] |*/
 +|newrelic-java |2 |N3 |5.11.1 |[[https://docs.newrelic.com/docs/agents/java-agent|5.12.1]] |*/
 +/*|ActiveMQ |2 |N3 |5.15.12 |[[http://activemq.apache.org/activemq-51512-release.html|5.15.12]] |*/
 +|keycloak |2 |N3 |10.0.0 |[[https://www.keycloak.org/docs/latest/release_notes/index.html|10.0.1]] |
 +|mariadb |1 |N3 |10.2.31 |[[https://mariadb.com/kb/en/library/mariadb-10231-release-notes/|10.2.32]] |
 +/*|mysql |1 |N3 |5.7.30 |[[https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-30.html|5.7.30]] |*/
 +|postgresql |1 |N3 |9.6.17 |[[https://www.postgresql.org/docs/9.6/static/release.html|9.6.18]]|
 +^ ^^^^^
 +/*|Elastic Search 5.x |0 |D3 |5.6.15 |[[https://www.elastic.co/guide/en/elasticsearch/reference/5.6/es-release-notes.html|5.6.16]] |*/
 +|Elastic Search 6.x |0 |D3 |6.8.8 |[[https://www.elastic.co/guide/en/elasticsearch/reference/6.8/es-release-notes.html|6.8.9]] |
 +|Elastic Search 7.x |0 |D3 |7.6.2 |[[https://www.elastic.co/guide/en/elasticsearch/reference/7.6/es-release-notes.html|7.7.0]] |
 +^ ^^^^^
 +
 +==== Legenda ====
 +Veel software kan zonder, of met heel weinig impact ge-update worden.
 +Voor deze zaken
 +kiezen we ervoor om zo'n update overdag uit te voeren. Bij een aantal
 +andere componenten is er iets meer impact merkbaar. Die voeren we
 +uit in een nachtelijks change window. Hieronder is
 +de impact genummerd van 0 (geen impact) via 1 (korte onderbreking van
 +enkele seconden) tot 2 (onderbreking van enkele minuten op de
 +dienstverlening).
 +De tijdstippen zijn als volgt:
 +^code ^tijdstip ^
 +|D1 |maandag 8 juni 8:00--12:00 |
 +|D2 |dinsdag 9 juni 8:00--12:00 |
 +|N3 |woensdag 10 juni 1:00--6:00 AM |
 +|D3 |woensdag 10 juni 8:00--17:00 |
 +|W |8--11 juni 8:00--17:00 |