c#能否写Radius服务器?

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

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

RADIUS(Remote Authentication Dial In User Service,远程用户拨号认证服务)服务器提供了三种基本的功能:认证(Authentication)、授权(Authorization)和审计(Accounting),即提供了3A功能。其中审计也称为“记账”或“计费”。
RADIUS协议采用了客户机/服务器(C/S)工作模式。网络接入服务器(Network Access Server,NAS)是RADIUS的客户端,它负责将用户的验证信息传递给指定的RADIUS服务器,然后处理返回的响应。RADIUS服务器负责接收用户的连接请求,并验证用户身份,然后返回所有必须要配置的信息给客户端用户,也可以作为其他RADIUS服务器或其他类认证服务器的代理客户端。服务器和客户端之间传输的所有数据通过使用共享密钥来验证,客户端和RADIUS服务器之间的用户密码经过加密发送,提供了密码使用的安全性。如果这台计算机是一台Windows Server 2003的独立服务器(未升级成为域控制器,也未加入域),则可以利用SAM来管理用户账户信息;如果是一台Windows Server 2003域控制器,则利用活动目录数据库来管理用户账户信息。虽然活动目录数据库管理用户账户信息要比利用SAM来安全、稳定,但RADIUS服务器提供的认证功能相同。为便于实验,下面以一台运行Windows Server 2003的独立服务器为例进行介绍,该计算机的IP地址为172162254。
方法/步骤
1
在"控制面板"中双击"添加或删除程序",在d出的对话框中选择"添加/删除Windows组件"
2
在d出的"Windows组件向导"中选择"网络服务"组件,单击"详细信息"
3
勾选"Internet验证服务"子组件,确定,然后单击"下一步"进行安装
4
在"控制面板"下的"管理工具"中打开"Internet验证服务"窗口
步骤阅读
5
创建用户账户在"控制面板"下的"管理工具"中打开"计算机管理",选择"本地用户和组"
6
为了方便管理,我们创建一个用户组"8021x"专门用于管理需要经过IEEE 8021x认证的用户账户。鼠标右键单击"组",选择"新建组",输入组名后创建组。
7
在添加用户之前,必须要提前做的是,打开"控制面板"-"管理工具"下的"本地安全策略",依次选择"账户策略"-"密码策略",启用"用可还原的加密来储存密码"策略项。
否则以后认证的时候将会出现以下错误提示。
接下来我们添加用户账户"0801010047",设置密码"123"。鼠标右键单击"用户",选择"新用户",输入用户名和密码,创建用户
将用户"0801010047"加入到"8021x"用户组中。鼠标右键单击用户"0801010047",选择"属性"。在d出的对话框中选择"隶属于",然后将其加入"8021x"用户组中。
设置远程访问策略,新建远程访问策略,鼠标右键单击"远程访问策略",选择"新建远程访问策略"
选择配置方式,这里我们使用向导模式
选择访问方法,以太网
选择授权方式,将之前添加的"8021x"用户组加入许可列表
选择身份验证方法,"MD5-质询"
确认设置信息
步骤阅读
只保留新建的访问策略,删掉其他的

配置路由和远程访问来使用 RADIUS 身份验证和记帐的另一种方法是,通过“路由和远程访问服务器安装向导”来配置,此向导在执行路由和远程访问服务的初始配置时运行。

用PPPoE协议进行用户认证 :

对于盗用者使用第二种方法同时修改IP地址和MAC地址时,可以使用PPPoE协议进行用户认证。现在有很多基于PPPoE协议的软件,在ADSL的宽带网中广泛使用。PPPoE全称是Point to Point Protocol over Ethernet(基于局域网的点对点通讯协议),这个协议是为了满足越来越多的宽带上网设备和网络之间的通讯而最新制定开发的标准,它基于两个广泛接受的标准,即以太网和PPP点对点拨号协议。对运营商来说,在现有局域网基础上不必花费巨资来做大面积改造,使得PPPoE 在宽带接入服务中比其他协议更具有优势,因此逐渐成为宽带上网的最佳选择。 PPPoE的实质是以太网和拨号网络之间的一个中继协议,它兼有以太网的快速性和PPP协议拨号的简易性以及用户验证和IP分配等优势。在ADSL宽带网的实际应用中,PPPoE利用以太网的工作原理,将ADSL Modem的10BASE-T接口与内部以太网络互联,PPPoE接入利用在网络侧和ADSL Modem之间建立一条PVC(永久虚电路)就可以完成以太网上多用户的共同接入,实际组网方式简单易行,大大降低了网络的复杂程度。

在客户端,其设置和拨号上网方式一样,安装虚拟拨号软件,通过虚拟拨号的方式完成。在客户机接入网络后,由PPP服务器或RADIUS服务器来进行认证,其使用的验证协议有两种:PAP和CHAP。

PAP是密码身份验证协议,它使用原文(不加密)密码,是一种最简单的身份验证协议。如果网络的接入不能用更安全的验证方式,一般就使用PAP。

