04 gen 2007 @ 8:07 PM 

Eccomi qua dopo svariati giorni di assenza!! (ma non posso fare le ferie io??! :-P )
Tornato al lavoro ho deciso di scaricare e provare (a casa) Endian Firewall 2.1 Community Edition, ovvero una buonissima distribuzione italiana dedicata al funzionamento di firewall, content filter, svariati tipi di proxy e molto altro ancora!
Inizialmente questa distribuzione è nata come un fork di IPCop, ma IMHO questa Endian Firewall è assolutamente superiore, sia nella cura (dall’installazione, alla configurazione tramite GUI, sia per i servizi che offre).
Inoltre se rileva 2 dischi in fase di installazione può essere impostato in modo automatico un RAID 1.
Altra cosa molto interessante, tutte le interfacce ethernet rilevate inzialmente vengono configurate in bridge, questo magari per un utente normale non ha interesse, ma lo è se ad esempio vogliamo facilmente creare un mini switch lato lan!
Anche la parte firewall è notevolemente curata, ma ciò che mi piace molto è la sezione proxy (HTTP,POP3,SMTP,SIP,FTP,DNS), inoltre mai visto un interfaccia grafica decente come questa per Dansguardian.
Ho aperto una categoria apposita per questa distribuzione e da oggi via via posterò sui pregi e sui difetti che troverò nell’uso quotidiano di questo “firewall”, ma ad occhio credo che adotterò questa distro al posto di Trustix per questi compiti!!(su Trustix devo fare tutto a mano, in certi casi il tempo è denarooooo!!!)
In ogni caso è possibile fare modifiche al livello di files conf tramite la console ssh (da attivare che non lo è di default), inoltre il sistema può essere accessibile via console tramite porta seriale ;-)
Che dire, bravi italiani!!!

Posted By: marco
Last Edit: 04 gen 2007 @ 08:10 PM

EmailPermalinkComments (0)
Tags
 22 dic 2006 @ 10:21 PM 

Uno dei principali usi del nostro amato GNU/Linux è sicuramente quello del firewall.
Potente, economico, versatile e facile da configurare…bhe non sempre!!!
Rispetto ad ipchains, il vecchio firewall che stava nei kenrnel 2.0, Iptables/Netfilter ha reso la sintassi meno contorta, ma per creare regole elaborate può essere sempre una pratica ostica.
Inoltre le appliances firewall commerciali più conosciute, permettono di considerare il traffico entrante ed uscente non in schede di rete, ma in visione più ampia, in zone.
Ogni zona può “gestire” anche più schede di rete, e le interazioni tra zone saranno governate da policy di default che potranno essere “superate” da regole specifiche, ma andiamo con calma!!
Il files fondamentali che troverete in /etc/shorewall sono i seguenti

  • zones
  • interfaces
  • policy
  • rules

Ovviamente i nomi sono esplicativi, definizione delle zone, delle interfacce per ogni zona, delle policy di default tra zone e le specifiche regole.
Adesso vi riporterò una configurazione tipica con due schede di rete, con regole che bloccano il traffico di ingresso se non verso determinati ip, blocco totale del traffico in uscita (nattato) escluso determinate porte ed inoltre dei redirect per l’interazione con Dansguardian/Squid e p3scan, ovviamente il nome delle zone sono indicativi :-)

/etc/shorewall/zones

#ZONE   TYPE            OPTIONS         IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
verde   ipv4
rossa   ipv4
#LAST LINE – ADD YOUR ENTRIES ABOVE THIS ONE – DO NOT REMOVE

/etc/shorewall/interfaces

#ZONE   INTERFACE       BROADCAST       OPTIONS
verde   eth0
rossa   eth1    -       routeback
#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE

/etc/shorewall/policy

#SOURCE         DEST            POLICY          LOG             LIMIT:BURST
#                                               LEVEL
rossa   fw      DROP
rossa   verde   DROP
verde   fw      ACCEPT
verde   rossa   DROP
fw      verde   ACCEPT
fw      rossa   ACCEPT
#LAST LINE — DO NOT REMOVE

/etc/shorewall/rules

