发布于2022年11月4日3年前 Batfish:一款功能强大的网络配置安全分析工具 关于BatfishBatfish是一款功能强大的网络配置安全分析工具和网络验证工具,该工具能够帮助广大研究人员寻找目标网络系统中的配置问题,并能够根据设备配置构建基于网络行为的完整模型,以及自动识别违反网络策略、用户定义和最佳实践的恶意行为。Batfish可以在我们部署网络配置之前对配置的安全性和完整性进行验证,而部署前的验证是现代网络自动化工作流中的关键因素。通过将Batfish接入自动化工作流后,网络工程师就能够更好地确保配置和部署的正确性。Batfish不需要直接访问目标网络设备,工具只需要网络设备的配置信息即可完成核心分析。除此之外,我们还可以使用目标网络的其他信息来辅助分析。支持的网络设备和操作系统列表Batfish支持扫描和分析大型网络和设备(物理或虚拟),其中包括:A10 网络AristaAWS (VPCs, Network ACLs, VPN GW, NAT GW, Internet GW, Security Groups…)Cisco (Cisco NX-OS, IOS, IOS-XE, IOS-XR, ASA)Check PointCumulusF5 BIG-IPFortinetFree-Range Routing (FRR)iptables Juniper (所有的JunOS 平台: MX, EX, QFX, SRX, T-series, PTX)Palo Alto网络SONiCBatfish支持下列平台:ArubaDell Force10FoundryBatfish的系统要求Batfish可以在任何支持Docker的操作系统上运行,当前版本的Batfish容器已经在macOS和Ubuntu 16.04 LTS上进行过测试。设备最低要求:双核CPU8 GB RAM256 GB硬盘服务器最低要求:四核双线程CPU32 GB RAM256 GB硬盘工具下载Batfish的下载非常简单,我们只需要通过Docker容器直接拉取最新版本的Batfish镜像即可:docker pull batfish/allinone docker run --name batfish -v batfish-data:/data -p 8888:8888 -p 9997:9997 -p 9996:9996 batfish/allinone接下来,在分析网络配置之前,我们还需要安装Pybatfish,即一个用于跟Batfish服务交互的Python 3 SDK。我们建议大家在一个虚拟环境中安装Pybatfish。然后,我们可以使用下列命令来安装Pybatfish:python3 -m pip install --upgrade pybatfish工具使用演示视频地址:https://www.you*tube.com/channel/UCA-OUW_3IOt9U_s60KvmJYA/videos许可证协议本项目的开发与发布遵循Apache-2.0开源许可证协议。项目地址Batfish:【GitHub传送门】参考资料https://github.com/batfish/pybatfish/tree/master/jupyter_notebookshttps://www.github.com/batfish/pybatfishhttps://docs.python.org/3/library/venv.htmlhttps://github.com/batfish/batfish/wiki/Packaging-snapshots-for-analysis#format-for-cumulus-configuration-fileshttps://github.com/batfish/batfish/wiki/Packaging-snapshots-for-analysis#format-for-f5-big-ip-configuration-fileshttps://github.com/batfish/batfish/wiki/Packaging-snapshots-for-analysis#format-for-host-json-files
创建帐户或登录后发表意见