netconan网络配置匿名实用程序

netconan的Python项目详细描述


Netconan

netconan(网络配置匿名器)匿名化包含敏感网络信息的文本文件。

使用netconan,一个敏感的输入文件

$ cat sensitive/cisco.cfg
! This is intentionet's sensitive comment
username admin password 7 122A001901
enable secret 5$1$wtHI$0rN7R8PKwC30AsCGA77vy.
!
tacacs-server host 1.2.3.4 key pwd1234
ip address 10.10.20.30/24
ip address 2001:2002::9d3b:1
!
route-map sea-to-lax ...
route-map sea-to-atl ...

可以匿名化

$ netconan -i sensitive -o anonymized \
    --sensitive-words intentionet,sea,lax,atl \
    --anonymize-passwords \
    --anonymize-ips
WARNING No salt was provided; using randomly generated "WNo5pX28MJOrqxfv"
INFO Anonymizing cisco.cfg

要生成输出文件,您可以轻松地共享。

$ cat anonymized/cisco.cfg
! This is db1792's sensitive comment
username admin password 7 09424B1D1A0A1913053E012724322D3765
enable secret 5$1$0000$EhfXcDfB7iiakW6mwMy1i.
!
tacacs-server host 7.227.130.88 key netconanRemoved2
ip address 10.72.218.183/24
ip address cd7e:83e:1eaf:2ada:7535:591e:6d47:a4b8
!
route-map e69ceb-to-880ac2 ...
route-map e69ceb-to-5d37ad ...

安装NetConan

使用pip

安装netconan
$ pip install netconan

功能

netconan可以匿名化许多类型的敏感信息

  • 对于许多常见的网络供应商,密码或snmp社区字符串(--anonymize-passwords-p)等敏感字符串。
  • IPv4和IPv6地址(^{TT4}$,^{TT5}$)。
  • 用户指定的敏感词(--sensitive-words-w)。请注意,无论上下文如何,指定敏感词的任何出现都将被替换,即使它是较大字符串的一部分。
  • 用户指定为数字(--as-numbers-n)。请注意,与指定为数字匹配的任何数字都将被匿名化。

netconan试图保留有用的结构。例如,

  • netconan在匿名化ipv4和ipv6地址时保留前缀:匿名化前具有公共前缀的ip地址在匿名化后将共享相同的前缀长度。有关更多信息,请参见J.Xu等人,^{EM1}$关于保留前缀的IP流量跟踪匿名化的设计和性能,ACM SIGCOMM Internet测量研讨会,2001年[link]。
  • 默认情况下,IPv4类和专用前缀(请参阅IANA IPv4 assignments)会被保留,但可以被重写(使用--preserve-prefixes例如--preserve-prefixes 12.0.0.0/8将保留遇到的IP地址的前导八位字节12,但在12之后匿名化八位字节)。
  • 保留数字块(即,匿名化的public as number在匿名化后仍将在public as number范围内)。
  • 标准密码和散列格式(salted md5、cisco type 7、juniper type 9)被识别并替换为符合格式的替换。

当提供相同的用户可控盐(--salt-s)时,netconan是确定性的。无论是一起匿名还是单独匿名,使用相同salt处理的文件都是兼容的(例如,以相同方式匿名的ip地址)。

对于可逆操作(具体地说,IP地址匿名化),当提供用于匿名化的相同盐(--salt-s)时,NetConan可以生成非匿名化文件(--undo-u)。

运行netconan

netconan处理input文件或递归处理input目录中的文件(跳过以.开头的文件),并将处理过的文件保存在指定的output

有关不常用功能的更多信息,请参阅netconan帮助(-h)。有关配置文件语法的详细信息,请参见here

usage: netconan [-h][-a][-c CONFIG][-d DUMP_IP_MAP] -i INPUT
                [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}][-n AS_NUMBERS] -o
                OUTPUT [-p][-r RESERVED_WORDS][-s SALT][-u][-w SENSITIVE_WORDS][--preserve-prefixes PRESERVE_PREFIXES]

Args that can start with '--' can also be set in a config file (specified via
-c). If an arg is specified in more than one place, thencommand line values
override config file values which override defaults. Config file syntax
allows: key=value, flag=true, stuff=[a,b,c](for more details, see here
https://goo.gl/R74nmi).

optional arguments:
  -h, --help            show this help message and exit
  -a, --anonymize-ips   Anonymize IP addresses
  -c CONFIG, --config CONFIG
                        Netconan configuration file with defaults for these
                        CLI parameters
  -d DUMP_IP_MAP, --dump-ip-map DUMP_IP_MAP
                        Dump IP address anonymization map to specified file
  -i INPUT, --input INPUT
                        Input file or directory containing files to anonymize
  -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        Determines what level of logs to display
  -n AS_NUMBERS, --as-numbers AS_NUMBERS
                        List of comma separated AS numbers to anonymize
  -o OUTPUT, --output OUTPUT
                        Output file or directory where anonymized files are
                        placed
  -p, --anonymize-passwords
                        Anonymize password and snmp community lines
  -r RESERVED_WORDS, --reserved-words RESERVED_WORDS
                        List of comma separated words that should not be
                        anonymized
  -s SALT, --salt SALT  Salt for IP and sensitive keyword anonymization
  -u, --undo            Undo reversible anonymization (must specify salt)
  -w SENSITIVE_WORDS, --sensitive-words SENSITIVE_WORDS
                        List of comma separated keywords to anonymize
  --preserve-prefixes PRESERVE_PREFIXES
                        List of comma separated IPv4 prefixes to preserve

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

推荐PyPI第三方库


热门话题
如果SQL server执行计划是流式传输数据,那么调用next()时Java ResultSet对象将如何反应?   java为什么水平滚动条永远不会出现在JTable上?   java如何在Android项目中添加SDK模块   绿脚:爪哇。lang.ClassCastException:无法将障碍物投射到球投射物   xslt需要在Java1.4.2中使用SaxonB(版本9.1.0.8)方面的帮助   java Apache HTTP客户端下载SOAP响应的一部分   为Java 9计划的“过滤传入序列化数据”解决了数据反序列化安全漏洞吗?   java如何使用drools对列表中的元素进行分组   java从匿名类到lambda表达式   Java中是否有不可变的单链表实现?   java动态添加按钮以滚动查看安卓   java GAE:无法为模块http请求设置管理员登录凭据   java如何在Hibernate 5 CriteriaBuilder中使用条件条件获取计数   java如何将JSON+HAL响应解析为POJO   java如何获取计算器程序,对两个以上的数字进行加、减、乘、除   java Thymeleaf+静态资源+@ResponseBody