LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1214|回复: 0

junos设备安全审计

[复制链接]
发表于 2007-1-22 11:13:40 | 显示全部楼层 |阅读模式
junos设备安全审计

06.11.27
bobkey

在某项目里要求对部分网络设备进行安全审计,这一块我是比较薄弱的,因为设备较特殊,不是经常可以碰到。经过一番努力还是顺利实施完毕,为了能在有限条件下熟悉网络设备的操作,我安装了JUNOS模拟设备。
一.         JUNOS安全审计
1.1        准备工作
目前手里的资料只有帐号权限和口令安全、限制网络服务数量、访问控制策略、日志审核,这4个基本配置项,如果按照这个去做junos审核,那么所有设备都是安全的,而此项目质量要求苛刻,这显然无法交差,所以必须从更细颗粒去操作和编写文档,以达到“安全审计”的目的。
从JUNOS官方站点找到《JUNOS Router Security-Best Common Practices for Hardening the Infrastructure》,并翻译草件。以备制作文档。
用SecureCRT 作为终端操作来记录session。
用Linux的各种工具作为session分析工具,可以得到几乎一摸一样的操作界面,更能用工具查看快速定位分析记录文件。
1.2        采集数据命令
show log 动作其实就是 cat /var/log/下面的多个类型日志,感觉粗犷而简洁
show system processes 相当于 ps -aux 的输出,有详细和统计的参数
其他可参考解释,一般来说,任何设备需要取的包括了其设备类型、运行状态、日志、用户管理、远程管理、符合自身的安全配置启用、脆弱服务机制等。
cmnet1@GDSZ-PB-RT01-RE0> ?      
Possible completions:
  clear                Clear information in the system
  configure            Manipulate software configuration information
  file                 Perform file operations
  help                 Provide help information
  monitor              Show real-time debugging information
  mtrace               Trace multicast path from source to receiver
  ping                 Ping remote target
  quit                 Exit the management session
  request              Make system-level requests
  restart              Restart software process
  set                  Set CLI properties, date/time, craft interface message
  show                 Show system information
  ssh                  Start secure shell on another host
  start                Start shell
  telnet               Telnet to another host
  test                 Perform diagnostic debugging
  traceroute           Trace route to remote host

cmnet1@GDSZ-PB-RT01-RE0> show ?
Possible completions:
  accounting           Show accounting profiles and records
  aps                  Show Automatic Protection Switching information
  arp                  Show system Address Resolution Protocol table entries
  as-path              Show table of known autonomous system paths
  bfd                  Show Bidirectional Forwarding Detection information
  bgp                  Show Border Gateway Protocol information
  chassis              Show chassis information
  class-of-service     Show class-of-service (CoS) information
  cli                  Show command-line interface settings
  configuration        Show current configuration
  connections          Show circuit cross-connect connections
  dvmrp                Show Distance Vector Multicast Routing Protocol information
  dynamic-tunnels      Show dynamic tunnel information information
  esis                 Show end system-to-intermediate system information
  firewall             Show firewall information
  helper               Show port-forwarding helper information
  host                 Show hostname information from domain name server
  igmp                 Show Internet Group Management Protocol information
  ilmi                 Show interim local management interface information
  interfaces           Show interface information
  ipv6                 Show IP version 6 information
  isis                 Show Intermediate System-to-Intermediate System information
  l2circuit            Show Layer 2 circuit information
  l2vpn                Show Layer 2 VPN information
  ldp                  Show Label Distribution Protocol information
  link-management      Show link management information
  log                  Show contents of log file
  mld                  Show multicast listener discovery information
  mpls                 Show Multiprotocol Label Switching information
  msdp                 Show Multicast Source Discovery Protocol information
  multicast            Show multicast information
  ntp                  Show Network Time Protocol information
  ospf                 Show Open Shortest Path First information
  ospf3                Show Open Shortest Path First version 3 information
  passive-monitoring   Show information about passive monitoring
  pfe                  Show Packet Forwarding Engine information
  pgm                  Show Pragmatic Generalized Multicast information
  pim                  Show Protocol Independent Multicast information
  policer              Show interface policer counters and information
  policy               Show policy information
  rip                  Show Routing Information Protocol information
  ripng                Show Routing Information Protocol for IPv6 information
  route                Show routing table information
  rsvp                 Show Resource Reservation Protocol information
  sap                  Show Session Announcement Protocol information
  services             Show services information
  snmp                 Show Simple Network Management Protocol information
  system               Show system information
  task                 Show routing protocol per-task information
  ted                  Show Traffic Engineering Database information
  version              Show software process revision levels
  vpls                 Show VPLS information
  vrrp                 Show Virtual Router Redundancy Protocol information
