Location: PHPKode > projects > IptablesWeb > iptablesweb/docs/it/installa.txt
FASE 1:
##REQUISITI##

Prima di tutto verificare di avere a disposizione i seguenti componenti:
* ServerWeb (testato con Apache 2.x)
* DBServer (testato con MySql 4.1.x)
* Log iptables salvati mediante il modulo ulogd http://www.netfilter.org/projects/ulogd/downloads.html
* PHP4 o PHP5 (consiglio vivamente di definire le "register_globals" su "Off", per ovvi motivi di sicurezza)



FASE 2:
##Impostazione di ulogd##

Una volta installato il modulo ulogd, occorre definire il file ulogd (in Mandriva si trova in /etc/ulogd.conf), imponendo all'applicazione di scrivere i log su database. (Per maggiori informazioni andare su http://www.netfilter.org/projects/ulogd/downloads.html)

//Esempio di parametri definiti nel file di configurazione di ulogd per scrivere i log su database 

mysqltable ulog
mysqlpass password
mysqluser user
mysqldb iptables
mysqlhost localhost
# load the plugin (remove the '#' if you want to enable it)
plugin /usr/lib/ulogd/ulogd_MYSQL.so


Fatto ciò occorre lanciare in background tale servizio tramite l'apposito comando (in Mandriva con "ulogd -d"); se non hai riscontrato nessun problema, puoi definire le regole di iptables affinchè vengano registrate sul DB i log.

Per comodità vi farò alcuni esempi:

/sbin/iptables -I INPUT -p icmp --icmp-type echo-request -j ULOG --ulog-prefix "ICMP DROP"
/sbin/iptables -I INPUT -m state --state INVALID -j ULOG --ulog-prefix "INVALID"
/sbin/iptables -I INPUT -p tcp ! --syn -m state --state NEW -j ULOG --ulog-prefix "NEW INCORRECT"
/sbin/iptables -I INPUT -p tcp --dport 1:1024 -m state --state NEW -j ULOG --ulog-prefix "TCP DROP"
/sbin/iptables -I INPUT -p udp --dport 1:1024 -m state --state NEW -j ULOG --ulog-prefix "UDP DROP"

La 1° regola registra (NON BLOCCA) tutti i tentativi di echo-request, associandoli al nome ICMP DROP
La 2° regola registra tutte quelle connessioni invalide, associandole al nome INVALID
La 3° regola registra tutte quelle connessioni "nuove" che però non iniziano con il pacchetto SYN secondo la specifica del Three-way HandShaking  conforme all'RFC relativo al TCP, associandole al nome NEW INCORRECT
La 4° regola registra tutti i tentativi di connessioni effettuati verso le porte 1:1024 TCP, associandole al nome TCP DROP
La 5° regola registra tutti i tentativi di connessioni effettuati verso le porte 1:1024 UDP, associandole al nome UDP DROP



FASE 3:
##Installazione di IptablesWeb##

Una volta decompresso il pacchetto, occorre prima di tutto definire la cartella tmp con chmod 777 e i files connection_settings.php, path_settings.php, session_settings.php, contenuti nella cartella includes, con chmod 666.
Fatto ciò è possibile inizializzare lo script con http://[percorso_iptablesweb]/install.php ed seguire quindi la procedura di installazione.

Durante la fase di installazione ti verrà chiesto di:

* definire Parametri di configurazione generici:
	Accesso pubblico: permette di definire se il sistema potrà essere visto da utenti pubblici o no
	Lingua di default: lingua di default del sistema
	Url del sistema: link che punta al sistema IptablesWeb (può essere http che https) (per esempio http://my_server/my_iptablesweb/)
	Email del sistema: email che identifica il sistema
	Path assoluto: path assoluto del sistema
	Password crontab: password che permette di proteggere lo script system (utilizzato per l’aggiornamento delle statistiche)
	N° log salvati: N° di log salvati per ciascun utente

* definire Parametri di configurazione database:
	Database: Tipo del database utilizzato
	Host database: Host del database
	Nome database: Nome del database
	Username: Username
	Password: Password
	Tabella ulogd: tabella utilizzata da ulogd per memorizzare i log di iptables

* definire Parametri di configurazione delle sessioni:
	Tempo per il garbage collector (in secondi): Tempo, espresso in secondi, del garbage collector
	Durata sessione (in secondi): Tempo di validità della sessione, espressa in secondi; se settato a 0 la sessione durerà fintanto che il browser non verrà chiuso

* definire Parametri di configurazione per l'invio delle email:
	Tipo di SMTP: Locale, se si utilizza un server SMTP locale, alrimenti definirlo come Esterno
	Server SMTP: host del server smtp esterno
	Autenticazione: definire se inviare mail con autenticazione o meno
	Username: Username per l'autenticazione del server SMTP
	Password: Password per l'autenticazione del server SMTP


Ricordo che le tabelle generate da IptablesWeb DEVONO essere nello stesso database contenente la tabella di ulogd.

Infine ti verrà richiesto di creare un gruppo e un primo account di amministrazione.
Concluse tali operazioni occorre CANCELLARE il file install.php


FASE 4:
##Configurazione di IptablesWeb##

Una volta entrati nel sistema occorre prima di tutto definire quali log di iptables saranno eventualmente gestiti.
Entrare quindi in Gestione Iptables per poter inserire, modificare e cancellare le regole di iptables.

//Esempio:
Supponendo di aver definito la seguente regola

/sbin/iptables -I INPUT -p icmp --icmp-type echo-request -j ULOG --ulog-prefix "ICMP DROP"

occorre inserire nel campo prefisso la parola ICMP DROP, come colore un qualsiasi colore in notazione SRGB (per esempio #FF0000 per il rosso), mentre come nome un qualsiasi nome (per esempio ICMP bloccati) che sarà visualizzato nella interfaccia web


Successivamente entrare nella sezione Info sistema e copiare il link 

http://[mio_server]/system.php?key_check=cc03e047a6afgbcbk8be7668acfebae5

in uno schedulatore di eventi.


Se utilizzi crontab:

*/5 * * * * lynx > /dev/null -dump http://[mio_server]/system.php?key_check=cc03e047a6afgbcbk8be7668acfebae5



FASE 5
##Installazione configurazione e gestione dei plugin e dei blocchi

Una volta scaricato un plugin, per esempio day, occorre decomprimerlo e copiarlo nella cartella plugin del vostro IptablesWeb.
Successivamente, sempre tramite l’interfaccia di amministrazione, andare nella sezione Gestione plugin e cliccare sull’icona per installarlo.
Una volta eseguito tale operazione andare nella sezione Gestione blocchi per poter creare i blocchi.

Ricordo che affinché un blocco sia inserito occorre che:
	Sia selezionato un plugin
	Sia selezionata almeno una regola di Iptables
	Sia selezionato almeno un gruppo o sia definito pubblico
	Completare tutti i campi richiesti (*)

Ricordati che un utente, prima di poter visionare il blocco, DEVE andare nella propria interfaccia utente (Gestione blocchi) e definire quali blocchi visionare.



--------------------------------------

[Gnomix]
Project Manager Founder di IptablesWeb
http://iptablesweb.sourceforge.net/
Return current item: IptablesWeb