Git Product home page Git Product logo

security-101-for-saas-startups's Introduction

中文翻译

Security 101 for SaaS startups

Things I wish my first boss had told me

So you are working at a startup, and you have been wondering at what point should you start looking into security considerations and compliance? Which technical debt should be postponed for a later stage, and which systems should be hardened this instant? What are the main considerations?

Technical debt gets piled up, and in many cases it is easier to pay later rather than now. For example, if you are using ElasticSearch without username/passwords, you should double check your firewall settings. After round-B your startup would probably have the manpower and budget to properly secure the ElasticSearch cluster.

Startup culture is a bit more difficult to change "later". Let's take a trivial example. Developers that are used to pushing code without code review, would complain that peer review would bog down the development, and it might even smell "too corporate" for them.

So which security considerations are relevant at an early stage?

  • What security concerns were raised by customers willing to pay for your product?

  • What are the security expectations in your industry (Medical, Finance, Enterprise)?

  • What are the target market (country) regulations (Data Privacy, Data Residency)? Europeans are known to have tougher regulations. Different US States have different regulations.

  • Which tools and policies would not hurt your team's morale.

  • How long would it take you to prepare a security risk plan (see example at the bottom of this document)?

    • What is the impact of Intellectual Property theft, business plans theft, bitcoin/ec2 theft, losing all your data ? How would it affect your sales, customers, investors?

    • How can you protect against a data breach?

    • How can you reduce the exposure after a data breach?

We grouped together the expected security recommendations by the different phases a start-up goes through. The more money and data the startup handles, the bigger the investment in security:

continue reading

security-101-for-saas-startups's People

Contributors

0xjuancito avatar adamatan avatar binoculars avatar c-w avatar chad-autry avatar charleypeng1 avatar cottsak avatar dorony avatar edo-arad-forter avatar fuxpavel avatar grnd avatar itaifriendingerforter avatar janpio avatar jim-sokoloff avatar macobo avatar necenzurat avatar nmeisels avatar prayagverma avatar richardlitt avatar saraislet avatar stevenmaude avatar tghosth avatar thebenwaters avatar trenton42 avatar walkr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

security-101-for-saas-startups's Issues

Unexplained acronyms

For those who have come across this guide without a background in SaaS development, explaining the acronyms the first time they're used would help readability. Some are easily googled, while others seem very context sensitive.

'immutable'

Thanks for curating this document. I've learnt a lot from reading it.

I think you can improve the wording in this paragraph:

At this point you should already have automated testing, and (at least semi-) automatic of upgrading and downgrading production versions. The next step is to make sure the production system is immutable. Meaning, any change of code, database, toggles must go through change management (like a pull request, or similar system).

Do you mean to use the word immutable here?

If you are advocating for immutable - which does provide extra security - then I'd update the Meaning, any to Meaning a server that is once deployed, is never modified, merely replaced with a new updated instance. Any change of code, database, toggles must go through change management (like a pull request, or similar system)

https://martinfowler.com/bliki/ImmutableServer.html
https://martinfowler.com/bliki/PhoenixServer.html

Thanks,
Joe.

Checklist

I just found a great checklist here. It would be good to incorporate something like it into this project.

Readme link is broken

The link on the Readme page leads to a 404 page. It is trying to load /master/security.md instead of /english/security.md

secuirty.md is a typo

It should be security.md.

Great read by the way! Thanks for putting this together.

False information about Linux encryption

Linux users would require disk reformatting.

I understand that the tutorial is for basic users and it shouldn't cover things like dm-crypt, veracrypt etc, but the information cited above is not true and it's just spreading FUD across less technical users about Linux. There are a few ways to encrypt system or home folder for existing or future users. It's been widely supported for years now, eg. This tutorial is from 2012, official guide for existing disk encryption from Canonical from 2012, there are more sources and tutorials how to do it, but let's just assume that those are enough for basic users.

Mentioning different security vendors

There is a tradeoff between giving practical advice mentioning specific vendors and features, and being fair with all security vendors.

There are a few ideas I am struggling with:

  1. Add a page per vendor. This is a place where we can add the top 10 tips for each vendor.
  2. Add a page per use-case (for example 2FA providers). The problem here is that you would need to sort the vendors, those being on top benefiting more. It could also become a wikipedia-like editing battleground that I would like to avoid. We could have a poll, and I'll sort the list based on the poll, but that would require some vetting, and confidentiality as startups are reluctant to expose their security stack publicly. Confidentiality in turn might bring up trust issues as things are not being done out in the open.
  3. Referring to external sites that measure up different vendors. This bring the question, which site ? I would like to be biased towards the selection of vendors that startups can use, and not just enterprise customers use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.