cmnet1@GDZH-PA-RT01-DR> show system ?        
Possible completions:
  alarms               Show system alarm status
  audit                Show file system MD5 hash and permissions
  boot-messages        Show boot time messages
  buffers              Show buffer statistics
  certificate          Show installed X509 certificates
  commit               Show pending commit requests (if any) and commit history
  configuration        Show configuration information
  connections          Show system connection activity
  directory-usage      Show local directory information
  processes            Show system process table
  queues               Show queue statistics
  reboot               Show any pending halt or reboot requests
  rollback             Show rolled back configuration
  services             Show service applications information
  software             Show loaded JUNOS extensions
  statistics           Show statistics for protocol
  storage              Show local storage data
  uptime               Show time since system and processes started
  users                Show users who are currently logged in
  virtual-memory       Show kernel dynamic memory usage

1.3        分析采集数据
标准配置需具备的:
DNS服务器、时钟服务器、日志服务器(必须两台,接收不同类型日志)
用户安全:
权限、访问方式、口令验证方法为防止黑客sniffer窃听口令,JUNOS支持RADISU和TACACS+两种方式集中验证一个用户多个路由器。创建多个登陆帐号,每个帐号指定不同的权限功能,并定义超时机制idle-time 5。只读帐号、读和修改配置的帐号、无限制帐号、本地超级帐号(能从本地登陆)定义 RADIUS 模版给不同的用户和组
远程管理方法:
首推SSH,secure shell ,非root才能访问,只用V2版、安全拷贝可用scp
网络服务:
越少越好,比如snmp创建SNMP的只读口令、忽略igmp pim sap、广播转发等,速率限制传输到路由引擎黑客可发起高速率的请求导致路由器服务被DOS攻击,为了保护路由引擎,可配置服务的速率限制。
协议安全:
启用对Martian 地址的路由信息忽略设置。防止碎片攻击、速率限制、防止ICMP错误消息等。
同时为了防止黑客模拟路由邻接包,一个攻击者能发送伪造的路由协议包到一个路由器故意改变或破坏路由表内容或其他数据,降低和损害路由器的网络功能,为了防止攻击者,路由器必须确定路由协议来自同等或相邻设备。
使用验证的配置路由协议。JUNOS软件支持HMAC-MD5验证BGP,OSPF,IS-IS,RIP,RSVP。HMAC-MD5使用密钥结合数据发送来计算hash值,计算的hash值传输带着数据,接收用户校验有效的值,如果攻击者伪造或修改了消息,这个hash将不匹配而被丢弃。
路由器默认响应 ICMP的 "destination unreachable"错误消息给包的源地址通告他没有被路由,这个行为能被攻击者利用,发送大量不存在的目的地址的错误消息,但源地址是受害者的地址,为了防止这种攻击,调整路由器丢弃不存在目的地址的错误包,并记录日志让管理员分析。
防止ICMP和syn floods攻击 fragment-offset[1-5] discard 并配置浩第四层属性,TCP或UDP端口,同时还需要配置来自信任地址的碎片包要接受。
模块检查:
JUNOS有firewall和IDS模块,可查看其配置。信任源地址管理配置,用firewall模块配置策略。
日志分析:
查看运行状态和错误消息。记录验证和命令事件、路由协议事件和错误、记录传输被拒绝事件、配置不同类型的系统日志给两个不同的日志服务器。排错和调试需要日志文件和所有的路由器时间同步,使用网络事件协议NTP同步路由器系统时钟和其他网络一样。如果攻击者改变了时钟将影响日志分析和其他功能。
二.         安装JUNOS练手
在网上找资料偶尔发现可以安装JUNOS,而且其他的比如CISCO7200等均可以安装,不错,找到练手的方式了,好了,不多说,开工!
2.1        准备软件
Vmware5.53
ftp://ftp.vmware.cn:2136/VMware-workstation-5.5.3-34685.rar
FreeBSD 4.8 mini版
http://ftp.saix.net/pub2/FreeBSD/4.8/4.8-RELEASE-i386-mini.iso
junos 7.4版
ftp://195.220.59.23/admin/jinstall-7.4R3.4-domestic-signed.tgz
junos 7.6版
ftp://ftp.cict.fr/admin/jinstall-7.6R1.10-domestic-signed.tgz
Named Pipe TCP Proxy 串口模拟
http://lass.cs.umass.edu/~pjd/nptp_setup.zip

