免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: minok
打印 上一主题 下一主题

菜鸟100问 [复制链接]

论坛徽章:
0
131 [报告]
发表于 2006-12-13 12:56 |只看该作者

加入ALTQ支持

启用PF的ALTQ功能
1、需重新编译内核<FB6.1release>
2、加入
options         ALTQ
options         ALTQ_CBQ        # 基于分类的排列 (CBQ)
options         ALTQ_RED        # 随机先期检测 (RED)
options         ALTQ_RIO        # 对进入和发出的包进行 RED
options         ALTQ_HFSC       # 带等级的包调度器 (HFSC)
options         ALTQ_PRIQ       # 按优先级的排列 (PRIQ)
options         ALTQ_NOPCC      # 在联编 SMP 内核时必须使用,禁止读时钟
3、重新编译内核启用ALTQ功能

论坛徽章:
0
132 [报告]
发表于 2006-12-15 18:02 |只看该作者

论坛徽章:
0
133 [报告]
发表于 2006-12-16 23:35 |只看该作者

OpenBSD & PF 之简易防火墙设定

OpenBSD & PF 之简易防火墙设定
第一步.  
开机自动启动:  

#vi /etc/rc.conf  
pf=YES  
#vi /etc/sysctl.conf  
#net.inet.ip.forwarding=1  # 将最前面的 # 号拿掉  
net.inet.ip.forwarding=1  

手动立即启动:  

#pfctl -e  
#sysctl -w net.inet.ip.forwarding=1  

开启 ftp-proxy 让内部可以对外使用 FTP 的服务:  

#vi /etc/inetd.conf  
#127.0.0.1:8021 stream tcp    nowait root  /usr/libexec/ftp-proxy ftp-proxy                   # 将"# "号拿掉开通 127.0.0.1 的 ftp-proxy  
127.0.0.1:8021 stream tcp    nowait root  /usr/libexec/ftp-proxy ftp-proxy  
#kill -HUP `cat /var/run/inetd.pid`  

第二步.  
基本 PF 的 /etc/pf.conf 设定范例:  

# macros  
int_if = "de0"  # 定义对内的网卡  
ext_if = "fxp0"  # 定义对外的网卡  
tcp_services = "{ 22, 113 }" # 定义 port 22, 113 服务  
icmp_types = "echoreq"  # 定义 tcmp 回应状态  
priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" # 定义符合 RFC 1918 私有IP 部份  
comp3 = "10.10.10.3"  # 定义内部的一台电脑代号 comp3 对应 10.10.10.3 这个 IP  

# options  
set block-policy return   
set loginterface $ext_if


# scrub  
scrub in all  # 修整进入 NAT 的封包  

# nat/rdr  
nat on $ext_if from $int_if:network to any -> ($ext_if) # NAT 设定让内部的 IP 可转换出去  
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021  # 让内部可使用 ftp client 软件连出去  
rdr on $ext_if proto tcp from any to any port 80 -> $comp3  # 内部电脑 comp3 的 80 port 服务对应到外面  

# filter rules  
block all  # 所有封包都挡掉  
pass quick on lo0 all  # 允许 localhost 封包通行  
block drop in quick on $ext_if from $priv_nets to any  # 拒绝所有 priv_nets 定义的私有 IP 进入 ext_if 网卡  
block drop out quick on $ext_if from any to $priv_nets  # 拒绝所有 priv_nets 定义的私有 IP 出去 ext_if 网卡  
pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state  # 允许 tcp_services 定义之 port 进入 ext_if 网卡  
pass in on $ext_if proto tcp from any to $comp3 port 80 flags S/SA synproxy state  # 让内部 comp3 的 80 port 服务由 ext_if 网卡出去  
pass in inet proto icmp all icmp-type $icmp_types keep state  # 允许 icmp 封包进入通行  
pass in on $int_if from $int_if:network to any keep state  # 允许封包由 de0 进到 10.10.10.0/24 畅通  
pass out on $int_if from any to $int_if:network keep state  # 允许封包由 de0 出去 10.10.10.0/24 畅通  
pass out on $ext_if proto tcp all modulate state flags S/SA  # 允许 tcp 封包由 fxp0 出去  
pass out on $ext_if proto { udp, icmp } all keep state  # 允许 udp , icmp 封包由 fxp0 出去

[ 本帖最后由 菜鸟100问 于 2006-12-17 00:07 编辑 ]

论坛徽章:
0
134 [报告]
发表于 2006-12-18 11:48 |只看该作者

PF(Packet Filter)防火墙配置方案

PF(Packet Filter)防火墙配置方案

一、硬件和软件环境
1、 硬件
CPU:AthlonXP1800+
HardDisk: 8G
NIC: VIA VT6102 Rhine II 10/100BaseTX *2

2、 软件
OS: Freebsd 5.4 stable
Firewall software: PF (packet filter)
DHCP server: isc-dhcp-server

来源: http://www.bsdos.cn/content/view/194/177/

论坛徽章:
0
135 [报告]
发表于 2006-12-18 11:54 |只看该作者

FreeBSD 6.0 抗DOS

FreeBSD 6.0 抗DOS

原理:
1、打开Polling防止DOS时大量的发包使网卡中断过多而拖垮系统(CPU)。
2、使用PF 防火墙防止SynFlood等Flood,以及防止不必要的包进入系统。
功效:
对DOS有较好的效果,DDOS也有一定的效果,慢速DDOS效果不大。
但是对DOS和DDOS带宽耗尽没有很好的防御(PS:其他方法也对此也无可奈何)。
网卡推荐使用Intel的intel pro 100(fxp)或intel pro 1000(em),因为FreeBSD对intel的网卡支持比较好。

配置内核时加上

options         DEVICE_POLLING #打开 Polling
options HZ=1000

device pf  #编译上PF防火墙模块
device pflog

以下以WEB服务器为例,网卡为em0(intel pro 1000)

1、PF防火墙配置

ext_if="em0"

table {}
scrub in all
block in  on $ext_if #默认拒绝
pass out all
pass quick on lo
block in  on $ext_if
block in quick on $ext_if from to any
pass  in quick  on $ext_if proto tcp from any to $ext_if port 80  \
        flags S/SA modulate state (source-track rule, max-src-conn-rate 10/1,max-src-states 30, overload flush, src.track 1)
         #同一原地址最大连接数30个,当每秒钟建立连接数超过10个/秒(Syn包)加入黑名单并断开所有这个ip的连接。
pass in quick on $ext_if proto udp from any port 53 to $ext_if  keep state #打开DNS
pass out quick  on $ext_if proto { tcp, udp} all keep state  #PASS自身出去的包
2、优化网络参数:

net.isr.direct=1 #必要时打开
net.inet.tcp.sendspace=65536
net.inet.udp.recvspace=65536
net.inet.udp.maxdgram=65536
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
net.inet.tcp.msl=7500

3、攻击时打开polling

#ifconfig em0 polling

来自: http://www.jindui.com/?action=show&id=95

论坛徽章:
0
136 [报告]
发表于 2006-12-19 16:47 |只看该作者

根据协议栈特征判断操作系统

根据协议栈特征判断操作系统

传统上判断操作系统是通过扫描进行的,例如,发一个SYN+FIN的包,看对方如何回应,由于各式各样的原因,包括性能考虑,或编程上的疏忽,这些包会留有一些特征。这类典型的应用是nmapNetCraft

这类方法有它的作用,对于尝试攻击的人来说,这些特征能够给他们相当多的信息,这些信息甚至足以让攻击者找到一击毙命的攻击方法(例如,发现那是一台没有打过补丁、没有防火墙的Windows)。然而,它也有一些不可避免的局限:

- 并不是所有地区的法律都允许网络扫描行为。除此之外,这种行为通常也是不受欢迎的,至少它不是一种友好的行为。(事实上,发生在互联网上的扫描行为几乎都不是友善的)
- 对于NAT后的服务器,它只能判断出NAT网关所用的操作系统,而无法判断其后的系统所用的操作系统。
- 事后的“反击”或“报复”性扫描往往于事无补,在第一击的时候遏制攻击,对于安全相当重要。

基于这样的原因,人们有了利用SYN时包特征来判断操作系统的想法。如前面所提到的那样,尽管TCP/IP协议最初在BSD操作系统上开发,但由于这是一个相当复杂的协议,具体的实现,甚至包括不同的BSD实现仍然存在相当多的差异,典型的差异,如初始窗口尺寸、初始TTL、勿分片(no-df)标志、SYN包总尺寸、选项等,几乎足以将操作系统的版本等信息暴露出来。