在"控制面板"中双击"添加或删除程序",在d出的对话框中选择"添加/删除Windows组件"
在d出的"Windows组件向导"中选择"网络服务"组件,单击"详细信息"
勾选"Internet验证服务"子组件,确定,然后单击"下一步"进行安装
在"控制面板"下的"管理工具"中打开"Internet验证服务"窗口
创建用户账户在"控制面板"下的"管理工具"中打开"计算机管理",选择"本地用户和组"
为了方便管理,我们创建一个用户组"8021x"专门用于管理需要经过IEEE 8021x认证的用户账户。鼠标右键单击"组",选择"新建组",输入组名后创建组。
在添加用户之前,必须要提前做的是,打开"控制面板"-"管理工具"下的"本地安全策略",依次选择"账户策略"-"密码策略",启用"用可还原的加密来储存密码"策略项。
否则以后认证的时候将会出现以下错误提示。
接下来我们添加用户账户"0801010047",设置密码"123"。鼠标右键单击"用户",选择"新用户",输入用户名和密码,创建用户
将用户"0801010047"加入到"8021x"用户组中。鼠标右键单击用户"0801010047",选择"属性"。在d出的对话框中选择"隶属于",然后将其加入"8021x"用户组中。
设置远程访问策略,新建远程访问策略,鼠标右键单击"远程访问策略",选择"新建远程访问策略"
选择配置方式,这里我们使用向导模式
选择访问方法,以太网
选择授权方式,将之前添加的"8021x"用户组加入许可列表
选择身份验证方法,"MD5-质询"
确认设置信息
只保留新建的访问策略,删掉其他的

设置ip需要三步:

1.锁定交换机端口。

对于交换机的每一个以太网端口,采用MAC地址表(MAC-address-table)的方式对端口进行锁定。只有网络管理员在MAC地址表中指定的网卡的MAC地址才能通过该端口与网络连接,其他的网卡地址不能通过该端口访问网络。

我们可以在计算机上先运行ping命令,然后用arp-a命令就可以看到网络用户相应的IP地址对应的MAC地址,这样就使MAC地址和物理顺序对应起来,使得一根网线、一个端口对应一个MAC地址。

这种方法比较适合于单幢大楼的宽带用户,在每一层楼或每个单元放置一台交换机,对交换机的每一个以太网端口进行限定,让每个用户单独占用一个端口,如果有人盗用了IP地址也将无济于事。下面用一段程序,举例说明指定交换机的e0/9口对应MAC地址083c00000002,只有这个MAC地址可以通过该端口访问网络。 

2.应用ARP绑定IP地址和MAC地址
ARP(Address Resolution Protocol)即地址解析协议,这个协议是将IP地址与网络物理地址一一对应的协议。每台计算机的网卡的MAC地址都是唯一的。

在三层交换机和路由器中有一张称为ARP的表,用来支持在IP地址和MAC地址之间的一一对应关系,它提供两者的相互转换,具体说就是将网络层地址解析为数据链路层的地址。

我们可以在ARP表里将合法用户的IP地址和网卡的MAC地址进行绑定。当有人盗用IP地址时,尽管盗用者修改了IP地址,但由于网卡的MAC地址和ARP表中对应的MAC地址不一致,那么也不能访问网络。

3 用PPPoE协议进行用户认证 。


对于盗用者使用第二种方法同时修改IP地址和MAC地址时,可以使用PPPoE协议进行用户认证。现在有很多基于PPPoE协议的软件,在ADSL的宽带网中广泛使用。PPPoE全称是Point to Point Protocol over Ethernet(基于局域网的点对点通讯协议),这个协议是为了满足越来越多的宽带上网设备和网络之间的通讯而最新制定开发的标准,它基于两个广泛接受的标准,即以太网和PPP点对点拨号协议。

对运营商来说,在现有局域网基础上不必花费巨资来做大面积改造,使得PPPoE 在宽带接入服务中比其他协议更具有优势,因此逐渐成为宽带上网的最佳选择。

PPPoE的实质是以太网和拨号网络之间的一个中继协议,它兼有以太网的快速性和PPP协议拨号的简易性以及用户验证和IP分配等优势。

在ADSL宽带网的实际应用中,PPPoE利用以太网的工作原理,将ADSL Modem的10BASE-T接口与内部以太网络互联,PPPoE接入利用在网络侧和ADSL Modem之间建立一条PVC(永久虚电路)就可以完成以太网上多用户的共同接入,实际组网方式简单易行,大大降低了网络的复杂程度。

在客户端,其设置和拨号上网方式一样,安装虚拟拨号软件,通过虚拟拨号的方式完成。在客户机接入网络后,由PPP服务器或RADIUS服务器来进行认证,其使用的验证协议有两种:PAP和CHAP。
PAP是密码身份验证协议,它使用原文(不加密)密码,是一种最简单的身份验证协议。如果络的接入不能用更安全的验证方式,一般就使用PAP。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存