pritunl zero 零信任系统

一、概述

1、介绍

Pritunl Zero是一个零信任系统,它可以在不使用VPN的情况下从不受信任的网络安全地访问内部服务。

2、背景

内网搭建了类百度文库系统dochub,想通过硬件防火墙NAT转换IP和端口后映射到公网,但不希望任何人都可以访问,也不想用VPN的方式,最好是在访问dochub之前添加一层WEB授权。

  • 使用 pritunl zero 零信任系统进行授权访问dochub后,不需要将dochub内网服务器映射到公网

    (如果会go语言,也可以自己重写dochub的登录认证机制,因为不会,所以选择pritunl zero)

3、环境

  • 一台虚拟机(可以通过网关防火墙NAT映射到公网,这里举例将443端口映射到公网8443,如果有其他内网穿透方案也行,或者直接用公有云上的虚拟机)

    • 单网卡即可
    • 关闭防火墙(或开放相关端口)
    • MongoDB 和 pritunl zero 都安装在同一台机器即可(资源占用很少)
  • 2个公网域名:控制台 node.pritunl.zero 服务 service.pritunl.zero 建议自己申请公网域名,国内是需要备案通过后才可以正常访问

  • 申请2张SSL证书:对应上面的2个域名,建议申请公网免费证书 https://freessl.cn ,(需要在域名中添加解析)

申请操作参考 https://www.cnblogs.com/cn1151/p/17167080.html


二、安装 pritunl zero

安装方法可以参照官方安装手册

https://docs.pritunl.com/docs/pritunl-zero-service


三、配置 pritunl zero 保护内部 web server

1、初次登录

浏览器访问 https://IP地址 (如果不能打开,请检查操作系统防火墙设置)

通过命令获取管理账号和密码:sudo pritunl-zero default-password

2、添加SSL证书

登录后,点击菜单中的“Certificates”添加证书

证书类型 Type:txt(公网SSL证书)

将提前申请好的证书 key 和 pem 文件内容,复制粘贴到证书私钥和证书链的文本框中,(注意:pem证书链只复制上半部分,-----END CERTIFICATE-----为止)

证书1:

  • name(名称可以自定义)node.pritunl.zero

证书2:

  • name(名称可以自定义)service.pritunl.zero


3、创建服务services

点击“services”,添加服务

  • name(可以自定义):dochub
  • Type:HTTP
  • External Domains:service.pritunl.zero(需要通过这个域名来代理访问内部服务器,主机 Host 留空,不需要设置)
  • Internal Servers:HTTP 192.168.0.80 :8090(根据内网WEB服务器使用的协议选择http或https,IP是内部WEB服务器的地址,端口号是内网访问WEB网站的端口号,建议不要使用80或443端口,否则可能无法正常通过零信任系统进行访问)
  • Logout Path:/logout
  • Roles:dochub(名称可以自定义,点Add进行添加,控制哪些用户角色可以访问该服务)
  • 打开 Allow WebSockets

4、设置节点 nodes

点击“Nodes”,设置节点

  • name:建议保持系统默认不变
  • 打开 management 和 proxy
  • Protocol and Port:HTTP 443
  • 建议打开 Web redirect server,强制使用https
  • Services:点击 “ Add Service ” 添加第3步创建的服务 dochub
  • certificates:点击 “ Add certificate ”,添加第2步创建的两张SSL证书 node.pritunl.zero 和 service.pritunl.zero

-> 点击 “ Save ” 保存 Nodes 配置后,IP地址将不可访问控制台,必须使用node配置的域名进行访问 https://node.pritunl.zero:8443

(因为是通过硬件防火墙NAT映射了443端口到外网的8443,所以这里需要带上端口号)

如果SSL证书没有问题,浏览器不会提示证书错误。

5、添加用户账号

通过域名访问打开 pritunl zero 控制台,点击“ Users ”,添加用户

  • Type:local
  • Roles:dochub(这里的角色必须和第3步创建服务时使用的角色保持一致,才能访问服务)

6、测试访问服务

在浏览器新窗口访问网址:https://service.pritunl.zero:8443(端口号和控制台node的端口号相同)

注意:如果Pritunl zero系统是通过了NAT端口映射的方式,必须要加上外网端口号,而且内网服务器不能使用了默认的80或443端口,否则不能正常代理

输入账户密码后,会自动跳转到内网dochub服务器

说明:我这里 dochub 因为配置的后端存储 使用的是内网 minio 存储系统,所以外网无法正常预览

如果要预览,必须要使用VPN,直接打通,让客户端可以直接访问内部IP

pritunl zero 零信任系统的更多相关文章

  1. Kubernetes 下零信任安全架构分析

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 杨宁(麟童) 阿 ...

  2. 从零起步 系统入门Python爬虫工程师 ✌✌

    从零起步 系统入门Python爬虫工程师 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造, ...

  3. 从零起步 系统入门Python爬虫工程师✍✍✍

    从零起步 系统入门Python爬虫工程师 爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序. 原则上,只要是浏览器(客户端) ...

  4. 从零起步 系统入门Python爬虫工程师

    从零起步 系统入门Python爬虫工程师 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的 ...

  5. 最适合2018年自学的web前端零基础系统学习视频+资料

    这份资料整理花了近7天,如果感觉有用,可以分享给更有需要的人. 在看接下的介绍前,我先说一下整理这份资料的初衷: 我的初衷是想帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限 ...

  6. 如何通过IAM打造零信任安全架构

    万物互联时代来临,面对越来越严峻的企业网络安全及复杂的(如微服务,容器编排和云计算)开发.生产环境,企业 IT 急需一套全新的身份和访问控制管理方案. 为了满足企业需求,更好的服务企业用户,青云Qin ...

  7. 零信任三大技术之SDP

    SDP概述 SDP Software Defined Perimeter(软件定义边界),2013 年由云安全联盟 CSA提出. SDP 设计基本原则 1.信息隐身:隐藏服务器地址.端口,使之不被扫描 ...

  8. 创建两个SAP系统之间的RFC信任关系

    一种常见的场景是企业运行着多个SAP系统(ERP/SRM/CRM),用户希望在AA1系统中使用BB1系统的事务.如果直接使用RFC调用另一系统的事务的话,则会弹出登陆框,让用户再次输入帐号密码... ...

  9. 乘风破浪,遇见华为鸿蒙智能终端系统(HarmonyOS 2),打造面向全场景的分布式操作系统

    什么是鸿蒙智能终端系统(HarmonyOS 2) HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化.互联与协同提供了统一的语言.带来简洁,流畅,连续,安全可靠的全场景交互体验. ht ...

  10. RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V3.0 版本强势发布

    继上个版本“RDIFramework.NET V2.9版本”的推出,受到了重多客户的认可与选择,V2.9版本是非常成功与稳定的版本,感谢大家的认可与长期以来的关注与支持.V3.0版本在V2.9版本的基 ...

随机推荐

  1. P33_小程序的页面配置

    页面配置 页面配置文件的作用 小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观.页面效果等进行配置. 页面配置和全局配置的关系 小程序中,app.json 中的 windo ...

  2. vue的异步组件

    异步组件 异步组件:可以在首页加载之前先加载的组件,主要是做性能优化,提高用户体验 一.基本用法 在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件.Vue 提供了 de ...

  3. aspnetcore 原生 DI 实现基于 key 的服务获取

    你可能想通过一个字符串或者其他的类型来获取一个具体的服务实现,那么在 aspnetcore 原生的 MSDI 中,如何实现呢?本文将介绍如何通过自定义工厂来实现. 我们现在恰好有基于 Json 和 M ...

  4. nvm作用、下载、使用、常见问题

    一.nvm是什么及作用 nvm全名node.js version management,同等于nodejs的版本管理工具.当不同项目使用不同版本nodejs且不统一时,这时就用到nvm进行不同项目不同 ...

  5. Vue 禁止按钮多次点击 重复提交数据(指令实现)

    全局定义,方便调用 新建plugins.js export default { install (Vue) { // 防重复点击(指令实现) Vue.directive('preventReClick ...

  6. Dev Express 框架自定义登录添加短信验证功能

    需求:登录界面改成这样 记录一下过程,以便下次操作类似的步骤有遗忘,也与大伙儿分享下,如有不当之处请指出,感谢. 参考官网文档:https://docs.devexpress.com/eXpressA ...

  7. 红米手机刷 LineageOS (实操)

    参考:https://miuiver.com/how-to-flash-lineageos/ 实操机型:红米note8 1. 下载Android Platform-Tools 2. 下载对应机型的TW ...

  8. gmlib密码算法库

    gmlib密码算法库 一.gmlib密码算法库简介 支持国密 SM4/AES-ECB/CBC/GCM,SM3,SM2签名/加密,ZUC算法 的密码库,文档页面GMLib Docs ,项目地址 gmli ...

  9. gunicorn的功能及使用方法

    一.gunicorn的简介Gunicorn是基于unix系统,被广泛应用的高性能的Python WSGI HTTP Server.用来解析HTTP请求的网关服务.它通常是在进行反向代理(如nginx) ...

  10. SFTP实现密钥登陆并上传文件

    什么是SFTP,公开键认证,SFTP可不是FTP协议的扩展,他是基于SSH的文件传输协议. 而当SFTP服务器登录有客户端的公开键时,客户端就可以用自己的私有键去跟服务器握手(handshake)已实 ...