2.2        开始安装
安装过程请参考 http://wiki.nio.name/software/junos8_on_vmware5 《Install Junos 8.0R1.9 on Vmware 5.5.3》,非常翔实,我这里就不再赘述了。
注意Vmware要用最新版5.53,否则不能虚拟出千兆Intel网卡
即使增加了这样一句 ethernet0.virtualDev = "e1000",在启动后会自动恢复成 ethernet0.virtualDev = "vlance",而导致网卡不能被OS识别。
硬盘        2G、内存        256M、网卡1块、cpu        1个、cd-rom        用4.11-RELEASE-i386-disc1-gnome.iso
硬盘分区 / 512M /var 1200M /config 16M swap 256M
安装只配置IP和root口令即可,开放 FTP服务即可。

7.4安装前需要做如下操作:
rm /dev/wd0c
ln -s /dev/ad0c /dev/wd0c
mkdir /var/etc
touch /var/etc/master.passwd /var/etc/inetd.conf /var/etc/group


用ftp把jinstall-7.4R1.7-export-signed.tgz上传到虚拟机freebsd 的/var下,开始安装


安装完,需要在VMware里添加串口,重启后junos把输出定向到console,所以需要Named pipe来模拟。


用命名管道接收串口

登陆127.0.0.1 2001


安装7.4可以直接ftp上传,此时重启后还不能识别千兆网卡,所以7.6的升级安装文件只能通过添加硬盘方式然后mount,我尝试用junos来添加硬盘和用另一个freebsd添加junos的硬盘,效果都是一样的。
直接 mount /dev/ad1s1f /mnt 提示失败,需要先运行 fsck,运行后再次mount成功


在JUNOS操作,把另一个硬盘添加到里面
mount /dev/ad1s1a /mnt/

2.3        配置JUNOS
启动后从终端(secureCRT)登陆JUNOS,用root直接登陆,默认无口令,直接进入shell。
配置网卡 ifconfig em0 inet 192.168.0.100 netmaks 255.255.255.0 up
输入cli命令进入用户模式:
root@% cli
root>
使用非root用户登录时,直接进入用户模式。
用户模式下输入configure命令进入配置模式,配置模式下可以对设备进行各种参数的配置
root> configure
[edit]
root#

set system hostname hostname        #配置设备名
为root帐户设置密码(如果不设置,这以后的配置均提示无效)
set system root-authentication plain-text-password 然后回车,并输入密码两次
新建用户名为nsfocus的超级帐户,并设定密码
set system login user nsfocus class super-user authentication plain-text-password 然后回车,并输入密码两次
配置路由器Telnet服务
set system services telnet               
#配置telnet服务
配置路由器FTP服务
set system services ftp               
#配置FTP服务
设置完毕,需要用 commit提交才能保存



三.         相关资源
官方命令行解释
http://www.juniper.net/techpubs/ ... l/swcmdref42IX.html
赛迪网技术社区  -> Juniper专区
http://bbs.database.ccidnet.com/simple/index.php?f35.html
安装junos
http://wiki.nio.name/software/junos8_on_vmware5
VMware.cn
http://www.vmware.cn/Index.html
内部JUNOS
请登陆 192.168.20.165 telnet方式,super-user:nsfocus passwd:Ns!@#123
可以乱配,呵呵,弄烂了我再恢复。

Dynamips 7200 路由模拟器讨论专区(有空再弄个cisco来玩)
http://ciscobbs.njut.edu.cn/bbs/forumdisplay.php?fid=28
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表