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__()
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
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"
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__ ()
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()
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__()
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__ ()
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
def test_should_return_true_for_min_address(self): input = "0.0.0.0" output = is_ipv4(input) self.assertEqual(True, output)
def test_should_return_false_for_3_segments(self): input = "0.0.0" output = is_ipv4(input) self.assertEqual(False, output)
def test_should_return_true_for_max_address(self): input = "255.255.255.255" output = is_ipv4(input) self.assertEqual(True, output)
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.')