【问题标题】:ip6tables settings to block the ipv6 fragmentationip6tables 设置阻止 ipv6 碎片
【发布时间】:2014-05-23 04:50:32
【问题描述】:

是否可以编写 ip6tables 规则来阻止格式错误的 ipv6 分段数据包。 这基本上是为了我们电器盒的ipv6认证。我们运行在:rhel 5.5 和内核:2.6.18-238.1.1.el5

我们目前失败的测试是:

1) 片段重组 - 片段 ID 不匹配会产生错误 2) 片段重组 - 片段之间的源地址不同 3) 片段重组 - 片段之间的目标地址不同

也欢迎任何其他解决此问题的想法:)

【问题讨论】:

  • 这个请求似乎很奇怪。 IPv6 的主要优点之一是路由器不再(与 IPv4 相比)除了发出必要的信号外,不必关心分段。为了实现您的目标,您的路由器需要实际进行片段组装,因此需要有状态的东西。
  • 同意。但是像TAHI(tahi.org)这样的IPV6标志认证套件需要在接收到第一帧的60秒内,当后续帧出现上述3种情况中的任何一种出现乱码时发送错误。有什么想法吗?
  • 这是内核要担心的事情。尝试更新您的系统;你已经过时了好几年了。
  • @MichaelHampton 这是基于 RHEL 5.5 构建的设备,因此不能选择升级。是否有可以解决此问题的内核更改/设置?
  • SNORT 在这种情况下是一个可行的解决方案。它可以检测和阻止 IPV6 碎片等问题。在 RHEL 5 linuxmantra.com/2010/10/install-snort-2-9-on-rhel-5.html 上使用 snort 的步骤我正在尝试……完成后将更新此线程。

标签: linux ipv6 rhel


【解决方案1】:

我们可以通过 snort 等工具解决这个问题。以下是在 RHEL 5.5 中安装、配置和运行的步骤

安装先决条件

对于 SNORT,我们需要安装以下内容:

  • flex byacc bison pcre-devel libdnet-devel zlib-devel

  • 我们可以从以下网址下载:

ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/x86_64/buildtools/RPMS/flex-2.5.35-0.8.el5.rfb.x86_64.rpm

ftp://fr2.rpmfind.net/linux/centos/5.10/os/x86_64/CentOS/byacc-1.9-29.2.2.x86_64.rpm

http://vault.centos.org/5.5/os/x86_64/CentOS/zlib-devel-1.2.3-3.x86_64.rpm

http://vault.centos.org/5.5/os/x86_64/CentOS/bison-2.3-2.1.x86_64.rpm

http://vault.centos.org/5.5/os/x86_64/CentOS/pcre-devel-6.6-2.el5_1.7.x86_64.rpm

ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/x86_64/dag/RPMS/libdnet-1.11-1.2.el5.rf.x86_64.rpm

http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/libdnet-devel-1.11-1.2.el5.rf.x86_64.rpm

* Install the above said rpm in the below order:
rpm -ivh flex-2.5.35-0.8.el5.rfb.x86_64.rpm
rpm -ivh byacc-1.9-29.2.2.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-3.x86_64.rpm
rpm -ivh bison-2.3-2.1.x86_64.rpm
rpm -ivh pcre-devel-6.6-2.el5_1.7.x86_64.rpm
rpm -ivh libdnet-1.11-1.2.el5.rf.x86_64.rpm
rpm -ivh libdnet-devel-1.11-1.2.el5.rf.x86_64.rpm

下载所需的 SNORT 和相关库

http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz http://sourceforge.net/projects/snort.mirror/files/Snort%202.9.5.6/snort-2.9.5.6.tar.gz/download http://sourceforge.net/projects/snort.mirror/files/Snort%202.9.5.6/daq-2.0.1.tar.gz/download

[注意:以下假设以上3个下载到/opt/CSCOlumos/SNORT]

安装 LIBPCAP

cd /opt/CSCOlumos/SNORT

tar -xf libpcap-1.5.3.tar.gz

mv libpcap-1.5.3 /usr/local/src/

cd /usr/local/src/libpcap-1.5.3

./configure --prefix=/usr

制作

进行安装

/sbin/ldconfig

安装 DAQ 和 SNORT

cd /opt/CSCOlumos/SNORT

tar -xf daq-2.0.1.tar.gz

cd daq-2.0.1

./配置

cd os-daq-modules

制作

cd ..

制作

进行安装

cd /opt/CSCOlumos/SNORT

tar -xf snort-2.9.5.6.tar.gz

cd snort-2.9.5.6

./配置

制作

进行安装

修复 libdnet 库问题

cp -rp /usr/lib/vmware-tools/lib32/libdnet.so.1 /usr/local/lib/

/sbin/ldconfig

更新

mkdir -p /var/log/snort/

触摸/var/log/snort/alert

测试打鼾

snort --version

,,_ -> 哼! - o" )~ 版本 2.9.5.6 GRE (Build 208) '''' Martin Roesch 和 Snort 团队:http://www.snort.org/snort/snort-team 版权所有 (C) 1998-2013 Sourcefire, Inc. 等。 使用 libpcap 版本 1.5.3 使用 PCRE 版本:6.6 2006 年 2 月 6 日 使用 ZLIB 版本:1.2.3

配置 IPV6 过滤器并运行

vi /opt/test/SNORT/SNORT.conf

预处理器 frag3_global: max_frags 65536

预处理器 frag3_engine:策略 linux bind_to 2001::99ed:d7c6:86f0:8e0a 检测异常

预处理器 frag3_engine:策略 linux detect_anomalies

现在运行为:

snort -c /opt/test/SNORT/SNORT.conf

注意:这里的 2001::99ed:d7c6:86f0:8e0a 是 eth0(通信接口)ipv6 地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 2011-01-17
    • 2011-09-09
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多