Come posso proteggere il mio avvio SaaS?

10

Mi sono imbattuto in questa domanda

Mi piace offrire la mia startup anche per consigli sulla sicurezza.

Obiettivo: creare un'applicazione web SaaS che consenta alle aziende di aprire rapidamente negozi online simili a Yahoo! Negozi.

Programmazione: fatto principalmente da me. A volte assumo freelance per aiutarmi con cose che non conosco.

Uso il framework CakePHP per la mia applicazione web.

Hosting: utilizzando Amazon EC2 e altri servizi Web Amazon come Elastic Load Balancing.

Amministrazione sistemi: eseguo il server Ubuntu 10.04

So che questa è ancora una domanda di alto livello. Permettetemi di rompere questo in diversi sotto-settori.

Programmazione, collaborazione con i freelance

Sto usando git e un repository git remoto su ProjectLocker. Non sono un esperto di git. Tutto quello che so è git add, git commit -a, git push, git merge, git checkout, git pull.

Quando i freelance lavorano per me, dico sempre loro di impegnare il loro lavoro in un ramo separato e io stesso farò una fusione nel ramo principale.

Non sono sicuro se c'è qualche scappatoia di sicurezza lì. Per favore fatemi sapere.

Programmazione, il codice stesso

Bene, voi ragazzi non potete vedere il codice, ma sto usando il framework CakePHP.

Penso di aver fatto tutto correttamente, tranne che ho dovuto disabilitare la protezione CSRF a volte per consentire a determinati plugin flash di funzionare.

Non sono troppo sicuro di cosa dovrei fare al riguardo.

Non sono sicuro se c'è qualche scappatoia di sicurezza lì. Per favore fatemi sapere.

distribuzione

Uso capistrano per fare lo spiegamento per me. Fondamentalmente penso il capistrano ssh'd nel server e da lì gli dà un'istruzione per fare un git fetch dal repository remoto.

Fondamentalmente ho copiato e incollato lo script capistrano deploy da qualche parte e l'ho modificato.

Non sono sicuro se c'è qualche scappatoia di sicurezza lì. Per favore fatemi sapere.

Applicazione Web per gli utenti

Ho appena acquistato e installato certificati SSL. Ho dovuto utilizzare un certificato con caratteri jolly per i singoli sottodomini degli utenti e un certificato SSL standard per la pagina di registrazione.

Non ho acquistato un certificato SSL di convalida esteso. Non pensavo di averne bisogno.

Non sono sicuro se c'è qualche scappatoia di sicurezza lì. Per favore fatemi sapere.

Amministratore di sistema, collaborazione, hosting:

Non ho un protocollo su come aggiornare il mio server con gli aggiornamenti di sicurezza poiché non sono ancora in DIRETTA.

Gradirei qualcosa di semplice che un principiante di Ubuntu possa usare.

Amazon Web Services, amministratore di sistema, collaborazione:

Ho assunto un freelancer amministratore di sistema per aiutarmi a installare certificati SSL perché a) Non ho familiarità con Linux, b) Non ho familiarità con Amazon Web Services

Se in futuro avessi assunto qualcuno che mi aiutasse a risolvere i problemi di Ubuntu o dei miei Amazon Web Services, come posso farlo senza mettere a rischio la mia SaaS?

L'ho visto per Amazon Web Services

Non sai come usarlo.

Qualcuno può darmi un buon protocollo per consentire ai freelancer assunti di risolvere i miei problemi di amministrazione di sistema in modo sicuro?

Altre aree a cui NON ho pensato

Per favore fammi sapere.

    
posta Kim Stacks 27.02.2011 - 15:07
fonte

4 risposte

8

Bene, questa risposta non è esaustiva in quanto si tratta di una domanda importante, ma qui di seguito alcuni pensieri:

GIT:
È un bene che tu stia facendo unire te stesso, vuol dire che gestirai tutte le diff? Se non lo farai, la fiducia del coder potrebbe essere un POF, ma se hai intenzione di dipendere dalla quantità di fusioni ti aspetti di passare molto tempo a fare tutte le differenze da solo.

