mirror of
https://github.com/pavel-odintsov/fastnetmon
synced 2024-11-24 02:46:36 +01:00
Add firewall rules
This commit is contained in:
parent
ef677000bb
commit
7432eceac9
44
src/scripts/firewall_tests.py
Executable file
44
src/scripts/firewall_tests.py
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import firewall_queue
|
||||||
|
import unittest
|
||||||
|
import copy
|
||||||
|
|
||||||
|
standard_flow = {
|
||||||
|
'action' : 'deny',
|
||||||
|
'protocol' : 'all',
|
||||||
|
'source_port' : '',
|
||||||
|
'source_host' : 'any',
|
||||||
|
'target_port' : '',
|
||||||
|
'target_host' : 'any',
|
||||||
|
'fragmentation' : False,
|
||||||
|
'packet_length' : 'any',
|
||||||
|
'tcp_flags' : [],
|
||||||
|
}
|
||||||
|
|
||||||
|
peer_ip = '10.0.3.4'
|
||||||
|
|
||||||
|
class TestIptablesRulesGeneration(unittest.TestCase):
|
||||||
|
# Executed before any tests
|
||||||
|
def setUp(self):
|
||||||
|
self.firewall = firewall_queue.Iptables()
|
||||||
|
self.standard_flow = copy.copy(standard_flow)
|
||||||
|
def test_standard_block_rule(self):
|
||||||
|
self.standard_flow['target_host'] = '10.10.10.10';
|
||||||
|
|
||||||
|
generated_rule = self.firewall.generate_rule(peer_ip, self.standard_flow)
|
||||||
|
self.assertEqual(' '.join(generated_rule),
|
||||||
|
"-I FORWARD -d 10.10.10.10 -m comment --comment Received from: 10.0.3.4 -j DROP");
|
||||||
|
def test_fragmentation_block(self):
|
||||||
|
self.standard_flow['fragmentation'] = True
|
||||||
|
self.standard_flow['target_host'] = '10.10.10.10';
|
||||||
|
|
||||||
|
generated_rule = self.firewall.generate_rule(peer_ip, self.standard_flow)
|
||||||
|
|
||||||
|
self.assertEqual(' '.join(generated_rule),
|
||||||
|
"-I FORWARD -d 10.10.10.10 --fragment -m comment --comment Received from: 10.0.3.4 -j DROP")
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
suite = unittest.TestLoader().loadTestsFromTestCase(TestIptablesRulesGeneration)
|
||||||
|
unittest.TextTestRunner(verbosity=2).run(suite)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user