强化新的NetBSD安装时,你做了哪些具体的修改?

我知道大部分的一般性build议:“closures不必要的服务”,“不是真的,closures不必要的服务”,“最小特权”等等。我也看到了一些指导和/或工具,例如Bastille强化Linux的盒子,但没有任何东西看起来适合NetBSD。

为了这个清单,假设我已经确定root没有SSH访问,但是我没有安装任何服务器软件。

确保一个新的NetBSD盒子的第一步是什么?

更新:要清楚,我正在寻找具体的步骤。 当涉及到服务器pipe理员时,我完全是自学成才的,但是我觉得我对于一般原则有一个体面的把握。 我正在寻找细节有两个原因:

  1. 看看是否有任何NetBSD特定的,我忽略了。
  2. 看看别人是否有更好的方法来实践一般原则。

谢谢。

请参阅NetBSD手册中的security(8) 。 您可以:

  • rc.conf设置securelevel来强化生产系统
  • sysctl.conf中启用security.curtain = 1以限制用户看到对方。
  • 使相关文件不可变使用chflags 附加
  • sysctl.conf中启用PaX mprotect和地址空间布局随机化( aslr )扩展( security.pax.mprotect.global=1security.pax.aslr.global=1
  • 考虑Veriexecvalidation的二进制文件

另请参阅Elad Efrat 在NetBSD中最近的安全增强 。

请注意,防止更改二进制文件的function也会阻止您升级系统,以便在单用户模式下进行升级。

PaX扩展可能会阻止某些软件(如gnu make)的工作。 您可以禁用.global标志,并使用paxctl以二进制forms设置PaX标志。

每个系统都是一样的:

  • 安装并configuration防火墙。 尽可能限制。
  • 确保系统定期更新
  • 禁用SSH密码login,只允许证书
  • build立良好的日志和日志分析程序。
  • 设置服务器时:如果可能的话,但它在后面(chroot监狱)
  • 不要安装X11,一个networking浏览器或任何非服务器软件(当然,除非是工作站…)。
  • 断开它与networking;-)

正如SvenW所说,基本的概念很好地适用于所有的领域。

有关详细阅读,Internet安全中心提供了FreeBSD的Benchmark 。 我想这应该是很容易翻译到你的环境。