美文网首页
使用JANUSEC应用网关给内部网站添加身份认证

使用JANUSEC应用网关给内部网站添加身份认证

作者: _U2_ | 来源:发表于2020-03-29 14:55 被阅读0次

转载自金汤智库: 使用JANUSEC应用网关给内部网站添加身份认证

一些企业内部管理网站,往往为了快速上线,没有做身份认证,这就给内部数据泄露带来了很大的风险。但是,要想修复这个问题,却不是那么容易,有可能开发这个网站的同事早就转岗或离职了。

为了解决这个问题,《数据安全架构设计与实战》一书提出了在应用网关统一执行身份认证,并在后端限制访问来源,快速解决这些没有身份认证的问题。

在接入网关上执行身份认证

现在,这一理念已在Janusec Application Gateway中落地,支持员工使用企业微信、钉钉、飞书 扫码登录原来可任意访问的内部网站了。

1 配置OAuth2

在Janusec Application Gateway的应用配置界面,勾选启用OAuth2选项。

具体配置,参考:OAuth2身份认证

2 应用如何获取用户身份

Janusec认证通过后,会在HTTP请求的头部添加两行:

Authorization: Bearer Access-Token

X-Auth-User: UserID

应用不需要修改即可使用,也可以通过X-Auth-User获取用户身份(企业微信/钉钉/飞书),或者借助Access-Token(企业微信/飞书)获取进一步的信息。

3 验证演示

以配置的某个PHP应用下,放一个http.php文件,内容为:

<?php

$headers =array();

foreach($_SERVERas$key => $value) {

    if('HTTP_'== substr($key,0,5)) {        

        $headers[str_replace('_','-', substr($key,5))] = $value;    

    }

}

echo'<pre>';

print_r($headers);

?>

在Janusec Application Gateway的应用管理中,勾选"Enable OAuth2",启用OAuth2 。

访问该http.php页面,浏览器自动跳转到扫码登录页面,扫码通过后,即可查看到该网页的输出:

Array

(

    [HOST] => test.janusec.com

    [USER-AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36

    [ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

    [ACCEPT-ENCODING] => gzip, deflate, br

    [ACCEPT-LANGUAGE] => zh-CN,zh;q=0.9

    [AUTHORIZATION] => Bearer hmaEIdtA_EigLd0q6s1grFMuspVTCme8PEU4SkSeWJAv06Rg6u_PWUdU2g

    [COOKIE] => uqcJ_2132_saltkey=r55x3tp5; uqcJ_2132_lastvisit=1582979664; janusec-token=MTU4NTQ1Nzc3NnxEdi1CQkFFQ180SUFBUkFCRUFBQV9_

    [X-AUTH-USER] => U2

    [X-FORWARDED-FOR] => 192.168.100.1

)

可以看到,已添加HTTP头部:

Authorization: Bearer hmaEIdtA_EigLd0q6s1grFMuspVTCme8PEU4SkSeWJAv06Rg6u_PWUdU2g

X-Auth-User: U2

后端的网站,可以不用任何修改,就获得了需要通过身份认证才能访问的效果。

同时,后端网站也可以直接使用HTTP头部传递过来的身份信息。

4 退出OAuth2登录

后端网站只需要添加一个退出链接 /oauth/logout ,即可实现退出效果。

相关文章

  • 使用JANUSEC应用网关给内部网站添加身份认证

    转载自金汤智库:使用JANUSEC应用网关给内部网站添加身份认证 一些企业内部管理网站,往往为了快速上线,没有做身...

  • 安全:AccessToken

    背景 你已经使用了微服务架构 和 API网关。应用包含一定数量的服务。API网关是客户端请求的唯一入口。它认证请求...

  • Janusec应用网关的Web SSH功能简介

    转载自金汤智库:https://www.janusec.com/articles/opensource/15818...

  • 身份认证

    身份认证 身份认证通用的准则 1.不是敏感账户作为外部业务的身份认证 2.外部账户不能跟内部类似AD账户通用 身份...

  • 统一网关Gateway

    网关功能 (1)身份认证和权限校验(2)服务路由、负载均衡(3)请求限流 一、网关的搭建 创建module,引入依...

  • 数据库安全 —— 身份验证

    目录: 认证方法 认证机制 内部身份验证 分片集群的认证 前言:身份验证是验证客户端身份的过程。当启用访问控制(即...

  • 关于 Nginx 反向代理导致 Spring Boot OAut

    最近在给 Docs4dev 添加用户评论功能时,使用了 Github 提供的 OAuth2 认证来进行用户身份认证...

  • Angular - 指令

    前言 使用指令的优势在于,我们无需太多关心指令的内部实现(当给 Angular 应用添加所需指令后,Angular...

  • microk8s(五)尝试dashboard

    使用dashboard添加一个Nginx应用,只提供集群内部服务 一、添加一个nginx应用 二、查看监听端口 从...

  • google 订阅

    内部测试:发布内部测试包---应用页添加测试人员---应用页设置---内部应用分享---首页许可测试添加测试人员-...

网友评论

      本文标题:使用JANUSEC应用网关给内部网站添加身份认证

      本文链接:https://www.haomeiwen.com/subject/whfuuhtx.html