c#能否写Radius服务器?

c#能否写Radius服务器?,第1张

如果你指的是用C#实现类似Radius的认证/授权/记录功能,这个是完全可以的。
以目前的技术来说,想模拟Radius,WCF是你最好的选择。
WCF自身体系就支持各种传输协议上的Windows域/用户身份验证,这点同Radius/NPS;与此同时,WCF同样是在服务端处理各种客户端接入,能够在服务方法被调用前/后截获客户端相关信息(包括身份)以便你自己进一步处理;同上,虽然记录功能需要自己实现,但是实现点也是很明显的:在服务方法调用前/后,或者服务实例创建/释放时。
如果你对WCF技术较为熟悉,请直接查阅其“身份验证”相关技术文档;
如果未曾接触WCF,可以直接阅览Artech的大作《WCF深入剖析》。
不想使用WCF而是使用传统技术来模拟Radius,可以追问或者给我留小纸条继续讨论~

AAA 通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于集中管理用户信息。认证:
     不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。 
     本地认证:将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降 低成本,缺点是存储信息量受设备硬件条件限制。 
     远端认证:将用户信息配置在认证服务器上。支持通过 RADIUS(Remote Authentication Dial In User Service)协议或 HWTACACS(HuaWei Terminal Access Controller Access Control System)协议进行远端认证。 
授权:
  AAA 支持以下授权方式: 
    不授权:不对用户进行授权处理。 
    本地授权:根据网络接入服务器为本地用户账号配置的相关属性进行授权。 
     HWTACACS 授权:由 HWTACACS 服务器对用户进行授权。 
 if-authenticated 授权:如果用户通过了认证,而且使用的认证模式是本地或远端认证,则用户 授权通过。 
     RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能单独使用 RADIUS 进行授权。
计费:
     AAA 支持以下计费方式: 
     不计费:不对用户计费。 
     远端计费:支持通过 RADIUS 服务器或 HWTACACS 服务器进行远端计费。
二、RADIUS协议
远程认证拨号用户服务 RADIUS(Remote Authentication Dial-In User Service)是一种分布式的、客 户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全 性、又允许远程用户访问的各种网络环境中。该协议定义了基于 UDP 的 RADIUS 帧格式及其消息 传输机制,并规定 UDP 端口 1812、1813 分别作为认证、计费端口。
RADIUS 最初仅是针对拨号用户的 AAA 协议,后来随着用户接入方式的多样化发展,RADIUS 也 适应多种用户接入方式,如以太网接入、ADSL 接入。它通过认证授权来提供接入服务,通过计费 来收集、记录用户对网络资源的使用。
RADIUS服务器
RA

RADIUS(Remote Authentication Dial In User Service)是一种在网络接入服务器(Network Access
Server)和共享认证服务器间传输认证、授权和配置信息的协议。 RADIUS 使用 UDP 作为其传输协议。此外 RADIUS
也负责传送网络接入服务器和共享计费服务器间的计费信息。

RADIUS是分布式客户机/服务器系统,它保护网络不受未授权访问的干扰。在Cisco实现中,Radius客户机运行于路由器上,并向中央RADIUS服务器发出认证请求,这里的中央服务器包含了所有的用户认证和网络服务访问信息。Cisco利用其AAA安全模式支持RADIUS,RADIUS也可以用于其他AAA安全协议,比如,TACACS,KERBEROS或本地用户名查找,所有Cisco平台都支持RADIUS。
RADIUS 主要特征如下:
客户 / 服务器模式:网络接入服务器作为 RADIUS 的客户端,负责将用户信息传递给指定的 RADIUS
服务器,然后根据返回信息进行 *** 作。 RADIUS 服务器负责接收用户连接请求,认证用户后,返回所有必要的配置信息以便客户端为用户提供服务。 RADIUS
服务器可以作为其他 RADIUS 服务器或认证服务器的代理。
网络安全:客户端与 RADIUS
记帐服务器之间的通信是通过共享密钥的使用来鉴别的,这个共享密钥不会通过网络传送。此外,任何用户口令在客户机和 RADIUS
服务器间发送时都需要进行加密过程,以避免有人通过嗅探非安全网络可得到用户密码。
灵活认证机制: RADIUS 服务器支持多种用户认证方法。当用户提供了用户名和原始口令后, RADIUS
服务器可支持 PPP PAP 或 CHAP, UNIX 登录和其它认证机制。
协议的可扩充性:所有的事务都是由不同长度的“属性-长度-值”的三元组构成的。新的属性值的加入不会影响到原有协议的执行。
RADIUS
通信的例子:
The following example assumes login authentication, exec
authorization, and start−stop exec accounting is implemented with RADIUS when a
user Telnets to a router, performs a command, and exits the router (other
management services are not available)

TACACS & TACACS+:Terminal Access Controller Access Control
System终端访问控制器访问控制系统。通过一个或多个中心服务器为路由器、网络访问控制器以及其它网络处理设备提供了访问控制服务。TACACS
支持独立的认证(Authentication)、授权(Authorization)和计费(Accounting)功能。
TACACS+应用传输控制协议(TCP),而RADIUS使用用户数据报协议(UDP)。
TACACS+ Traffic Example:
The following example assumes
login authentication, exec authorization, command authorization, start−stopexec
accounting, and command accounting is implemented with TACACS+ when a user
Telnets to a router,performs a command, and exits the router

RADIUS(Remote Authentication Dial In User Service,远程用户拨号认证服务)服务器提供了三种基本的功能:认证(Authentication)、授权(Authorization)和审计(Accounting),即提供了3A功能。
其中审计也称为“记账”或“计费”。 RADIUS协议。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13501026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-20
下一篇 2023-08-20

发表评论

登录后才能评论

评论列表(0条)

保存