OAuth认证 OAuth(开放授权)是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。OAuth允许用户提供一个令牌(token),而不是用户名和密码来访问他们存放在特定服务提供者的数据。 LDAP认证LDAP是轻量目录访问协议,以树状的层次结构来存储数据。LDAP认证即用户的账号密码信息保存在第三方LDAP服务器上,AC将用户提交的用户名密码信息转给LDAP服务器校验,通过服务器返回的认证成功与否信息,决定用户是否通过AC/SG的认证。 AC支持的常见LDAP服务器: MS Active Directory、Open LDAP、SUN LDAP、IBMLDAP、Lotus LDAP、Novell LDAP、OTHER LDAP等 LDAP中的基本概念: Ø Entry:条目,也叫记录项,是LDAP中最基本的颗粒 Ø OU(organizationalUnitName):组织单元 Ø CN(commonName):名称 Ø DN(distinguished Name ):每一个条目都有一个唯一的标识名,通过DN可以方便地表示出条目在LDAP目录中的位置,通常用于检索。 Ø Base DN:LDAP目录树的最顶部就是根,也就是所谓的“Base DN”。 Ø Attribute:每个条目(entry)都可以有很多属性(Attribute),比如常见的人都有姓名、地址、电话等属性。每个属性都有名称及对应的值,属性值可以有单个、多个,比如你有多个邮箱。 过滤条件解释: (|(objectClass=organizationalUnit)(objectClass=organization)(objectClass=domain)(objectClass=domainDNS)(objectClass=container)) 解释一下语法结构,其中每一个括号内为一个条件,每个条件之间的关系为“或”,用“|”表示,放到最前面。也就是objectClass=organization或者objectClass=container等。那么objectClass可以理解为一个OU的属性 Radius认证Remote Authentication Dial In User Service,远程用户拨号认证系统,一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议采用PAP、CHAP或者Unix登录认证等多种方式。深信服AC/SG和VPN的外部RADIUS认证过程,AC/SG和VPN是作为NAS服务器,也就是客户端角色,同时,从11.8开始AC/SG也可作为服务器角色,结合无线控制器做免认证和准入模式下结合交换机做802.1x认证收取radius计费报文实现用户上线。 1. RADIUS认证交互过程 1.用户输入用户名和口令 2.radius 客户端(NAS)根据获取的用户名和口令,向radius 服务器发送认证请求包(access-request 3.radius 服务器将该用户信息与users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(access-accept)发送给radius 客户端;如果认证失败,则返回access-reject 响应包。RADIUS认证常用端口:UDP1812(认证)、UDP1813(计费)。
2. 外部RADIUS认证流程-PAP(密码验证协议) 具体过程: 1、用户将用户名密码传至Radius客户端后,Radius客户端(NAS)首先会生成一个16字节的随机数。然后对这个随机数和共享密钥做一个MD5,再把MD5的结果与密码做一个异或得到最终的安全密码。 2.、Radius客户端将这个安全密码、用户名、随机数发给RADIUS服务器,RADIUS服务器通过用户名去数据库查询出密码。 3.RADIUS服务器会用随机数、共享密钥和密码也算一个安全密码,与Radius客户端传过来的安全密码进行比较,如果一致就通过认证,如果不一致就验证失败。 3. 外部RADIUS认证流程-CPAP(查询握手验证协议) 具体过程: 1、用户将用户名密码传至Radius客户端后,Radius客户端首先会生成一个16字节的Chap-challenge,同时生存一个1-256的随机数。 2.然后Radius客户端会对Chap-challenge、随机数、password做一个MD5,并且将Chap-challenge、随机数,用户名以及MD5的结果一起传给RADIUS服务器。 3.RADIUS服务器通过用户名去数据库查询出密码。最后RADIUS服务器会用Chap-challenge、随机数以及password算一个MD5,与Radius客户端传过来的进行比较,如果一致则验证通过,否则验证失败。 4. RADIUS客户端场景-AC/SG配置思路 1. AC配置为网桥部署模式,串在出口路由和核心交换机之间,如果有可用桥IP配置网桥IP,没有可用桥IP则配置DMZ带外管理口; 2. 新建认证服务器,选择RADIUS服务器,并填入相关RADIUS相关信息; 3. 新建认证策略,填入适用范围,认证方式选择密码认证,认证服务器选择2中建立RADIUS服务器; 4. 根据需求配置审计和管控策略。 5. RADIUS客户端场景-SSLVPN配置思路 1. SSLVPN单臂模式部署,直接接到核心交换机; 2. 新建认证服务器,选择RADIUS服务器,并填入相关RADIUS相关信息,根据class字段配置RADIUS组映射(可选择直接自动映射到目标组); 3. 新建用户组test,认证方式选择外部认证RADIUS; 4. 新建资源,然后将资源和用户关联。 AD域单点登录域单点登录有脚本方式,免插件,IWA方式,监听方式。只有微软的AD域菜支持这四种单点登录方式。 1) 脚本方式登录 上线:PC开机登录域后,域控通过组策略下发脚本给PC, PC自动执行logon.exe登录脚本并产生登录日志放在本地电脑下的%appdata%\Roaming\.logon\login.log中,脚本同时会将日志信息上报给AC的UDP1775端口,从AC上线 下线:当PC关机或注销时,logoff.exe注销脚本自动运行并产生注销日志放在本地电脑下的%userprofile%\logout.log中,脚本同时将注销日志信息上报给AC的TCP80端口,从AC下线。 注意事项: 1. 通过组策略下发脚本,可以通过命令控制台,也可以使用sinforip配置文件来控制,当需要向多台AC发送认证信息的时候,需要使用的sinforip配置文件。 2. Logon脚本区分版本,如果是AC6.1以前版本上下载的logon脚本,发送认证信息端口是 udp1773,先称之为老脚本,AC11.0以上版本上自带的logon脚本是默认用的是udp的1775,称之为新脚本。 3. AC6.1以前版本只支持接收udp1773端口的认证信息,也就是说只支持老脚本,AC11.0以上版本支持接受udp1773 和udp1775端口,也就是说同时支持新老脚本。 2) 免插件方式登录 AC上开启域监控单点登录,当PC成功登陆域后,AC会主动到AD域控制器上检索域上的eventlog日志,以获取登录的用户信息。从而放通PC在AC上线 3) IWA方式登录 集成WINDOWS身份验证简称IWA,需要先把AC加入域,在加入域的同时,会在域DNS服务器中生成一条AC计算机名对应2.3.4.5的DNS主机记录,PC 登录域后,PC再打开浏览器访问网站,AC会劫持这个数据包,让PC访问AC的计算机名的一个url,在这个过程中需要通过DNS服务器把计算机名解析成2.3.4.5,此时PC会将认证的票据信息上报给AC的2.3.4.5的80端口,AC收到票据信息后,将PC在AC上上线。 城市热点单点登录城市热点主动把认证信息(默认UDP61440携带用户名和IP)传递到AC上,AC获取到用户信息,实现用户的单点登录。 数据库单点登录数据库单点登录适用于客户内网已有一台数据库的服务器的存储认证信息,部署AC/SG设备后,希望实现用户电脑开机后自动通过AC/SG认证以数据库里面的身份直接上网,并希望终端的上网日志可以追踪到具体用户。 在这个过程中,AC主动通过数据库查询语句从数据库里面获取这些用户信息(数据库里面必须有用户名和IP),实现用户的单点登录。目前支持的数据库类型有DB2、ORACLE、MSSQL 、MYSQL这四种数据库。 Portal认证(Web认证)通过HTTP页面接受用户输入的用户名和密码,对用户进行认证 • PORTAL协议一般采用V1.0/V2.0,和CMCC协议;Portal认证是无线WiFi或者WLAN网络作为网络接入控制使用。 • 通过PORTAL认证和RADIUS认证结合,实现企业统一实名认证、访客认证等,为网络溯源提供有力保障。 • 认证方式很多:流行的微信认证(微信连WiFi)、短信认证、访客认证、二维码认证、账 号密码认证等 Portal认证与802.1x认证的对比: Portal认证相对于802.1x认证的优势 Ø 支持网页方式认证,免客户端安装 Ø 部署方式灵活、快捷,适合旧网改造 Portal认证的不足之处 Ø 没有802.1x认证对客户端的控制严格 Portal报文字段说明 802.1X认证802.1X认证中用到了RADIUS协议认证方式,典型的C/S结构 认证模式:基于接口、基于MAC 认证方式:EAP终结、EAP透传(中继)注意:AC是用EAP透传的方式 端口控制方式:自动识别、强制授权、强制非授权 a) 802.1X认证流程: 第一步:客户端发起开始认证请求 第二步:交换机收到请求之后,要求客户端提交用户信息 第三步:客户端会提交用户信息给到交换机(当为哑终端无法提交用户信息时提交终端MAC信息,需要交换机配置MAB属性) 第四步:交换机收到用户信息之后,将数据封装成RADIUS报文发送到AC 第五步:AC完成校验,如果检验成功通过认证,发送认证成功报文给到交换机,交换机然后放通端口,如果检验失败,发送认证失败报文给交换机,交换机不放通端口。 b) 802.1x上线流程 完成认证之后就放通了端口,但是未在AC设备上线,上线过程如下(需要收到计费开始请求之后才开始走上线流程): 1.认证成功后,将终端MAC地址缓存在设备内存中5分钟 2.需要获取IP/MAC对应关系完成上线 2.1计费报文带IP 2.2通过镜像获取DHCP,ARP广播报文 2.3跨三层取MAC的方式 动态vlan: 原理:AC回复的Radius报文中Type81带VLAN信息给到交换机,交换机划分端口,实现访问资源的隔离(信锐交换机的动态vlan功能只支持基于端口控制的802.1x认证,其他交换机要看具体交换机的属性 c) 802.1x配置步骤 1. 交换机开启802.1x功能,将RADIUS服务器地址指向AC。 2. AC启用802.1x认证功能对接交换机,和交换机配置的端口和密钥保持一致。 3. 开启动态vlan功能,将不同用户划分到不同vlan(该配置可选,同时需要交换机支持动态VLAN)。 4. 如果存在哑终端设备,可以提前做好用户绑定或者在入网失败用户中绑定。(该配置可选,同时需要交换机支持MAB认证) 5. 配置获取MAC地址和IP地址对应关系,AC配置跨三层取MAC或者镜像方式通过ARP或者DHCP报文取MAC 交换机开启802.1X认证命令(信锐交换机为例) 1.配置Radius服务器为准入设备地址,设置共享密钥为123,并开启计费和认证功能 SANGFOR(config)#radius-server key 0 123 SANGFOR(config)#radius-serverauthentication host 10.130.250.185 primary SANGFOR(config)#radius-server accountinghost 10.130.250.185 primary SANGFOR(config)#aaa-accounting enable SANGFOR(config)#aaa enable 2.全局开启802.1x功能 SANGFOR(config)#dot1x enable SANGFOR(config)#dot1x eapor enable 开启eap中继认证方式 3.接口开启802.1x认证 SANGFOR(config)#Interface Ethernet1/0/9 SANGFOR(config)#Idot1x port-method macbased配置接口基于MAC地址的802.1x认证 SANGFOR(config-if-ethernet1/0/9)#dot1xenable SANGFOR(config-if-ethernet1/0/9)#dot1xport-control auto d) 注意事项 1. 配置802.1x认证,用户来源只能是AC本地用户或者AD域用户; 2. 802.1x认证有基于端口和基于MAC,建议客户交换机配置为基于MAC,安全性更高; 3. 802.1x认证有eap中继和eap终结方式,我们AC的802.1x是eap中继方式; 4. 使用认证助手功能时需要在控制台勾选开启准入认证客户端802.1x功能选项,安装完准入插件后会在桌面生成认证助手快捷方式 5. 802.1x认证用户不支持在AC页面手动注销,只支持终端主动注销 动态令牌认证时间同步:基于动态令牌和动态口令验证服务器的时间比对,基于时间同步的令牌,一般每60秒产生一个新口令,要求服务器能够十分精确的保持正确的时钟,同时对其令牌的晶振频率有严格的要求,这种技术对应的终端是硬件令牌。 事件同步:基于事件同步的令牌,其原理是通过某一特定的事件次序及相同的种子值作为输入,通过HASH算法中运算出一致的密码。 挑战/应答:常用于网上业务,在网站/应答上输入服务端下发的挑战码,动态令牌输入该挑战码,通过内置的算法上生成一个6/8位的随机数字,口令一次有效,这种技术目前应用最为普遍,包括刮刮卡、短信密码、动态令牌也有挑战/应答形式。 SSL VPN中动态令牌认证过程: 1、用户向SSL VPN设备发起接入请求。 2、SSL VPN向用户提出用户名密码认证。 3、用户提交用户名密码完成第一项认证。 4、SSL VPN向用户提出动态令牌认证请求。 5、用户根据动态令牌6位随机码提交验证码。 6、SSL VPN将用户名及验证码以标准Radius包封装提交给动态令牌服务器(Radius)进行验证。 7、动态令牌服务器根据用户名查找到该令牌关联的验证码库,基于时间验证机制进行验证码校验,并完成令牌数据库的该用户时间校准(若为采用基于事件验证的令牌,则根据验证码的漂移进行种子校准)。 8、动态令牌服务器根据标准Radius协议将验证结果返回给SSL VPN设备。 9、SSL VPN设备根据验证结果允许/拒绝用户的SSL VPN接入 五大数据库的特点1. Oracle数据库特点 1. Oracle数据库可运行于大部分硬件平台与操作系统上。 2. Oracle能与多种通讯网络相连,支持多种网络协议。 3. Oracle的操作较为复杂,对数据库管理人员要求较高。 4. Oracle具有良好的兼容性、可移植性、可连接性和高生产率。 5. Oracle的安全性非常高,安全可靠 2. MySQL数据库特点 1. MySQL是开源的,可供用户免费使用。 2. MySQL支持多线程,充分利用CPU资源。 3. MySQL对 PHP有很好的支持,PHP是比较流行的 Web 开发语言,搭配 PHP 和 Apache 可组成良好的开发环境。 4. MySQL提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 3. SQL Server数据库特点 1. SQL Server采用图形界面,操作简单,管理方便。 2. SQL Server开放性不足,目前只支持Windows和Linux系统。 3. SQL Server可以用ADO,DAO,OLEDB,ODBC连接。 4. SQL Server是几大需要收费的主流数据库中收费最低的,维护费用也较低。 5. SQL Server具有强壮的事务处理功能,采用各种方法保证数据的完整性。 4. DB2数据库特点 1. DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 2. DB2适用于数据仓库和在线事物处理,性能高。 3. DB2广泛应用于大型软件系统,向下兼容性较好。 4. DB2拥有一个非常完备的查询优化器,为外部连接改善了查询性能。 5. DB2具有很好的网络支持能力,可同时激活上千个活动线程。 5. Sybase数据库特点 1. Sybase是基于客户/服务器体系结构的数据库,支持共享资源且在多台设备间平衡负载。 2. Sybase操作较为复杂,对数据库管理员的要求较高。 3. Sybase有非常好的开放性,能在几乎所有主流平台上运行。 4. Sybase是一款高性能、安全性非常高的数据库。 |