Tool [Utility] Installare in automatico l'ipfw

Stato
Discussione chiusa ad ulteriori risposte.

luzzi

Utente Jade
30 Ottobre 2008
1,957
96
961
857
Ultima modifica da un moderatore:
Nonostante ci siano guide su guide riguardo l'ipfw vedo che tu i server online ne sono totalmente sprovvisti.
Rilascio un tool in python che esegue l'installazione automatica di questo firewall software.

E' necessario:

-avere installato python 2.7 sul proprio server.
-rispettare la sintassi del file config.ipfw


Cos'è il file config.ipfw?

E' un file semplicissimo che vi permette di configurare la protezione sulle vostre porte.

Es: di file config.ipfw

Codice:
IP: 91.121.204.161
PORT1: 14001
PORT2: 14002
PORT3: 14003
PORT4: 14004
PORT5: 14005
PORT6: 14099

Utilizzo e configurazione:
Il file config.ipfw va messo nella stessa directory dell'installipfw.pyc (consiglio di utilizzare la directory /root)
Potrete potreggere fino a 99 porte con questo tool (su metin 20 sono già abbastanza)

La sinstassi da utilizzare:


La prima riga

Codice:
IP: vostroip   (mettete sempre lo spazio tra : e il vostro ip)
PORT1: portadaproteggere  (mettete sempre lo spazzio tra : e la porta da proteggere

Fate sempre molta attenzione a scrivere con lo stesso caps i nomi (IP sempre maiuscolo, PORT sempre maiuscolo)
Il tool accetta la sintassi da PORT1 a PORT99 e devono essere sempre consecutivi .
Es:

PORT1: qualsiasi porta
PORT3: qualsiasi porta

Questo sopra è errato perchè salta PORT2

PORT1: qualsiasi porta
PORT2: qualsiasi porta
PORT3: qualsiasi porta
ecc
PORT99: qualsiasi porta

Questa è corretta perchè scrive da PORT1 a PORT99 in successione crescente.

Come si presenta il tool?

17be53bce2.webp

Il tool è in versione alpha ed ha attualmente tre funzioni.

1) Genera il file ipfw.rules
2)Sposta l'ipfw.rules dalla directory root a quella di lettura e aggiorna le nuove informazioni di protezione.
3)Installa e configura ipfw al primo avvio.

Come utilizzare il tool?
-Per prima cosa inserire i due file installipfw.pyc e config.ipfw dentro la directory /root.
-Configurare correttamente il file config.ipfw con l'ip del vostro server e le porte da proteggere
-Se è la prima volta che utilizzate il tool/ che viene installato ipfw dovete semplicemente premere 3
-Se il vostro ipfw è già stato installato e volete modificare le regole dovrete premere l'opzione 1 e poi la 2

IMPORTANTE:
L'opzione 3 utlizzatela solo e soltanto se non è stato mai configurato ipfw sul vostro server.

Download

Ipfwtool


Chiedo cortesemente di avvisarmi se verranno riscontrati bug.
 
  1. Qual è il senso di postare un .pyc invece del codice diretto? (tanto si unpacka in tre secondi)
  2. Quel metodo di serializzazione delle porte non ha molto senso. Visto che richiedi python2.7, potresti benissimo usare json. (ci sono tante altre alternative usabili anche su py2.2)
  3. Se non vuoi che "\n" generi in automatico "\r\n" (almeno su windows), dovresti aprire il file in binary mode. (tanto su unix esiste solo quello)
    NB: Se il file delle regole ha il carriage, la cosa più carina che potrebbe farti è fallire la lettura del file e lockarti fuori dalla macchina. (anche nel tuo caso, in quanto non arriverà a leggere la edgy regola 500; ah beh, ci sono tanti modi per evitare ciò)
  4. Ti ricordo che le regole vengono lette da "sh" di default, quindi puoi utilizzare qualsiasi feature della bourne shell:
    Codice:
    tcp_nop_ports="14001 14002 14003 14004 14005 14099"
    for val in $tcp_nop_ports; do
    	$IPF 2230 deny all from not 127.0.0.0/8 to any $val in\n
    end
  5. Su una funzione fai:
    Codice:
    service ipfw restart
    mentre in un'altra:
    Codice:
    /etc/rc.d/ipfw restart
    Basta la prima.
  6. Altri problemi esistenziali su come non si dovrebbe usare python in quel modo per tal scopo: (no subprocess, no with, no class object, except generali, str() a caso, parecchi check totalmente mancanti e tanto altro)
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom