def __init__(self, prefs, cutoff): deny_file = prefs.get('HOSTS_DENY') DenyFileUtilBase.__init__(self, deny_file, "purge") work_dir = prefs.get('WORK_DIR') self.purge_threshold = prefs['PURGE_THRESHOLD'] self.purge_counter = PurgeCounter(prefs) self.cutoff = long(time.time()) - cutoff debug("relative cutoff: %ld (seconds)", cutoff) debug("absolute cutoff: %ld (epoch)", self.cutoff) info("purging entries older than: %s", time.asctime(time.localtime(self.cutoff))) self.backup() purged_hosts = self.create_temp(self.get_data()) num_purged = len(purged_hosts) if num_purged > 0: self.replace() abusive_hosts = AbusiveHosts(prefs) abusive_hosts.purge_hosts(purged_hosts) abusive_hosts.save_abusive_hosts() self.purge_counter.increment(purged_hosts) else: self.remove_temp() info("num entries purged: %d", num_purged) plugin_purge = prefs.get('PLUGIN_PURGE') if plugin_purge: plugin.execute(plugin_purge, purged_hosts)
def __init__(self, prefs, purgeip_list): deny_file = prefs.get('HOSTS_DENY') DenyFileUtilBase.__init__(self, deny_file, "purgeip") work_dir = prefs.get('WORK_DIR') self.purge_counter = PurgeCounter(prefs) info("purging listed IP addresses.",) self.backup() purged_hosts = purgeip_list num_purged = len(purged_hosts) if num_purged > 0: self.replace() abusive_hosts = AbusiveHosts(prefs) abusive_hosts.purge_hosts(purged_hosts) abusive_hosts.save_abusive_hosts() self.purge_counter.increment(purged_hosts) else: self.remove_temp() info("num entries purged: %d", num_purged) plugin_purge = prefs.get('PLUGIN_PURGE') if plugin_purge: plugin.execute(plugin_purge, purged_hosts)
def test_execute(self): code = ("def process(data):\n" " ba = bytes(data).decode('utf-8')\n" " upcased = ba.upper()\n" " return bytearray(upcased, 'utf-8')\n") data = b'The best books... are those that tell you what you know already.' result, status = plugin.execute(code, data) expected = b'THE BEST BOOKS... ARE THOSE THAT TELL YOU WHAT YOU KNOW ALREADY.' print(result) self.assertEqual(status, 200) self.assertEqual(result, expected)
fp.close() login_attempt.save_all_stats() deny_hosts = login_attempt.get_deny_hosts() #print deny_hosts new_denied_hosts, status = self.update_hosts_deny(deny_hosts) if new_denied_hosts: if not status: msg = "WARNING: Could not add the following hosts to %s" % self.__prefs.get('HOSTS_DENY') else: msg = "Added the following hosts to %s" % self.__prefs.get('HOSTS_DENY') self.__report.add_section(msg, new_denied_hosts) if self.__sync_server: self.sync_add_hosts(new_denied_hosts) plugin_deny = self.__prefs.get('PLUGIN_DENY') if plugin_deny: plugin.execute(plugin_deny, deny_hosts) new_suspicious_logins = login_attempt.get_new_suspicious_logins() if new_suspicious_logins: msg = "Observed the following suspicious login activity" self.__report.add_section(msg, new_suspicious_logins.keys()) if new_denied_hosts: info("new denied hosts: %s", str(new_denied_hosts)) else: debug("no new denied hosts") if new_suspicious_logins: info("new suspicious logins: %s", str(new_suspicious_logins.keys())) else: debug("no new suspicious logins")
for host in new_hosts: block_service = self.__prefs.get('BLOCK_SERVICE') if block_service: block_service = "%s: " % block_service output = "%s%s%s" % (block_service, host, BSD_STYLE) else: output = "%s" % host if write_timestamp: fp.write( "%s %s%s%s\n" % (DENY_DELIMITER, time.asctime(), ENTRY_DELIMITER, output)) fp.write("%s\n" % output) plugin_deny = self.__prefs.get('PLUGIN_DENY') if plugin_deny: plugin.execute(plugin_deny, new_hosts) if self.__iptables: debug("Trying to create iptables rules") try: for host in new_hosts: my_host = str(host) if self.__blockport: new_rule = self.__iptables + " -I INPUT -p tcp --dport " + self.__blockport + " -s " + my_host + " -j DROP" else: new_rule = self.__iptables + " -I INPUT -s " + my_host + " -j DROP" debug("Running iptabes rule: %s", new_rule) info("Creating new firewall rule %s", new_rule) os.system(new_rule) except Exception, e: print e
block_service = self.__prefs.get('BLOCK_SERVICE') if block_service: block_service = "%s: " % block_service output = "%s%s%s" % (block_service, host, BSD_STYLE) else: output = "%s" % host if write_timestamp: fp.write("%s %s%s%s\n" % (DENY_DELIMITER, time.asctime(), ENTRY_DELIMITER, output)) fp.write("%s\n" % output) plugin_deny = self.__prefs.get('PLUGIN_DENY') if plugin_deny: plugin.execute(plugin_deny, new_hosts) if self.__iptables: debug("Trying to create iptables rules") try: for host in new_hosts: my_host = str(host) if self.__blockport: new_rule = self.__iptables + " -I INPUT -p tcp --dport " + self.__blockport + " -s " + my_host + " -j DROP" else: new_rule = self.__iptables + " -I INPUT -s " + my_host + " -j DROP" debug("Running iptabes rule: %s", new_rule) info("Creating new firewall rule %s", new_rule) os.system(new_rule); except Exception, e: print e