Hillstone-HCSP之路:StoneOS 其他功能
HCSP之路:StoneOS 其他功能
1 SSL 代理
1.1 代理模式
- 策略-->SSL代理-->信任域设置
- 策略-->安全策略-->进行调用:SSL代理,启用
- 系统-->PKI-->信任域证书-->导出CA证书:选择信任域,CA证书,导出
- 终端PC配置:将导出的CA证书安装在本地计算机:受信任的根证书颁发机构
1.2 卸载模式
- 系统-->PKI-->密钥,导入密钥
- 系统-->PKI-->信任域证书-->导入CA证书,用户证书
- 策略-->SSL代理-->配置服务端口与服务器信任域
- 策略-->安全策略-->进行调用:SSL代理,启用
2 AAA与认证技术
备份aaa-server:backup-aaa-server aaa-server-name
2.1 AD认证
2.1.1 AD配置步骤
- 防火墙基础配置:与AD服务器连通。
- 进入AD服务器配置模式。
- 配置认证方案。
- 配置webauth策略并使用AD认证。
- 检验配置结果。
aaa-server ad type active-directory
host 172.16.1.2
base-dn "DC=training,DC=hillstonenet,DC=com"
login-dn "cn=administrator,cn=users,DC=training,DC=hillstonenet,DC=com "
login-password password
show aaa-server ad
2.2 LDAP认证
2.2.1 LDAP配置步骤
- 将防火墙的接口接入安全域并配置接口的IP地址。
- 进入AAA服务器配置模式。
- 配置认证方案。
- 配置WebAuth认证策略并用LDAP方式认证。
- 检验配置结果。
aaa-server ldap type ldap
host 172.16.1.2
base-dn "DC=training,DC=hillstonenet,DC=com"
login-dn "cn=administrator,cn=users,DC=training,DC=hillstonenet,DC=com"
login-password password
naming-attribute "sAMAccountName”
member-attribute "memberOf “
group-class "groupofuniquenames"
exit
show aaa-server ldap
2.3 RADIUS认证配置
- 将安全网关的接口接入安全域并配置接口的IP地址。
- 进入AAA服务器配置模式。
- 配置认证方案。
- 配置webauth策略并使用RADIUS认证。
- 检验配置结果。
aaa-server "radius" type radius
host 10.1.1.254
secret yourpasswd
exit
show aaa-server radius
2.4 Tacacs+认证
创建Tacacs+时,使用属性:
USER_ADMIN_PRIVILEGE=4294967295
USER_GROUP=ADMIN
USER_LOGIN_TYPE=31
USER_TYPE=31
USER_VSYS_ID=0
aaa-server "radius" type tacacs+
host 10.1.1.254
secret yourpasswd
exit
2.5 角色
# 创建角色
role role-name
# 配置角色映射规则
role-mapping-rule rule-name
match{any| useruser-name| user-group user-group-name| cncn-field| ouou-field} rolerole-name
# 用户和角色可以在同一条角色映射规划中进行映射,指定角色映射规则后,系统将会为通过本地服务器认证的用户按照指定角色映射规则分配角色。
# 配置AAA服务器调用角色映射规则
aaa-server aaa-server-name type local
role-mapping-rule rule-name
2.6 单点登录
2.6.1 AD-Scripting
要求:用户使用Active Directory 认证服务器,同时客户机加入域,这样客户机使用域帐号登录将不需要二次认证即被识别身份。
2.6.2 AD polling
- 企业单位内部使用AD服务器,员工通过域帐号登录PC,AD服务器上产生登录日志。
- StoneOS系统通过WMI定时向AD服务器查询并获取用户登录信息,对用户进行上下线操作
- AD polling配置
- 对象-->SSO Client-->AD polling
- 配置完成后在用户-->Active Directory 用户查看AD中的用户是否正常同步。
2.6.3 SSO-monitor
用户通过第三方认证服务器进行认证,用户的认证状态保存在第三方服务器上;
认证服务器通过Monitor协议将用户在线状态及用户所属的用户组信息同步到StoneOS,StoneOS可做基于用户或用户组的安全策略授权
3 DNS代理
- DNS普通代理:只有客户端的DNS服务器地址为Hillstone设备的接口地址时,Hillstone设备才承担DNS服务器功能;
- DNS透明代理时:不管客户端的DNS服务器地址是否为Hillstone设备接口地址,其收到的DNS应答均来自Hillstone设备。
- DNS Bypass,如果没有匹配到将转发
4 StoneOS系统接口逆向路由
- 逆向路由原理:接口下用于转发反向数据的路由。
- 逆向路由开启:进入接口时就查找反向路由,若找不到则丢弃。如果找到的逆向路由出接口和原入接口不在同一个安全域下,设备仍会丢弃数据包。 使用场景举例:配置IP-MAC静态绑定的时候需要开启。
- 逆向路由关闭:数据包原路返回,无需路由。使用场景举例:多条外网线路上网,外网接口逆向路由关闭;多条IPSec VPN隧道,每个隧道接口逆向路由关闭。内网接口关闭影响ARP的绑定。
1. 大致拓扑
client---------E0/1 FW E0/2------server
注:假设 policy 都是放行的。
2. reverse-route force 处理流程
- client 向 server 主动发起数据连接,防火墙收到首包后查询正向路由(指向 server 的路由)和逆向路由(指向 client 的路由),如果正向路由和逆向路由都有,则创建 session,同时将正向、逆向路由信息写入到 session 中。如果没有逆向路由,则将首包丢弃,不创建 session。因此逆向路由检查是对首包的检查,创建 session 后后续报文都按照 session 转发。
- Session 创建成功后,session 中会根据正向路由和逆向路由记录相关路由信息和出、入接口,同时记录上下游设备的 mac 地址。
- 当回包返回时匹配 session,根据 session 中的出接口和下一跳地址,然后查找 mac 地址表,然后转发。与 no reverse-route force 不同的是,force 方式不使用 session 中记录的 mac,而是查询 mac 地址表。no reverse-route force 方式则是使用 session 中记录的 mac 信息。
reverse-route force 的 show session detail:
session: id 6, proto 6, flag a, flag1 20000, created 525, life 1790, policy 1,app 10(HTTP) flag 0x0, auth_user_id 0, reverse_auth_user_id 0
Atomic_flag 0x0, VR trust-vr, send_packets 0, send_bytes 0, receive_packets 0, receive_bytes 0
snat_rule_id 1, dnat_rule_id 0
fast_forward No, state VALID, can_do_fwd 0, delay_fwd_flag 0x0, anchor_iocpu_flow0(0)
flow1(0)
flow0_mac valid(3c97.0ec9.ae01), flow1_mac valid(001c.54a4.ba89)---上下游设备 mac 地址,
flow0(37(ethernet0/7)/40200810): 192.168.100.10:27475->124.236.35.28:80 , tunnel_id 0, tcp-state ESTABLISHED
flow1(35(ethernet0/5)/200810): 124.236.35.28:80->10.89.90.144:27475 , tunnel_id 0, tcp-state ESTABLISHED
- 另外,需要注意,在 reverse-route force 模式下,接口收到数据时查询逆向路由,即使有逆向路由,如果逆向路由的出接口与数据包的入接口不在同一个 zone,依然不会创建 session。
3. reverse-route prefer 处理流程
- client 向 server 主动发起数据连接,防火墙收到首包后查询正向路由(指向 server 的路由)和逆向路由(指向 client 的路由),如果正向路由和逆向路由都有,则创建 session,同时将正向、逆向路由信息写入到 session 中。如果没有逆向路由,则也会创建 session,session 信息中记录源接口信息和源接口对端设备的 mac 信息;
- Session 创建成功后,session 中会记录正向路由和逆向路由记录相关路由信息和出、入接口,同时记录上下游设备的 mac 地址。没有逆向路由的情况下,session 不记录逆向路由信息,而是记录数据包源接口,以源接口为路由信息,同时记录上下游设备的 mac 地址;
- 当回包返回时匹配 session,有逆向路由情况下根据 session 中的出接口和下一跳地址,然后查找 mac 地址表,然后转发。没有逆向路由情况下,使用记录的源接口和和 session 中记录的 mac 地址转发数据。
4. no reverse-route 处理流程
- client 向 server 主动发起数据连接,防火墙收到首包后只查询正向路由(指向 server 的路由)然后建立 session, session 信息中记录源接口信息和源接口对端设备的 mac 信息,回包按 session 转发到源接口。使用记录的源接口和和 session 中记录的 mac 地址转发回包数据。
no reverse-route 的 show session detail:
session: id 9, proto 6, flag a, flag1 20000, created 318, life 1771, policy 1,app 10(HTTP) flag 0x0, auth_user_id 0, reverse_auth_user_id 0
Atomic_flag 0x0, VR trust-vr, send_packets 0, send_bytes 0, receive_packets 0, receive_bytes 0
snat_rule_id 1, dnat_rule_id 0
fast_forward No, state VALID, can_do_fwd 0, delay_fwd_flag 0x0, anchor_iocpu_flow0(0)
flow1(0)
flow0_mac valid(3c97.0ec9.ae01), flow1_mac valid(001c.54a4.ba89) ---上下游设备 mac 地址,
flow0(37(ethernet0/7)/40200810): 192.168.100.10:27413->101.89.15.105:8080 , tunnel_id 0, tcp-state ESTABLISHED
flow1(35(ethernet0/5)/200810): 101.89.15.105:8080->10.89.90.144:27413 , tunnel_id 0, tcp-state ESTABLISHED