예제 #1
0
    def __init__(self, system_ip=None, system_id=None, system_type=None):
        """
        Initialize this object with non system related data, like the OSSIM administration IP address.
        """
        self.__system_ip = system_ip if is_ipv4(system_ip) else None
        self.__system_id = system_id
        self.__system_type = system_type

        # augeas = imp.load_source('augeas', '/usr/share/alienvault/api_core/lib/python2.6/site-packages/augeas.py')
        self.__augeas_iface = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)
        self.__augeas_host = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)
        self.__augeas_vpn = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)

        # Load extra files into Augeas...
        self.__augeas_vpn.set('/augeas/load/Puppet/lens', 'Puppet.lns')
        try:
            self.__augeas_vpn.set('/augeas/load/Puppet/incl',
                                  '/etc/alienvault/network/vpn.conf')
        except ValueError:
            self.__augeas_vpn.set('/augeas/load/Puppet/incl[1]',
                                  '/etc/alienvault/network/vpn.conf')
        self.__augeas_vpn.load()

        self.__augeas_iface.set('/augeas/load/Puppet/lens', 'Puppet.lns')
        try:
            self.__augeas_iface.set('/augeas/load/Puppet/incl',
                                    '/etc/alienvault/network/interfaces.conf')
        except ValueError:
            self.__augeas_iface.set('/augeas/load/Puppet/incl[1]',
                                    '/etc/alienvault/network/interfaces.conf')
        self.__augeas_iface.load()

        # Get some interesting information from ossim_setup.conf
        with open('/etc/ossim/ossim_setup.conf', 'r') as o:
            ossim_setup_data = o.read()

        try:
            self.__os_interface = re.findall(r"^interface=(\S+)$",
                                             ossim_setup_data, re.MULTILINE)[0]
            self.__os_admin_ip = re.findall(r"^admin_ip=(\S+)$",
                                            ossim_setup_data, re.MULTILINE)[0]
        except:
            pass

        # Load the trigger object.
        self.__trigger_launch = AVSysConfigTriggerLaunch()

        self.__pending = {}

        # System data
        self.__hosts_entries = {}

        # AV data
        self.__net_ifaces = {}
        self.__avvpn_entries = {}

        # Initialize pure system data.
        self.__reload_config__()
예제 #2
0
 def str_to_hostentry(entry):
     line_parts = entry.strip().split()
     if is_ipv4(line_parts[0]) and valid_hostnames(line_parts[1:]):
         return HostsEntry(
             entry_type="ipv4", address=line_parts[0], names=line_parts[1:]
         )
     elif is_ipv6(line_parts[0]) and valid_hostnames(line_parts[1:]):
         return HostsEntry(
             entry_type="ipv6", address=line_parts[0], names=line_parts[1:]
         )
     else:
         return False
예제 #3
0
 def get_entry_type(hosts_entry=None):
     if hosts_entry and isinstance(hosts_entry, str):
         entry = hosts_entry.strip()
         if not entry or not entry[0] or entry[0] == "\n":
             return "blank"
         if entry[0] == "#":
             return "comment"
         entry_chunks = entry.split()
         if is_ipv6(entry_chunks[0]):
             return "ipv6"
         if is_ipv4(entry_chunks[0]):
             return "ipv4"
예제 #4
0
    def __init__ (self, system_ip = None, system_id = None, system_type = None):
        """
        Initialize this object with non system related data, like the OSSIM administration IP address.
        """
        self.__system_ip = system_ip if is_ipv4(system_ip) else None
        self.__system_id = system_id
        self.__system_type = system_type

        #augeas = imp.load_source('augeas', '/usr/share/alienvault/api_core/lib/python2.6/site-packages/augeas.py')
        self.__augeas_iface = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)
        self.__augeas_host = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)
        self.__augeas_vpn = augeas.Augeas(flags=augeas.Augeas.SAVE_BACKUP)

        # Load extra files into Augeas...
        self.__augeas_vpn.set('/augeas/load/Puppet/lens', 'Puppet.lns')
        try:
            self.__augeas_vpn.set('/augeas/load/Puppet/incl', '/etc/alienvault/network/vpn.conf')
        except ValueError:
            self.__augeas_vpn.set('/augeas/load/Puppet/incl[1]', '/etc/alienvault/network/vpn.conf')
        self.__augeas_vpn.load()

        self.__augeas_iface.set('/augeas/load/Puppet/lens', 'Puppet.lns')
        try:
            self.__augeas_iface.set('/augeas/load/Puppet/incl', '/etc/alienvault/network/interfaces.conf')
        except ValueError:
            self.__augeas_iface.set('/augeas/load/Puppet/incl[1]', '/etc/alienvault/network/interfaces.conf')
        self.__augeas_iface.load()

        # Get some interesting information from ossim_setup.conf
        with open('/etc/ossim/ossim_setup.conf', 'r') as o:
            ossim_setup_data = o.read()

        try:
            self.__os_interface = re.findall(r"^interface=(\S+)$", ossim_setup_data, re.MULTILINE)[0]
            self.__os_admin_ip = re.findall(r"^admin_ip=(\S+)$", ossim_setup_data, re.MULTILINE)[0]
        except:
            pass

        # Load the trigger object.
        self.__trigger_launch = AVSysConfigTriggerLaunch()

        self.__pending = {}

        # System data
        self.__hosts_entries = {}

        # AV data
        self.__net_ifaces = {}
        self.__avvpn_entries = {}

        # Initialize pure system data.
        self.__reload_config__ ()
