一点背景
在关于HighLoad ++ 2017的演讲之后。我在录音中看了这份报告“我们如何解雇管理员”。 发言人说,所有网络公司的密码都有问题,我对如何解决这个问题有一个想法。 很可能有人已经做过,但是说实话,我不知道,我只是想描述一下,那么也许有人会做,或者我会自己做。 我希望如果有人决定这样做,那么它将是开源的。
实际上是对问题的描述以及如何解决
问题出在什么地方,无论密码本身多么奇怪,或者更确切地说,就是密码不道德的员工不会将其从公司带走。
解决此问题有两种选择。
- 将所有更改都亲自发布到公司负责人。
- 发明并做某事。
一般而言,我们采取第二种选择。 如果公司由少量人员组成,第一个是困难且昂贵的。
确定要做什么,现在您需要确定如何做。
这是最简单的想法,为什么不代理? 好吧,很可能是超级代理。 工作方案基本上很简单,我在下面画了它。
图1-系统的总体方案从图和想法本身可以看出,这里的主要元素将是代理服务器。
他的任务如下:
- 相应地,对于初学者,接受流量,甚至在SSH和SFTP命令级别上工作,然后将响应从客户端服务器发送给专家。
- 专家的认证和授权
- 检查团队的合法性,这可以稍后进行。
代理服务器本身的结构如下:
图2-超级代理组件的框图代理-直接通过SSH,(S)FTP,HTTP,HTTPS代理流量
CA(控制访问)-控制专家对客户端资源的访问。
SAP(服务器管理面板)-直接通过控制面板与管理员进行通信的服务器。
核心-系统本身的核心是管理模块之间的请求和模型管理。我认为访问应该单独解决,因为一切都是因此而开始的。
所有用户都包含在组策略中,组策略定义访问客户端服务器的规则以及系统管理员遵循的规则。 组策略具有层次结构,每个上级都有与下级相同的权力。 从一开始就有一个策略“。”,它包含所有内容的所有权限,并且可能包含一个用户,即主要管理员。 然后有两个策略组,即系统管理员和项目。
数据透视表-管理员及其权限职位名称 | 访问权限 | |
---|
组策略管理员 | 组用户编辑 | |
组策略管理员 | 创建组策略 | 在组策略中创建删除和编辑用户 |
用户管理管理员 | 从组策略中删除用户 | 创建删除和编辑用户 |
备份管理员 | 阅读有关用户和管理员的信息 | 阅读组策略条目 |
首席行政官 | 其他所有内容,以及编辑和删除组策略 | 在客户端服务器上强制更改密码 |
组策略本身包含应用了该策略的服务器记录。
用户具有以下规则,分别为每个用户或组设置以下规则,这些规则实际上是布尔值,它们确定对象是否具有对资源控制面板(管理面板)的HTTP / HTTPS访问,SFTP / FTP,SSH访问。
现在关于控制面板和客户端的几句话。
控制面板或所有内容都很清楚,但是您需要再次编写,这很清楚。
控制面板 直接需要管理组策略和整个服务器的超级代理。 作为独立的应用程序或Web服务分发。
因此,管理员可以访问控制面板。
客户外观简单,内部复杂。
客户端需要一个应用程序,就HTTP(S)而言,从理论上讲,这个应用程序可以是直接配置为通过代理服务器工作的浏览器,而我们的代理服务器将不得不将自己塞入流量中。 通常,最有可能的是,有必要开发一个单独的应用程序,该应用程序将通过SSH,(S)FTP,HTTP(S)与客户端服务器,通过我们的超级代理服务器一起工作,或者甚至更容易实际安装并与之通信客户的服务器本身就是一台超级代理服务器,在计算机上安装的客户中,整个过程将由专家简单地模拟。
考虑HTTP(S)的示例。
- 客户端向代理服务器发送与客户端通信的请求。
- 超级代理服务器是否允许,如果允许,超级代理服务器本身会建立连接并登录控制面板。
- 超级代理服务器直接接收管理面板的主页。
- 超级代理服务器将此页面传递给客户端,并用特殊标记替换客户端资源的地址。
- 专家按照链接或填写浏览器中的字段并提交表单。 数据进入超级代理服务器。
- 超级代理服务器将令牌替换回客户端资源的地址,并相应地将其直接发送到客户端资源本身。
通过使用SSH,您可以传输纯文本。 直接从超级代理服务器到客户端资源,将建立正常的SSH连接。
这样的事情。 如果有人决定创建这样的系统,我期待您在评论中提供反馈,并链接到存储库。