...per chiarirci... ritengo questa discussione piacevole, altrimenti abbandonerei
Scusa anche se ti ho dato l'impressione di svalutare la tua proposta, nn è così. E' un po' il mio modo di fare, ma ti assicuro che sono tutt'altro che sordo alle tue risposte, infatti sono convinto che la strada buona stia sempre nel mezzo di due o più idee valide.
E le idee sono valide quando sei disposto a metterle in gioco.
Si potrebbe scrivere libri su questo argomento, perchè la vera verità non appartiene ancora a nessuno diciamo che fino a qualche anno fa c'erano due "correnti di pensiero" distinte nell'ambito dello sviluppo di difese per applicazioni web exposed, una che concentrava tutti gli sforzi nel trovare script che identificassero e di conseguenza respingessero l'accesso malevolo, l'altro, più pacifista nell'animo, nel cercare invece di pulire il codice restituito, rendere più sicuro lo scripting e incapsularlo, assumendo un'atteggiamento decisamente passivo.
Saranno più o meno 3 anni che sto cercando di scrivere la mia difesa perfetta e c'è sempre qualcosa che mi convince che invece non lo è mai.... ma non è un male, vuol dire che ancora ragiono.
Non credo all'unico utilizzo di quel sistema perchè ci vuole troppo tempo perchè un'indirizzo venga giudicato cattivo e inserito in quelle liste, inoltre, la maggior parte degli attacchi avviene dallo spot aperto, da quello non protetto, da un proxi, da un dispositivo multimediale, da phone center, da un proxi... insomma da ip che sicuramente in quelle liste non ci sono.
Può essere utile invece se parte di un controllo più ampio... ti faccio un esempio del mio ragionamento:
tu, per giudicare se tizio è buono o cattivo chiedi referenze a qualcuno che reputi in grado di dartele, ma in realtà ti mancano degli elementi per dire che stai giustamente impedendo un'accesso:
- potrebbe essere tornato buono
- potrebbe non aver intenzioni malevole con te
- se l'ip è quello di un server condiviso con su un bel sito zombie, non è detto che sia il cattivo che ti sta visitando
Questo mi basta almeno per farmi dire che da solo non è efficace.
Ciò che penso è esattamente replicare ciò che si fa nella vita reale:
- Non chiedo in giro se sei cattivo o buono, lo giudico da come ti comporti con me (però è vero che visto che si parla di sicurezza considero anche il tuo sistema come help)
- Ci sono cose che anche se non condivido, ti posso concedere estemporaneamente ( and+1=1/*--
) tanto il mio codice è scritto decentemente e tutto viene filtrato, pure in output c'è il purifier... però me ne accorgo e ti do' uno score..
- Poi ci sono vari modi per vedere se non sei un bot, percheccavolo hai request ogni 0.5 sec e mi cambi pure la sessione... ai ai qui lo score sale... cià che potrei incominciare a metterti in sleep un'attimo...lo stai facendo in admin? e no! l'ospite lì proprio non ci deve stare, tollero un tentativo, magari è ubriaco, dopo ban temporaneo, 1gg e avviso l'admin.
Lo score varia se sei un bot, uno spider, un browser.
...insomma, posso essere d'accordo con te se quel sistema diventa parte di un giudizio non se diventa determinante.
Si fa una fatica della madonna a stare a galla sui motori e bannare può essere pericoloso.
M.