我注意到我的操作系统的长期支持存储库中的一些select的部分软件尚未用PIE或立即绑定 (例如)进行编译。
在这里,在服务器故障的人认为,使用GCC内的安全意识标志和function重新编译这些select的软件是否更安全? 还是让软件尽可能地与上游存储库保持一致更为重要, 在编译软件包时相信他们的决定 ?
当然,“两者”可能是首选的答案。但实际上 ,我仍然没有尝试重新编译任务关键型应用程序的唯一原因是,我将不得不随后将定制的DEB软件包放在Hold(在软件包pipe理器中)这样在我不知情的情况下,未来的软件包更新不会覆盖自定义版本。
这样,我不得不评估更新有多重要或安全。 如果需要的话,从源码,软件包重新安装,
简而言之,自定义编译的好处是否超过了按需安全补丁的好处? 有什么build议么?
并在一个侧面说明 ; 是通常负责编译某些安全标志(如PIE)的软件包维护人员吗? 或者这通常是在上游存储库(IE Debian / Ubuntu Distro Maintainers)的突发奇想中完成的? 这是否会影响我的决定?
Debian项目的发布目标是“通过dpkg-buildflags更新尽可能多的软件包以使用安全加固构build标志”。 这个任务何时完成,是不是在他们的wiki中陈述。 因此,要回答您的一个问题,这是在发行版级别做出的决定,维护者需要执行。 就Debian而言,如你所知,维护者是志愿者。
如果这是一个纯粹的安全问题,那么最好联系这些软件包的维护人员,或者填写一个错误报告,最好提供一个补丁。
如果这是一个商业决策,则需要考虑重新编译,打包和分发这些软件的时间,直到它们在发行版中得到修复,或者使用已经实施了这些安全措施的其他发行版。