Kapitel 5. Problemområden att känna till för buster

Innehållsförteckning

5.1. Specifik uppgraderingsinformation för buster
5.1.1. procfs har inte stöd för monterings-flaggan hidepid
5.1.2. ypbind kan inte starta med -no-dbus
5.1.3. NIS server does not answer NIS client requests by default
5.1.4. sshd kan inte autentisera
5.1.5. Tjänster som inte kan starta eller system som hänger sig vid uppstart
5.1.6. Migrera bort från äldre namngivning av nätverksgränssnitt.
5.1.7. Inställningar för kärnmodulerna för bonding- och dummy-gränssnitt
5.1.8. Ny standardversion och högre säkerhetsnivå för OpenSSL
5.1.9. Vissa applikationer fungerar inte i Gnome på Wayland
5.1.10. Föråldrade paket
5.1.11. Utfasning av komponenter för buster
5.1.12. Att göra efter uppgradering före omstart
5.1.13. SysV init-relaterade paket som inte längre behövs
5.2. Begränsningar i säkerhetsstödet
5.2.1. Säkerhetsläget för webbläsare och deras renderingsmotorer
5.2.2. Go-baserade paket
5.3. Paketspecifika problem
5.3.1. GLibc kräver Linuxkärnan av version 3.2 eller senare.
5.3.2. Miljövariabler i su har fungerar annorlunda
5.3.3. Omindexering av existerande PostgreSQL
5.3.4. mutt och neomutt
5.3.5. Tillgång till Gnomes inställningsapplikation utan att använda en mus
5.3.6. gnome-disk-utility fails to change LUKS password causing permanent data loss (buster 10.0 only)
5.3.7. evolution-ews har tagits bort, e-post-korgar som använder Exchange, Office365 eller Outlook server kommer att tas bort
5.3.8. Installationsverktyget Calamares lämnar kvar krypteringsnycklar i läsbart skick
5.3.9. S3QL URL changes for Amazon S3 buckets
5.3.10. Split in configuration for logrotate
5.3.11. The rescue boot option is unusable without a root password

Ibland innebär förändringar i en ny utgåva att sidoeffekter vi inte kunnat undvika uppstår, i vissa fall skapas nya fel någon annanstans. Här dokumenterar vi problem som vi känner till. Vänligen läs även erratan, dokumentationen för aktuella paket, felrapporter och annan information som nämns i Avsnitt 6.1, ”Ytterligare läsning”.

5.1. Specifik uppgraderingsinformation för buster

Detta kapitel beskriver detaljer runt uppgradering från stretch till buster.

5.1.1. procfs har inte stöd för monterings-flaggan hidepid

Användandet av monteringsflaggan hidepid för /proc har kända problem tillsammans med nuvarande version av systemd och anses inte vara en korrekt intällning enligt utvecklagruppen bakom systemd. Användare som har justerat /etc/fstab för att aktivera denna inställning bör avaktivera det före uppgradering. Detta för att säkerställa att inloggningen fortsätter fungera på buster. (På Debians wiki om härdning(engelska) finns en möjlig väg för att aktivera det igen.)

5.1.2. ypbind kan inte starta med -no-dbus

Standardinställningen för ypbind har ändrats. Om du har justerat standardinställningarna kommer inställningsfilen inte automatiskt att justeras från de gamla standardinställningarna till de nya. Säkerställ att YPBINDARGS= i /etc/default/nis inte innehåller -no-dbus. -no-dbus leder till att ypbind inte kan starta och du kan förmodligen inte logga in. Se vidare info i felrapport #906436.

5.1.3. NIS server does not answer NIS client requests by default

The default behavior of rpcbind has changed to no longer answer remote calls from NIS clients. On NIS servers you will need to add the (Debian-specific) -r flag to the command line options of rpcbind, otherwise users will not be able to log into your NIS client machines. For more info see bug #935492.

5.1.4. sshd kan inte autentisera

