本文编写于 1631 天前,最后修改于 1202 天前,其中某些信息可能已经过时。
此文章绝对干货,全网独一份,转载请注明出处哦,谢谢。大家实践中如遇到问题,欢迎积极留言,或者加博主微信,我会进行解答
环境介绍
在172.102.251.1/24网段下,有华为,华三,博达三种品牌交换机
JumpServer地址为172.102.251.23,安装方式参考官方文档
Radius服务器地址为172.102.251.26,用windows的NPS服务实现
实现目标
- 交换机只能通过堡垒机进行账号登录,登录方式为SSH
- 登录交换机所使用的账号密码为radius的账号密码,使用radius服务器进行验证
- 使用console线登录交换机时候,使用radius服务器上的账号密码进行登录
- 当radius服务器和堡垒机同时宕机时候,能够使用本地账号远程ssh到交换机上
- 堡垒机开设不同交换机权限的账户(0-15),实现交换机账号分权
- 关闭交换机Telnet服务
实现思路
- 在交换机上配置标准acl,放通堡垒机ip,并应用到vty或者ssh下,不同品牌交换机,命令不同
- 在win server起nps服务器,并设置好三个用户组,对应三个交换机权限(level0,1,15),并创建三个用户,添加至对应组
- 交换机配置console口登录方式为aaa,NPS服务中,连接请求策略设置中,radius属性-标准,添加Service-Type为Login
- 交换机设置本地账号和密码,并开启该账号的ssh功能
- 交换机设置三个ssh账号,不用设密码,不同品牌交换机命令不同,博达交换机不用设置ssh账号
实现方式
Radius服务器设置
Radius采用win ser的NPS服务实现,具体搭建方式百度都有
- 创建三个本地账号(自定义名称)view,system,admin密码自定义,分别对应不同的交换机权限level0,level1,level15
- 创建三个用户组(自定义名称)network0,network1,network15,并将对应的本地账户添加至三个用户组
- 打开NPS管理器,添加radius客户端,填写对应交换机ip和共享秘钥
- 打开NPS管理器,添加连接请求策略,依次填写策略名称,客户端IP地址(对应交换机ip),验证方法勾选(更改网络策略验证设置,加密的身份验证,未加密的身份验证),Radius属性中,标准-添加Service-Type为Login
- 打开NPS管理器,添加三条网络策略(分别对应三个权限)。
一、添加level0的网络策略
1、新建网络策略,名称Radius-level-0(自定义名称),条件选择windows组,选择用户组network0
2、指定访问权限,选择默认
3、身份验证方法,勾选Microsoft加密的身份验证版本2(MS-CHAP-V2)、Microsoft加密的身份验证版本2(MS-CHAP)、加密的身份验证(CHAP)、未加密的身份验证(PAP、SPAP)
4、配置约束,选择默认
5、配置设置中:标准-添加Service-Type为Login,供应商特定,添加Vendor-specific,添加供应商代码2011,选择符合供应商特定属性,配置属性,选择十进制,属性值选择0。再添加Vendor-specific,添加供应商列表选择cisco,同样选择十进制,属性值选择1。其他均为默认。
二、添加level1的网络策略
1、操作与1相同,在供应商特定选项中,供应商代码2011的属性值改为1,供应商cisco的属性值,选择3。
三、添加level15的网络策略
1、操作与1相同,供应商特定中,什么都不要选择,空白即可。
不同品牌交换机配置
华为交换机
sys
dsa local-key-pair create #创建密钥对
y
stelnet server enable #开启SSH功能
ssh user jsdfyx_view #添加三个SSH账户,这三个SSH账户分别Radius服务器上三个本地账号,对应不同权限
ssh user jsdfyx_view authentication-type password
ssh user jsdfyx_view service-type stelnet
ssh user jsdfyx_system
ssh user jsdfyx_system authentication-type password
ssh user jsdfyx_system service-type stelnet
ssh user jsdfyx_admin
ssh user jsdfyx_admin authentication-type password
ssh user jsdfyx_admin service-type stelnet
ssh user admin #为本地账号admin开启ssh功能
ssh user zzzw authentication-type password
ssh user zzzw service-type stelnet
acl number 2000 #创建基础acl,让交换机只能通过堡垒机的ip进行登录
rule 0 permit source 172.102.251.23 0
rule 10 deny #华为交换机是默认放通所有,因此要添加一条拒绝所有
quit
user-interface vty 0 4 #在vty中应用acl
acl 2000 inbound
quit
user-interface vty 16 20 #在vyt中应用acl
acl 2000 inbound
quit
radius-server template jsocn #配置radius服务
radius-server authentication 172.102.251.26 1812
radius-server shared-key cipher *****
aaa
authentication-scheme jsocn
authentication-mode radius local #配置优先radius认证,当radius服务器宕机时,采用本地认证
quit
local-user zzzw service-type terminal ssh
quit
undo telnet server enable #关闭telnet服务
quit
save
y
华三交换机
sys
radius scheme jsocn #配置radius服务
primary authentication 172.102.251.26
primary accounting 172.102.251.26
user-name-format without-domain
key authentication simple *****
quit
domain jsocn.net
authorization login radius-scheme jsocn local #优先Radius认证
authentication login radius-scheme jsocn local
quit
domain default enable jsocn.net
role default-role enable network-admin
local-user zzzw class manage #创建本地账号zzzw
authorization-attribute user-role level-15
service-type ssh terminal
quit
acl basic 2000
rule 0 permit source 172.102.251.23 0
rule 100 deny
quit
ssh server acl 2000 #将acl应用到acl中,华三不应用到vty
line vty 0 4
authentication-mode scheme #用aaa登录验证
user-role level-15
protocol inbound ssh #使用ssh进行登录
博达交换机
enable
config
ip access-list standard ssh-acl #创建默认acl
permit 172.102.251.23 255.255.255.255
deny any
exit
ip sshd access-class ssh-acl #应用ssh acl
ip sshd enable #打开ssh功能,博达和华三都不需要创建ssh账户
ip access-list standard telnet-acl #创建telnet的acl,用于关闭telnet功能
deny any
exit
ip telnet access-class telnet-acl #应用telnet acl
JumpServer后端配置
安装方式直接去官网看安装文档,本次使用脚本安装方式。
离线安装要点(centos7测试成功):
- 首先服务器要联网进行必要的安装,然后改ip切换回内网即可。
- 安全前先装好docker-ce,安装方式参考我之前博文或自行百度。
- docker先配置好镜像加速,避免脚本安装失败,加速方式见我之前博文或自行百度。
- 安装完成后,把ip和网关改成内网的。
- 改成内网后docker exec -it jms_koko /bin/bash进入容器,ping一下内网的网络设备,是否能通。(应该是不通的)
- 不通的话需要进行如下操作
在/etc/sysctl.conf添加行net.ipv4.ip_forward=1,然后sysctl -p #打开转发功能
cd /opt/setuptools
./jmsctl.sh reset #改ip必须重置组件
JumpServer前端配置
B站有Jumpserver的教学视频,大家需要理解,用户,用户组,系统用户,管理用户,资产管理与资产授权之间的关系。
我的配置如下:
- 创建三个用户组:定义三个权限,分别为0、1、15(命名自定义)
- 创建三个用户,分别将三个用户加入到对应的用户组(命名自定义)
- 创建管理用户,随便创建,因为管理用户是给用于获取服务器的硬件配置信息的,交换机没有用,但必须要设置
- 创建系统用户,系统用户是登录交换机时用的账号密码,需要设置之前在Radius服务器中的的三个权限的本地账户密码。在这里分别是view、system、admin。选择自动登录
- 在资产列表中,添加对应的交换机,这个不用多说
- 资产授权,添加三条授权规则,分别对应三个不同权限的用户组和系统用户,资产选择所有资产。
最后,使用三个不同权限用户组中的用户,登录堡垒机,然后登录交换机,进行测试。博主测试无问题哦