Newsgroup: it.comp.reti.locali
Titolo: Firewall: esiste sicuro al 100%?

Ciao a tutti,
    se volessi mettere in server con modem ADSL esposto alle intemperie di
internet, come dovrei configurare il firewall? (Linux Box per esempio con
Ipchains)
Se uso l'opzione DENY per tutte le porte e tutti gli indirizzi può entrarmi
qualche hacker? (Lo so , è come essere FUORI rete ma è un punto di
partenza!!)
A questo punto supponiamo io voglia navigare in internet: basta che accetti
messaggi dalla porta 80 (server web remoto) diretti verso... cosa? Che porta
usano i browsers (client sul mio PC)??
Se poi voglio la posta elettronica devo solo accettare messaggi da e per le
porte 110 e 25 vero?
E se attivo le regole di cui sopra (e se sono funzionanti per navigare e per
la posta) può qualche hacker entrare? Per esempio da una porta Telnet, anche
se il firewall rifiuta messaggi esterni verso la porta telnet (23 se non
sbaglio).
Per ultimo: i routers che installano telecom, infostrada, etc etc sono a
prova di bomba o qualche hacker può 'aggirarli' ed entrare in una rete ad
essi collegata? Penso che praticamente se mi mettono un Modem ADSL che fa
passare tutto io debba fare un firewall con le stesse regole o quasi di quei
routers...
Grazie per l'attenzione
    Osolemio

 prova di bomba o qualche hacker può 'aggirarli' ed entrare in una rete ad
Diciamo che non ti dovrebbe interessare. Una volta che metti il firewall
a valle del router sei a posto.
-- 
Vincenzo

 it.comp.linux.sys
In realta` e` it.comp.os.linux.sys
-- 
Vincenzo

 a valle del router sei a posto.
Mi interessa perché se ci sono rischi col firewall e alcune porte aperte
(Posta in arrivo, Web in arrivo sui clients, DNS in arrivo, Posta inviata
dal server, web server in uscita), allora preferisco rinunciare al server e
far configurare il router dal provider così da 'lasciare fare' agli esperti!
    Osolemio

 far configurare il router dal provider così da 'lasciare fare' agli esperti!
Premesso che è scontato che l'implementazione di un firewall è una 
cosa 'da esperti'. Se non te la senti di costruire il packet filter 
a mano con iptables/ipchains puoi ricorrere a qualcosa di semi-automatico 
come smoothwall (
http://www.smoothwall.org/
). Esiste una versione free 
(GPL) e una commerciale. Quella free dovrebbe soddisfare abbondantemente 
le tue esigenze.
In ogni caso una volta implementato il firewall e messo a valle del 
router sei (relativamente) tranquillo che nessun normale 'acher' 
riuscirà a bucarti il sistema.
Tieni presente che un router con incluso firewall costa di più e 
soprattutto costa molto la configurazione che Telecom ti effettua su 
tue specifiche. Tra l'altro se, una volta configurato il router/firewall,
tu avessi esigenze diverse dovresti pagare di nuovo per la riconfigurazione
e così via.
-- 
Vincenzo

Considerazioni sulla sicurezza:
(Scusate ma posto su più gruppi, dato che sono diverse le competenze (Linux,
reti, hackers, firewalls))
Stavo pensando ad un sistema sicuro per proteggere la mia rete ed i miei
servers! Tralasciamo un attimo le questioni di principio e il tempo che ci
vorrebbe a realizzare tale soluzione, puramente custom.
Premetto che:
- sono un elettronico, mi occupo di firmware su microcontrollori e quindi
sono abituato alle questioni di basso livello;
- ho già realizzato un driver per schede NE2000;
- devo proteggere una connessione ADSL, 640kbit/128kbit, dunque nulla di
performante;
- ho un vecchio Pentium 166Mmx e una decina di schede ISA NE2000.
- l'ADSL serve in una piccola ditta con 4 locali/6 macchine, non ci sono
problemi logistici (posso quando voglio mettere mano al firewall)
Cosa mi ci vuole a realizzare un firewall/router per i fatti miei?
Metto su il PC con due schede di rete, il buon vecchio MSDOS 6.22 (o MSDOS
di Win95), l'HD da 1.6GB tutto per me.
Le schede di rete non le faccio gestire né al DOS né al BIOS. Faccio tutto
io sulle I/O ports.
Smanetto in C e mi faccio il mio bel substrato I/OPORTs-NIC-IP/ARP-UDP/TCP,
(già fatto a livello di sperimentazioni sulle NE2000), e su questo scrivo il
mio programmino di Firewall e Routing. Mi genero il mio bell'EXE che tutto
solo con lo spazio che vuole gira e gestisce tutto scrivendo i Log dei
pacchetti. Il Nat/Masquerading lo fa un server Linux (web, mail, samba
server) che a sua volta mi separa dalla rete. Il router ADSL lo lascio in
trasparente totale tra internet e il mio firewall (NAT statico)
Internet~~~Router ADSL~~~Firewall~~LinuxServer~~Tutta la rete
Il firewall lo configuro per rifiutare qualsiasi protocollo non UDP e non
TCP.
L'UDP lo apro solo per la porta DNS
Il TCP lo rifiuto se c'è il solo flag SYN (connessione originata
dall'esterno, no?) fintantoché non ho un server WEB.
Accetto solo pacchetti che hanno a che fare con FTP/HTTP/SMTP/POP.
I vantaggi? Non in ordine di importanza:
-Lo modifico come e quando voglio
-Nessun altro programma (servizio) gira sul firewall (e ce credo!), che non
ha neppure un sistema operativo (MSDOS non lo considero tale riguardo alla
rete, eppoi non sa neppure di avere due schede di rete), quindi è
impossibile sconfigurarmi il firewall
-I files di LOG sul firewall (come sopra) non sono assolutamente alterabili
da nessuno, solamente da chi prende in mano la tastiera localmente.
-Il server linux (che fa web(forse), mail, samba) se ne sta al sicuro DENTRO
la rete protetto dal Firewall
-Posso (se non ho servizi per l'esterno tipo web) tenere completamente
chiusa la rete se non mi serve! Da tastiera, da seriale, da parallela vado a
dire al mio programmino firewall di aprirsi quando mi pare e mi serve! E se
voglio usare la LAN posso mandare un comando NON STANDARD dall'interno della
mia rete: un pacchetto di protocollo INESISTENTE che mi gestisco come voglio
e riconosco per aprire e chiudere il firewall. Per la posta elettronica
(agisco sempre da client per scaricare le mie caselle ed inviare la posta)
mi basta periodicamente aprire solo le porte per lo scarico e l'invio (e il
DNS). Ovvio che posso solo aprire le 5/6 porte sicure che mi servono, tutto
il resto resta comunque chiuso!
-Posso, se la cosa mi preoccupa, aggiungere una terza scheda NE2000
appositamente per il server Web, che sarà un'altra macchina staccata dalla
rete aziendale. I buchi su Apache riguarderanno solo il sito.
Internet~~~Router ADSL~~~Firewall~~LinuxServerMail~~Tutta la rete
                                                 |
                                                 ~~~~LinuxServerWeb
Insomma, tale soluzione è NON STANDARD e rigida (modificabile solo sul
posto)... mi pare attuabile per una piccola azienda. (Certo per la Fiat non
sarebbe il massimo...:-)  )
Quali punti negativi potrei analizzare?
Grazie
    Osolemio

 -I files di LOG sul firewall (come sopra) non sono assolutamente alterabili
Basta mandare il log ad un'altra macchina Linux all'interno della tua rete 
con il servizio syslog
Secondo me se spendessi un mesetto a leggere documentazione su come
implementare un fw su Linux (e soprattutto a studiarti bene tcp/ip)
avresti una soluzione funzionante in tempi ragionevoli invece di
inseguire progetti difficilmente realizzabili e soprattutto che
richiedono un tempo enorme.
Il tuo entusiasmo e` molto apprezzabile. Impiegalo per studiare 
approfonditamente gli argomenti in questione :-)
-- 
Vincenzo

 Vincenzo
;-)
Devo fare un progetto simile su microcontrollore, quindi il PC è
un'occasione per sperimentare lo strato sw.
Scommettiamo su quanto ci metto? ;-)
    Osolemio
PS Ma come sicurezza starei tranquillo ti pare? Leggendo i logs di tanto in
tanto...

 come va che sono curioso... :)
Certamente!
Ma ti sembra una soluzione sicura se blocco le portte giuste?
Ciaociao
Osolemio

 Quali punti negativi potrei analizzare?
Sei solo, non hai nessuna esperienza, non conosci neanche tanto bene
come funziona ip (vedi sopra), non credo puoi fare un lavoro migliore
di quello che hanno fatto tanti sviluppatori prima di te...
-- 
Il segreto di una vita sana e' lo sport.
Mai farne.

 PS Ma come sicurezza starei tranquillo ti pare? 
Assolutamente no :-) Inoltre con iptables (kernel 2.4.x) puoi avere cose 
piu` sofisticate come il connection-tracking (sai avendo uno stack tcp/ip :-) )
-- 
Vincenzo

 Assolutamente no :-)
