Skip to content

snrism/florence-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Florence: SDN Security Testing Framework


Introduction

Florence is a security testing framework with set of tools and test cases to validate SDN switch and controller implementations. While the initial set of security test cases are specific to OpenFlow, the framework can be extended to build complex test case scenarios.

Currently, florence can:

  • Connect to a OpenFlow switch and generate security tests to validate the secureness and implementation robustness of the switch.
  • Uses OpenFlow 1.3.5 version as the reference specification
  • Connects to OpenvSwitch

Please check ROADMAP for our upcoming features.


Installation

Get the source:

$ git clone https://github.com/opennetworkingfoundation/florence

Install dependencies:

$ cd <florence>
$ pip install -r requirements.txt

Quick Start

florence expects the switch to attempt connecting to a controller. The default OpenFlow port (6653) is used in our setup.

Testing with OpenvSwitch:

Setup:

$ ./script/ovs-setup.sh

Configure OVS:

$ python ./script/ovs-ctl.py --config-file ./script/ovs-ctl.conf

Running Tests:

$ cd <florence>
$ sudo ./florence --help

To run the entire set of test cases:

$ ./florence

To run the test cases specific to the switch:

$ ./florence switch

To run a specific test case:

$ ./florence switch.TableLoop

Participating

You can contribute to florence in mulitple ways:


Notes

florence is a fork of OFTest and uses it as a library to build new security test cases. While the initial codebase leverages some of the core functionalities of OFTest, our plan is to extend florence to test the controller solutions and additional southbound interfaces as well.