Skip to content

Commit 7270534

Browse files
author
Rafael Miranda
committed
Updated README file
1 parent 756a326 commit 7270534

1 file changed

Lines changed: 72 additions & 1 deletion

File tree

README.md

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,72 @@
1-
DevSecOps Projects
1+
# DevSecOps Projects Overview
2+
3+
## Introduction
4+
5+
This security document outlines a DevSecOps project implementation incorporating Static Application Security Testing (SAST), Software Composition Analysis (SCA), and Infrastructure as Code (IaC) scanning best practices on applications running within AWS infrastrcuture, utilising GitHub Actions with workflows
6+
7+
## Project Goal
8+
9+
- Implement security measures throughout the software development lifecycle, creating a Secure Software Development Life Cycle (SSDLC).
10+
- Automate security testing to identify vulnerabilities early in the development process, shifting security left.
11+
- Integrate security into the CI/CD pipeline for continuous security monitoring.
12+
- Ensure compliance with security best practices and industry standards.
13+
- Enable PR blocking for Critical and High Vulnerabilities.
14+
15+
## Components
16+
17+
### 1. Infrastructure as Code (IaC) Scanning
18+
19+
IaC scanning ensures that the infrastructure configuration code adheres to security best practices and compliance standards. It helps in identifying misconfigurations and security loopholes in cloud infrastructure.
20+
21+
#### Tools:
22+
23+
- **Terraform Compliance**: Assesses Terraform scripts against security policies defined using BDD-style language to ensure compliance.
24+
- **Trivy**: Provides automated IaC scanning to identify security misconfigurations across AWS, Azure, and GCP cloud environments.
25+
26+
### 2. Static Application Security Testing (SAST)
27+
28+
SAST involves analyzing the application's source code or binary code without executing it. This is done to identify security vulnerabilities, coding errors, and other issues in the codebase
29+
30+
#### Tools:
31+
32+
- **CodeQl**: Provides static code analysis to identify bugs, vulnerabilities, and code smells in various programming languages.
33+
34+
### 3. Software Composition Analysis (SCA)
35+
36+
SCA focuses on identifying and managing open-source components and third-party libraries used in the application. It helps in detecting known vulnerabilities in dependencies.
37+
38+
#### Tools:
39+
40+
- **Trivy**: Scans project dependencies and identifies vulnerabilities based on the National Vulnerability Database (NVD) and other sources.
41+
42+
1. **Integration with CI/CD Pipeline**: Incorporate SAST, SCA, and IaC scanning tools into the CI/CD pipeline to automate security testing.
43+
2. **Pre-commit and Post-commit Hooks**: Implement pre-commit hooks to trigger security scans before code is merged into the main branch. Also, execute post-commit hooks to perform additional security checks after code deployment.
44+
3. **Custom Policies**: Define custom security policies based on project requirements and industry standards to ensure comprehensive security coverage.
45+
4. **Automated Remediation**: Configure automated remediation processes to fix identified vulnerabilities or misconfigurations whenever possible.
46+
5. **Reporting and Notifications**: Generate detailed reports on security findings and send notifications to relevant stakeholders for prompt remediation.
47+
48+
## Conclusion
49+
50+
By integrating SAST, SCA, and IaC scanning practices into the DevSecOps pipeline, the project aims to enhance the security posture of the running applications in AWS, reducing vulnerabilities, and ensure compliance throughout the software development lifecycle.
51+
52+
# DevSecOps Project Diagram
53+
54+
```mermaid
55+
flowchart LR
56+
A[GitHub Repos] --> B{CI/CD Pipeline GH Actions}
57+
B --> C[SAST]
58+
B --> D[SCA]
59+
B --> E[IaC Scanning]
60+
C --> F[Static Code Analysis]
61+
D --> G[Dependency Check]
62+
E --> H[Infrastructure Configuration]
63+
F --> I[Code Vulnerabilities]
64+
G --> J[Dependency Vulnerabilities]
65+
H --> K[Infrastructure Misconfigurations]
66+
I --> L[Remediation Actions]
67+
J --> L
68+
K --> L
69+
L --> M[Reporting and Notifications]
70+
M --> N[Development Team]
71+
M --> O[Security Team]
72+
```

0 commit comments

Comments
 (0)