11 Febbraio 2024

Geo IP Blocking per Linux utilizzando solo Bash ed IPTables tramite BashRansomVirusProtector.sh

Implementazione del Filtering Geografico GeoIP tramite Bash Scripting su Linux sfruttando il database RIPE per una gestione avanzata della sicurezza di rete.

A pure BASH Geo IP Blocker and Firewall Script Creator Leveraging Country-Specific Internet Block Addresses This utility is designed as a highly efficient and straightforward Bash script that serves the dual purpose of geo-blocking IP addresses and generating firewall rules based on the internet address blocks assigned to specific countries.

Nell’attuale panorama digitale, garantire la sicurezza informatica è essenziale tanto per le organizzazioni quanto per gli individui. In questo ambito, il GeoIP Filtering emerge come una tecnica avanzata di sicurezza: essa consente di regolare l’accesso alla rete basandosi sulla localizzazione geografica degli indirizzi IP. Ciò significa avere la capacità di bloccare o consentire il traffico di dati da specifiche aree geografiche, fornendo così un livello aggiuntivo di controllo e protezione. In risposta a questa necessità, proponiamo una soluzione all’avanguardia: un sistema di blocco GeoIP e generatore di script per firewall, realizzato interamente mediante scripting Bash. Questo strumento, ispirato al progetto originale di Giovambattista Vieri sviluppato in Python3, è progettato per soddisfare le moderne esigenze di sicurezza, evitando la dipendenza da database esterni a pagamento, come quelli offerti da MaxMind, e sfruttando invece le risorse disponibili attraverso il database RIPE.

L’Origine dell’Idea e la Sua Evoluzione

L’idea di base dietro questo strumento è di Giovambattista Vieri, che ha concepito il RansomVirusProtector, un potente strumento sviluppato in Python3 e disponibile su GitHub https://github.com/gvieri/ransomvirusprotector . Questo script aveva lo scopo di bloccare gli indirizzi IP sospetti provenienti da determinati paesi, un’arma efficace nella lotta contro malware e ransomware che necessitano di “telefonare a casa” per attivarsi o esfiltrare dati rubati.

Riconoscendo l’importanza di questa funzionalità, ma anche la necessità di una soluzione più snella e immediatamente applicabile in vari contesti operativi, è stata sviluppata una versione che opera interamente in Bash. Questo approccio elimina la dipendenza da Python, rendendo lo strumento estremamente leggero e versatile per qualsiasi distribuzione Linux e sistemi operativi minimali anche embedded.

Funzionalità e Vantaggi dell’Implementazione in Bash

Bashransomvirusprotector.sh è un Geo IP Blocker in Bash che consente agli utenti di creare regole di firewall personalizzate, bloccando o consentendo il traffico da specifici paesi. Questa funzionalità è particolarmente utile per proteggere le reti aziendali da attacchi informatici geograficamente localizzati, per rispettare le leggi sulla privacy e la distribuzione di contenuti digitali, o semplicemente per migliorare le performance di rete limitando il traffico da regioni non pertinenti.

Uno dei principali vantaggi di questa soluzione è la sua indipendenza da database esterni commerciali per la mappatura degli indirizzi IP. Mentre strumenti come il database di MaxMind offrono dati dettagliati e aggiornati, richiedono aggiornamenti regolari e possono introdurre complessità e dipendenze esterne nel sistema. Al contrario, il nostro script in Bash sfrutta le informazioni pubblicamente disponibili e le elabora direttamente, garantendo così un’alta affidabilità e una maggiore privacy accedendo direttamente ai database pubblici e gratuiti del RIPE.

RIPE Database

Il RIPE NCC (Réseaux IP Européens Network Coordination Centre) rappresenta una delle cinque Regional Internet Registries (RIR) a livello mondiale, organizzazioni che hanno la responsabilità di assegnare e amministrare gli indirizzi IP e gli ASN (Autonomous System Numbers) nelle loro specifiche regioni geografiche. In particolare, il RIPE NCC copre l’Europa, il Medio Oriente e parti dell’Asia Centrale.

Il RIPE NCC gioca un ruolo vitale nell’assegnazione e nella gestione degli indirizzi IPv4 all’interno della sua regione di competenza. L’organizzazione assegna gli indirizzi IP agli Internet Service Providers (ISP), alle reti di telecomunicazione, alle organizzazioni e ad altre entità che ne hanno bisogno per la connettività Internet. Oltre a fornire gli indirizzi IP, il RIPE NCC mantiene anche un database pubblico, il RIPE Database, che documenta l’allocazione e l’assegnazione degli indirizzi IP e degli ASN, contribuendo così alla trasparenza e alla sicurezza della gestione degli indirizzi IP.

