Ejemplo n.º 1
0
def create_rule_files(cfg: Config):
    """
    the function checks if the rule files exist and creates them if they don't exist
    """
    filepath = cfg.get_value("RULES", "filepath")
    create_folder_if_not_exists(filepath)
    filename = ""

    for ruletype in ["blacklist", "whitelist", "tcp", "udp", "custom"]:
        filename = cfg.get_value("RULES", ruletype)
        create_file_if_not_exists("{}/{}".format(filepath, filename))
Ejemplo n.º 2
0
    def restore(self) -> None:
        """Restore a backup of a previously saved backup."""
        create_folder_if_not_exists(self.backup_path)

        execute_os_command("{} < {}/{}".format(self.iptables_bin_restore,
                                               self.backup_path,
                                               self.backup_file_ipv4))
        debug("ipv4 rules restored")

        if self.ipv6 is True:
            execute_os_command("{} < {}/{}".format(self.ip6tables_bin_restore,
                                                   self.backup_path,
                                                   self.backup_file_ipv6))
            debug("ipv6 rules restored")

        info("restores iptables state from previous created backup")
Ejemplo n.º 3
0
    def save(self) -> None:
        """Save the current iptables state into a file."""
        create_folder_if_not_exists(self.backup_path)

        create_file_if_not_exists("{}/{}".format(self.backup_path,
                                                 self.backup_file_ipv4))
        execute_os_command("{} >> {}/{}".format(self.iptables_bin_save,
                                                self.backup_path,
                                                self.backup_file_ipv4))
        debug("backup for ipv4 rules created")

        if self.ipv6 is True:
            create_file_if_not_exists("{}/{}".format(self.backup_path,
                                                     self.backup_file_ipv6))
            execute_os_command("{} >> {}/{}".format(self.ip6tables_bin_save,
                                                    self.backup_path,
                                                    self.backup_file_ipv6))
            debug("backup of ipv6 rules created")

        info("backup of iptables configuration created")