电脑技术学习

freebsd PF的TARP补丁

dn001

1 2 3 4 5 下一页

  功能:

  当端口扫描时返回所有端口开放状态

  系统: PF防火墙

  FreeBSD 6-Current测试通过

  OpenBSD 3.6未测试

  安装方法:

  1. 截取以下一段内容,建立新文件pf.c.diff ;或者在如下地址下载:

  ===============================================
2858c2858,2859
< !(th->th_flags & TH_RST)) {
---
> (!(th->th_flags & TH_RST) ||
> !(th->th_flags & TH_FIN))) {
2860c2861
<
---
>
2864c2865
< ack++;
---
> return (PF_DROP);
2867c2868
< ntohl(th->th_ack), ack, TH_RST|TH_ACK, 0, 0,
---
> ntohl(th->th_ack), ack, TH_SYN|TH_ACK, 0, 0,
===============================================

  http://phoenix.freedemon.org//network//pf.c.diff

  2. 补丁方法:

  # cd /sys/contrib/pf/net/

  # patch -p0 pf.c <pf.c.diff

  Hmm... Looks like a normal diff to me...
Patching file pf.c using Plan A...
Hunk #1 succeeded at 2858.
Hunk #2 succeeded at 2861.
Hunk #3 succeeded at 2865.
Hunk #4 succeeded at 2868.
done

  3. 重新配置内核,确认编译进了pf相关选项;

  device pf
device pflog
device pfsync

  4. 重新编译内核和内核模块;

  # cd /sys/i386/conf/
# config GENERIC
# cd ../compile/GENERIC
# make depend && make && make modules && make install

  5. 查看/etc/rc.conf,确认打开了pf启动选项;

  pf_enable="YES"

  6. 编辑pf配置文件/etc/pf.conf,在初始化段加入以下选项:

  set block-policy return

  7. BUG:

  >>-alpha版本,未广泛测试,慎重使用

  >>肮脏的代码,直接修改了RETURN规则,使用时替换block return (tcp)动作

  >>注意备份好原版pf.c

  >>正在写完全版的tarp功能

  在黑客想入侵一个系统之前,一般都会进行第一步动作,段口扫描。通过段口扫描就可以获取到目标主机上开放的网络端口或者应用服务,然后再瞄准目标有的     放矢。所以对于一个联网的系统,能够暴露在外面的信息越少越好,所以我们一     般会用各种防火墙或TCPwarpper等访问控制方法来限制外部连接,缩小可能被     攻击的范围。

标签: