I came across this question
I like to offer my startup also for security advice.
Objective: building a SaaS web application that allows businesses to quickly open up online stores akin to Yahoo! Stores.
Programming: Done mostly by me. Sometimes I hire freelancers to help me with stuff I do not know.
I use CakePHP framework for my web application.
Hosting: Using Amazon EC2 and other Amazon Web Services like Elastic Load Balancing.
Systems Administration: I am running Ubuntu server 10.04
I know this is still a high level question. Let me break this up into several subareas.
Programming, collaboration with freelancers
I am using git and a remote git repo on ProjectLocker. I am not an expert in git. All I know is git add, git commit -a, git push, git merge, git checkout , git pull.
When freelancers do work for me, I always tell them to commit their work in a separate branch and I will do a merge myself into the main branch.
Not sure if there is any security loophole there. Please let me know.
Programming, the code itself
Well, you guys cannot see the code, but I am using CakePHP framework.
I think I did everything correctly except that I had to disable the CSRF protection at times to allow certain flash plugins to work.
Not too sure what I should do about it.
Not sure if there is any security loophole there. Please let me know.
Deployment
I use capistrano to do the deployment for me. Basically I think the capistrano ssh'd into the server and from there gives it an instruction to do a git fetch from the remote repository.
I basically copied and pasted the capistrano deploy script from somewhere and modified it.
Not sure if there is any security loophole there. Please let me know.
Web Application for users
Just bought and installed SSL certs. I had to use a wildcard certificate for my users individual subdomains and a standard SSL cert for the signup page.
Did not buy an extended validation SSL cert. Didn't think I need it.
Not sure if there is any security loophole there. Please let me know.
Systems admin, collaboration, hosting:
I do not have a protocol on how to update my server with security updates since I am not LIVE yet.
I would appreciate something simple that a Ubuntu novice can use.
Amazon Web Services, Systems admin, collaboration:
I hired a sys admin freelancer to help me install SSL certs because a) I am not familiar with Linux, b) I am not familiar with Amazon Web Services
If in future, I hired someone to help me troubleshoot either Ubuntu or my Amazon Web Services, how do I do it without putting my SaaS at risk?
I saw this for Amazon Web Services
Not sure how to use it.
Can someone give me a good protocol to allow hired freelancers to solve my system admin issues in a safe manner?
Other areas I have NOT thought of
Please let me know.