GithubHelp home page GithubHelp logo

antonini / terrascan Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tenable/terrascan

0.0 0.0 0.0 146 KB

Collection of security and best practice test for static code analysis of terraform templates

License: Other

Makefile 4.79% Python 69.46% HCL 25.75%

terrascan's Introduction

shell

Terrascan

image

image

Documentation Status

Updates

A collection of security and best practice tests for static code analysis of terraform templates using terraform_validate.

Features

Terrascan will perform tests on your terraform templates to ensure:

  • Encryption
    • Server Side Encryption (SSE) enabled
    • Use of AWS Key Management Service (KMS) with Customer Managed Keys (CMK)
    • Use of SSL/TLS and proper configuration
  • Security Groups
    • Provisioning SGs in EC2-classic
    • Ingress open to 0.0.0.0/0
  • Public Exposure
    • Services with public exposure other than Gateways (NAT, VGW, IGW)
  • Logging & Monitoring
    • Access logs enabled to resources that support it

Installing

Terrascan uses Python and depends on terraform-validate and pyhcl. After installing python in your system you can follow these steps:

$ pip install terrascan

Running the tests

To run execute terrascan.py as follows replacing with the location of your terraform templates:

$ terrascan --location tests/infrastructure/success --tests all

To run a specific test run the following command replacing encryption with the name of the test to run:

$ terrascan --location tests/infrastructure/success --tests encryption

To learn more about the options to the cli execute the following:

$ terrascan -h

Feature Status

Legend:
  • = test needs to be implemented
  • ✔️ = test implemented
  • blank - N/A
======================================== ====================== ====================== ====================== ======================

Terraform resources Encryption Security Groups Public exposure Logging & Monitoring

======================================== ====================== ====================== ====================== ======================

aws_alb ✔️ ✔️ aws_alb_listener ✔️ aws_ami ✔️ aws_ami_copy ✔️ aws_api_gateway_domain_name ✔️ aws_cloudfront_distribution ✔️ ✔️ aws_cloudtrail ✔️ ✔️ aws_codebuild_project ✔️ aws_codepipeline ✔️ aws_db_instance ✔️ ✔️ aws_db_security_group ✔️ aws_dms_endpoint ✔️ aws_dms_replication_instance ✔️ ✔️ aws_ebs_volume ✔️ aws_efs_file_system ✔️ aws_elasticache_security_group ✔️ aws_efs_file_system ✔️ aws_elasticache_security_group ✔️ aws_elastictranscoder_pipeline ✔️ aws_elb ✔️ ✔️ ✔️ aws_emr_cluster ✔️ aws_instance ✔️ ✔️ aws_kinesis_firehose_delivery_stream ✔️ ✔️ aws_lambda_function ✔️ aws_launch_configuration ✔️ aws_lb_ssl_negotiation_policy aws_load_balancer_backend_server_policy aws_load_balancer_listener_policy aws_load_balancer_policy aws_opsworks_application ✔️ aws_opsworks_custom_layer aws_opsworks_ganglia_layer aws_opsworks_haproxy_layer aws_opsworks_instance aws_opsworks_java_app_layer aws_opsworks_memcached_layer aws_opsworks_mysql_layer aws_opsworks_nodejs_app_layer aws_opsworks_php_app_layer aws_opsworks_rails_app_layer aws_opsworks_static_web_layer aws_rds_cluster ✔️ aws_rds_cluster_instance ✔️ aws_redshift_cluster ✔️ ✔️ ✔️ aws_redshift_parameter_group aws_redshift_security_group ✔️ aws_s3_bucket ✔️ ✔️ aws_s3_bucket_object ✔️ aws_security_group ✔️ aws_security_group_rule ✔️ aws_ses_receipt_rule aws_sqs_queue ✔️ aws_ssm_maintenance_window_task ✔️ aws_ssm_parameter ✔️

======================================== ====================== ====================== ====================== ======================

terrascan's People

Contributors

cesar-rodriguez avatar pyup-bot avatar zachzeid avatar guykisel avatar lrakai avatar

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.