Una delle funzionalità più rilevanti del database del RIPE NCC è la possibilità di consultare gli indirizzi IPv4 allocati ai vari paesi. Questo permette di avere una visione dettagliata di come gli indirizzi IP sono distribuiti geograficamente, fornendo dati essenziali per analisi di rete, sicurezza informatica, ricerca e pianificazione delle infrastrutture digitali.

Come Funziona Lo Script

Senza entrare nei dettagli tecnici o mostrare il codice sorgente, che potete scaricare qui https://github.com/MarcoMarcoaldi/bashransomvirusprotector il funzionamento dello script può essere sintetizzato in alcuni passaggi chiave:

  1. Raccolta degli indirizzi IP: Lo script accede a fonti pubbliche ed ufficiali come il RIPE per ottenere gli indirizzi IP associati a specifici blocchi di paesi.
  2. Elaborazione e Filtraggio: Attraverso comandi Bash, elabora queste informazioni per estrarre gli intervalli di IP rilevanti in base ai paesi selezionati dall’utente.
  3. Generazione di Regole di Firewall: Infine, genera automaticamente le regole di firewall che possono essere applicate direttamente al sistema o esportate per un uso successivo.

Vantaggi Significativi

  • Leggerezza e Portabilità: Funzionando interamente in Bash, lo script è incredibilmente leggero e può essere eseguito su quasi tutti i sistemi Linux senza requisiti aggiuntivi.
  • Privacy e Sicurezza: Evitando l’uso di database esterni commerciali, lo script garantisce che i dati sensibili non debbano essere condivisi o esposti a terze parti.
  • Facilità d’Uso: Anche senza conoscenze avanzate di scripting o di sicurezza informatica, gli utenti possono facilmente implementare potenti regole di filtraggio geografico.

Esempi di utilizzo pratici e sintassi

Il script fornito è uno script shell progettato per scaricare ed elaborare le allocazioni di indirizzi IP dal RIPE NCC (Réseaux IP Européens Network Coordination Centre), concentrandosi specificamente sugli indirizzi IPv4 allocati a determinati paesi. Questo script si rivela utile per automatizzare il download e l’elaborazione dei dati di allocazione degli indirizzi IP dal RIPE NCC, potenzialmente per analisi, rapporti o integrazione in altri strumenti o database. In questo caso specifico, permette di generare un altro script contenente tutti i comandi IPTables per bloccare il traffico proveniente da uno o più paesi.

Esempi di utilizzo e sintassi includono:

Ottenere i blocchi di rete relativi alla Francia:

./bashramsonvirusprotector.sh -c FR

Ottenere i blocchi di rete relativi a Italia e Francia:

./bashransomvirusprotector.sh -c FR,IT

Bloccare tutti gli indirizzi IP russi:

./bashransomvirusprotector.sh -c RU -p "iptables -I INPUT -s " -P " -j REJECT"

Bloccare tutti gli indirizzi IP russi e cinesi:

./bashransomvirusprotector.sh -c RU,CN -p "iptables -I INPUT -s " -P " -j REJECT"

Creare uno script per bloccare tutti gli IP russi:

./bashransomvirusprotector.sh -c RU -p "iptables -I INPUT -s " -P " -j REJECT" > script.sh

Questo comando genera uno script semplice che blocca tutte le connessioni in arrivo dalla Russia. Eseguendo script.sh, tutti i comandi iptables saranno applicati.

Conclusioni

In conclusione, bashramsonvirusprotector.sh è un semplice Geo IP Blocker in Bash che rappresenta un notevole passo avanti nella facilitazione dell’accesso a strumenti di sicurezza informatica avanzati. Ispirandosi al lavoro di Giovambattista Vieri, ma avanzando verso un approccio che privilegia la semplicità e l’autonomia, questa soluzione si distingue come un alleato prezioso per chiunque desideri rafforzare la sicurezza della propria rete con precisione geografica.

In un mondo digitale in cui le minacce possono provenire da qualsiasi angolo del globo, avere a disposizione uno strumento così agile e potente è più che mai essenziale. La versione in Bash del RansomVirusProtector non solo rende la protezione geografica più accessibile ma apre anche la strada a nuove possibilità di personalizzazione e integrazione, dimostrando che, quando si tratta di sicurezza informatica, la flessibilità e la semplicità possono andare di pari passo con la potenza e l’efficacia.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto