web shell历史记录的web服务器

archelond的Python项目详细描述


这是Archelon的Web服务器端。一旦全部配置完毕 连接到Archelonc可以用来存储你的外壳历史 从你所有的主人那里。

它是一个简单的烧瓶应用程序,通常设计为连接到 一个ElasticSearch主机,提供一个索引良好的shell历史,以及 应该可以在Heroku上使用ElasticSearch插件免费部署。

安装和配置

pip install archelond

显然,安全性对于shell历史和设置 身份验证我们使用基本身份验证,使用apache htpasswd文件 作为用户数据库。为自己添加一个并配置archelond 要使用它,请运行以下命令:

htpasswd -c ~/.htpasswd username
exportARCHELOND_HTPASSWD_PATH=~/.htpasswd

在完成最小的设置之后,我们只需使用简单的命令:

archelond

它将使用内存中的 bash历史数据存储非常健忘。一旦它起来,你 应该可以去http://localhost:8580/,用你的用户名和密码登录 在htpasswd文件中创建,并查看 搜索并删除shell历史记录,类似于:

_static/images/archelond_screen.png

。它还提供了一个简单的 按钮以显示您在Archelonc中需要的令牌,以便将两者连接起来 一起。要直接访问restful api端,可以签出 通过访问示例命令 http://localhost:8580/api/v1/history或获取令牌以供使用 与原型http://localhost:8580/api/v1/token

连接到ElasticSearch

为了让你的历史在初创企业中存活下来,我们可以使用 弹性搜索。您可以在本地安装它,也可以从 Heroku上的附加组件。一旦你有了连接url,我们只需要 添加几个环境变量以指向服务并设置 存储提供程序类,类似于:

exportARCHELOND_ELASTICSEARCH_URL='http://localhost:9200'exportARCHELOND_ELASTICSEARCH_INDEX='history'exportARCHELOND_DATABASE='ElasticData'

可以根据需要更改索引,但它是 将用于存储历史记录的ElasticSearch。

注意

使用ElasticData的archelond可以支持多个用户 使用文档类型中的用户

投产运行

运行archelond命令有助于测试,但要运行 在生产中,您需要通过适当的wsgi运行它 应用服务器。例如,我们在 要求和它可以在生产中运行,例如:

uwsgi --http :8580 -w archelond.web:app

然后像nginx这样的web服务器通过https代理,以便 进一步保护您的shell历史记录。

在Heroku中运行

对于heroku,设置应用程序部分非常容易。只是 在repo的根目录中至少创建一个requirements.txt文件 一行:

archelond

使用以下命令设置procfile:

web: uwsgi uwsgi.ini

还有一个uwsgi.ini,看起来像:

[uwsgi]http-socket=:$(PORT)master=trueprocesses=10die-on-term=truemodule=archelond.web:appmemory-report=true

您还需要使用^{tt3}设置机密$ 命令。弹性搜索需要最小设置的变量 版本为:

ARCHELOND_DATABASE="ElasticData"ARCHELOND_ELASTICSEARCH_INDEX="my_index"ARCHELOND_ELASTICSEARCH_URL="http://example.com/elastic_search"ARCHELOND_FLASK_SECRET="a_very_long_randomized_string"ARCHELOND_HTPASSWD="username:hashfromhtpasswd"ARCHELOND_HTPASSWD_PATH="htpasswd"

注意

我还得加上-egit+https://github.com/elasticsearch/elasticsearch-py.git@master#egg=elasticsearch 因为我的ElasticSearch服务器需要 指定https、用户名和密码。当前版本 版本1.2.0没有该功能,但它在 它们的主分支

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本