#ACTION SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/
#                                               PORT(S) PORT(S)         DEST            LIMIT           GROUP
#SECTION ESTABLISHED
#SECTION RELATED
SECTION NEW
LOG:info        verde   fw      tcp     22
LOG:info        verde   fw      tcp     10000
ACCEPT  rossa:XX.XX.XX.XX   $FW     tcp     22
ACCEPT  rossa:XX.XX.XX.XX   $FW     tcp     10000
DNAT    rossa:XX.XX.XX.XX     verde:192.168.0.113     tcp     3389
REDIRECT        verde   8110    tcp     110
REDIRECT        verde   8080    tcp     80
ACCEPT  verde   rossa   tcp     13,17,21,22,23,25,43,53,80,81,110,113,119,143,443
ACCEPT  verde   rossa   tcp     465,993,995,1352,1755,1863,2003,2345,3389,4711
ACCEPT  verde   rossa   tcp     2082,2401,4800,4899,5190,5900,7070,8080,8081,8443,8827,8775,10000
ACCEPT  verde   rossa   tcp     50022,50080
ACCEPT  verde   rossa   tcp     6665:6669
ACCEPT  verde   rossa   tcp     1001:1010
ACCEPT  verde   rossa   tcp     65120:65122
ACCEPT  verde   rossa   tcp     60000:60010
ACCEPT  verde   rossa   tcp     31443
ACCEPT  verde   rossa   udp     37,53,123,3052,4569

Due breve righe su casi particolari (messi per esempio)
ACCEPT  rossa:XX.XX.XX.XX   $FW     tcp     22 (accetta collegamenti ssh da un determinato ip)
ACCEPT  rossa:XX.XX.XX.XX   $FW     tcp     10000 (accetta collegamenti sulla porta webmin)
DNAT    rossa:XX.XX.XX.XX     verde:192.168.0.113     tcp     3389 (port forwarding su un server windows 2003 interno. sempre solo da un determinato ip esterno)
REDIRECT        verde   8110    tcp     110 (per il check del traffico da parte di p3scan)
REDIRECT        verde   8080    tcp     80 (per il controllo dei contenuti da parte di Dansguardian)
Questa serie di regole dovrebbero permettervi una navigazione tranquilla degli utenti, ma anche una certa sicurezza (ad esempio impedire il peer to peer)
Maggiori info sulla sintassi le trovate nella documentazione ufficiale.
Inoltre le distro più adatte per questo uso, IMHO sono Debian e Trustix.
A presto con nuovi articoli sul tema!
Ah dimenticavo, un ottimo frontend per Shorewall è l’onnipresente Webmin!

Posted By: marco
Last Edit: 22 dic 2006 @ 10:29 PM

EmailPermalinkComments (0)
Tags
 07 nov 2006 @ 11:25 PM 

Molte volte può essere utile connettersi a dei dekstop remoti, ad esempio per assistere i propri clienti, ma spesso i pc stanno dietro firewall o semplicemente dei router con NAT.
Il problema è quindi raggiungere questi client, non sempre è possibile effettuare port forwarding, soprattutto se i client sono tanti o non c’è personale tecnico per farlo!
Niente paura, è possibile usare una tecnica chiamata vnc reverso, ovvero la connessione viene inziata dal pc di cui vogliamo controllare il desktop, in altre parole sarà il nostro client ad essere “in ascolto”.
Unico requisito è che ovviamente il nostro client dovrà essere raggiungibile dall’esterno, ma la nostra infrastruttura IT sarà in grado di fare un port forwarding! (o no?!) ;-)
Innanzittutto dobbiamo forwardare dal nostro router (se non abbiamo un ip pubblico) la porta tcp 5500, ovvero la porta in cui sarà in ascolto il demone vnc client (Listening VNC viewer).
Nel computer remoto dovrà essere installato vnc con una password qualsiasi ed eseguito il server (come servizio o manuale), a questo punto cliccare con il tasto destro sull’icona del VNC server e scegliere Add New Client…
In questo modo il server (pc remoto) si connetterà al client (nostro pc) e noi potremmo controllare la sessione desktop di quel pc, senza preoccuparsi di altri NAT :-)

Posted By: marco
Last Edit: 07 nov 2006 @ 11:29 PM

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: Tools, Varie, Windows
 29 ott 2006 @ 4:23 PM 

