!!PFSENSE
ftp://ftp.it.freebsd.org/pub/linux/plutoWWW/files/journal/pj0704/pfsense.html\\
'Come si può evincere dal nome, pfSense usa l'ottima implementazione firewall pf (importata da OpenBSD[3]). Tra le sue principali caratteristiche, ha la possibilità di agire da captive portal, ossia da un sistema di monitoraggio degli accessi Wi-Fi in luoghi pubblici o come server DHCP, DNS e PPPoE, di effettuare limitazione di banda e di essere di supporto a numerosi tipi di VPN, come PPTP, IPSEC e per ultima, ma non meno importante, a OpenVPN. Tra le caratteristiche più importanti che si possono evidenziare, ci sono il supporto a CARP e pfSync, che consentono di creare cluster di firewall e inoltre che pfSense supporta più di una connessione ad internet, con la possibilità quindi di bilanciare il carico. '


!Installazione
Da ISO 
![FreeBSD console]
!Note
#OpenVpn: problema con TSL-AUTH. scaricare la patch su http://pfsense.trendchiller.com/patches/ \\dopo aver configurato il server aprire la porta UDP 1194 su firewall
#ipsec: funziona con PSK
#non è possibile settare il source address nel port forward da GUI
#Aliases 
  Firewall->Aliases\\
  Possibilità di assegnare un nome a un indirizzo IP o a una classe di indirizzi richiamabili nelle Rules e nel NAT\\
  Possibilità di assegnare un nome a un insieme di porte utilizzabile come port range nelle Rules e nel NAT\\
#FTP Considerations \\
  impostare ftp modalità passiva\\
  vsftpd /etc/vsftpd.conf \\
  pasv_enable=YES\\
  pasv_address=IP Server NAT -- passa al client l'indirizzo IP del Server NAT che reindirizza al server FTP\\
  pasv_min_port=min port     porte utilizzate per il trasferimento dati in modalità passiva\\
  pasv_max_port=max port\\
  rules:\\
  aprire porta 21 e porta per il portforward (porta 22 per sftp) \\
  nat: abilitare il port forward dalla porta 21 (22) alla 21(22) del server ftp \\
       abilitare il port forward dalla porta "min port" alla porta "max port" \\
  In Interface-> WAN e Interface->LAN togliere la spunta da "Disable the userland FTP-Proxy application"  \\
#Trafic Shaper \\
    Firewall-> Trafic Shaper\\
    Gestione del traffico di rete, priorità abbattimento del traffico indesiderato,ottimizzazione della banda e     delle code.  \\ 
    Gestione e abbattimento dei singoli traffici p2p, voip, Network Games, messaggistica....

PACKAGES \\
#Bandwithd:\\
    Genera grafici e statistiche del flusso dati passante dal firewall suddividendo il tipo di traffico (FTP HTTP    P2P TCP UDP ICMP )\\
    Configurazione:\\
        Skip intervals: intervallo di tempo in minuti prima di iniziare a disegnare il grafico (default: 2.5 min)\\
        Graph cutoff: minimo traffico rappresentato di ogni IP espresso in Kb\\
        promiscuous: se abilitato metto l'interfaccia ethernet in modo promiscuo (non adatta al routing) che andrebbe collegata ad un hub per monitorare il traffico passante \\
        filter: filtra certi indirizzi ip (EX "ip 64.215.40.1")
        Meta Refresh: intervallo di aggiornamento dati\\
    
#Snort: IDS Intrusion Detection System \\
    Previa registrazione al sito snort.org da cui è possibile scaricare direttamente rules aggiornate per bloccare traffico malevolo (pacchetti modificati che vanno a far scattare bug) \\
    Registrarsi a snort.org. ottenere Oinkmaster code, inserirlo in Service->Snort->Settings e fare l'update_rules (Scarica le roules per l'IDS da snort.org) \\
    Abilitare re rules interessate da Categories\\
#Ntop statistiche del traffico
#Squid: proxy server
#SquidGuardian: web proxy filter. Richiede Squid, serve per vietare l'accesso a indirizzi, url, contenuti.\\
    Utilizzo: inserire le destinazioni da bloccare in destination e abilitare la regola in default. Se si vuole restringere il filtro solo a certi IP usare ACL 
 
!!!LOGGARE ACCESSO SITI TRAMITE PROXY SQUID

Installare il pacchetto squid

!!Configurazione squid
[{Image src='pfsensesquidlog.jpg' width='500' height='..' align='left|center|right' style='..' class='..' }]


Per inviare il log al demone "syslog:LOCAL7" di pfsense aggiungere in "Custom Option"
%%prettify 
{{{
access_log syslog:LOG_LOCAL7 squid;
}}}
/%
corrispondente al log dhcp\\

!In Status->SystemLog->Setting\\
Abilitare "Enable syslog'ing to remote syslog server"\\
Inserire l'IP del Remote Syslog Server\\

Abilitare "DHCP service events" corrispondente a syslog:LOG_LOCAL7 su cui squid va a scrivere


!!Configurazione server di log
Installare syslog-ng\\

aggiungere in /etc/syslog-ng/syslog-ng.conf

%%prettify 
{{{
source pfsense { udp(ip(192.168.1.4) port(514));};
destination squid { file("var/log/squid/access.$HOST.log");};
log { source(pfsense); destination(squid); };

}}}
/%

Come indirizzo IP inserire quello dell'interfaccia di rete in ascolto sul server

!!Elaborazione LOG con Sarg

!Configurazione
/etc/squid/sarg.conf\\

abilitare Italian e i grafici\\



Il log ricevuto andrà formattato prima di darlo in pasto a sarg in quanto, con il logging remoto vengono aggiunti dei tag non necessari\\


%%prettify 
{{{
 cat /var/log/squid/access.hos1.log | cut -d ' ' -f 6- > /var/log/squid/access.host1.formatted.log
}}}
/%

Successivamente farlo elaborare da sarg

%%prettify 
{{{
sarg -l ImputLog -o OutputDir
}}}
/%

Otterremo il log in formato HTML nella dyrectory da noi scelta