RSS
热门关键字:  时间 autorun AVG key 百度
当前位置 :| 首页 > 系统安全 > linux/unix >

IP安全加密 IPSec安全技术全面接触

来源: 作者: 时间:2007-12-23 10:50:35 点击:

 

  设置完成后,复制ipsec.donf和ipsec.secrets文件到其他需要使用此安全模式的机器中。剩下的工作就是修改防火墙规则,使其只将数据包转发,而不将其伪装(masquerade)。在服务器1.2.3.4上增加以下规则:

  -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

  -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

  记住,要确保这些规则在伪装(masquerade)规则之前,如以下所示:

  #

  # FORWARD RULES

  #

  ipchains -P forward DENY

  #

  -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

  -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

  -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0

  在服务器5.6.7.8上重复类似工作:

  -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

  -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

  记住,要确保这些规则在伪装(masquerade)规则之前,如以下所示:

  #

  # FORWARD RULES

  #

  -P forward DENY

  #

  -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

  -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

  -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0

  现在我们可以利用这个手工构造的ipsec通道,建立网络A与网络B之间的通信。

  ipsec manual ——up my-tunnel

  从客户机10.0.0.2上ping 192.168.0.2,如果ping得通则说明设置正确。否则请检查网络,确保1.2.3.4与5.6.7.8之间可以通信,允许TCP-IP转发,和两个网络间的防火墙没有规则禁止数据包通过或伪装数据包。当成功完成了手工(固定)密钥连接后,便应当开始配置自动密钥 (automative keying)。

  自动密钥连接 (Automatic connection keying)

  对于一个商业应用来说,使用手工(固定)密钥是不安全和不可靠的。在自动密钥连接模式下产生一个256位共享密钥,将其复制到连接通道的各个节点上后,那些企图截取数据包的网络攻击者将很难攻破这种安全连接。在自动密钥连接模式下,一个密钥的有效期是8个小时,这种配置有效地阻止了那些企图用暴力法猜出密钥的攻击者。下面我们在前一个例子的基础上建立自动密钥连接配置:

  ipsec.conf文件中编辑通道配置,如下例:

  conn my-tunnel

  type=tunnel

  left=1.2.3.4

  leftnexthop=1.2.3.1

  leftsubnet=10.0.0.0/24

  right=5.6.7.8

  rightnexthop=5.6.7.1

  rightsubnet=192.168.0.0/24

  keyexchange=ike

  keylife=8h

  keyingtries=0

  然后启动pluto守护进程。在通道的另一端连接pluto守护进程以建立一个连接。需要提醒的是,因为pluto守护进程运行在端口500/UDP,你需要在防火墙开一个"洞"使数据包能够顺利通过:

  -A input -p udp -j ACCEPT -s 0.0.0.0/0 -i eth0 -d 0.0.0.0/0 500

  使用"%search"关键字比列出要建立的通道清单更方便。方法如下:在每一个通道配置中增加一行:

  auto=start

  编辑ipsec.secrets文件:

  plutoload=%search

  plutostart=%search

  如果一切正常,/var/log/messages中将有类似如下记录:

  Oct 16 02:10:41 server ipsec_setup: Starting FreeS/WAN IPSEC……

  Oct 16 02:10:41 server ipsec_setup: /usr/local/lib/ipsec/spi: message size is 28.

  Oct 16 02:10:41 server ipsec_setup: KLIPS debug `none''

  Oct 16 02:10:41 server ipsec_setup: KLIPS ipsec0 on eth0 1.2.3.4/255.255.255.0 broadcast

  而在/var/log/secure文件中将有类似如下记录:

  Oct 16 02:10:42 server Pluto[25157]: Starting Pluto (FreeS/WAN Version snap1999Jun14b)

  Oct 16 02:10:44 server Pluto[25157]: added connection description "my-tunnel"

  Oct 16 02:10:44 server Pluto[25157]: listening for IKE messages

  Oct 16 02:10:44 server Pluto[25157]: adding interface ipsec0/eth0 1.2.3.4Jun 26 02:10:44 server

  用命令ipsec look查看信息:

  Destination GateWay Genmask Flags Mss Window irtt Iface

  0.0.0.0 192.168.0.0 0.0.0.0 US 40 0 0 eth0

  192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0

  192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0 ipsec0

  11.2.3.0 0.0.0.0 255.255.255.0 U 40 0 0 lo

  在/proc/net/route查看路由表时:

  Destination Gateway Genmask Flags Metric Ref Use Iface

  1.2.3.4 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

  11.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lo

  1.2.3.0 0.0.0.0 255.255.255.0 U 0 0 0 ipsec0

  192.168.0.0 1.2.3.1 255.255.255.0 UG 0 0 0 ipsec0

上一页 1 2 3
最新评论共有 位网友发表了评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
验证码:
匿名?
相关文章
无相关信息