Ik merkte dat een paar geselecteerde stukjes software in de Long Term Support- repository voor mijn besturingssysteem niet zijn gecompileerd met PIE of Immediate binding (bijvoorbeeld).

Zou het, naar de mening van degenen die hier met serverfault zitten, veiliger zijn om deze geselecteerde stukjes software opnieuw te compileren met behulp van veiligheidsbewuste vlaggen en functies binnen GCC? Of is het belangrijker om de software vanuit de upstream-repository zo up-to-date mogelijk te houden en te vertrouwen op hun beslissingen bij het compileren van het pakket ?

Natuurlijk is "beide" waarschijnlijk het antwoord dat de voorkeur heeft. Maar realistisch gezien , en de enige reden dat ik nog steeds niet heb geprobeerd om bedrijfskritische applicaties opnieuw te compileren, is dat ik vervolgens op maat gemaakte DEB-pakketten in de wacht moet zetten (binnen de pakketbeheerder) zodat aangepaste builds niet worden overschreven door een toekomstige pakketupdate zonder mijn medeweten.

Op deze manier zou ik moeten evalueren hoe belangrijk of veiligheidsgerelateerd de update was. indien nodig, herbouw vanaf broncode, pakket en installeer de update-

Simpel gezegd, weegt het voordeel van aangepaste compilatie op tegen het voordeel van on-demand beveiligingspatches? enige suggesties?

en terzijde ; is de pakketbeheerder doorgaans verantwoordelijk voor het compileren met bepaalde beveiligingsvlaggen ingeschakeld (zoals PIE)? of wordt dit meestal gedaan in de opwelling van de upstream-repository (IE de Debian/Ubuntu Distro-beheerders)? moet dit mijn beslissing beïnvloeden?

answer

Het is een releasedoel van het Debian-project om "zoveel mogelijk pakketten bij te werken om beveiligingsverhardende buildvlaggen te gebruiken via dpkg-buildflags". Wanneer deze taak voltooid zal zijn, staat niet vermeld in hun wiki. Dus, om een ​​van je vragen te beantwoorden, dit is een beslissing die op distro-niveau is genomen en die beheerders moeten implementeren. In het geval van Debian zijn, zoals u weet, beheerders vrijwilligers.

Als dit een puur veiligheidsprobleem is, kun je net zo goed contact opnemen met de beheerders van die pakketten, of een bugrapport tegen hen invullen, idealiter met een patch.

Als dit een zakelijke beslissing is, moet u rekening houden met de tijd die is geïnvesteerd in het opnieuw compileren, verpakken en distribueren van dergelijke stukjes software totdat ze in uw distributie zijn opgelost, of u moet een andere distributie gebruiken die deze beveiligingsmaatregelen al heeft geïmplementeerd.