新买了个Juniper的SRX240H,研究了些心得。
使用RADIUS对接入用户管理权限级别。
本例使用的版本是JUNOS11.4R6.6,版本不同或许命令有变化。
RADIUS的配置用webGUI还是可以的,无非是输入RADIUS的服务器IP地址,密钥,其它的不用输,默认的就可以。我测试用的是Windows2008的服务。
在配置用户的时候,除非是建立本地账户,可以用GUI,远程接入不能用,因为无非通过配置,必须用命令行。
 
JUNOS里预定义了4个管理级别组,super-user、operator、read-only、unauthorized,什么都能干的当然是super-user,至于说它和root有什么区别,root可以进OS的底层,因为它的内核是UNIX的,和UNIX的root差不多,进入后显示的是%,输入cli才会进入>提示符,就是比一般用户更深一层。管理起来没太大差别,也可以升级固件,删除文件等底层操作。operator:是clear、network、reset、trace、view许可,其它级别看文字表述也差不多知道了,如果需要定义更加细腻的限制还是参考juniper的文档吧。
看一个例子吧。
[edit system login]
shen_xu@SRX240H# show
        class netops {
            permissions network;
            allow-commands "(configure private)";
            allow-configuration "(interfaces)";
        }
允许命令里面双引号的内容不是命令,而是正规表现。
设定radius的命令
set system radius-server 172.26.27.5
set system radius-server 172.26.27.5 secret *****
就这么简单
设定认证的验证顺序
set system authentication-order [ radius tacplus password ]
放在大括号里的顺序有讲究,是依次发出请求,比如这个例子,radius如果回不许可的信息,不会立刻拒绝该用户,会到本地用户里匹配,就是password的定义 。tacplus是思科的TACACS+那个认证系统。
如果
set system authentication-order [ radius tacplus ]
当两个远程服务器都回答拒绝的话,那么是不验证本地用户的。
但是如果远程的认证服务器不是回应拒绝,而是无应答,就是远程服务器死机了,超时后就会认证本地用户。
 
这样设定完毕是不是可以了,不是,这样搞完,远程服务器即使回应许可依然不能进入。
那是因为远程的用户不知道在这里按照什么级别分给权限。
所以要映射权限。
这里要谈到一个系统默认的映射组,remote,它就是默认的远程接入映射组,只要定义了它的权限级别,那么远程进入的用户就会按照该级别进入,并分配权限。
set system login user remote class super-user
remote是系统自己的,所以不需要定义直接使用,其它的就必须先定义再使用,比如前面定义的那个netops。
如果不想所有接入的用户都拥有管理员权限,怎么办?
那么先把remote定义低级别,比如只读
set system login user remote class read-only
然后定义一个影射用户
set system login user shen_xu class super-user
就可以了,注意影射用户千万不要设定密码,在GUI界面不输入密码是通不过的,所以这个功能只能在命令行执行。