Git Product home page Git Product logo

forseti-security's Introduction

Notice of Archiving

Dear Forseti users,

We are writing to inform you that we plan to archive the Forseti-Security repository.

Over the past few years, GCP Security has introduced a host of new features and capabilities that have addressed many security challenges targeted by Forseti. With low community engagement and limited improvements in the last two years, we have decided to place Forseti Security in archive. Note that other repos such as Forseti Real-Time-Enforcer and Resource-Policy-Evaliation-Library have also been automatically archived in February 2023 following no activities.

We plan to complete the archiving process by the end of June 2023.

What does this mean for you?

  • The Forseti-Security repository will be read-only, meaning that users will not be able to modify or contribute additional code.
  • You will however be able to fork or clone the repository and continue to use it however bearing ownership of your instance.
  • There will be no additional support from Google on Forseti. We are moving the existing support teams to new projects.

We thank you for your active engagement over the last few years.


Forseti Security

A community-driven collection of open source tools to improve the security of your Google Cloud Platform environments.

Get Started with Forseti Security.

Contributing

We are continually improving Forseti Security and invite you to submit feature requests and bug reports. If you would like to contribute to our development efforts, please review our contributing guidelines and submit a pull request.

More info on the branches.

forsetisecurity.org

If you would like to contribute to forsetisecurity.org, the website and its content are contained in the forsetisecurity.org-dev branch. Visit its README for instructions on how to make changes.

Governance

For information on how this project is managed and governed review our governance guidelines.

Community

Review our community page for ways to engage with the Forseti Community.

Support

Support for the Forseti Security product can be obtained through a few channels:

  • Join the Slack Channel and engage in discussions with other users and the Forseti community.
  • Ask a question about Forseti and get community support by posting to ([email protected]). Posts can receive responses from the community or from engineers on the Forseti team.
  • File a GitHub issue. Issues are typically reviewed and triaged within 24 - 48 hours.

Releases

Product releases will occur on a quarterly schedule. An out of band patch release may occur but only for a critical defect or security issue. The team will support patching critical defects or security issues in the current release and in the 2 previous quarterly releases only. If a defect is found in a release beyond current - 2 customers are expected to upgrade to a current supported version of the product.

Issue Triage

The triage process is a multi-step process that is collaboratively performed by the core project team and our issue bot. Triaging typically should occur within 1 - 2 business days, but may take longer, if the project team is not around. The purpose of triaging is to clearly understand the request and determine the next steps for what will happen with your issue. It's straightforward to understand whether or not your issue is triaged: if the issue contains the triaged :yes label this indiacts the issue has been reviewed and classified by the project team. In the case of a bug the a team member may request more details or information in order to better understand the problem, help determine prioritization or aid in reproducing the issue. We close issues for the following reasons:

Reason Label
The issue is obsolete or already fixed. N/A
We didn't get the information we needed within 7 days. issue-review: need-more-information
Given the information we have we can't reproduce the issue or do not feel the issue necessitates a fix. issue-review: closed won't fix
There has been activity on the issue for a significant period of time. stale

Assigning Milestones

In addition to milestones representing our iterations for our product releases we add additional labels that have special meaning:

  • Backlog Issue to be considered at some point in the future
  • 1 - Planning Issues being considered for one of the next 3 iterations. The issue is on the short list to be assigned to a concrete iteration.
  • 2 - Ready Issue assigned and scheduled for a specific target milestone release
  • 3 - Work in progress Issue is assigned to engineer and is actively working on the issue for targeted milestone release

Pull Requests

The team and community encourages pull requests to fix issues or improve the product. Pull requests are typically reviewed within 48 hours of submission. If pull requests become inactive they will be automatically closed, but can be quickly and easily re-opened. Please review the project’s contributing guidelines before submitting a pull request.

forseti-security's People

Contributors

ahoying avatar angelsungoogle avatar arbeit avatar beaverlyhills avatar blueandgold avatar bobklein2 avatar carise avatar dekuhn avatar dufton avatar ericbeach avatar felixbb avatar frozen425 avatar gbrindisi avatar gkowalski-google avatar goofiva avatar gruihuang avatar hshin-g avatar jf-marquis-adeo avatar jiyunyao avatar joecheuk avatar katze120 avatar kevensen avatar matthewg avatar mirons-google avatar mwwolters avatar osandoval011 avatar red2k18 avatar thenenadx avatar therealsmartalec avatar umairidris 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

forseti-security's Issues

Improve email notification for inventory.

Right now, we have a skeleton for inventory email notification. For improvements:

(1) We should add more data to this, such as listing each resources that is queued for loading, and what is the final status (success, failed, not loaded, etc).

(2) Use email template.

Modularize the Inventory Pipelines

As reported by ahoying:

The pipelines ran by the inventory loader should be configurable and loadable as plugins, which should be self contained with their database schema, loaders, fetches, transformers, etc all bundled along with dependencies.

Then the inventory_runner can get the list of enabled pipelines, figure out the order to process based on dependencies, raise exceptions if dependencies are missing, optionally launch different pipelines in parallel if they are not dependent on each other, etc.

Which would help migrate to dataflow (if we decide that's a good idea) down the road.

Standardize Forseti documentation

Create a new docs/ directory in the root of the repo.

Suggested flow of the documentation (this is just a skeleton):

README.md - intro, table of contents

prerequisites.md

  • Create GCP project
  • Set up billing
  • Install toolchain/third party software for setting up forseti-security
  • Run the setup.py installation
  • Link to "What's next"

deployment_manager.md - use the current instructions from the deployment-templates/README.md, minus the prereq steps

dev_setup.md - Links to appropriate setup instructions for each module

For each functional module (i.e. probably don't have to do this for common modules) in Forseti Security:

  • In google/cloud/security/ reuse the README.md for additional setup steps but do not include the prereq steps
  • Show usage of the CLI
  • If there is additional documentation related to configuration (e.g. writing rules, policies, etc.), link to them where needed.

Use Data Studio for Reporting

Data Studio can prepare some very cool looking reports & charts, and it can also use Cloud SQL as a datasource. So, we should see if we can use it to visualize things like how much inventory has been collected, how many violations have been found, and how many things have been enforced.

Also see if the basic reports can be given to users.

Screenshots or sample output?

Would be cool to have some screenshots or sample outputs (e.g. CSVs) without installing and seeing what it provides. My 2c.

Allow option to save config files in Google Cloud Storage.

This applies to the config files in /config directory.

/config/db.yaml.sample
/config/inventory.yaml.sample

Currently, they are stored and read from local disk. But we run the risk of losing them on re-deployment. So to prevent this and with the benefit of easier deployment, we should allow an option to store and read them from Google Cloud Storage.

Add Basic Health Monitoring with Stackdriver

Story

Monitor for anything that someone should respond when the basic health of the service changes. Such as if the VM host goes down, an alert should be sent. Customers need to know if Forseti is running/healthy which is difficult to determine today.

Possible Solution(s)

Few more things to consider:

  • Is Forseti healthy (is the Forseti process running, is Forseti meeting its SLO?). This can be done with Stackdriver process health; I'm not sure if this is configurable via Terraform. Terraform supports an uptime check with http calls.
  • Is the Forseti VM healthy (is the VM running, is the CPU, memory, disk used up?). This can be done with Stackdriver metrics monitoring; I'm not sure if this is configurable via Terraform.
  • Is the CloudSQL DB VM healthy (ditto as above).
  • Notify on Forseti errors in the logs, which is available via Terraform. Is this the same as turning on notifications for new errors?

Screen Shot 2019-11-11 at 9 17 50 AM

Consider adding an uptime check and alerting when errors occur.

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.