Gli animali in questione sono i vari spyware, worms e virus che popolano sempre più spesso i pc dei poveri utenti.
Dai miei clienti devo fare spesso delle “bonifiche” e scovare queste scomode presenze, ma fortunatamente esiste un mix di programmi che ne facilitano l’eliminazione!
Infatti raramente ci sarà necessità di formattare la macchina, a me non è mai capitato, infatti come questi “oggetti” si installano possono essere rimossi, solo ci vuole tempo e “fiuto” per farlo.
Innanzittutto l’ideale sarebbe avere un firewall (Linux o no), impendendo l’uscita su internet al pc infetto (o altrimenti togliete il cavo di rete!!).
NOTA 1: Nei firewall sarebbe buona norma permettere il collegamento alla porta 25/tcp solo verso il server di posta del VOSTRO provider, e negarlo verso qualsiasi altra destinazione.
Infatti gran parte dei worms si replicano per posta, o inviano spam, hanno un server di posta interno che usano per collegarsi direttamente con gli altri server smtp.
In questo modo il worm non può spammare e/o replicarsi, ma soprattutto la vostra banda internet non sarà saturata!

I tools base per eliminare questi fastidi sono due, Hijackthis e KillBox, il primo permette di vedere tutto quello che c’è in avvio di Windows (sul registro) e di eliminare questi voci…
OCCHIO che il programma NON controlla nulla in automatico, dovete essere voi, a mano, a trovare le voci sospette ed eliminarle, quindi non è un programma da tutti!
Però potete salvare il log e farlo analizzare online su questo sito www.hijackthis.de, che vi farà un report sulle voci del vostro registro, mostrando a video se un file è sicuro o sospetto.
Potete inoltre fare l’upload dei file sospetti, che saranno analizzati da tre antivirus diversi!
Inoltre una volta eliminati questi elementi dal registro, andranno eliminati fisicamente anche dal disco fisso, cosa che spesso non è possibile fare a mano.
KillBox permette di “marcare” un file per la cancellazione al riavvio successivo se non fosse possibile farlo nella sessione corrente, e per quando riguarda le dll è possibile un-registrale e cancellarle.
In definitiva qualsiasi minaccia, una volta scovata può essere sdradicata!
Inoltre sta formandosi anche su Windows un fenomeno finora ad appannaggio del mondo Linux, ovvero i rootkit, programmi che si nascondono in un sistema e permettono di “accedervi” da remoto senza lasciar traccia dei cracker (o quasi ;-)
Per eliminare i rootkits, Sophos, ha rilasciato questo tools gratuito.
Inoltre su Google basterà scrivere “online antivirus scan” per la possibilità di controllare il vostro sistema senza installare niente sul pc.
Buona caccia!!!

Posted By: marco
Last Edit: 05 nov 2006 @ 02:01 PM

EmailPermalinkComments (0)
Tags
 04 set 2006 @ 11:24 PM 

Continuerò questa serie di post su Trustix con un altra applicazione utile, che uso a casa ed al lavoro, ovvero la centralizzazione della scansione antivirus per la posta POP3.
Indubbiamente tutti i pc hanno l’antivirus,ma quante volte per negligenza dell’utente non sono aggiornati?
Quindi meglio installarlo sul server direttamente, ed anche per Linux esistono decine di antivirus, ma il più famoso è sicuramente ClamAV.
Ma in questo mio post, volevo parlare di qualcosa di diverso che il classico server di posta linux, ma di un qualcosa che faccia la scansione dei messaggi provenienti da qualsiasi server Internet in realtime, prima che arrivino alla casella dell’utente..
Praticamente un Proxy POP3 trasparente all’utente, installato nella macchine firewall.
Intanto maggiori informazioni su http://p3scan.sourceforge.net
Pacchetti necessari da installare con swup sono openssl-devel e pcre-devel
Scaricate il sorgente e scompattatelo

editare prima di tutto il Makefile, sicuramente su Trustix 3.0.5 va cambiata la directory man8 da MANDIR=$(PREFIX)/man/man8 a MANDIR=$(PREFIX)/share/man/man8
Inoltre nei file sorgenti dovrete cambiare dove trovate l’include #include <pcre.h>  in #include <pcre/pcre.h>

A questo punto con make e make install il programma dovrebbe essere installato.
Adesso in /etc/p3scan/p3scan.conf troverete la configurazione; una base e funzionante è questa

