1
0

Martillo Maldito

Martillo Maldito is an iptables wrapper that simplifies firewall rule management in an intuitive and structured way.

This CLI allows you to manage secured ports, block IPs, save rules, and more.


Features

  • Retrieve all banned IPs.
  • Query and manage secured ports.
  • Allow or deny access by IP for specific ports.
  • Rule persistence.
  • Optional Docker integration.

Requirements

  • Rust 1.65 or higher.
  • iptables and iptables-save installed and configured on the system.
  • Proper permissions to manage iptables rules (e.g., running as root).

Installation

  1. Clone the repository:

    git clone https://git.midefos.com/midefos/martillo-maldito.git
    cd martillo-maldito
    
  2. Build the project:

    cargo build --release
    
  3. Optionally, copy the executable to a directory in your PATH:

    cp target/release/martillo_maldito /usr/local/bin/
    

Usage

General Syntax

martillo_maldito <command> [options]

Available Commands

1. Retrieve all banned IPs

martillo_maldito get-banned-ips [--docker | -d]

Options:

  • --docker, -d: Includes rules in Docker environments.

2. Retrieve all secured ports

martillo_maldito get-secured-ports [--docker | -d]

3. Retrieve all secured ports with allowed IPs

martillo_maldito get-secured-ports-with-allowed-ips [--docker | -d]

4. Check if a port is secured

martillo_maldito is-port-secured --port <port> [--docker | -d]

Options:

  • --port, -p: Specifies the port to check.
  • --docker, -d: Includes rules in Docker environments.

5. Secure a port

martillo_maldito secure-port --port <port> [--position <position>] [--docker | -d]

Options:

  • --port, -p: Specifies the port to secure.
  • --position, -P: Specifies the rule position in iptables.
  • --docker, -d: Includes rules in Docker environments.

6. Unsecure a port

martillo_maldito unsecure-port --port <port> [--docker | -d]

Options:

  • --port, -p: Specifies the port to unsecure.
  • --docker, -d: Includes rules in Docker environments.

7. Allow an IP for a port

martillo_maldito allow-ip-for-port --ip <ip> --port <port> [--position <position>] [--docker | -d]

Options:

  • --ip, -i: Specifies the IP to allow.
  • --port, -p: Specifies the port to allow the IP on.
  • --position, -P: Specifies the rule position.
  • --docker, -d: Includes rules in Docker environments.

8. Remove an allowed IP from a port

martillo_maldito remove-allow-ip-port --ip <ip> --port <port> [--docker | -d]

Options:

  • --ip, -i: Specifies the IP to remove.
  • --port, -p: Specifies the port to remove the IP from.
  • --docker, -d: Includes rules in Docker environments.

9. Save rules

martillo_maldito save-rules

Saves all current iptables rules for future restoration.


Examples

  1. Retrieve all banned IPs:

    martillo_maldito get-banned-ips
    
  2. Secure port 8080 with Docker enabled:

    martillo_maldito secure-port -p 8080 -d
    
  3. Allow access to IP 192.168.1.10 on port 22:

    martillo_maldito allow-ip-for-port -i 192.168.1.10 -p 22
    
  4. Save all current rules:

    martillo_maldito save-rules
    

Disclaimer

This repository is designed solely for experimental or educational purposes. It is not intended for use in production environments or critical projects. Use at your own risk.

Description
Martillo Maldito is an iptables wrapper that simplifies firewall rule management in an intuitive and structured way.
Readme 223 KiB
Languages
Rust 100%