以Linux为Radius服务器.note

noteId: WEBab6a7fe1fe0c82922f3c250529bcb7f9 · 原始路径:/ALL/网络 - C模块/AAA认证 、Radius 后端认证/配置 Radius 作为服务器为AAA提供认证/以Linux为Radius服务器.note · 图片:10 · 附件待处理:0

 
 
一、配置 freeRadius:
 
1、安装软件包:
apt install -y freeradius
 
 
2、配置 freeRadius,允许指定客户端访问:
vim /etc/freeradius/3.0/clients.conf
# clients 字段可以定义客户端IP地址
 
 
(1)允许单个IP访问:
注意需要是 client,而不是 clients(配置错会连不上)
在 clients.conf 文件中这四条都有,都能够照抄
 
(2)允许整个网段访问:
 
 
 
3、添加 Radius用户:
vim /etc/freeraduis/3.0/users    
 
Cisco-AVPair 用于指定用户登陆 Cisco时的权限等级,如果要配置授权,就可以写上,如果不用,就可以不写
 
 
4、重启 Radius 服务:
systemctl restart freeradius
 
 
 
5、测试 Radius 服务:
# 语法:
radtest [用户名] [用户密码] [Radius服务器地址] [Radius服务器端口] [Radius服务器预共享密钥]
 
radtest adm Skills39 127.0.0.1 1812 testing123    // Radius服务器 localhost 的默认预共享密钥是 testing123
 
 
二、配置 Cisco 路由器:
 
1、启用 aaa,配置 Radius服务器为后端:
aaa new-model 
 
# 设置 Radius服务器地址 和 预共享密钥:
radius server RADIUS

 address ipv4 192.168.1.1 auth-port 1812 acct-port 1813

 key Skills39
 
 
# 启用 aaa
aaa authentication login Login group radius local    // 设置aaa身份认证使用 Radius,Radiius失效后使用本地身份认证,不区分大小写
aaa authorization exec Radius group radius local    
 
# 配置启用 ssh
crypto key gen rsa la ssh.key mo 2048
ip ssh version 2
line vty 0 15
 transport input ssh
 login authentication Login
 authorization exec Login
 
aaa authorization console      //命令不用记,没有配置时会有提示
line con 0
 login authentication Login
 authorization exec Login    // 必须要配置“ aaa authorization console 才会生效”
 
## 可选:
# 定义组,然后在 aaa中调用:
## 作用,不同aaa可以使用不同tacacs服务器
radius server RADIUS
 ...
 
aaa group server radius RA-GROUP
 server name RADIUS    //调用前面的radius server RADIUS
aaa authentication login default group RA-GROUP local
 
 
2、在 R2上连接测试:
 
 
 
 
三、配置 ASA 防火墙使用 Radius为后端:
ASA防火墙无法配置 授权,只能够配置身份认证
 
 
1、在radius上添加一个客户端地址:
vim /etc/freeradius/3.0/clients.conf
 
systemctl restart freeradius
 
2、配置 Radius 客户端 和 aaa,并启用 ssh
注意:cml 2.9 版本后,ASA 生成的SSH密钥,不能够加 label,否则ssh无法连接
# 需要先配置 Radius服务器地址,aaa才能够引用
aaa-server Login protocol radius 
aaa-server Login (Inside) host 192.168.1.1 
 key Skills39
 authentication-port 1812
 accounting-port 1813
 
# 配置 aaa
aaa authentication ssh console Login LOCAL     // 配置 ssh 连接使用 radius 和 本地数据库
aaa authentication serial console Login LOCAL     // 配置本地 console登陆使用 radius 和 本地数据库
 
# 配置 ssh
crypto key generate rsa modulus 2048    //生成 ssh 密钥
ssh 192.168.1.0 255.255.255.0 Inside 
 
测试radius服务器:
test aaa-server authentication Login username adm password Skills39
 
 
3、登陆测试:
注意:debian上连接 ASA防火墙,关于 ssh_config 的配置,需要将加密算法配置为 diffie-hellman-group14-sha254,连接时会有提示
 
 
 
四、开启require_message_authenticator:
配置了之后只有ASA防火墙能够身份认证成功,IOS路由器无法发送这个属性,因此会认证会失败
 
1、配置 freeradius:
vim clients.conf
 
模板:
 
2、配置 ASA:
注意:cml 2.9 版本后,ASA 生成的SSH密钥,不能够加 label,否则ssh无法连接
crypto key generate rsa modulus 2048
aaa-server RADIUS protocol radius
aaa-server RADIUS (Inside) host 192.168.80.1
 key Skills39
 authentication-port 1812
 accounting-port 1813
 message-authenticator-required    //启用消息摘要(因为服务端启用了强制要求,如果不携带该属性就无法连接)
 
ssh 192.168.80.0 255.255.255.0 Inside
aaa authentication ssh console RADIUS LOCAL