采用这类“被动式”(即,在连接时进行判断)判断的好处在于:
- 减少法律风险。它既不是主动的行为,也不是“反击”型行为。
- 针对NAT后的服务器,它通常(除非是启用了包规则化的防火墙,例如OpenBSD/FreeBSD的pf中的packet正规化,或说scrub功能)能够正确揭示操作系统类型。
- 能够在连接建立时判断是否应允许连接。

基于这种方式有很多有意思的应用,例如:

- 作为网关或网桥,禁止没有打过补丁的计算机访问外部网络,从而割断病毒或蠕虫传播的途径。
- 你认为SCO是一家做了错事的公司吗?遇到这种操作系统的用户,可以把他们转移到一个说明页面。
- 你知道使用Windows的大多数邮件服务器管理员是不称职的,而Windows是散播蠕虫的主要来源,那么,是否可以限制它的带宽/连接数呢?
- Linux是一个不太安全的内核,一些使用Linux的管理员甚至比Windows管理员还要不注意安全,允许Linux系统连接管理端口是十分危险的(因为它很可能是一个跳板),是否可以限制它们连接呢?

答案是:是的。集成了p0f(passive Operating-system fingerprinting)能力的pf防火墙中包含了一个默认的操作系统特征库(/etc/pf.os),这个特征库中包含了许多操作系统的TCP SYN特征,因而在设计防火墙规则时,就可以以此为依据来进行一些判断。例如pf.conf(5)中提到的例子:

pass out proto tcp from any os OpenBSD keep state
block out proto tcp from any os Doors
block out proto tcp from any os "Doors PT"
block out proto tcp from any os "Doors PT SP3"
block out from any os "unknown"
pass on lo0 proto tcp from any os "OpenBSD 3.3 lo0" keep state

同样地,类似的用法也可以用于rdr和nat规则。关于目前FreeBSD支持的被动OS特征以及如何自行编写这类信息,请参见/etc/pf.os和pf.os(5);如果你希望为p0f增加更多的特征信息,请访问p0f网站网站。最后,在真的使用这种技术来改善你的访问策略或安全策略之前,请谨记:

TCP特征是可以被伪造的。不要将这种技术作为一种可信的安全控制机制来使用。

来源: http://blog.delphij.net/archives/001611.html

论坛徽章:
0
137 [报告]
发表于 2006-12-21 07:12 |只看该作者

FreeBSD 中使用 pf ..

FreeBSD 中使用 pf ..

使用過 OpenBSD 的朋友都知道 pf 這個 firewall,它非常容易架設,設定也方便,功能更是強大。那麼在 FreeBSD 中是否可使用呢?

在目前新版的 ports 中已有這個 ports 了,大家想體會一下 pf 的優點嗎?以下是個人的安裝經驗:

来源 http://redhat.ecenter.idv.tw/bbs ... p;highlight=openbsd

论坛徽章:
0
138 [报告]
发表于 2006-12-21 08:18 |只看该作者

论坛徽章:
0
139 [报告]
发表于 2006-12-21 16:38 |只看该作者

IPF--FAQ集锦

IPF--FAQ集锦

开网页没反映,ping也ping不到,但是主机上确实显示了
不想让一个IP地址访问我的服务器80端口
ipf 能够限制单个IP并发吗
FB下ipf -- ipfw 经验分享
把ipf,ipnat等ipfileter的命令编进picobsd时出错
iptables如何才能列出所有nat连接?
想详细请教ipf.conf 中的一些问题
关于使用freebsd IPF做代理出现的问题
freebsd+ipf做网关
难道要用上IPFilter·非要重新编译内核?
一个关于IPF语句的问题 rdr tun0 0/0 port 7000 ->; 192.168.0.2 port 7000 tcp
IPF+NAT安装问题(问题解决)客户机可以连上FreeBSD,但是客户机没办法连上网关
关于ipfilter和ipnat之间关系地疑惑
ipf+squid无法实现透明代理问题[已解决] squid根本就不起作用
请问ipf中如何将ip和mac地址绑定?
IPF配置好了,但是开机信息中显示:ipfilter default=pass all.为何?
SOLARIS+ADSL+QDNS+IPFILTER
请教:想用最新的ipfilter版本
郁闷了很久的问题 安装ipf
需求如下,您会如何设置?
看了精华帖子,但是FreeBSD+IPFILTER 还是没有弄明白!
请教代理服务器的问题
真的不知道该如何启动防火墙
IPFILTER造成的问题?No route to host
adsl作NAT遭DoS
IPFILTER (IPF) 和IPFIREWALL (IPFW) 有什么区别?
能不能虚拟两块网卡 并启用ipf+ipnat
Ipf+ipnat负载需要怎么调整才能支持5000人的服务?
http下载速度很好但是打开网页速度很慢
提示  pass out quick proto udp from 192.168.1.0/24 to any port 21080 >< 21095 flags S keep state 这句不对
Ipf+ipnat负载需要怎么调整才能支持5000人的服务?

