



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
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!




Volete fare un centralino Asterisk ma senza tutti i fronzoli di Trixbox? Volete un centralino puramente IP, senza supporti per schede hardware o semplicemente per farlo girare su una virtual machine?
Allora installate una Debian!
Non entrerò nei meriti dell’installazione di GNU/Linux anche perchè ci sono ottime guide per questo, mentre per avere il nostro centralino puramente IP potete scaricare il sorgente dal sito www.asterisk.org.
Poi è necessario installare tre pacchetti .deb, ovvero libncurses5-dev, zlib1g-dev e libssl-dev con il solito comando apt-get install NOME PACCHETTO.
Il pacchetto può essere scompattato in /usr/src e compilato in 3 semplicissime mosse
make
make install
make samples (per le indispensabili configurazioni di base)
Se tutto si svolgerà senza errori, basterà eseguire il comando asterisk -vv (2 gradi di verbosità) per ottenere una schermata simile
== Registered custom function CALLERID
[func_enum.so] => (ENUM Related Functions)
== Registered custom function ENUMLOOKUP
== Registered custom function TXTCIDNAME
[func_uri.so] => (URI encode/decode functions)
== Registered custom function URIDECODE
== Registered custom function URIENCODE
[format_mp3.so] => (MP3 format [Any rate but 8000hz mono optimal])
== Registered file format mp3, extension(s) mp3
[app_saycountpl.so] => (Say polish counting words)
== Registered application ‘SayCountPL’
Asterisk Ready.(Ultime righe)
A questo punto CTRL+Z e poi bg (che sposterà l’esecuzione in background).
Semplice no?
Adesso potete configurarlo!!
(magari farò un breve tutorial in futuro proprio sulla configurazione base).




Ho “scoperto” una cosa che potrebbe essere utile a chi, come me, usa GNU/Linux Debian 3.1 (Sarge) per la prima volta!
Un mio cliente, una università, mi ha chiesto di prepare un server web con il supporto Tomcat, MySQL ed altre cosucce..
Richiesta esplicita dal dipartimento di ingegneria…vogliono Debian!
Fino ad ora non l’avevo mai usata, sono stato utente di quasi tutte le distro linux, ma Debian quasi mai..solo una breve esperienza domestica con la vecchia Whoody.
In ogni caso questa macchina, un server rack, ha 2GB di memoria, io installo tutto e quando linux si avvia, appena caricato lo initrd…bang! CRC error!
Ehm…reinstallo in maniera speculare…di nuovo!
Allora invece dei 2GB ne metto 512MB, pensando che fossero difettosi (strano…) ed tutto è ok…
Documentandomi un pò ho aggiornato il bios della scheda madre, rimesso i due banchi da 1GB e tutto è partito correttamente..
Ma con il comando “top” Linux mi avverte che vede solo 1GB!!!
Per farla breve, ho scoperto che il kernel di default della Debian Sarge, il 2.4.27, è compilato senza il supporto highmem, quindi il sistema non vede più di 1GB di ram.
Allora come risolvere? Bene, così:
Scaricare l’ultimo kernel da www.kernel.org
poi con apt-get installare i pacchetti kernel-package libncurses5-dev fakeroot wget bzip2
Poi è necessario configurare il kernel, per fare ciò è bene procurarsi una configurazione di base sicuramente funzionante, che può essere trovata o nella cartella /boot, qualcosa dal nome config-2.6.x oppure potete usare questo file
http://www.falkotimme.com/howtos/debian_kernel2.6_compile/config-2.6.8.1
Io poi ho tolto tutti i supporti a usb, audio, video, pcmcia ed altro…tanto è un server!
A questo punto compiliamo
make-kpkg clean
fakeroot make-kpkg –initrd –revision=custom.1.0 kernel_image
e dopo un pò di tempo, nella cartella /usr/src troveremo il pacchetto .deb che andremo ad installare
dpkg -i kernel-image-2.6.x_custom.1.0_i386.deb
In questo modo sarà installata l’immagine del kernel, i moduli, aggiornato il boot loader, installato il ramdisk, e tutto il necessario..
Al reboot…tadan!! 2GB di memoria disponibili!


More Options ...
Categorie
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 