Innebörden av intällningarna PubkeyAcceptedKeyTypes och den närliggande HostbasedAcceptedKeyTypes för sshd har ändrats. Dessa listar nu de signatur-algoritmer som accepteras i respektive autentiseringsmekanism. Tidigare angav de vilka nyckeltyper som accepterades. Skillnaden är viktig vid använding av RSA/SHA2-signaturalgoritmer (rsa-sha2-256 och rsa-sha2-512) och deras certifikatmotsvarigheter. Kombinationer av inställningar som överlagrar dessa värden men utelämnar dessa algoritmer kan leda till oväntade autentiseringsfel.

Ingen åtgärd krävs för att ange standardinställningarna för dessa alternativ.

5.1.5. Tjänster som inte kan starta eller system som hänger sig vid uppstart

Eftersom systemd behöver entropi vid uppstart och att kärnan anser dessa anrop vara blockerande när entropinivån är låg så kan det upplevas som att systemet hänger sig vid uppstart. Detta kan pågå i allt från minuter till timmar tills undersystemet för slumpmässighet är tillräckligt igångsatt (random: crng initone). För amd64-system som stöder RDRAND-instruktioner har Debians kärna undvikit detta besvär genom att använda dessa instruktioner som standard (CONFIG_RANDOM_TRUST_CPU).

System utöver amd64 och vissa type av virtuella maskiner behöver tillhandahålla en alternativ källa för att bygga entropi för att kunna starta fort. haveged har pekats ut för detta inom projektet som utvecklar Debians installationsmjukvara och bör genom detta vara ett gott alternativ när hårdvaruentropi saknas. För virtuella system bör vidareförmedling av entropi från värdsystem övervägas, exempelvis via virtio_rng.

Om du läser detta efter uppgraderingen av ett fjärrsystem till buster så kan ping-paket skickas till systemet eftersom detta leder till att entropi kan byggas upp snabbare och till slut blir systemet tillgängligt via SSH igen.

Läs mer (på engelska) i wikin och DLanges genomgång av problemet för fler alternativ.

5.1.6. Migrera bort från äldre namngivning av nätverksgränssnitt.

Om ditt system är uppgraderat från en tidigare utgåva och fortfarande använder de äldre namnen på nätverksgränssnitten som fasades ut med stretch (exempelvis eth0 eller wlan0) så är det viktigt att veta att udev i buster inte har stöd för att sätta namn via /etc/udev/rules.d/70-persistent-net.rules (det finns tillfällen då det fungerar att göra så dock). För att undvika risken för att din maskin tappar anslutningen till nätverket efter uppgraderingen till buster rekommenderas att du byter till det nya namnschemat i förväg (innebär vanligen att namnen blir t.ex. enp0s1 eller wlp2s5 - dessa innehåller PCI-buss och slot-nummer). Kontrollera dessutom även inställningar i brandväggar, ifupdown och dylikt.

The alternative is to switch to a supported mechanism for enforcing the old naming scheme, such as a systemd .link file (see systemd.link(5)). The net.ifnames=0 kernel commandline option might also work for systems with only one network interface (of a given type).

För att utröna vilka de nya namnen blir behöver först uvarande namn för gränssnittet bestämmas:

$ echo /sys/class/net/[ew]*
    

För vart och ett av dessa behöver sedan kontrolleras om de används i inställningsfiler samt vad udev hade kallet det.

$ sudo rgrep -w eth0 /etc
$ udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null
    

This should give enough information to devise a migration plan. (If the udevadm output includes an onboard or slot name, that takes priority; MAC-based names are normally treated as a fallback, but may be needed for USB network hardware.)

När du är redo att skifta ska 70-persistent-net.rules avaktiveras antingen genom att byta namn på den eller genom att kommentera bort enskilda rader. På virtuella maskiner behöver du radera filerna /etc/systemd/network/99-default.link och (om du använder virtio-baserade nätverksenheter) /etc/systemd/network/50-virtio-kernel-names.link. Bygg sedan om initrd:

$ sudo update-initramfs -u
    

och starta om. Ditt system ska nu ha den nya typen av namn på nätverksgränssnitten. Justera övriga kvarvarande inställningsfiler och testa av ditt system.

See the wiki, upstream documentation, and the udev README.Debian for further information.

5.1.7. Inställningar för kärnmodulerna för bonding- och dummy-gränssnitt

System som använder kanalsammanslagning (channel bonding) eller dummy-gränssnitt, exemplevis för att använda maskinen som en router, kan stöta på besvär med uppgraderingen till buster. Nya versioner av systemd installerar en fil /lib/modprobe.d/systemd.conf (vars syfte är att förenkla inställningarna via systemd-networkd) som ser ut på följande sätt

 options bonding max_bonds=0
 options dummy numdummies=0
    

Systemadminstratörer som förlitar sig på andra värden behöver tillse att de är korrekt installerade. En fil i /etc/modprobe.d har företräde över en fil med samma namn i /lib/modprobe.d men filerna läses in i alfabetisk ordning. Detta innebär att /lib/modprobe.d/systemd.conf följer och skriver över (exempelvis) värden satta i /etc/modprobe.d/dummy.conf. Säkerställ att eventuella lokala förändringar sparas i en fil med ett namn som sorterar efter systemd.conf, exempelvis på formen /etc/modprobe.d/zz-lokal.conf.

5.1.8. Ny standardversion och högre säkerhetsnivå för OpenSSL

I samklang med olika säkerhetsrekommendationer är lägsta TLS-versionen ändrad från TLSv1 till TLSv1.2 som standard.

Säkerhetsnivån för TLS-asnlutningar har också äkats från nivå 1 till nivå 2 som standard. Detta innebär en flytt från 80 bitars säkerhetsnivå till 112 bitars säkerhetsnivå och kommer att kräva 2048 bitar eller mer för RSA- och DHE-nycklar, 224 bitar eller mer för för ECC-nyklar och SHA-2.

Systemets inställning kan justeras i /etc/ssl/openssl.cnf. Enskilda applikationer kan ändå ha egna sätt att justera inställningarna så att det skiljer sig från standardinställningen.

Standardinställningarna i /etc/ssl/openssl.cnf har rader för MinProtocol och CipherString. Just CipherString kan användas för att sätta säkerhetsnivå. Information om säkerhetsnivå kan hittas i manualsidan SSL_CTX_set_security_level(3ssl) (engelska). Listan med tillåtna strängar för lägsta protokollversion kan hittas i manualsidan SSL_CONF_cmd(3ssl) (engelska). Övrig information finns på sidorna ciphers(1ssl) och config(5ssl).

Att återställa systemets standardinställning kan göras genom att sätta följande värden:

        MinProtocol = None
        CipherString = DEFAULT
      

Rekommendationen är förstås att du kontaktar fjärrsystemets ägare om standardinställningen inte fungerar ihop med det systemet.

5.1.9. Vissa applikationer fungerar inte i Gnome på Wayland

Gnome på buster har bytt standardhantering för uppritningen till skärm från Xorg till Wayland (läs mer i Avsnitt 2.2.11, ”Gnome använder Wayland som standard”). Vissa applikationer, inklusive den populära pakethanteraren synaptic, standardhanteringen för förenklad kinesisk skriftmetod, fcitx och de flesta skärminspelningsapplikationer, har inte uppdaterats så att de fungerar fullt ut med Wayland. För att dessa ska fungera krävs att sessionen startas specifik med GNOME på Xorg.

5.1.10. Föråldrade paket

Detta är en lista med kända föråldrade paket (läs mer i Avsnitt 4.8, ”Föråldrade paket” för en beskrivning).