예제 #5
0
 def _mme_relation_changed(self, event):
     # Get mme address from relation
     if event.unit in event.relation.data:
         mme_addr = event.relation.data[event.unit].get("mme-addr")
         if not is_ipv4(mme_addr):
             return
         self._stored.mme_addr = mme_addr
         self._configure_srsenb_service()
         # Restart the service only if it is running
         if self._stored.started:
             self.unit.status = MaintenanceStatus("Reloading srsenb")
             service_restart(SRS_ENB_SERVICE)
     self.unit.status = self._get_current_status()
예제 #6
0
    def __init__(self, system_ip=None, system_id=None, system_type=None):
        """
        Initialize this object with non system related data, like the OSSIM administration IP address.
        """
        self.__system_ip = system_ip if is_ipv4(system_ip) else None
        self.__system_id = system_id
        self.__system_type = system_type

        self.__augeas = Augeas()

        self.__pending = {}

        # System data
        self.__net_ifaces = {}
        self.__hosts_entries = {}

        # Initialize pure system data.
        self.__reload_config__()
예제 #7
0
    def __init__ (self, system_ip = None, system_id = None, system_type = None):
        """
        Initialize this object with non system related data, like the OSSIM administration IP address.
        """
        self.__system_ip = system_ip if is_ipv4(system_ip) else None
        self.__system_id = system_id
        self.__system_type = system_type

        self.__augeas = Augeas()

        self.__pending = {}

        # System data
        self.__net_ifaces = {}
        self.__hosts_entries = {}

        # Initialize pure system data.
        self.__reload_config__ ()
예제 #8
0
    def __init__(self, entry_type=None, address=None, comment=None, names=None):
        if not entry_type or entry_type not in ("ipv4", "ipv6", "comment", "blank"):
            raise Exception("entry_type invalid or not specified")

        if entry_type == "comment" and not comment:
            raise Exception("entry_type comment supplied without value.")

        if entry_type == "ipv4":
            if not all((address, names)):
                raise Exception("Address and Name(s) must be specified.")
            if not is_ipv4(address):
                raise InvalidIPv4Address()

        if entry_type == "ipv6":
            if not all((address, names)):
                raise Exception("Address and Name(s) must be specified.")
            if not is_ipv6(address):
                raise InvalidIPv6Address()

        self.entry_type = entry_type
        self.address = address
        self.comment = comment
        self.names = names
예제 #9
0
    def test_should_return_true_for_min_address(self):
        input = "0.0.0.0"

        output = is_ipv4(input)

        self.assertEqual(True, output)
예제 #10
0
    def test_should_return_false_for_3_segments(self):
        input = "0.0.0"

        output = is_ipv4(input)

        self.assertEqual(False, output)
예제 #11
0
    def test_should_return_true_for_max_address(self):
        input = "255.255.255.255"

        output = is_ipv4(input)

        self.assertEqual(True, output)
예제 #12
0
파일: client.py 프로젝트: jahosp/rsteg-tcp
                                                  title='Response',
                                                  size=(30, 20))
                                window.refresh()
                            else:
                                print('No data selected!')
                    else:
                        print('Bad URL!')
                else:
                    print('Must fill all the parameters!')

            # TCP Submit
            if values['tcp']:
                if values['dhost'] and values['dport'] and values[
                        'sport'] and values['cover'] and values['secret']:
                    # Let's validate the form input
                    if is_ipv4(values['dhost']):
                        if 1 <= int(values['dport']) <= 65535:
                            if 1 <= int(values['sport']) <= 65535:
                                print('Parameters are valid!')
                                print('Starting RSTEG TCP')
                                window.refresh()
                                tcp_transfer(values['dhost'], values['sport'],
                                             values['dport'], values['cover'],
                                             values['secret'], values['prob'])
                                window.refresh()
                            else:
                                print('Source Port is not valid.')
                        else:
                            print('Destination Port is not valid.')
                    else:
                        print('Destination Host IP is not valid.')