<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.slacky.eu/wikislack/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
		<id>http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables&amp;feed=atom&amp;action=history</id>
		<title>Ulog e Iptables - Cronologia</title>
		<link rel="self" type="application/atom+xml" href="http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables&amp;action=history"/>
		<updated>2013-05-19T19:38:30Z</updated>
		<subtitle>Cronologia della pagina su questo sito</subtitle>
		<generator>MediaWiki 1.20.3</generator>

	<entry>
		<id>http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables&amp;diff=2598&amp;oldid=prev</id>
		<title>Gohanz il 15:28, 14 set 2006</title>
		<link rel="alternate" type="text/html" href="http://www.slacky.eu/wikislack/index.php?title=Ulog_e_Iptables&amp;diff=2598&amp;oldid=prev"/>
				<updated>2006-09-14T15:28:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:Scritti_misti]]&lt;br /&gt;
&lt;br /&gt;
= ULOG e IPTABLES =&lt;br /&gt;
&lt;br /&gt;
== Introduzione ==&lt;br /&gt;
&lt;br /&gt;
La seguente guida ha lo scopo di introdurre ulogd, sistema di logging che può sostituire&lt;br /&gt;
il   classico   syslogd,   per   registrare   i   log   del   nostro   firewall.   Si&lt;br /&gt;
avrà   così   un   passaggio   dal classico   target   LOG   di   iptables   al   più&lt;br /&gt;
evoluto   target   ULOG   che   lavora   in   userspace   e permette   quindi,   tramite&lt;br /&gt;
un   programma   in   continuo   ascolto,   di   gestire   tali   informazioni&lt;br /&gt;
nella maniera più disparata. &lt;br /&gt;
Verrà   quindi   mostrato   come   associare   ulog   al   potente   DBMS   MySQL   in&lt;br /&gt;
modo   tale   da creare una apposita tabella contenente tutti i log relativi al nostro&lt;br /&gt;
firewall. Non   è   difficile   capire   i   vantaggi   che   si   possono   ottenere&lt;br /&gt;
con   questa   magnifica combinazione.   Immaginate   di   voler   sapere   quanti &lt;br /&gt;
tentativi   di   accesso   avete   avuto   negli ultimi   due   mesi   su   una&lt;br /&gt;
determinata   porta.   Se   utilizzate   syslogd   dovrete   praticamente controllare&lt;br /&gt;
ogni   riga   di   log   all'interno   del   file   /var/log/syslog,   cercare  la&lt;br /&gt;
porta   e   vedere se corrisponde: un lavoro lungo e sicuramente poco pratico.&lt;br /&gt;
Avendo invece i log all'interno  di un database si può raggiungere il nostro scopo con una&lt;br /&gt;
semplice istruzione SQL. Si avrà così una visione più chiara e dettagliata, senza contare il&lt;br /&gt;
tempo risparmiato nella ricerca.&lt;br /&gt;
Verranno   utilizzate   interfacce   grafiche   sia   per   ulog   che   per   MySQL,   per&lt;br /&gt;
migliorare ulteriormente il nostro lavoro.&lt;br /&gt;
Questa   guida   non   ha   lo   scopo   di   specificare   le   potenzialità   di   iptables&lt;br /&gt;
(la   componente firewall   standard   di   Linux   sin   dall'   introduzione   dei&lt;br /&gt;
kernel   2.4),   per   la   quale   si   rimanda alla consultazione di siti come www.netfilter.org.&lt;br /&gt;
&lt;br /&gt;
Non   si   parlerà   nemmeno   del   linguaggio   SQL,   ormai   famosissimo   e   di   una&lt;br /&gt;
praticità   e semplicità estrema.&lt;br /&gt;
Si   farà   una   breve   introduzione   ad   Apache   con   il   semplice   scopo   di &lt;br /&gt;
rendere   operativo   il webserver.&lt;br /&gt;
&lt;br /&gt;
= Logging con IPTABLES =&lt;br /&gt;
&lt;br /&gt;
Iptables mette a disposizione il logging come feature per debugging e analisi del traffico.&lt;br /&gt;
A noi interessa l'analisi di tutto il traffico che viene “droppato” dal nostro firewall.&lt;br /&gt;
Il   log   generato   da   iptables   può   essere   utile   sia   per   verificare   le&lt;br /&gt;
funzionalità   delle   regole inserite   sia   per   generare   un   log   che   verrà&lt;br /&gt;
analizzato   da   tools   per   creare   statistiche   e&lt;br /&gt;
report, fonte di informazioni indispensabile per scoprire ad esempio di essere il bersaglio&lt;br /&gt;
di un attacco.  &lt;br /&gt;
Come   strumento   d'analisi   utilizzeremo   ulog­php,   tool   user­friendly   scritto   in&lt;br /&gt;
php   capace di   fornire   un'ottima   interfaccia   al   nostro   database   MySQL.&lt;br /&gt;
Esistono   anche   altri   progetti ma, tra quelli visti, lo reputo uno dei migliori.&lt;br /&gt;
Il   logging   viene   abilitato   tramite   target  ULOG   per   loggare   in   user  space &lt;br /&gt;
e  LOG   in   kernel space. Noi utilizzeremo ovviamente ulog.&lt;br /&gt;
E'   buona   norma   loggare   tutto   ciò   che   viene   negato,   quindi   se   si   segue&lt;br /&gt;
la   policy   &amp;quot;Nego tutto   e   lascio   passare   solo   ciò   che   mi   serve&amp;quot;   (che&lt;br /&gt;
prenderemo   in   esame),   le   regole   di logging dovranno essere inserite alla fine della catena.&lt;br /&gt;
&lt;br /&gt;
Le nostre regole di iptables relative ai log saranno quindi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iptables ­A INPUT ­i ppp0 ­p tcp ­m state ­­state NEW ­­dport 0:65535 ­j ULOG ­­ulog­nlgroup 1 ­­ulog­prefix &amp;quot;badif&amp;quot;&lt;br /&gt;
iptables ­A INPUT ­i ppp0 ­p udp ­m state ­­state NEW ­­dport 0:65535 ­j ULOG ­­ulog­nlgroup 1 ­­ulog­prefix &amp;quot;badif&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La prima riga logga tutti i pacchetti che sfruttano il protocollo tcp (­p tcp) e che hanno il&lt;br /&gt;
flag  SYN settato ad 1 (­m state –state NEW) su un range di porte che va da 0 a 65535 (­­&lt;br /&gt;
dport 0:65535). La seconda è identica alla prima solo  che è relativa al protocollo udp (­p&lt;br /&gt;
udp).   Il   flag   –ulog­prefix   “badif”   serve   per   loggare   i  “bad”   packet.   Dal&lt;br /&gt;
README   di   ulog­ php:&lt;br /&gt;
&lt;br /&gt;
''to log bad packet you can use  iptables ­A FORWARD  ­j ULOG ­­ulog­nlgroup 1 ­­ulog­prefix &amp;quot;badif&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
Queste due regole si sostituiscono alle tradizionali:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iptables ­A INPUT ­i ppp0 ­p tcp ­m state ­­state NEW ­­dport 0:1024 ­j LOG ­­log­prefix=&amp;quot;BLOCCATO TCP: &amp;quot;&lt;br /&gt;
iptables ­A INPUT ­i ppp0 ­p udp ­m state ­­state NEW ­­dport 0:1024 ­j LOG ­­log­prefix=&amp;quot;BLOCCATO UDP: &amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La policy in input è, come ho già detto, di scartare di default qualsiasi pacchetto che non&lt;br /&gt;
corrisponda   ad   una   determinata   serie   di   regole   che   dovrete   inserire   nel&lt;br /&gt;
vostro   script firewall.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
= Requisiti di sistema =&lt;br /&gt;
&lt;br /&gt;
Per  utilizzare   ulog  occorre  includere  il  supporto  nel  kernel.   Tutte  le  mie&lt;br /&gt;
esperienze  sono basate su kernel della serie 2.6.x. &lt;br /&gt;
Nella sezione Netfilter Configuration occorre selezionare l'opzione:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'''CONFIG_IP_NF_TARGET_ULOG'''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il   modulo   relativo   è   ipt_ULOG   che   potete   trovare   (se   l'avete   incluso&lt;br /&gt;
come   modulo   nel kernel) sotto /lib/modules/2.6.11.8/kernel/net/ipv4/netfilter/.&lt;br /&gt;
Nel caso in cui non sia presente potete provare a dare un:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# grep ­i 'ulog' /boot/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dove al posto di “config” dovete mettere il nome del vostro config.&lt;br /&gt;
Il   comando   esamina   all'interno   di   tale   file   se   è   presente   qualche&lt;br /&gt;
opzione   con   la   stringa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
“ulog”. L'output sarà qualcosa del genere:&lt;br /&gt;
CONFIG_IP_NF_TARGET_ULOG=m&lt;br /&gt;
CONFIG_BRIDGE_EBT_ULOG=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In   questo   caso   potete   vedere   che   avete  CONFIG_IP_NF_TARGET_ULOG  abilitato&lt;br /&gt;
come modulo, quindi vi basterà lanciare un:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# modprobe ipt_ULOG   per attivarlo.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se  l'output  del  comando   grep  è  No  such  file  or directory,  significa  che  non&lt;br /&gt;
avete  abilitato ulog. Dovrete quindi abilitarlo ricompilando il kernel. &lt;br /&gt;
&lt;br /&gt;
= Installazione e Configurazione di Ulog =&lt;br /&gt;
&lt;br /&gt;
Preleviamo il pacchetto da: ftp://ftp.netfilter.org/pub/ulogd/&lt;br /&gt;
Al momento l'ultima versione è la 1.23.Una volta scaricato il pacchetto ulogd-1­.23.tar.bz2 eseguiremo le seguenti istruzioni:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# tar xjvf ulogd­1.23.tar.bz (per decomprimere un pacchetto non occorre essere root)&lt;br /&gt;
# cd ulogd­1.23&lt;br /&gt;
# ./configure –with­mysql=/var/lib/mysql&lt;br /&gt;
# make &amp;amp;&amp;amp; make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'istruzione  #   ./configure   –with­mysql=/var/lib/mysql  abilita   il   supporto   per   Mysql   in&lt;br /&gt;
modo tale da poter riportare le informazione reperite da ulogd nel nostro database.&lt;br /&gt;
Per una lista di tutte le possibili opzioni basta dare un:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./configure –help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ora ulogd è installato nel nostro sistema e non ci resta che configurarlo editando il file:&lt;br /&gt;
/usr/local/etc/ulogd.conf.&lt;br /&gt;
All'interno di questo file occorre porre attenzione alle seguenti righe: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# netlink multicast group &lt;br /&gt;
nlgroup=1&lt;br /&gt;
nlgroup deve avere lo stesso valore anche nelle regole di iptables.&lt;br /&gt;
(the same as the iptables ­­ulog­nlgroup param)&lt;br /&gt;
# logfile per i messaggi di stato&lt;br /&gt;
logfile=&amp;quot;/var/log/ulogd.log&amp;quot;&lt;br /&gt;
# output plugins.&lt;br /&gt;
plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_LOGEMU.so&amp;quot;&lt;br /&gt;
#plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_OPRINT.so&amp;quot;&lt;br /&gt;
plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_MYSQL.so&amp;quot;&lt;br /&gt;
#plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_PGSQL.so&amp;quot;&lt;br /&gt;
#plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_SQLITE3.so&amp;quot;&lt;br /&gt;
#plugin=&amp;quot;/usr/local/lib/ulogd/ulogd_PCAP.so&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All'interno   di   output   plugins   occorre   abilitare   il   plugin   relativo   a   MySQl   come&lt;br /&gt;
nell'esempio   sopra   mostrato.   Come   potete   vedere   ulog   può   lavorare   appoggiandosi   a&lt;br /&gt;
diversi sistemi tra i quali spiccano PGSQL e SQLITE3.&lt;br /&gt;
Ora non ci resta che abilitare MySQL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[MYSQL]&lt;br /&gt;
table=&amp;quot;ulog&amp;quot;&lt;br /&gt;
pass=&amp;quot;vostra password&amp;quot;&lt;br /&gt;
user=&amp;quot;user&amp;quot;&lt;br /&gt;
db=&amp;quot;ulogd&amp;quot;&lt;br /&gt;
host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Qui vanno modificati i dati relativi all'utente (con relativa password) che può accedere al&lt;br /&gt;
database “ulogd” presente in MySQL. Modificando   tale   file   con   gli   oppurtuni   valori&lt;br /&gt;
permetteremo   ad   ulogd   di   accedere   al  nostro database inserendo i dati relativi ai&lt;br /&gt;
log di iptables.&lt;br /&gt;
Ancora   noi   non   possediamo   alcun   database   perciò,   per   il   momento,   limitatevi   ad&lt;br /&gt;
esaminare   il   file   senza   fare   alcuna   modifica.   Una   volta   installato   e   configurato&lt;br /&gt;
MySQL, andremo a modificare la sezione “user” e “password” con i nostri dati.&lt;br /&gt;
&lt;br /&gt;
= Installazione e configurazione di MySQL =&lt;br /&gt;
&lt;br /&gt;
L'installazione di MySQL non è complessa. &lt;br /&gt;
Se   avete   fatto   un'installazione   “full”   della   vostra   Slackware   potete   tranquillamente&lt;br /&gt;
saltare   questa   parte   e   recarvi   subito   alla   configurazione,   in   quanto   avete   già&lt;br /&gt;
il   DBMS installato.&lt;br /&gt;
In caso contrario potete operare in due modi differenti:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. scaricare il pacchetto precompilato da www.linuxpackages.net e installarlo con un: &lt;br /&gt;
    # installpkg nomePacchetto.tgz&lt;br /&gt;
2. compilarlo con la solita terna ./configure, make &amp;amp;&amp;amp; make install.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adesso  che   MySQL   è  installato   e  attivo,  la prima   cosa  da  fare  è  quella  di  impostare&lt;br /&gt;
una password  per l'utente root,  ovvero l'utente che è in grado di compiere tutte le operazioni&lt;br /&gt;
su MySQL, compresa quella di fermare il server. &lt;br /&gt;
MySQL   permette   l'accesso   ai   dati   contenuti   nei   database   esclusivamente   agli   utenti&lt;br /&gt;
autorizzati,   per   questo   è   importante   creare   da   subito   degli   utenti   che   abbiano&lt;br /&gt;
delle possibilità   di   azione   limitate   per   evitare   seri   problemi   di   sicurezza.   Appena   installato, MySQL ha un utente &amp;quot;root&amp;quot; che può accedere senza inserire alcuna password, in grado di&lt;br /&gt;
compiere   qualsiasi   azione   sul   server.   Quindi   la   prima   cosa   da   fare   adesso   è&lt;br /&gt;
quella   di assegnare   una   password   a   &amp;quot;root&amp;quot;   in   modo   da   evitare   che   chiunque   possa&lt;br /&gt;
entrare   e   fare danni senza incontrare alcun blocco.&lt;br /&gt;
Attenzione   perché   quello   che   stiamo   per   fare   è   estremamente   importante:   MySQL   è&lt;br /&gt;
un server   e   in   quanto   tale   esso   permette   l'accesso   a   chiunque   si   trovi   nella&lt;br /&gt;
stessa   rete.&lt;br /&gt;
Questo   significa   che   se   il   server   è   collegato   a   Internet,   CHIUNQUE   potrà   accedere&lt;br /&gt;
al server! Naturalmente la possibilità di effettuare delle operazioni su di esso sarà vincolata&lt;br /&gt;
al fatto di avere un nome utente e una password di accesso.&lt;br /&gt;
&lt;br /&gt;
Inziamo avviando il server in background:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# msqld_safe &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Al   caricamento   del   programma,   riceveremo   un   messaggio   che,   dopo   aver   cercato   di&lt;br /&gt;
avviarlo,   è   costretto   a   chiuderlo,   avvertendoci   con   un   &amp;quot;mysql   ended&amp;quot;.   In   effetti   il&lt;br /&gt;
programma,  se non trova già settati i suoi file di configurazione, non riesce a partire.&lt;br /&gt;
Per  eliminare  il  messaggio   &amp;quot;mySQL   ended&amp;quot;  all'avvio  del  programma   bisogna   abilitarlo:   si&lt;br /&gt;
tratta della prima  operazione da fare se si vuole adoperare questo database.  È necessario&lt;br /&gt;
in   prima   istanza   scegliere   uno   dei   quattro   file   /etc/my.huge.conf,   /etc/my.large.conf,   /&lt;br /&gt;
etc/my.medium.conf,   /etc/my.small.conf   e   copiarlo   sempre   in   /etc   rinominandolo   /&lt;br /&gt;
etc/my.conf.   La   scelta   dipende   dalle   dimensioni   che   intendiamo   attribuire   al   nostro&lt;br /&gt;
database. Quindi bisogna lanciare in sequenza i seguenti comandi: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1) mysql_install_db, &lt;br /&gt;
2) cd /var/lib, &lt;br /&gt;
3) chown ­R mysql mysql/, &lt;br /&gt;
4) chgrp ­R mysql mysql/. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In   tal   modo   mySQL   viene   attivato.   Eccede   dalla   presenta   trattazione   l'uso   di   questo&lt;br /&gt;
database (da Slackware for Dummies).&lt;br /&gt;
Riavviamo il server con il comando precedente: noterete che l'errore e sparito.&lt;br /&gt;
Ora assegnamo una password all'utente &amp;quot;root&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#mysqladmin ­u root password “miaPassword”&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per terminare il server MySQl basterà dare:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#mysqladmin ­u root ­p shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verrà richiesta la password e una volta inserita sarà terminato il server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Interfaccia per MySQL =&lt;br /&gt;
&lt;br /&gt;
L'uso di un'interfaccia per MySql non è obbligatorio ma semplifica notevolmente il lavoro&lt;br /&gt;
di gestione del DBMS ed è quindi caldamente consigliata.&lt;br /&gt;
Io ho utilizzato PhpMyAdmin e quindi mi baserò su quest'ultima.&lt;br /&gt;
PhpMyAdmin   è   un'interfaccia   grafica   scritta   in   php   mediante   la   quale   è   possibile&lt;br /&gt;
visualizzare   il   contenuto   del   nostro   database,   creare,   modificare   e   cancellare   intere&lt;br /&gt;
tabelle   o   singoli   record,   fare   un   backup   dei   dati   contenuti,   visualizzare   informazioni&lt;br /&gt;
interessanti sul db ecc.&lt;br /&gt;
Per poter utilizzare quest'ottimo progetto abbiamo bisogno di un:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  webserver (apache nel nostro caso)&lt;br /&gt;
•&lt;br /&gt;
  mysql&lt;br /&gt;
•&lt;br /&gt;
  phpMyAdmin&lt;br /&gt;
•&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Partendo   col   presupposto   che   Apache   sia   già   installato   nel   nostro   sistema   andiamo&lt;br /&gt;
ad analizzare la sua configurazione e il suo funzionamento.&lt;br /&gt;
Per   analizzare   il   funzionamento   ci   sono   due   piccoli   passi   da   fare.   Il   primo&lt;br /&gt;
consiste nell'avvio del webserver tramite il comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apachectl start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ora, aprendo il nostro browser preferito, andiamo alla pagina: http://localhost&lt;br /&gt;
Se qui compare la home page di apache signica che il webserver funziona.&lt;br /&gt;
Il   secondo   passo   invece   consiste   in   una   sorta   di   prova   del   nove.   Andiamo   in   /&lt;br /&gt;
var/www/htdocs/   (la   nostra   DocumentRoot)   e   creiamo   un   file   info.php.   Al   suo   interno&lt;br /&gt;
digitiamo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
phpinfo()&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salvate ed uscite.&lt;br /&gt;
Ora digitate http://localhost/info.php   e state a guardare cosa succede. Se tutto  è andato&lt;br /&gt;
liscio dovreste vedere una schermata con tante informazioni relative a php.&lt;br /&gt;
E'   probabile   che   la   cosa   non   accada.   In   questo   caso   decommentate   in   /&lt;br /&gt;
etc/apache/httpd.conf  la riga: &lt;br /&gt;
Include /etc/apache/mod_php.conf &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riavviate il server e ricontrollate la pagina.&lt;br /&gt;
Per fermare il nostro webserver basta digitare:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apachectl stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prima   di   inziare   il   lavoro   vero   e   proprio,   vediamo   superficialmente   com'è   strutturato&lt;br /&gt;
PhpMyAdmin.&lt;br /&gt;
Attiviamo   Apache,   il   database   MySql   ed   accediamo   a   PhpMyAdmin   digitando   l'URL&lt;br /&gt;
corrispettivo...io ad esempio digito:&lt;br /&gt;
&lt;br /&gt;
http://localhost/phpadmin/index.php &lt;br /&gt;
&lt;br /&gt;
Ovviamente la cartella phpadmin deve essere presente nella nostra DocumentRoot.&lt;br /&gt;
Ci   troviamo   di   fronte   ad   una   pagina   composta   da   due   frames;   nella   colonna   di   sinistra,&lt;br /&gt;
sotto   la   scritta  Home,   ci   sono   i   nomi   di   tutti   i   database   creati;   se   è   la   prima   volta   che&lt;br /&gt;
attivate   MySql   dovreste   visualizzarne   solo   due:  mysql  e  test  ('''mysql   non   va assolutamente toccato visto che contiene dati importanti per il funzionamento del db''').&lt;br /&gt;
Nella   pagina   centrale   ci   sono   le   risorse   principali;   abbiamo,   ad   esempio,   il   form   per&lt;br /&gt;
creare   un   nuovo   db;   la   scritta  Utenti  per   impostare   nuovi   users;   il   collegamento   per&lt;br /&gt;
riavviare MySql ed una serie di link per visualizzare alcune informazioni statistiche; sono&lt;br /&gt;
presenti, infine, interessanti collegamenti alla documentazione ufficiale.&lt;br /&gt;
Creiamo un nuovo database chiamato ulogd.&lt;br /&gt;
Si può ottenere lo stesso risultato digitando da linea di comando:&lt;br /&gt;
Dopo esservi loggati all'interno di MySQL digitate: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW DATABASES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questa istruzione dice al nostro DBMS di mostrare tutti i database esistenti.&lt;br /&gt;
Avendo appena installato MySQL dovreste avere solo 2 database: mysql e test&lt;br /&gt;
Il   database  mysql  contiene   i   privilegi   di   accesso   degli   utenti.   Il   database&lt;br /&gt;
&amp;quot;test&amp;quot;   serve, invece, come db di prova.&lt;br /&gt;
A noi occorre creare un database chiamato ulogd, come diceva il file di configurazione di&lt;br /&gt;
ulog: db=&amp;quot;ulogd&amp;quot;&lt;br /&gt;
Digiteremo quindi: &lt;br /&gt;
CREATE DATABASE ulogd;&lt;br /&gt;
Come è facile intuire l'istruzione qui sopra crea un nuovo database chiamato &amp;quot;ulogd&amp;quot;.&lt;br /&gt;
Proviamo ora a ripetere il comando SHOW DATABASES...&lt;br /&gt;
E' importante che ogni istruzione data a MySQL termini con il “;”.&lt;br /&gt;
Creiamo   un   utente   ulog   con   relativa   password   e   diamogli   i   permessi   per   lavorare&lt;br /&gt;
sul database ulogd. Non dategli i permessi relativi all'amministrazione: li possiede già root. &lt;br /&gt;
Ora   potete   modificare  /usr/local/etc/ulogd.conf  con   le   opportune   specifiche   per&lt;br /&gt;
MySQL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[MYSQL]&lt;br /&gt;
table=&amp;quot;ulog&amp;quot;&lt;br /&gt;
pass=&amp;quot;vostra password&amp;quot;&lt;br /&gt;
user=&amp;quot;user&amp;quot;&lt;br /&gt;
db=&amp;quot;ulogd&amp;quot;&lt;br /&gt;
host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Interfaccia per ulogd =&lt;br /&gt;
&lt;br /&gt;
Esistono diversi progetti finalizzati alla creazione di un'interfaccia per ulogd. Quello da&lt;br /&gt;
me provato è ulog­php.&lt;br /&gt;
E' reperibile all'indirizzo:&lt;br /&gt;
http://www.inl.fr/download/ulog­php­1.0.1.tar.gz&lt;br /&gt;
Questa è l'ultima versione al momento.&lt;br /&gt;
&lt;br /&gt;
Una volta scaricato il pacchetto decomprimiamolo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar xfvz ulog­php­1.0.1.tar.gz&lt;br /&gt;
cd ulog­php­1.0.1.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All'interno   di   questa   cartella   esiste   un   file   chiamato   ulogd.mysqldump   contenente   tutta&lt;br /&gt;
una serie di istruzioni sql finalizzate alla creazione di tabelle per il database ulogd.&lt;br /&gt;
Ci   basterà   copiarle   nella   console   di   mysql   e   avremo   un   database   pronto   ad   essere&lt;br /&gt;
utilizzato.&lt;br /&gt;
Terminiamo il tutto copiando la cartella ulog­php­1.0.1 nella nostra DocumentRoot.&lt;br /&gt;
&lt;br /&gt;
= STARTUP =&lt;br /&gt;
&lt;br /&gt;
A questo punto non ci resta che testare il lavoro svolto fino ad ora.&lt;br /&gt;
Avviamo il demone di MySQL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#mysqld_safe &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avviamo il demone relativo ad ulog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ulogd ­c /usr/local/etc/ulog&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `raw'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `oob'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `ip'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `tcp'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `icmp'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `udp'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;3&amp;gt; ulogd.c:309 registering interpreter `ahesp'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;5&amp;gt; ulogd.c:364 registering output `syslogemu'&lt;br /&gt;
Mon May  9 12:24:30 2005 &amp;lt;5&amp;gt; ulogd.c:364 registering output `mysql'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dovrebbe apparire qualcosa del genere.&lt;br /&gt;
Ora diamo un:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#tail ­f /var/log/ulogd.syslogemu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questo file è relativo ai log catturati con il demone ulogd. Se il sistema logga, significa&lt;br /&gt;
che ulog funziona.&lt;br /&gt;
Perfetto, ora ci resta unicamente da verificare se i dati loggati vengono passati a MySQL.&lt;br /&gt;
Entriamo nella console di mysql.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mysqladmin ­u root ­p&lt;br /&gt;
mysql&amp;gt; use ulogd (gli diciamo che intendiamo lavorare sul database ulogd)&lt;br /&gt;
mysql&amp;gt; select * from ulog; (semplice query che verifica la presenza di dati all'interno&lt;br /&gt;
della tabella “ulog”). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A questo punto dovreste avere dei dati in output. In caso contrario avete commesso&lt;br /&gt;
qualche errore.&lt;br /&gt;
Come potete notare la cosa è veramente illegibile. Proprio per questo ci siamo appoggiati&lt;br /&gt;
ad un'interfaccia grafica come ulog­php.&lt;br /&gt;
Avviamo apache:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#apachectl start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rechiamoci all'url: http://localhost/ulog­php­1.0.1/index.php&lt;br /&gt;
Questa è la nostra interfaccia grafica per ulogd. Il progetto è veramente ben fatto. &lt;br /&gt;
La differenza rispetto al classico syslog è veramente notevole.&lt;br /&gt;
&lt;br /&gt;
= Tip 'n' Tricks =&lt;br /&gt;
&lt;br /&gt;
Per   utilizzare   ulog   come   sistema   di   logging   occorre,   come   abbiamo   visto,   avere   diversi&lt;br /&gt;
demoni   attivi.   Avviarli   ogni   volta   che   ci   si   connette   può   diventare,   a   lungo   termine,&lt;br /&gt;
un'operazione veramente noiosa.&lt;br /&gt;
Possiamo evitare questo operando in differenti maniere:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
•    avviandoli all'avvio in automatico (rc.local)&lt;br /&gt;
•   creare uno script &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La scelta è soggettiva.&lt;br /&gt;
&lt;br /&gt;
= Conclusioni =&lt;br /&gt;
&lt;br /&gt;
Questa guida è frutto di esperienze personali.&lt;br /&gt;
L'autore non si assume responsabilità per eventuali problemi o danni derivati dall'uso dei&lt;br /&gt;
programmi o dalle configurazioni citate in questo articolo.&lt;br /&gt;
I marchi citati sono di propietà dei rispettivi propietari.&lt;br /&gt;
Segnalo l'ottimo howto “Ulog con Iptables” su www.sistemistiindipendenti.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ringraziamenti =&lt;br /&gt;
&lt;br /&gt;
Non   può   mancare   un   ringraziamento   a   tutta   la   comunità   Slackware,   unica   ed&lt;br /&gt;
insostituibile.&lt;br /&gt;
                                                                                       &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gohanz</name></author>	</entry>

	</feed>