Costruire un framework di sicurezza

3

So che esistono molti framework di sicurezza e che "costruire" un framework di sicurezza è una cattiva idea.

Nel recente progetto su cui ho lavorato, ho utilizzato la sicurezza di primavera per proteggere l'applicazione web. Nel processo, ho ridimensionato / ottimizzato alcune classi di sicurezza primaverili per soddisfare le mie esigenze.

La mia gestione ora vuole che "porti fuori" ciò che ho fatto e lo distribuisca come codice riutilizzabile in un portale interno.

Ora, questa è una cosa giusta da chiedere? Ho cercato di spiegargli che sono solo alcune classi basate sulla sicurezza di primavera e niente di speciale. Ma stanno insistendo per "creare" questo quadro.

È un requisito giusto? Qualche idea su come iniziare? Capisco che iniziare con la sicurezza di primavera non sia molto facile.

Se sto costruendo questo, quali sono le funzioni che devo fornire?

    
posta AviD 28.07.2011 - 08:32
fonte

2 risposte

4

I know there are many security frameworks and "building" a security framework is a bad idea.

In the recent project I have worked on, I used spring security to secure the web application. In the process, I over rided/tweaked some spring security classes to fit my requirement.

My management now wants me to "takeout" the things I did and distribute it as a re usable code in an internal portal. Now, Is this is a fair thing to ask?

Non è intelligente. Sfortunatamente, non ne so abbastanza su ciò che hai ottimizzato o la profondità o l'esperienza e la comprensione della tua gestione. La mia ipotesi è che la tua direzione stia pensando:

"Wow, il nostro ingegnere ha apportato un notevole miglioramento della sicurezza in una struttura consolidata, che deve valere molto."

e "È già stato scritto, solo un po 'di riconfezionamento e le vendite arriveranno."

I tried to explain them it's just some classes build on spring security and nothing special. But they are insisting on "creating" this framework. Is this a fair requirement?

Non sembra sano. Sembra esserci una netta discrepanza tra la tua visione di ciò che hai fatto e la visione della tua gestione. È probabile che la tua gestione abbia una migliore comprensione della creazione di affari e di prodotti e probabilmente avrai una migliore comprensione delle questioni tecniche. Può darsi che il tuo lavoro abbia un incredibile valore di prodotto che la tua gestione vede e tu no. Tuttavia, sono più incline a credere che il tuo lavoro sia buono ma non significativo come prodotto e la tua gestione si sbagli nel loro entusiasmo.

Lasciami dire così. Quanto sarebbe difficile per un concorrente avere uno sviluppatore delle tue abilità, e per lo sviluppatore fare un lavoro equivalente a quello che hai fatto. Se la risposta è molto difficile, finché ci sono aziende che cosa hai fatto hai un prodotto. Se la risposta non è difficile, trasformare il tuo lavoro in un prodotto è più sul volume delle vendite e sul sovraccarico operativo che sul merito tecnico.

Any ideas on how to start?

Se vai avanti, dedica una quantità di tempo sufficiente ai requisiti e al design. Comprendere cosa il management si aspetta che questo prodotto sia, e ricavare gli obiettivi di progettazione da tali aspettative. Pianificare test, rilascio, manutenzione, aggiornamenti e fine vita. Comunicare continuamente con la tua gestione. Se hai problemi, informa la direzione, a volte possono aiutarti o reindirizzare i tuoi sforzi.

If I am building this, what are the functions I need to provide?

Ciò dipenderà dagli obiettivi di progettazione, che a loro volta dipenderanno dai requisiti di gestione o dal concetto per il prodotto.

    
risposta data 29.07.2011 - 09:27
fonte
2

Se tutto ciò che stai facendo è un comportamento esistente con una comoda API, allora dovrebbe essere a posto. Ma ho visto esempi in cui anche questo introduce problemi: tipicamente dove le funzioni racchiuse sono funzioni crittografiche e quindi il wrapper rappresenta effettivamente un protocollo di crittografia. Non sono sicuro che potresti farlo con Spring Security, a meno che tu non abbia inventato un nuovo plug-in di hashing o qualcosa del genere.

Se hai aggiunto nuove funzionalità o hai abbreviato alcune delle cose che il framework Spring Security sta facendo, devi essere più attento. Dovresti ottenere un test indipendente delle modifiche da parte di un tester di sicurezza prima di aprirlo al mondo esterno: anzi, prima di usarlo nella rabbia, sarebbe una buona cosa:).

Infine, se ciò che hai fornito è già possibile in un altro framework ben collaudato, dovresti respingere e suggerire che la direzione raccomanda l'uso di tale framework. Potresti prendere in considerazione la migrazione all'implementazione meglio testata nel tuo codice.

    
risposta data 28.07.2011 - 11:26
fonte

Leggi altre domande sui tag