Listan med föråldrade paket inkluderar:

  • Paketet mcelog stöder inte version 4.12 eller senare av kärnan. Istället kan rasdaemon användas.

  • Paketet revelation, som används för att lagra lösenord, är inte längre en del av buster. keepass2 kan importera lösenord som lagras i XML-filer som exporterats från revelation. Vänligen exportera dina lösenord innan uppgraderingen genomförs för att undvika att lösenorden förloras.

  • Paketet phpmyadmin är inte inkluderat i buster.

  • ipsec-tools och racoon har tagits bort från buster eftersom de inte har uppdaterats för att hantera nyare hot.

    Användare uppmanas att migrera till libreswan som har bredare protokollkompatibilitet och aktivt underhålls.

    libreswan ska vara helt kompatibel vad gäller kommunikationsprotokoll i och med att alla protokoll som racoon har stöd för omfattas.

  • Den enkla MTAn ssmtp har tagits bort från buster. Detta beror på att den inte kan validera TLS-certifikat, läs mer i felrapport #662960.

  • Paketet ecryptfs-utils är inte en del av buster på grund av ett allvarligt fel (#765854). När denna paragraf skrevs fanns det inget tydligt råd för hur användare av eCryptfs skulle göra, utöver att inte uppgradera.

5.1.11. Utfasning av komponenter för buster

Med nästa utgåva av Debian 11 (kodnamn bullseye) kommer några funktioner fasas ut. Användare behöver flytta till alternativ för att förhindra besvär vid uppgradering till 11.

Inklusive följande:

  • Python 2 kommer att förlora support från utvecklargruppen första januari 2020. Debian räknar med att ta bort python-2.7 i och med Debian 11. Användare som har funktioner som kräver python bör förbereda sig på att byta till python3.

  • Icinga 1.x har passerat sin livslängd i och med årsskiftet 2019/2019. Paketet icinga är fortfarande kvar men användare bör använda tiden från busters lansering tills lanseringen av bullseye för att migrera till Icinga 2 (icinga2) och Icinga Web 2 (icingaweb2). För att använda Icinga 1.x CGI webgränssnittet med Icinga 2 kan paketet icinga2-classicui användas, men stöd för detta kommer att tas bort i Icinga 2.11. Icinga Web 2 ska användas istället.

  • Sändlistehanteraren Mailman version 3 är ny i denna utgåva. Mailman har delats upp i ett antal komponenter. I kärnan finns paketet mailman3 och hela sviten kan installeras via mailman3-full som är ett så kallat metapaket som säkerställer att alla komponenter följer med.

    Det äldre paketet Mailman version 2.1 finns kvar i denna utgåva i paketet mailman, på detta sätt kan migrering av en existerande installation göras enligt egen planering. Paketet Mailman 2.1 kommer att hållas fungerande under en överskådlig framtid men kommer inte att få några särskilda uppdateringar eller förändringar. Det kommer att tas bort i den nästkommande Debian-utgåvan efter att utvecklargruppen bakom Mailman har avslutat sitt supportåtagande.

    Alla uppmanas att uppgradera till Mailman 3, det är en modern version som utvecklas aktivt.

  • Paketen spf-milter-python och dkim-milter-python underhålls inte längre av utgivarna. De mer utvecklade paketen pyspf-milter och dkimpy-milter finns tillgängliga i buster. Användare bör migrera till dessa nya paket innan de gamla försvinner i bullseye.

5.1.12. Att göra efter uppgradering före omstart

När apt full-upgrade är klar innebär detta att den formella uppgraderingen är klar . För uppgraderingen till buster finns inga speciella åtgärder som måste genomföras före nästa omstart.

5.1.13. SysV init-relaterade paket som inte längre behövs

[Notera]Notera

Dett avsnitt gäller inte om du valt att stanna kvar på sysvinit-core.

I och med skiftet till systemd som standardsystem för initialisering av systemet i Jessie och vidareutvecklingen i Stretch så behövs inte vissa SysV-relaterade paket längre. Dessa kan tas bort utan komplkationer med

apt purge initscripts sysv-rc insserv startpar

5.2. Begränsningar i säkerhetsstödet

Det finns ett antal paket där Debian inte kan lova minimala bakåtporteringar för säkerhetsproblem. Dessa beskrivs närmare i underavsnitten.

[Notera]Notera

Paketet debian-security-support håller reda på säkerhetsstatus för installerade paket.

5.2.1. Säkerhetsläget för webbläsare och deras renderingsmotorer

Debian 10 innehåller flera webbläsarmotorer som påverkas av en strid ström av säkerhetshål. Den stora mängden fel och den partiella bristen på stöd från utgivare i form av långsiktiga utvecklingsgrenar gör det mycket svårt att ha stöd för dessa webbläsare och motorer med bakåtporterade säkerhetslagningar. Dessutom gör biblioteksberoenden det extremt svårt att uppdatera dessa till nyare versioner. Webbläsare utvecklade på webkit, och khtml-motorerna[6] ingår i buster men täcks inte av säkerhetsstödet. Dessa webbläsare ska inte användas tillsammans med webbplatser du inte litar på. Källkodspaketet webkit2gtk täcks dock av säkerhetsstödet.

För vanlig webbsurf rekommenderar vi Firefox eller Chromium. De kommer att hållas uppdaterade och byggs från aktuell ESR-utgåva för Debian stable. Samma strategi gäller Thunderbird.

5.2.2. Go-baserade paket

Debians infrastruktur kan inte korrekt aktivera stöd för att bygga om paket som statiskt länkar delar av andra paket i en större skala. Före buster har detta inte varit ett besvär men i och med den ökande populäriteten för Go som systemmiljö betyder detta att Go-baserade paket inte kan inkluderas i det vanliga säkerhetsstödet innan infrastrukturen hr uppdaterats för att paketen ska kunna hanteras smart.

De uppdateringar som krävs kan bara levereras via vanliga punktutgåvor vilket kan vara för långsamt.

5.3. Paketspecifika problem

I de allra flesta fallen kommer paket att uppgradera lugnt och fint mellan stretch och buster. Det finns dock ett mindre antal tillfällen när manuella ingrepp kommer att krävas, antingen före eller under uppgraderingen. Dessa beskrivs per paket nedan.

5.3.1. GLibc kräver Linuxkärnan av version 3.2 eller senare.

I och med glibc 2.26 behövs Linux version 3.2 eller senare. För att undvika att helt trasa sönder systemet kontrollerar förinstallationssteget för libc6 systemet. Om detta misslyckas kommer paketinstallationen att avbrytas vilket innebär att uppgraderingen lämnas ofärdig. Om kärnan som kör är äldre än 3.2 ska den uppdateras före distributionen uppgraderas.

5.3.2. Miljövariabler i su har fungerar annorlunda

su i buster för inte längre över miljöariablerna DISPLAY och XAUTHORITY. Om du behöver köra grafiska applikationer med su så måste dessa flaggor sättas explicit för att kunna komma åt din skärm. Läs me (på engelska) i felrapport #905409 för en längre diksussion om detta.

5.3.3. Omindexering av existerande PostgreSQL

Vid uppdateringen från stretch till buster så justeras paketet glibc så att vissa lokalanpassningar uppdateras. Detta påverkar hur PostgreSQL sorterar in data i textindex. För att undvika alvarliga problem så behöver dessa index omläsas direkt efter uppgraderingen av paketet locales eller locales-all innan databasen tas i bruk igen.

Kommandoförslag:

sudo -u postgres reindexdb --all

Alternativt uppgradera databasen till PostgreSQL 11 genom kommandot pg_upgradecluster. (Detta använder pg_dump som standard vilket kommer resultera i omlästa indexet. Att använda -m upgrade eller pg_upgrade är inte rekommderat eftersom det innebär att den numera felaktiga sorteringen kommer användas..

Läs mer i PostgreSQL Wiki för mer information.

5.3.4. mutt och neomutt

I stretch hade mutt lokala ändringar från https://neomutt.org applicerade på källkoden. I och med buster så kommer paketet som tillhandahåller /usr/bin/mutt helt och hållet att baseras på källkod från http://www.mutt.org och ett eget paket kallet neomutt tillhandahåller /usr/bin/neomutt.

Detta innebär att vissa funktioner som förr tillhandahölls av mutt inte längre finns tillgängliga. Om detta inte fungerar för dig kan du använda neomutt istället.

5.3.5. Tillgång till Gnomes inställningsapplikation utan att använda en mus

Utan ett pekdon är det inte möjligt att manipulera inställningar i Gnomes inställningsapplikation som tillhandahålls av gnome-control-center. Som en väg runt detta kan du navigera från sidomenyn till det huvudsakliga innehållet genom att trycka pil höger två gånger. För att komma tillbaka till sidomenyn är snabbaste lösningen att öppna en sökning med Ctrl+F och skriva något för att sedan avbryta sökningen med Esc. Nu kan pil uppåt och pil nedåt användas för att hoppa i sidomenyn. Det är inte möjligt att välja ett sökresultat med tangentbordet.

5.3.6. gnome-disk-utility fails to change LUKS password causing permanent data loss (buster 10.0 only)

Users of the initial buster release images should not change the LUKS password of encrypted disks with the GNOME graphical interface for disk management. The gnome-disk-utility package in buster had a very nasty bug (#928893) when used to change the LUKS password: it deleted the old password but failed to correctly set the new one, making all data on the disk inaccessible. This has been fixed in the first point release.

5.3.7. evolution-ews har tagits bort, e-post-korgar som använder Exchange, Office365 eller Outlook server kommer att tas bort

De användare som använder evolution som deras e-post-applikation och ansluter till en server som kör Exchange, Office365 eller Outlook tillsammans med insticket evolution-ews bör inte uppgradera till buster utan att ta en säkerhetskopia på sin data och hitta en alternativ lösning på förhand eftersom evolution-ews har tagits bort på grund av felrapport #926712. E-post-korgar, kalendrar, kotaktlistor och uppgifter kommer att tas bort och inte längre vara tillgängliga i Evolution.

The evolution-ews package has been reintroduced via buster-backports. Users upgrading from stretch to buster can enable buster-backports after the upgrade and then they will be able to reinstall evolution-ews.

5.3.8. Installationsverktyget Calamares lämnar kvar krypteringsnycklar i läsbart skick

När Debian installeras från live-avbildningen med hjälp av Calamares (Avsnitt 2.2.13, ”Nyheter från Debian Live”) och funktionen att kryptera hela disken används så kommer nyckeln för att låsa upp diskkrypteringen att sparas i initramfs som är läsbar av alla. Detta innebär att användare med tillgång till det lokala filsystemet kan läsa den privata nyckeln och på detta sätt få tillgång till filsystemet i framtiden.

Detta kan lösas genom att lägga till UMASK=0077 i /etc/initramfs-tools/conf.d/initramfs-permissions och sedan köra update-initramfs -u. Detta återskapar initramfs men ger inte alla och envar tillgång till att läsa den.

En korrigering för installeraren håller på att ta form (läs mer i felrapport #931373 (engelska)) och kommer att distribueras genom debian-security. Tills detta är löst bör användare av kryptering av hela disken använda ovanstående justering.

5.3.9. S3QL URL changes for Amazon S3 buckets

When using s3ql with Amazon S3 buckets, the configuration needs updating for a change in the URL. The new format is:

s3://<region>/<bucket>/<prefix>

5.3.10. Split in configuration for logrotate

The shipped configurations for /var/log/btmp and /var/log/wtmp have been split from the main configuration file (/etc/logrotate.conf) into separate standalone files (/etc/logrotate.d/btmp and /etc/logrotate.d/wtmp).

If you have modified /etc/logrotate.conf in this regard, make sure to re-adjust the two new files to your needs and drop any references to (b|w)tmp from the main file, since duplicate definitions can cause errors.

5.3.11. The rescue boot option is unusable without a root password

With the implementation of sulogin now used, booting with the rescue option always requires the root password. If one has not been set, this makes the rescue mode effectively unusable. However it is still possible to boot using the kernel parameter init=/sbin/sulogin --force

To configure systemd to do the equivalent of this whenever it boots into rescue mode (also known as single mode: see systemd(1)), run sudo systemctl edit rescue.service and create a file saying just:

[Service]
Environment=SYSTEMD_SULOGIN_FORCE=1
    

It might also (or instead) be useful to do this for the emergency.service unit, which is started automatically in the case of certain errors (see systemd.special(7)), or if emergency is added to the kernel command line (e.g. if the system can't be recovered by using the rescue mode).

For background and a discussion on the security implications see #802211.



[6] Dessa motorer skickas med i ett antal olika källkodspaket och besväret gäller amtliga av dessa. Detta gäller också webbläsarmotorer som inte nämns här, med undantag för webkit2gtk.