[ 本帖最后由 菜鸟100问 于 2007-1-13 07:40 编辑 ]

论坛徽章:
0
140 [报告]
发表于 2006-12-23 14:59 |只看该作者

IPFW--FAQ集锦

IPFW--FAQ集锦

给菜鸟的:动态修改ipfw防火墙规则
新手問: ipfw 實現 policy routing
IPFW可以做地址静态映射吗?
提示 setsockopt(IP_DUMMYNET_CONFIGURE):Protocol not available
问个关于ipfw的规则问题 unrecognised option [-1] ipopt
ipfw + natd 配置求救 请问还要配置那里192.192.0.0/24才能共享上网
简单的Natd+Ipfw+Bandwidth
IPFW详细配置
ipfw 限制域名问题
IPFW安装设置!所有发到本机或发出的包都被阻止
ipfw 默认的规则是什么?
ipfw限制带宽
vm中ipfw使用出现问题 关键是要把所有不符合通过规则的日志记录下来
大家都怎么解决fb下ipfw+apache的FIN_WAIT_2问题
IPFW 桥接防火墙求助
奇怪的IPFW问题 不能访问服务
ipfw 中icmp包规则辨析 怎么ping不通自己了127.0.0.1
FREEBSD5.4下IPFW绑mac求救
关于ipfw的规则的小问题 ipfw add 1000 pipe 1 ip from any to any in recv fxp0
装了ipfw写了规则后就机器本身不能解析域名
在VMWare5.0上实现FreeBSD5.4的PPPoE网关(PPP+IPFW+NAT)
设置和使用ipfw/natd
有没有ipfw的中文说明文档啊!
samba服务器如何通过ipfw防火墙? 是什么原因阻止了我从windows来访问samba
IPFW的啥参数是显示规则的呀?
请教4块网卡做的网桥模式时,外网不能访问WEB服务器的80端口
如何用ipfw 限制ICMP数据?
ipfw问题--已经解决 内核配置完重起之后SSH就起不动了
freebsd用ipfw做网关,怎么封BT?
服务器被攻击,ipfw跟apache有问题?
ipfw求助:nat不会
ipfw规则问题 两者是不是等价的?
ipfw的防火墙日志可以发到其他syslog主机不?
我的FTP 可以了,但sendmail不能发信了
ipfw流量控制问题
ipfw怎么不能保存语句?
ipfw规则。。还有个问题
web服务器究竟是采用系统自带的ftp和ipfw呢?还是其它好呢?
问个IPFW的问题 写不进ipfw.conf文件
关于BSDWeb服务器的ipfw配置规则
[转]小规模DDoS(拒绝服务)用Freebsd+IPFW搞定
ipfw怎样打开转发功能?
ipfw的一个问题
ipfw防火墙 怎么计数 icmp包的问题
利用ipfw带宽管理功能限制p2p软件使用的思路
IPFW配置 这样可以搞顶全部!基本适合web+ssh+ftp+sendmail
是不是就是说如果不符合任何一条规则,ipfw默认接受?
在/etc/ipfw.rules中写入规则之后,重启后并不见效果
关于FreeBSD6.1的ipfw设置问题
FTP能连接上,但是数据传输的时候就会超时,导致断开连接
BSD的IPFW与linux的iptables
希望能知道ipnat+ipfw的详细的做法
做网关,ipfw与ipfilter,哪个比较好呢?
封闭所有的端口 只能用 22 80等端口
ipfw设置需要注意些什么?
FreeBSD 6.1 安装配置 ipfw

[ 本帖最后由 菜鸟100问 于 2007-1-12 20:23 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP