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