pidfile = /var/run/p3scan/p3scan.pid
maxchilds = 10
ip = 0.0.0.0
port = 8110
user = amavis
notifydir = /var/spool/p3scan/notify
virusdir = /var/spool/p3scan
template = /etc/p3scan/p3scan-it.mail
subject = Subject: “[Virus] Trovato virus in questa email:”
scannertype = basic
scanner = /usr/bin/clamscan –no-summary
virusregexp = .*: (.*) FOUND

Vi rimando al sito o al file p3scan.conf.sample per le spiegazioni :-)
OCCHIO l’utente deve essere lo stesso del demone clamd, in questo caso amavis.
Inoltre queste directory /var/spool/p3scan /var/run/p3scan/ /etc/p3scan devono essere di proprietà del solito user.
Adesso non rimane che ridirezionare le connessioni verso la porta 110

iptables –t nat –A PREROUTING –p tcp –i eth0 –dport 110 –j REDIRECT –-to-port 8110

Dove eth0 si intende l’interfaccia lato lan.
Per far partire il servizio service p3scan start
E se tutto vi va bene troverete questo in /var/log/messages

Sep 2 06:32:43 trustix p3scan[2875]: P3Scan Version 2.3.2
Sep 2 06:32:43 trustix p3scan[2875]: Selected scannertype: basic (Basic file invocation scanner)
Sep 2 06:32:43 trustix p3scan[2875]: Listen now on 192.168.100.1:8110
Sep 2 06:32:43 trustix p3scan[2876]: Changing uid (we are root)
Sep 2 06:32:43 trustix p3scan[2876]: Running as user: amavis

Adesso siete protetti! :-)
Inoltre è possibile integrare p3scan con l’anti spam Spamassassin.
Su questo interessante (e complesso) programma, tornerò in un successivo post, ma intanto per usarlo con p3scan basta aggiungere queste due righe al file di configurazione

checkspam
spamcheck = /usr/bin/spamc

dove il percorso di spamc può variare a seconda della distribuzione.

Posted By: marco
Last Edit: 25 nov 2006 @ 10:40 PM

EmailPermalinkComments (0)
Tags
 03 set 2006 @ 6:12 PM 

Trustix è una distribuzione Linux prettamente indirizzata alla configurazione di server, quindi niente X ed applicazioni
inutili, come calcolatrici, giochini e altre amenità (fino a non molto tempo fa usavo CentOS per i server e firewall, ma
devo dire che Trustix è decisamente molto meglio, basti vedere /etc/rc3.d in cui niente (nemmeno sshd!) è attivo per default
e ci sono solo i servizi voluti.
Si possono però creare proxy/content filter, firewall e qualsiasi server con relativa facilità, c’è una grande community
e sul sito uno wiki decisamente ben fatto..vi rimando a www.trustix.org
In questo post vi spiego brevemente come creare un server OpenVPN, incentrato soprattutto sul collegamento many to one, ad
esempio lavoratori che hanno un notebook con il quale collegarsi alla lan.
Particolarità di OpenVPN, che può funzionare anche in udp e quindi con un firewall dietro NAT, basta che dall’esterno sia
raggiungibile la porta dove il server è in ascolto.
Addirittura in laboratorio ho testato l’attraversamento di ben 3 NAT internet–>FIREWALL–>altro firewall perimetrale–>server vpn di una piccola VLAN…
Dall’esterno potevo fare tutto sulla VLAN di destinazione.
C’è da tenere conto che OpenVPN supporta periferiche virtuali quali TUN e TAP.
TUn lavora con pacchetti IP, TAP con frame TAP; questo vuole dire che per creare delle cose come lan virtuali, trasferimento dati da file server remoti o cose simili, dobbiamo usare TAP, che in pratica è un driver Ethernet virtuale (layer 2).
TUN è per tunnel ip (layer 3), ora però da quel che so tun integra il 95% di codice di tap e tap dovrebbe essere integrateo in tun, in ogni caso sempre meglio specificare! :-)
Per prima cosa cercare su Google un server mirror di Trustix dove scaricare dal contrib i pacchetti di OpenVPN, LZO, OpenSSL e PAM.
Una volta installati c’è da eseguire questa serie di comandi

cd /etc/openvpn
cp -a /usr/share/doc/openvpn-/easy-rsa .
cd easy-rsa
vi vars
. vars
mkdir keys
touch keys/index.txt
echo “01″ > serial
./build-dh
./build-ca
./build-key-server server
./build-key client

