Tinha lançado um blog post sobre usar as ferramentas certas para fazer um saas e justamente um dos pontos que cito é segurança.
Digo e cito:
Nada mais importante do que usar um framework maduro.
E no caso, pessoalmente falando, o melhor que temos é o Ruby On Rails e veja que podemos migrar de Ruby para JRuby garantindo que a aplicação pode escalar se e somente se for necessário.
Adote testes como dogma literalmente, teste tudo, se tiver erro gere um teste, se tiver um bug teste, se tiver uma vulnerabilidade teste também.
Coloque:
- Rack Attack
- Brakeman
- Capybara
- Bullet
- Rack Mini Profiler
Veja que a ideia principal é que as libs do rails são maduras e testadas facilmente acopladas e no geral é muito melhor do que depender de si mesmo que só na cabeça vai querer inventar procedimentos de segurança que vai fazer pagar fortunas em indenizações.
Vide Noticia sobre o Saphoos.
Não digo que é a mesma realidade para todo mundo, ou que devem fazer dessa maneira, mas meu post tem como principal pensamento no solo dev que quer fazer um saas.
Outra parte que cito é não fazer devops na mão, sendo melhor mover seu capex para opex
Dentro de seu Software as Service.
Você quer evitar ao máximo problemas de responsabilidade fiscal.
Então a coisa mais inteligente a se fazer é se mover de capex (investimento na própria infra) para opex (contrato de serviços externos).
Use serviços como paper-trail, use a amazon-web-service …
O software continua sendo sua responsabilidade mas, problemas internos de servidores gerenciados por provedores não recaem diretamente sobre você, reduzindo riscos e permitindo focar no desenvolvimento.
Contrate Hackers Ético e faça testes de segurança, corrija brechas periodicamente.