Perché? Sto chiedendo qualche consiglio... quello sui buchi sulla
frammentazione che mi hai detto è molto interessante!
Vedi, io sto chiedendo qua e là informazioni sui problemi di sicurezza: il
fatto che nessuno metta le mani sul fuoco per l'invulnerabilità di una linux
box mi fa molto pensare. Ci sono i problemi dei buchi nei vari programmi,
delle porte o servizi lasciati aperti di cui magari se non si è super
esperti non ci si sogna neppure l'esistenza!
Eppoi mi consigliano di NON tenere sul firewall linux i servizi server tipo
samba o web, ma metterli nella rete privata su altre macchine. Di continuare
a controllare i softwares usati (kernel, iptables/ipchains,fetchmail,
apache, etc etc) perché saltano fuori dei buchi sulla sicurezza; di attacchi
che alterano i LOG files e quindi non mi accorgo di nulla. Insomma parrebbe
che preoccuparsi di configurare iptables o ipchains a dovere non sia
sufficiente. Alcuni addirittura dicono di TOGLIERE dal server firewall
addirittura il compilatore.
Con un firewall linux se un hacker riesce ad entrare nella mia macchina
Linux (anche per miei errori) potrebbe buttarmi giù il firewall e poi fare
ciò che vuole. Beh, col mio firewall personale è impossibile che lo butti
giù (a meno che non materializzi via porta 53 udp un fantasma che usa la
tastiera, x esempio). Se proprio vuole fare qualcosa deve farlo attraverso
le sole porte che lascio aperte, altre non può aprirne. E nessun altro buco
software o virus potrà farlo.
Sottolineo ancora: non ho dubbi su iptables ma su tutto il resto che da
conoscere è veramente immenso!
^^^^^^^^^^^^^^^^^^^^^^^
Per esempio: facevo delle prove con Ipchains su una linux box della
lan(avevo un RH7.0 sotto mano e non ero a casa mia). Facevo un (non ricordo
bene, +- così:)
/sbin/ipchains -F input
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -A input -d 192.168.1.1 ! 23 -j DENY
e poi provavo con un programmino a connettermi dalla rete su tutte le porte
dalla 1 alla 120. Ebbene, sai che mi connettevo solamente alla 23 E ALLA
25!!!!!! (prima invece sulle 21,22,23,25,80,110,111...) Ho aggiunto a monte
una regola per fare un DENY esplicito su tale porta! Niente. Accetta sempre
la connessione. Perchè? Come mai? Ho già trovato una falla alla mia
semplicissima regola con un programmino stupido e banale? Sicuramente la
risposta sarà semplice, avrò fatto qualcosa di sbagliato. Ma capite, non
posso rischiare! Io volevo bloccare tutto tranne la porta 23 (lo so è telnet
sto solo facendo delle prove) e non ci sono riuscito. Se avessi fatto col
mio firewall vi assicuro che a quella porta non arrivava neppure un quark di
un bit! ;-)
^^^^^^^^^^^^^^^^^^^^^^^
Non è il sistema Linux che critico ma la mia non-conoscenza dello stesso!
Voi credete che Albacom faccia una programmazione (a livello di firewall)
molto sofisticata sui suoi Alcatel? (E' una domanda, io non lo so)
Cmq.. Claro que sì sulla macchina Linux in LAN metto PURE iptables. Dos is
mej que uan!
Sento di poter fare qualcosa in breve tempo perché ho (quasi) tutte le basi,
ed ho pure fretta. Sento anche che per essere tranquillo su cosa faccio su
Linux (e cosa fanno i sw che uso) devo impiegare molto più tempo in studio.
Studio che non è investimento come invece la realizzazione che ho pensato,
molto attinente al mio lavoro.
Vi propongo la mia soluzione così, per confrontarmi ed avere nuove idee!
Prendetelo come un mio hobby, ci si ragiona sù e magari si pensano nuove
cose.
    Notte
Osolemio
PS Se qualcuno curioso del progettino vuol dare qualche suggerimento...

 Non è il sistema Linux che critico ma la mia non-conoscenza dello stesso!
E' paradossale che tu sia nella situazione di avere più facilità
nello scrivere un firewall che nello studiare Linux come firewall.
Ma visto che ne sei convinto continua. Poi una volta finito ci dai
l'ip che lo 'proviamo' tutti insieme :-)
-- 
Vincenzo

 Ma ti sembra una soluzione sicura se blocco le portte giuste?
Dipende da quanto sei bravo, imho. Come singolo è difficile battere la
"concorrenza" open source già solo perchè i prodotti sono testati su
larghissima scala, visionati e corretti da programmatori in tutto il
mondo... cmq... in bocca al lupo !
