我想在数百台远程PC 上编写管理文件,目录和进程的应用程序。这些机器上运行有测量程序,目前使用TightVNC / RealVNC手动管理。由于机器数量很大(并且增加),因此需要自动管理。计划是我们的运营商将获得一个可编写脚本的客户端应用程序,他们可以从中向每台远程PC上运行的服务器应用程序发送查询和命令。
对于通信,我想使用基于TCP的自定义协议,但它在行政上很复杂,并且需要很长时间才能在每个防火墙中打开针孔。幸运的是,有一个程序在每个远程PC上运行基于TinyWeb的自定义Web服务器,并且在每个防火墙中都打开了端口80。这些Web服务器通过启动CGI程序来处理来自中央服务器的请求,该程序加载并发回测量程序的部分日志文件。
因此,计划是编写 CGI程序,并通过 HTTP (使用GET和POST)与客户进行通信。虽然(大多数)远程PC都在公司内部网中,但它们遍布全国各地,我想确保通信。以纯文本形式发送操作文件和进程的命令是不明智的。 不幸的是,无法触及包含Web服务器的程序,因此我不能简单地为HTTPS准备它。我只能在客户端和CGI程序中实现安全层。我该怎么办?
我已经在SO中阅读了所有类似的问题,但我仍然不确定在这种特定情况下该怎么做。谢谢你的帮助。
答案 0 :(得分:7)
有几个webshell,但据我所见(http://www-personal.umich.edu/~mressl/webshell/features.html),它们运行在现有SSL / TLS层的顶部。
还有S-HTTP。
有多种方法可以以受保护的方式向服务器(用户名/密码)进行身份验证,而不使用SSL。 http://www.switchonthecode.com/tutorials/secure-authentication-without-ssl-using-javascript。但是这些解决方案只关注向服务器发送用户名/密码。
答案 1 :(得分:1)
是否有可能在SOAP / WS-Security中实现消息级安全性之类的东西?我意识到这可能有点繁重,实施起来很复杂,但至少它是