thredds数据服务器安全配置测试实用程序

thredds_security_test的Python项目详细描述


一组用于测试thredds数据服务器的安全配置的工具。有三个工具:


thredds_test_url_access:
-确定对由url指定的单个资源的访问是否可用。提供了一个下载资源的选项。


thredds_test_catalog_access:
-确定是否可以访问由url指定的目录中列出的资源。
可选地,它将通过目录引用递归。可以指定允许访问和/或拒绝访问的资源数,并检查这些资源是否与结果匹配。

对于具有多个用于访问不同类型数据或元数据的扩展名的服务,将尝试每个扩展名
(默认情况下,以下扩展名用于OpenDAP服务:.html、.dds、.das、.asc、
.ascii和.dods)。

e或可用于访问
数据集的服务/扩展组合,如果发现其中一些数据集可以访问,而其他数据集则无法访问,则安全性
配置将报告为不一致。

thredds_test_file_access::
-确定访问是否可用于由文件中列出的URL指定的一组资源。
这用于检查thredds内容目录中存在但未在目录中列出的文件是否不可访问。

先决条件对于使用https支持编译的python 2.6。早期的python
版本不处理https代理。


installation
用法和选项。常见选项有::

-h,--帮助显示帮助消息并退出。
-k文件,--私钥=文件
私钥文件-默认为$home/.esg/credentials.pem
-c文件,--证书=文件
证书文件-defaults to$home/.esg/credentials.pem
-d,--debug打印调试信息-这可能有助于解决http
或https访问服务器的问题。
-q,--quiet产生最小输出。

r/>thredds_test_url_access[选项]url
url要测试其可访问性的资源的url
-f file,--fetch=file
指定一个文件,如果可访问,则将资源内容提取到该文件中。

thredds_test_catalog_access[选项]catalog_url
catalog_url要测试的目录的url
-l,--仅列出目录中的数据集,而不检查访问权限。
-r,--递归到引用的目录中。遵循以下类型的引用:
o服务类型为"catalog"或"resolver
o目录中包含的目录引用
-一个数字,--expect allowed=number
预期允许访问的数据集数。进行
访问检查后,将此数字与找到的数字进行比较;如果
它们不相同,则会打印错误消息,并且工具返回状态
值1。
-x数字,--expect denied=数字
期望访问的数据集数D被拒绝。进行
访问检查后,将此数字与找到的数字进行比较;如果
它们不相同,则会打印错误消息,并且工具返回状态
值1。
-e服务扩展,--service-extensions=service_extensions
服务类型列表和每个要尝试的扩展列表。
格式如下:
opendap:.html,.dds;othersvc:.dat,.asc
d默认为:opendap:.html、.dds、.das、.asc、.ascii、.dods
-p公共服务扩展,--public service extensions=public\u服务扩展
预期公共访问
的服务类型和扩展,例如opendap:.html、.dds
默认为:opendap:.html
如果.html资源是公共可访问的,但其他资源是使用用于测试的帐户无法访问。
-f禁止的服务扩展,--禁止的服务扩展=禁止的服务扩展
不需要访问的服务类型和扩展,例如opendap:.asc
这是有用的,例如,如果安全配置允许访问.asc
资源,而不是等效的.ascii资源。


thredds_test_file_access[options]list_file_path
list_file_pathg一个url列表,其中每个
的可访问性将被测试
-一个数字,--expect allowed=数字
预期允许访问的数据集数。进行
访问检查后,将此数字与找到的数字进行比较;如果
它们不相同,则会打印错误消息,并且工具返回状态
值1。
-x数字,--expect denied=数字
预期拒绝访问的数据集数。进行
访问检查后,将此数字与找到的数字进行比较;如果
它们不相同,则会打印错误消息,并且工具返回状态
值1。

返回状态::
thredds_测试URL访问
0-如果资源可访问
1-如果资源不可访问

1-如果指定了expect allowed和/或expect denied选项,结果与选项值不匹配。
2-如果用户中断测试
0-否则

thredds_test_file_access
1-如果指定了expect allowed和/或expect denied选项,并且结果与选项值不匹配。
2-如果用户中断测试
0-否则

除上述命令行工具外,还可以编写python测试脚本。
测试应调用以下任何函数:
thredds_security_test.lib.catalog_access.check_catalog
thredds_security_test.lib.file_access.check_files
thredds_security_test.lib.httpget.check_url

有关用法示例,请参阅thredds_security_test.test.test_access.py。

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

推荐PyPI第三方库


热门话题
在IE10中重新加载另一个帧时,internet explorer Java小程序失败/消失   ThreadLocal变量的java性能   java系统。出来println不是打印输出   java从JAXB类获取元素属性   java组织。天啊。科尔巴。包裹。InvalidName:IDL:omg。org/CORBA/ORB/InvalidName:1.0   java有没有办法让非事务连接抛出异常?   java是否有任何方法可以使用JdbcTemplate和查询/条件Fluent API   javajpa级联类型。刷新不工作?   未考虑java Maven依赖关系管理   java MySQL MBR包含抛出MySQLExceptionError的语句   java验证整数并将其设为5位数   java发现了循环依赖的问题   java Hibernate left join fetch到使用@ManyToMany关联映射的softdeleted实体生成无效查询?   JavaH:commandButton多个操作:下载文件并呈现ajax表   Google Contacts API在Java、C#、Python或Ruby中是否有一个Hello World示例?