|
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 |
|