Programmazione / quadro:
Potrebbe voler stare attenta disabilitando CSRF, ogni volta che lo fai e hai flash ci possono essere alcuni brutti exploit. La cosa migliore da fare è evitare che questi si assicurino di avere una gestione delle sessioni veramente solida e verificare di verificare la verifica ogni volta che un utente accede a una risorsa. Puoi trovare ulteriori informazioni su materiale CSRF comune qui: Domande frequenti su CSRF . Inoltre, fai attenzione a questa vulnerabilità . Non ho molta familiarità con CakePHP, ma il miglior rec è quello di assicurarmi di disinfettare, whitelist se possibile, usare ACL, ecc. Qui è un modo molto semplice per aggiungere un po 'di sicurezza aggiuntiva all'istanza di CakePHP.

Sicurezza server: Non ho un sacco di esperienza con Capistrano, ma da quello che ho sentito è uno strumento abbastanza solido, a patto che tu abbia afferrato una forcella affidabile. Sarei più consapevole delle vulnerabilità nella gestione SSH stessa, poiché mi sembra che sia il caso in cui capistrano potrebbe essere sfruttato molto probabilmente. Per quanto riguarda la sicurezza del server web, penso che Amazon sia una delle migliori scelte disponibili.

SSL:
Sarei molto diffidente nei confronti di un certificato jolly. Se uno dei tuoi sottodomini è compromesso, anche l'intera rete. Tutto ciò che serve è un'autorità di certificazione con una vulnerabilità e tutti i tuoi clienti e i loro dati saranno compromessi. Dato che stai facendo l'e-commerce, è davvero importante avere i più alti livelli di sicurezza per i dati dei clienti.

Riepilogo:
Tutto sommato, consiglio vivamente di assumere un professionista della sicurezza di app Web che sia credibile sul campo e abbia esperienza nell'osservare la tua applicazione. Dal momento che ti occuperai di dati finanziari, che è uno dei tipi più sensibili, è molto importante avere uno sguardo esauriente sul tuo software. So che è difficile quando sei appena agli inizi, ma se non ti prendi il tempo necessario per proteggere la tua app in modo approfondito, un exploit potrebbe far crollare tutta la tua attività.

Spero che questo aiuti:)

    
risposta data 28.02.2011 - 05:05
fonte
7

1) In primo luogo padroneggia il OWASP Top 10 .

2) Installa un Web Application Firewall . Sono requriti dal settore delle carte di pagamento per un motivo (PCI-DSS).

3) Lockdown PHP con PHPSecInfo .

5) Blocca il database .

6) Usa l'analisi del codice statico come RIPS-PHP per rintracciare gravi vulnerabilità nel codice.

7) Usa Linux, specialmente Ubuntu, perché AppArmor interrompe gli exploit.

8) Ultimo ma non meno importante, testare l'applicazione Web del codice per le vulnerabilità. Questo non deve costare un sacco di soldi, Sitewatch ha un servizio di scansione vulnerabilità gratuito.

    
risposta data 06.03.2011 - 08:14
fonte
5

Oltre ai commenti di @ Rook, se dovessi eseguire un server su Internet, ti consiglio vivamente di utilizzare OSSEC. Ottimo software di analisi di registro gratuito e HIDS. Lo eseguo su tutto il mio kit di rivestimento pubblico.

    
risposta data 06.04.2011 - 04:17
fonte
0

Per aggiungere all'aspetto hosting : AWS facilita un modello di responsabilità condivisa che illustra quali parti sono coperte e di cui il cliente ha bisogno per prendersi cura di:

Ciòsignificainparticolarel'applicazioneeidatiintransitodevonoessereprotettidate,ades.implementandolegiàcitate linee guida OWASP .

    
risposta data 29.12.2016 - 10:52
fonte

Leggi altre domande sui tag