FreeBSD下构建安全的Web服务器(3)

豆豆网   技术应用频道   2006年04月01日  【字号: 收藏本文

本文详细介绍FreeBSD下构建安全的Web服务器(3)

  四、防火墙的安装和设置

  FreeBSD自带有一个基于包过滤的防火墙--ipfw,虽然功能没有专业防火墙那么强大,但是应付一个Web站点的安全还是足够的,所以我们决定选用该防火墙来保护我们的Web服务器。

  1. 安装ipfw

  IPFW 的主要部分是在内核中运行的, 因此会需要在FreeBSD内核配置文件中添加部分选项。(注意,如果你没有安装FreeBSD核心源代码,是无法进入以下目录的,所以运行之前一定要先安装内核源代码)我们先进入内核配置文件:

  # cd /sys/i386/conf

  # cp GENERIC ./kernel_fw

  打开内核配置文件:

  # ee ./kernel_fw

  添加四个选项,不需要后面的注释信息:

  options IPFIREWALL # 将包过滤部分的代码编译进内核。

  options IPFIREWALL_VERBOSE

  # 启用通过syslogd记录的日志。如果没有指定这个选项,即使您在过滤规则中指定记录包, 也不会真的记录它们

  options IPFIREWALL_VERBOSE_LIMIT=10

  # 限制通过 syslogd(8) 记录的每项包规则的记录条数。在恶劣的环境中如果您想记录防火墙的活动, 而又不想由于 syslog 洪水一般的记录而导致拒绝服务攻击, 那么这个选项将会很有用。

  options IPFIREWALL_DEFAULT_TO_ACCEPT

  # 这将把默认的规则动作从 ``deny'' 改为 ``allow''。这可以防止在没有配置防火墙之前使用启用过 IPFIREWALL 支持的内核重启时把自己锁在外面。 另外, 如果您经常使用 ipfw(8) 来解决一些问题时它也非常有用。 尽管如此,在使用时应该小心,因为这将使防火墙敞开, 并改变它的行为。

  编译内核:

  # /usr/sbin/config kernel_fw

  # cd ../compile/kernel_fw (注意你的版本,如果是低于5.0的版本用../../compile/kernel_fw)

责编:豆豆技术应用

正在加载评论...