我的问题是:哪些缓冲区溢出/堆栈破坏防御(如有)在 Debian 6.0(Squeeze)中默认启用吗?
Ubuntu 有一个方便的汇总表,显示每个服务器版本的主要安全功能,但我还没有找到类似的东西在Debian。Ubuntu提到:
- 堆栈保护器(gcc 的 -fstack-protector)
- 堆保护器(GNU C 库堆保护器)
- 指针混淆(glibc 中存储的一些指针被混淆了)
- 地址空间布局随机化 (ASLR)(Stack ASLR;Libs/mmap ASLR;Exec ASLR;brk ASLR;VDSO ASLR)
- 几个作为位置独立可执行文件 (PIE) 构建的守护进程
- 使用 Fortify Source“-D_FORTIFY_SOURCE=2”构建的一些守护进程(?)
Debian 6.0 在多大程度上使用了类似的技术(默认)?
答案1
不幸的是,Debian 上没有启用大多数(全部?)这些防御措施。他们已经谈论了好几年,并且有一些“强化 Debian”项目,但从用户的角度来看,到目前为止还没有取得任何具体成果。它是少数尚未实施这些措施的发行版之一。
更多信息请访问http://wiki.debian.org/Hardening:
在 2011 年 1 月 14 日至 16 日的会议之后,Debian 安全团队在一封电子邮件中宣布,他们打算推动在 wheezy 版本中加入强化功能。2011 年 debconf 期间将组织一场同道中人会议来制定流程。
引用的电子邮件在这里:http://lists.debian.org/debian-devel-announce/2011/01/msg00006.html。
因此也许它最终会以“喘息”的方式到来......
这是我个人更喜欢在服务器上运行 Ubuntu 而不是 Debian 的最大原因。
答案2
如果你需要 Debian 中具有特殊 CFLAGS 或配置选项的软件包,你可以使用apt-build. 对于此目的来说,Gentoo 或 *BSD 是极好的操作系统。
我知道这不是解决方案,但现在是更好的解决方法。