questo crearà il certificato e chiave privata server, il certificato e chiave per un client, il certificato di Certification Authority ed i parametri Diffie Helmann.
NOTE: potete creare più di un client, ad esempio client1 client2 client3 e così via, a patto che ognuno abbia un nome unico da dare alla richiesta Common Name.
Inoltre se volete che i vostri clients debbano collegarsi tramite l’ausilio di una password usate ./build-key-pass come script.
A questo punto una configurazione tipo per il server è questa (DEVICE TAP)

port 7000
proto udp
dev tap
tls-server
mode server

dh /etc/openvpn/easy-rsa/keys/dh1024.pem
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/testsrv.crt
key /etc/openvpn/easy-rsa/keys/testsrv.key

ifconfig 10.0.1.1 255.255.255.0
ifconfig-pool 10.0.1.100 10.0.1.200
push “route 192.168.1.0 255.255.255.0 10.0.1.1″
push “route 192.168.0.0 255.255.255.0 10.0.1.1″
push “dhcp-option DNS 192.168.0.30″
push “dhcp-option WINS 192.168.0.30″

keepalive 10 120
max-clients 100

comp-lzo
persist-key
persist-tun

verb 4
;mute 20
log /var/log/openvpn/dynamic
status /var/log/openvpn/status

mentre per il client

cert client.crt
key client.key

# Wireless networks often produce a lot
# of duplicate packets. Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# These settings are shared by all clients
client
ns-cert-type server
user nobody
group nobody
remote xxx.xxx.xxx.xxx 7000
ca ca.crt
tls-client
dev tap
proto udp
resolv-retry infinite
nobind
persist-tun
persist-key
comp-lzo
verb 3

Per i client Windows vi consiglio questo sito openvpn.se, una GUI molto carina per gestire graficamente il client! :-)
Questo è tutto, buone VPNs!

Posted By: marco
Last Edit: 25 nov 2006 @ 10:43 PM

EmailPermalinkComments (0)
Tags
 08 ago 2006 @ 8:33 PM 

Ciao a tutti, oggi sono in ferie ma dato che volevo controllare una cosa su un server di un nostro cliente, stavo pensando a come poter fare a collegarmici, dato che l’accesso via Terminal Server è possibile solo uscendo dalla nostra adsl con ip fisso, per ovvie ragioni di sicurezza.
Quindi mi è venuto in mente di fare una bounce connection con netcat!
Non starò qui a tediarvi sulle caratteristiche di nc, vi rimando al sito http://netcat.sourceforge.net/
La logica è questa

CASA MIA—>1234 tcp port—>MIO FIREWALL LAVORO—>3389/tcp—>SERVER CLIENTE

In questo modo il server del cliente vede come ip sorgente quello del nostro firewall permettendo la connessione, mentre io sono comodamente seduto in casa :-)
Per fare in modo che netcat rimanga in ascolto su una porta tcp/ip basta usare inetd o xinted, io userò quest’ultimo.
Per prima cosa create una nuova riga su /etc/services, una cosa del tipo

bounce          9833/tcp

poi andate su /etc/xinetd.d/ e create un file di nome bounce con dentro questo testo

service bounce
{
        flags           = REUSE
        disable         = yes
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        server          = /usr/bin/nc
        server_args     = -w 2 x.x.x.x 3389
}

poi un bel /etc/init.d/xinetd start (o restart se lo avete già in esecuzione!)
In questo modo tutte le connessioni sono ridirezionate e posso lavorare!! :-)
PS.
Come in una ricetta potete aggiungere a piacere elementi di sicurezza, dall’uso di regole sul firewall che limitano l’accesso alla porta, o all’uso del netcat in combinazione con una vpn, ad esempio OpenVPN!

Posted By: marco
Last Edit: 25 nov 2006 @ 10:52 PM

EmailPermalinkComments (0)
Tags
Tags: , ,
Categories: Linux

 Last 50 Posts
 Back
Change Theme...
  • Users » 687
  • Posts/Pages » 377
  • Comments » 83
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

Chi Sono?



    No Child Pages.

Consulenze



    No Child Pages.

Note Legali



    No Child Pages.

CV



    No Child Pages.