[Linuxtrent] Re: Firewall in Linux

  • From: Luca Manini <manini.luca@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Mon, 8 Jan 2007 12:12:28 +0100

>>>>> "Antonio" == Antonio Galea <ant9000@xxxxxxxxxx> writes:

    Scelgo il messaggio di Antonio perché va un po' nella direzione di
    alcune cose che volevo dire...

    Antonio> Io starei bene attento a dire che il sw opensource è più
    Antonio> sicuro solo perché i sorgenti sono lì in vista.

    Giusto, soprattutto perché tra che siano in vista e che:

    1) qualcuno li guardi;
    2) quel qualcuno capisca;
    3) quel qualcuno o altri facciano qualcosa;
  
    ce ne passa. 

    Antonio> Questo approccio porta gli utenti di sistemi Linux ad un
    Antonio> senso di superiorità nei confronti della sicurezza
    Antonio> informatica che a mio avviso è decisamente
    Antonio> ingiustificato.

    Sul decisamente non saprei. Io credo (immagino) che una certa
    superiorità esista, ma solo immaginarlo è evidentemente un po'
    poco; sarebbe utile che chi al momento beneficia di questa
    "superiorità" (es: almeno tutti noi in ML, immagino) avessimo una
    idea più chiara di "in che senso" e "perché" (ossia grazie a
    cosa).

    Antonio> Nella maggior parte del sw opensource di cui sono a
    Antonio> conoscenza, un serio auditing di sicurezza è assente dal
    Antonio> processo di sviluppo - tutto è lasciato alla bravura
    Antonio> degli sviluppatori e alle _eventuali_ peer review: che
    Antonio> nessuno ti garantisce di avere, però, e che più grande è
    Antonio> la tua base di codice e meno coverage mediamente
    Antonio> offrono... pensa ad OpenOffice e rabbrividisci!

    Questo aspetto, la necessità di un "consapevole" (intenzionale,
    documentato, progettato, eseguito e controllato) sforzo verso la
    sicurezza) è molto importatante.  Soprattutto sarebbe importante
    che ci fossero dei sistemi (es: di sviluppo e di run-time) che ti
    fanno fare la cosa giusta o che ti permettono di controllare
    (testing) che hai fatto/stai facendo la cosa giusta.  

    Es: nella libreria del vostro linguaggio sistema di sviluppo
    preferito [1] c'è (e voi la conoscete :-) una "singola"
    funzione/metodo che:

    1) vi crei un file temporaneo scrivibile/leggibile solo da voi, 
    2) in una subdir di /tmp con le stesse caratteristiche, o a scelta
       in in un qualche posto in RAM un po' più safe,
    3) si incazzi "il più possibile" se non ci riesce,
    4) vi garantisca che il file verrà cancellato "on exit" anche se
       voi, ovviamente, vi dimenticherete di farlo, o se il vostro
       programma viene giù non proprio "gracefully"?

    Qualcuno saprebbe citare un libro "di programmazione" in cui ci
    siano delle parti esplicitamente dedicate alla sicurezza?   O di
    qualche framework di sviluppo con delle "parti" dedicate a questi
    aspetti (es: separazione tra dati "sensibili" e dati "non
    sensibili"  nella configurazione o nei file temporanei di una
    applicazione)? 

    Come faceva giustamente notare Marco Cova l'altra sera, uno dei
    problemi delle applicazione Web è che "adesso le scrivono tutti" e
    quei "tutti" di solito si affidano a strumenti "più grandi di
    loro" (giustamente da un certo punto di vista).

    Inoltre, come commentavo con Roberto Resoli, molti "framework"
    sono scritti in linguaggi interpretati in (rapida, direi)
    evoluzione. Quanti di questi hanno delle suite di test
    funzionanti, con un test di coverage delle medesime?  Inoltre,
    temo che ognuno di questi linguaggi/framework, di solito piuttosto
    refrattari alla collaborazione inter-specifica, si reinventi tutte
    le ruote più o meno tonde del caso.  Per fare un esempio "web" (ma
    forse non è il migliore): ci sono dei "sistemi di gestione delle
    sessioni" scritti in C (o comunque senza dipendenze eccessive),
    scritti bene, con delle API ben fatte che siano condivisibili
    (wrappate) da tutti e di cui ci si possa fidare?


        OK, that's all (e anca massa).

[1] dopo controllo per le gnu libc e per Python :-)

-- 
    bye, Luca
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: