Hi everybody
Can anyone help me,
I simulated a Suricata IPS mode implementation on a SDN network, I used nfq for the IPS process, but after setting up iptables on an interface I couldn’t provide background traffic to that interface. is there any solution for this?
Hi,
please provide proper details about your setup, starting with the Suricata version, the suricata.yaml
, the run command that you use, the logs and how exactly you did setup the IPS mode. Otherwise it’s hard to help you without more verbose details.
I built the topology using mininet, h1 - h5 = attacker, h4 = victim, h5 = DITG (sends background traffic to h4), suricata 7.0.6
from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.cli import CLI
from mininet.link import TCLink
from mininet.topo import Topo
class MyTopo(Topo):
def build(self):
# Add the switch
s1 = self.addSwitch('s1')
# Add hosts
h1 = self.addHost('h1')
h2 = self.addHost('h2')
h3 = self.addHost('h3')
h4 = self.addHost('h4')
h5 = self.addHost('h5')
h6 = self.addHost('h6') # Target host with Suricata
h7 = self.addHost('h7')
# Add links
self.addLink(s1, h1)
self.addLink(s1, h2)
self.addLink(s1, h3)
self.addLink(s1, h4)
self.addLink(s1, h5)
self.addLink(s1, h6)
self.addLink(s1, h7)
if __name__ == '__main__':
topo = MyTopo()
# Configure the Mininet with the specified RemoteController
net = Mininet(topo=topo, controller=None, link=TCLink)
# Add Remote Controller with specified IP
onos_controller = net.addController('c0', controller=RemoteController, ip='192.168.100.6', port=6653)
net.start()
CLI(net)
net.stop()
IPTABLES
sudo iptables -I INPUT -j NFQUEUE
sudo iptables -I OUTPUT -j NFQUEUE
suricata.yaml
nfq:
mode: accept
repeat_mark: 1
repeat_mask: 1
route_queue: 0
attack using hping3
hping3 -S -d 5000 -flood <h4>
D-ITG
./ITGSend -a <h4> -T UDP -c 1000 -C 1000 -t 10000 -x file.log
rules suricata
drop tcp any any -> any any (msg:"Drop SYN Flood"; sid:123; rev:1;)
run suricata:
sudo suricata -c /etc/suricata/suricata.yaml -q 0 -v
Please help me
As mentioned please provide the suricata.yaml
and the suricata.log
and stats.log