SDN-Based Network Defense Platform
A comprehensive network defense and traffic redirection platform that seamlessly integrates the Ryu controller, Open vSwitch, and Snort IDS. NetDefender enables automated threat detection and dynamic traffic redirection to containerized honeypots, providing an observable and controllable experimental defense environment.
Built on the OSKen/Ryu controller framework for flexible, programmable network control and policy management.
Intelligent packet forwarding using Open vSwitch for seamless traffic redirection to honeypot containers.
Real-time threat detection powered by Snort IDS for comprehensive network security monitoring.
Dynamic container lifecycle management for honeypot services with automated scaling capabilities.
Flexible policy framework allowing customizable defense strategies and traffic handling rules.
Execute the following commands to install the Ryu controller:
# Switch to root user
sudo -s
# Install Git
apt install git -y
# Clone the NetDefender repository
git clone https://github.com/sinyuan1022/NetDefender.git
# Navigate to the Ryu directory
cd ./NetDefender/ryu/
# Run the Ryu installation script
bash ./ryu_install.sh
Prerequisites: Complete the Ryu server installation first.
# Switch to root user
sudo -s
# Install Git
apt install git -y
# Clone the NetDefender repository
git clone https://github.com/sinyuan1022/NetDefender.git
# Navigate to the Snort directory
cd ./NetDefender/snort/
# Run the Snort installation script
bash ./snort_install.sh
Note: This deployment mode is currently not enabled by default. Use this option only if you want to combine both Ryu and Snort on a single server.
# Switch to root user
sudo -s
# Install Git
apt install git -y
# Clone the NetDefender repository
git clone https://github.com/sinyuan1022/NetDefender.git
# Navigate to the root directory
cd ./NetDefender/
# Run the combined installation script
bash ./singel.sh
NetDefender uses a JSON-based configuration file to define honeypot containers with flexible port mapping:
{
"containers": [
{
"image_name": "cowrie/cowrie",
"name": "ssh",
"ports": [
{
"host_port": 22,
"container_port": 2222,
"protocol": "tcp"
}
],
"command": "",
"multi": "yes",
"max": 10,
"max_containers": 10,
"send_response": "yes"
},
{
"image_name": "dinotools/dionaea",
"name": "dionaea",
"ports": [
{"host_port": 21, "container_port": 21, "protocol": "tcp"},
{"host_port": 80, "container_port": 80, "protocol": "tcp"},
{"host_port": 443, "container_port": 443, "protocol": "tcp"},
// ... additional ports
],
"multi": "yes",
"max": 10,
"max_containers": 10,
"send_response": "yes"
}
]
}
Medium-interaction SSH/Telnet honeypot
Emulates an SSH service to capture brute-force attacks, shell interactions, and file downloads. Logs all attacker commands and activities.
Low-interaction multi-protocol honeypot
Comprehensive honeypot emulating multiple vulnerable services simultaneously. Captures malware, exploits, and attack patterns across various protocols.
NetDefender network topology showing SDN controller, Open vSwitch, Snort IDS, and containerized honeypot deployment