complio 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- CHANGELOG.md +208 -0
- README.md +343 -0
- complio/__init__.py +48 -0
- complio/cli/__init__.py +0 -0
- complio/cli/banner.py +87 -0
- complio/cli/commands/__init__.py +0 -0
- complio/cli/commands/history.py +439 -0
- complio/cli/commands/scan.py +700 -0
- complio/cli/main.py +115 -0
- complio/cli/output.py +338 -0
- complio/config/__init__.py +17 -0
- complio/config/settings.py +333 -0
- complio/connectors/__init__.py +9 -0
- complio/connectors/aws/__init__.py +0 -0
- complio/connectors/aws/client.py +342 -0
- complio/connectors/base.py +135 -0
- complio/core/__init__.py +10 -0
- complio/core/registry.py +228 -0
- complio/core/runner.py +351 -0
- complio/py.typed +0 -0
- complio/reporters/__init__.py +7 -0
- complio/reporters/generator.py +417 -0
- complio/tests_library/__init__.py +0 -0
- complio/tests_library/base.py +492 -0
- complio/tests_library/identity/__init__.py +0 -0
- complio/tests_library/identity/access_key_rotation.py +302 -0
- complio/tests_library/identity/mfa_enforcement.py +327 -0
- complio/tests_library/identity/root_account_protection.py +470 -0
- complio/tests_library/infrastructure/__init__.py +0 -0
- complio/tests_library/infrastructure/cloudtrail_encryption.py +286 -0
- complio/tests_library/infrastructure/cloudtrail_log_validation.py +274 -0
- complio/tests_library/infrastructure/cloudtrail_logging.py +400 -0
- complio/tests_library/infrastructure/ebs_encryption.py +244 -0
- complio/tests_library/infrastructure/ec2_security_groups.py +321 -0
- complio/tests_library/infrastructure/iam_password_policy.py +460 -0
- complio/tests_library/infrastructure/nacl_security.py +356 -0
- complio/tests_library/infrastructure/rds_encryption.py +252 -0
- complio/tests_library/infrastructure/s3_encryption.py +301 -0
- complio/tests_library/infrastructure/s3_public_access.py +369 -0
- complio/tests_library/infrastructure/secrets_manager_encryption.py +248 -0
- complio/tests_library/infrastructure/vpc_flow_logs.py +287 -0
- complio/tests_library/logging/__init__.py +0 -0
- complio/tests_library/logging/cloudwatch_alarms.py +354 -0
- complio/tests_library/logging/cloudwatch_logs_encryption.py +281 -0
- complio/tests_library/logging/cloudwatch_retention.py +252 -0
- complio/tests_library/logging/config_enabled.py +393 -0
- complio/tests_library/logging/eventbridge_rules.py +460 -0
- complio/tests_library/logging/guardduty_enabled.py +436 -0
- complio/tests_library/logging/security_hub_enabled.py +416 -0
- complio/tests_library/logging/sns_encryption.py +273 -0
- complio/tests_library/network/__init__.py +0 -0
- complio/tests_library/network/alb_nlb_security.py +421 -0
- complio/tests_library/network/api_gateway_security.py +452 -0
- complio/tests_library/network/cloudfront_https.py +332 -0
- complio/tests_library/network/direct_connect_security.py +343 -0
- complio/tests_library/network/nacl_configuration.py +367 -0
- complio/tests_library/network/network_firewall.py +355 -0
- complio/tests_library/network/transit_gateway_security.py +318 -0
- complio/tests_library/network/vpc_endpoints_security.py +339 -0
- complio/tests_library/network/vpn_security.py +333 -0
- complio/tests_library/network/waf_configuration.py +428 -0
- complio/tests_library/security/__init__.py +0 -0
- complio/tests_library/security/kms_key_rotation.py +314 -0
- complio/tests_library/storage/__init__.py +0 -0
- complio/tests_library/storage/backup_encryption.py +288 -0
- complio/tests_library/storage/dynamodb_encryption.py +280 -0
- complio/tests_library/storage/efs_encryption.py +257 -0
- complio/tests_library/storage/elasticache_encryption.py +370 -0
- complio/tests_library/storage/redshift_encryption.py +252 -0
- complio/tests_library/storage/s3_versioning.py +264 -0
- complio/utils/__init__.py +26 -0
- complio/utils/errors.py +179 -0
- complio/utils/exceptions.py +151 -0
- complio/utils/history.py +243 -0
- complio/utils/logger.py +391 -0
- complio-0.1.1.dist-info/METADATA +385 -0
- complio-0.1.1.dist-info/RECORD +79 -0
- complio-0.1.1.dist-info/WHEEL +4 -0
- complio-0.1.1.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: complio
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Open Source ISO 27001 Compliance Scanner for AWS - 40 automated tests
|
|
5
|
+
Home-page: https://github.com/Tiger972/complio
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: compliance,iso27001,soc2,aws,security,devops,infrastructure,audit,governance,cloud-security
|
|
8
|
+
Author: Complio Team
|
|
9
|
+
Author-email: andy.piquonne@complio.tech
|
|
10
|
+
Maintainer: Complio Team
|
|
11
|
+
Maintainer-email: andy.piquonne@complio.tech
|
|
12
|
+
Requires-Python: >=3.11,<4.0
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Information Technology
|
|
17
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Security
|
|
24
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
25
|
+
Classifier: Topic :: System :: Monitoring
|
|
26
|
+
Classifier: Typing :: Typed
|
|
27
|
+
Requires-Dist: boto3 (>=1.34.0,<2.0.0)
|
|
28
|
+
Requires-Dist: botocore (>=1.34.0,<2.0.0)
|
|
29
|
+
Requires-Dist: click (>=8.1.7,<9.0.0)
|
|
30
|
+
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
|
|
31
|
+
Requires-Dist: markdown (>=3.5.2,<4.0.0)
|
|
32
|
+
Requires-Dist: pydantic (>=2.5.3,<3.0.0)
|
|
33
|
+
Requires-Dist: pydantic-settings (>=2.1.0,<3.0.0)
|
|
34
|
+
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
|
|
35
|
+
Requires-Dist: python-json-logger (>=2.0.7,<3.0.0)
|
|
36
|
+
Requires-Dist: rich (>=13.7.0,<14.0.0)
|
|
37
|
+
Requires-Dist: structlog (>=24.1.0,<25.0.0)
|
|
38
|
+
Project-URL: Documentation, https://github.com/Tiger972/complio
|
|
39
|
+
Project-URL: Repository, https://github.com/Tiger972/complio
|
|
40
|
+
Description-Content-Type: text/markdown
|
|
41
|
+
|
|
42
|
+
# Complio - Scanner de Conformité ISO 27001 pour AWS
|
|
43
|
+
|
|
44
|
+
[](https://www.python.org/downloads/)
|
|
45
|
+
[](https://opensource.org/licenses/MIT)
|
|
46
|
+
[](https://github.com/Tiger972/complio)
|
|
47
|
+
```
|
|
48
|
+
██████╗ ██████╗ ███╗ ███╗██████╗ ██╗ ██╗ ██████╗
|
|
49
|
+
██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║ ██║██╔═══██╗
|
|
50
|
+
██║ ██║ ██║██╔████╔██║██████╔╝██║ ██║██║ ██║
|
|
51
|
+
██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║ ██║██║ ██║
|
|
52
|
+
╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ███████╗██║╚██████╔╝
|
|
53
|
+
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═════╝
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Tests de conformité automatisés open source pour l'infrastructure AWS selon les contrôles ISO 27001:2022.**
|
|
57
|
+
|
|
58
|
+
Complio aide les équipes DevSecOps à réussir leurs audits plus rapidement en automatisant les vérifications de conformité de l'infrastructure, en fournissant des recommandations de remédiation actionnables et en générant des rapports de preuves prêts pour l'audit.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🎯 Fonctionnalités
|
|
63
|
+
|
|
64
|
+
- ✅ **40 Tests ISO 27001:2022** - Couverture complète du chiffrement, réseau, IAM et journalisation
|
|
65
|
+
- ⚡ **Scans Rapides** - Exécution parallèle avec suivi de progression
|
|
66
|
+
- 📊 **Formats de Rapports Multiples** - Rapports JSON et Markdown avec preuves signées SHA-256
|
|
67
|
+
- 📈 **Historique des Scans** - Suivez la conformité dans le temps et comparez les résultats
|
|
68
|
+
- 🔒 **Lecture Seule** - Utilise les credentials AWS CLI standard, nécessite uniquement des permissions de lecture
|
|
69
|
+
- 🎨 **CLI Élégant** - Sortie terminal enrichie avec résultats colorés
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 🚀 Démarrage Rapide
|
|
74
|
+
|
|
75
|
+
### Prérequis
|
|
76
|
+
|
|
77
|
+
- Python 3.11 ou supérieur
|
|
78
|
+
- AWS CLI configuré (`aws configure`)
|
|
79
|
+
- Credentials AWS avec accès en lecture seule
|
|
80
|
+
|
|
81
|
+
### Installation
|
|
82
|
+
```bash
|
|
83
|
+
pip install complio
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Premier Scan
|
|
87
|
+
```bash
|
|
88
|
+
|
|
89
|
+
# Lancer votre premier scan de conformité
|
|
90
|
+
complio scan
|
|
91
|
+
|
|
92
|
+
# Scanner une région spécifique
|
|
93
|
+
complio scan --region eu-west-3
|
|
94
|
+
|
|
95
|
+
# Utiliser un profil AWS spécifique
|
|
96
|
+
complio scan --profile production
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Exemple de Sortie :**
|
|
100
|
+
```
|
|
101
|
+
╔════════════════════════════════════════════════════════╗
|
|
102
|
+
║ Scan de Conformité Terminé ║
|
|
103
|
+
╚════════════════════════════════════════════════════════╝
|
|
104
|
+
|
|
105
|
+
Résumé
|
|
106
|
+
───────────────────────────────────────────────────────
|
|
107
|
+
Score Global : 92% ✅ CONFORME
|
|
108
|
+
Tests Totaux : 40
|
|
109
|
+
Réussis : ✅ 37
|
|
110
|
+
Échoués : ❌ 3
|
|
111
|
+
Temps d'Exécution : 4.2s
|
|
112
|
+
|
|
113
|
+
Résultats par Catégorie
|
|
114
|
+
───────────────────────────────────────────────────────
|
|
115
|
+
🔐 Chiffrement & Sécurité des Données (12/12) 100% ✅
|
|
116
|
+
🌐 Sécurité Réseau (9/11) 82% ⚠️
|
|
117
|
+
👤 Gestion des Identités et Accès (7/7) 100% ✅
|
|
118
|
+
📊 Journalisation & Surveillance (9/10) 90% ✅
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 📦 Couverture Complète des Tests (40 Tests)
|
|
124
|
+
|
|
125
|
+
### 🔐 Chiffrement & Sécurité des Données (12 tests)
|
|
126
|
+
|
|
127
|
+
| # | Test | Contrôle ISO | Description |
|
|
128
|
+
|---|------|--------------|-------------|
|
|
129
|
+
| 1 | **Chiffrement des Buckets S3** | A.8.2 | Valide le chiffrement des buckets S3 (AES-256, KMS) |
|
|
130
|
+
| 2 | **Versioning S3** | A.8.13 | Vérifie le versioning des buckets S3 pour la récupération des données |
|
|
131
|
+
| 3 | **Chiffrement des Volumes EBS** | A.8.2 | Vérifie le chiffrement au repos des volumes EBS |
|
|
132
|
+
| 4 | **Chiffrement des Instances RDS** | A.8.2 | Valide le chiffrement des bases de données RDS |
|
|
133
|
+
| 5 | **Chiffrement DynamoDB** | A.8.2 | Vérifie le chiffrement des tables DynamoDB (KMS) |
|
|
134
|
+
| 6 | **Chiffrement ElastiCache** | A.8.24 | Vérifie le chiffrement Redis/Memcached |
|
|
135
|
+
| 7 | **Chiffrement Redshift** | A.8.24 | Valide le chiffrement des clusters Redshift |
|
|
136
|
+
| 8 | **Chiffrement EFS** | A.8.11 | Vérifie le chiffrement du système de fichiers EFS |
|
|
137
|
+
| 9 | **Chiffrement des Sauvegardes** | A.8.24 | Vérifie le chiffrement des coffres AWS Backup |
|
|
138
|
+
| 10 | **Chiffrement Secrets Manager** | A.8.2 | Valide le chiffrement KMS de Secrets Manager |
|
|
139
|
+
| 11 | **Chiffrement des Topics SNS** | A.8.24 | Vérifie le chiffrement des topics SNS avec KMS |
|
|
140
|
+
| 12 | **Chiffrement des Logs CloudWatch** | A.8.24 | Vérifie le chiffrement des groupes de logs CloudWatch |
|
|
141
|
+
|
|
142
|
+
### 🌐 Sécurité Réseau (11 tests)
|
|
143
|
+
|
|
144
|
+
| # | Test | Contrôle ISO | Description |
|
|
145
|
+
|---|------|--------------|-------------|
|
|
146
|
+
| 13 | **Groupes de Sécurité EC2** | A.8.20 | Détecte les règles trop permissives (SSH, RDP) |
|
|
147
|
+
| 14 | **ACL Réseau** | A.8.20 | Valide la configuration des NACL |
|
|
148
|
+
| 15 | **Blocage d'Accès Public S3** | A.8.22 | Vérifie les paramètres de blocage d'accès public S3 |
|
|
149
|
+
| 16 | **Flow Logs VPC** | A.8.15 | Vérifie que les flow logs VPC sont activés |
|
|
150
|
+
| 17 | **Configuration WAF** | A.8.20 | Vérifie les règles et la journalisation WAF WebACL |
|
|
151
|
+
| 18 | **Sécurité API Gateway** | A.8.22 | Valide l'authentification et le throttling d'API Gateway |
|
|
152
|
+
| 19 | **HTTPS CloudFront** | A.8.24 | Impose HTTPS pour les distributions |
|
|
153
|
+
| 20 | **Sécurité VPN** | A.8.22 | Vérifie le chiffrement des tunnels VPN |
|
|
154
|
+
| 21 | **Sécurité Transit Gateway** | A.8.22 | Valide les paramètres de Transit Gateway |
|
|
155
|
+
| 22 | **Sécurité des Endpoints VPC** | A.8.22 | Vérifie les politiques des endpoints VPC |
|
|
156
|
+
| 23 | **Network Firewall** | A.8.20 | Vérifie le déploiement d'AWS Network Firewall |
|
|
157
|
+
|
|
158
|
+
### 👤 Gestion des Identités et Accès (7 tests)
|
|
159
|
+
|
|
160
|
+
| # | Test | Contrôle ISO | Description |
|
|
161
|
+
|---|------|--------------|-------------|
|
|
162
|
+
| 24 | **Politique de Mots de Passe IAM** | A.9.4.3 | Valide les exigences de mot de passe |
|
|
163
|
+
| 25 | **Application du MFA** | A.9.4.3 | Vérifie que le MFA est activé pour les utilisateurs IAM |
|
|
164
|
+
| 26 | **Protection du Compte Root** | A.9.2.1 | Vérifie le MFA du compte root |
|
|
165
|
+
| 27 | **Rotation des Clés d'Accès IAM** | A.9.2.4 | Valide l'âge des clés (max 90 jours) |
|
|
166
|
+
| 28 | **Permissions des Utilisateurs IAM** | A.9.2.3 | Vérifie les privilèges excessifs |
|
|
167
|
+
| 29 | **Politiques de Confiance des Rôles IAM** | A.9.2.5 | Valide les relations de confiance des rôles |
|
|
168
|
+
| 30 | **Rotation des Clés KMS** | A.8.24 | Vérifie la rotation des clés KMS |
|
|
169
|
+
|
|
170
|
+
### 📊 Journalisation & Surveillance (10 tests)
|
|
171
|
+
|
|
172
|
+
| # | Test | Contrôle ISO | Description |
|
|
173
|
+
|---|------|--------------|-------------|
|
|
174
|
+
| 31 | **Journalisation CloudTrail** | A.8.15 | Vérifie CloudTrail multi-région |
|
|
175
|
+
| 32 | **Validation des Logs CloudTrail** | A.8.16 | Vérifie que la validation des fichiers de logs est activée |
|
|
176
|
+
| 33 | **Chiffrement CloudTrail** | A.8.24 | Valide le chiffrement des logs avec KMS |
|
|
177
|
+
| 34 | **Rétention des Logs CloudWatch** | A.8.15 | Assure les politiques de rétention (90+ jours) |
|
|
178
|
+
| 35 | **Alarmes CloudWatch** | A.8.16 | Vérifie la configuration des alarmes |
|
|
179
|
+
| 36 | **AWS Config Activé** | A.8.16 | Vérifie l'enregistrement Config |
|
|
180
|
+
| 37 | **GuardDuty Activé** | A.8.16 | Vérifie la détection des menaces GuardDuty |
|
|
181
|
+
| 38 | **Security Hub Activé** | A.8.16 | Valide Security Hub |
|
|
182
|
+
| 39 | **Règles EventBridge** | A.8.16 | Vérifie les règles d'événements de sécurité |
|
|
183
|
+
| 40 | **Couverture Flow Logs VPC** | A.8.15 | Vérifie la couverture complète |
|
|
184
|
+
|
|
185
|
+
**Tous les tests sont mappés aux contrôles de l'Annexe A ISO 27001:2022 (A.8.x, A.9.x)**
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 📖 Utilisation
|
|
190
|
+
|
|
191
|
+
### Commandes
|
|
192
|
+
```bash
|
|
193
|
+
# Lancer un scan de conformité
|
|
194
|
+
complio scan [OPTIONS]
|
|
195
|
+
|
|
196
|
+
# Voir l'historique des scans
|
|
197
|
+
complio history [OPTIONS]
|
|
198
|
+
|
|
199
|
+
# Comparer deux scans
|
|
200
|
+
complio compare <scan-id-1> <scan-id-2>
|
|
201
|
+
|
|
202
|
+
# Effacer l'historique des scans
|
|
203
|
+
complio clear-history
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Options de Scan
|
|
207
|
+
```bash
|
|
208
|
+
# Scanner une région spécifique
|
|
209
|
+
complio scan --region us-east-1
|
|
210
|
+
|
|
211
|
+
# Utiliser un profil AWS spécifique
|
|
212
|
+
complio scan --profile production
|
|
213
|
+
|
|
214
|
+
# Sauvegarder le rapport dans un fichier
|
|
215
|
+
complio scan --output rapport.json --format json
|
|
216
|
+
complio scan --output rapport.md --format markdown
|
|
217
|
+
|
|
218
|
+
# Exécuter en parallèle (plus rapide)
|
|
219
|
+
complio scan --parallel
|
|
220
|
+
|
|
221
|
+
# Scanner toutes les régions
|
|
222
|
+
complio scan --all-regions
|
|
223
|
+
|
|
224
|
+
# Lister les tests disponibles
|
|
225
|
+
complio scan --list-tests
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Historique & Comparaison
|
|
229
|
+
```bash
|
|
230
|
+
# Voir les scans passés
|
|
231
|
+
complio history
|
|
232
|
+
|
|
233
|
+
# Afficher les 10 derniers scans
|
|
234
|
+
complio history --limit 10
|
|
235
|
+
|
|
236
|
+
# Comparer deux scans pour voir les changements
|
|
237
|
+
complio compare scan-abc123 scan-def456
|
|
238
|
+
|
|
239
|
+
# Effacer l'ancien historique des scans
|
|
240
|
+
complio clear-history
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 🔧 Configuration
|
|
246
|
+
|
|
247
|
+
Complio utilise les credentials AWS CLI standard depuis `~/.aws/credentials` et `~/.aws/config`.
|
|
248
|
+
|
|
249
|
+
### Permissions AWS
|
|
250
|
+
|
|
251
|
+
Complio nécessite un accès **lecture seule** aux services AWS. Exemple de politique IAM :
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"Version": "2012-10-17",
|
|
255
|
+
"Statement": [
|
|
256
|
+
{
|
|
257
|
+
"Effect": "Allow",
|
|
258
|
+
"Action": [
|
|
259
|
+
"s3:GetBucketEncryption",
|
|
260
|
+
"s3:GetBucketVersioning",
|
|
261
|
+
"s3:GetBucketPublicAccessBlock",
|
|
262
|
+
"s3:ListAllMyBuckets",
|
|
263
|
+
"ec2:DescribeSecurityGroups",
|
|
264
|
+
"ec2:DescribeVolumes",
|
|
265
|
+
"ec2:DescribeVpcs",
|
|
266
|
+
"ec2:DescribeFlowLogs",
|
|
267
|
+
"rds:DescribeDBInstances",
|
|
268
|
+
"dynamodb:DescribeTable",
|
|
269
|
+
"iam:GetAccountPasswordPolicy",
|
|
270
|
+
"iam:ListUsers",
|
|
271
|
+
"iam:ListVirtualMFADevices",
|
|
272
|
+
"cloudtrail:DescribeTrails",
|
|
273
|
+
"cloudtrail:GetTrailStatus",
|
|
274
|
+
"logs:DescribeLogGroups",
|
|
275
|
+
"kms:DescribeKey",
|
|
276
|
+
"kms:GetKeyRotationStatus",
|
|
277
|
+
"guardduty:ListDetectors",
|
|
278
|
+
"securityhub:DescribeHub",
|
|
279
|
+
"wafv2:ListWebACLs"
|
|
280
|
+
],
|
|
281
|
+
"Resource": "*"
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 🛡️ Sécurité
|
|
290
|
+
|
|
291
|
+
- **Opérations en Lecture Seule** : Tous les tests effectuent des appels API en lecture seule
|
|
292
|
+
- **Aucune Collecte de Données** : Aucune donnée n'est envoyée vers des serveurs externes
|
|
293
|
+
- **Stockage Local** : Les résultats des scans sont stockés localement dans `~/.complio/history`
|
|
294
|
+
- **Authentification AWS Standard** : Utilise la chaîne de credentials standard boto3
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 📊 Formats de Rapports
|
|
299
|
+
|
|
300
|
+
### Rapport JSON
|
|
301
|
+
```bash
|
|
302
|
+
complio scan --output rapport.json --format json
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
JSON structuré avec :
|
|
306
|
+
- Score de conformité global
|
|
307
|
+
- Résultats par test avec statut réussi/échoué
|
|
308
|
+
- Données de preuves avec signatures SHA-256
|
|
309
|
+
- Constatations avec étapes de remédiation
|
|
310
|
+
- Métadonnées (horodatage, région, compte AWS)
|
|
311
|
+
|
|
312
|
+
### Rapport Markdown
|
|
313
|
+
```bash
|
|
314
|
+
complio scan --output rapport.md --format markdown
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Markdown lisible avec :
|
|
318
|
+
- Résumé exécutif
|
|
319
|
+
- Résultats des tests par catégorie
|
|
320
|
+
- Constatations détaillées avec remédiation
|
|
321
|
+
- Références des preuves
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 🤝 Contribution
|
|
326
|
+
|
|
327
|
+
**Phase Actuelle** : 40 Tests Complétés ✅
|
|
328
|
+
**Statut** : ✅ Couverture complète des tests de conformité ISO 27001:2022 opérationnelle
|
|
329
|
+
```bash
|
|
330
|
+
# Lancer les tests
|
|
331
|
+
poetry run pytest
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
- Génération de rapports PDF avec graphiques
|
|
335
|
+
- Notifications email et planification
|
|
336
|
+
- Framework de conformité SOC 2
|
|
337
|
+
- Analyse de tendances historiques
|
|
338
|
+
- Intégration CI/CD et support multi-cloud
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 📄 Licence
|
|
343
|
+
|
|
344
|
+
Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails.
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## 🙏 Support
|
|
349
|
+
|
|
350
|
+
- **Email** : andy.piquonne@complio.tech
|
|
351
|
+
- **Documentation** : [GitHub Wiki](https://github.com/Tiger972/complio/)
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## ⭐ Montrez Votre Soutien
|
|
356
|
+
|
|
357
|
+
Si vous trouvez Complio utile, pensez à :
|
|
358
|
+
|
|
359
|
+
- ⭐ Mettre une étoile au dépôt
|
|
360
|
+
- 🐛 Signaler des bugs et suggérer des fonctionnalités
|
|
361
|
+
- 📝 Contribuer au code ou à la documentation
|
|
362
|
+
- 📢 Partager avec votre réseau
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## 🗺️ Roadmap
|
|
367
|
+
|
|
368
|
+
- [ ] Génération de rapports PDF
|
|
369
|
+
- [ ] Tableau de bord HTML
|
|
370
|
+
- [ ] Intégrations CI/CD (GitHub Actions, GitLab CI)
|
|
371
|
+
- [ ] Frameworks de conformité additionnels (SOC 2, HIPAA, NIST)
|
|
372
|
+
- [ ] Support multi-cloud (Azure, GCP)
|
|
373
|
+
- [ ] Création de tests personnalisés
|
|
374
|
+
- [ ] Notifications Slack/Email
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## 📝 Journal des Modifications
|
|
379
|
+
|
|
380
|
+
Voir [CHANGELOG.md](CHANGELOG.md) pour les détails des versions.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
**Construit avec ❤️ pour la communauté Cloud**
|
|
385
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
CHANGELOG.md,sha256=bDJEez_uEYHT0LEm-Y8QrhGORg84ncMsVtuBNs40L7g,6486
|
|
2
|
+
README.md,sha256=XZUUiu0FUdfKUC12QhGZHuZscfzqQYfgiyUqv0o3l2M,12843
|
|
3
|
+
complio/__init__.py,sha256=RdSvT6pcxUdiDYAL2-25dcm5GvO0Mt0ZX5aSHQFXsZs,1141
|
|
4
|
+
complio/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
complio/cli/banner.py,sha256=UHZlKcmt850v4iO_gQuLVkMMt4a0Cesj7V-TussfDa4,4583
|
|
6
|
+
complio/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
complio/cli/commands/history.py,sha256=c8MpeagxAfQnfD9hB4romKtSwm0y1-6zXpyRHZDIykc,14227
|
|
8
|
+
complio/cli/commands/scan.py,sha256=EEcJWgu3vuGR-ArDS5ZndVrPQ13rpvq5sl8RHaDiMys,26544
|
|
9
|
+
complio/cli/main.py,sha256=u8JMScz5XfV7Tp8vEVETo73c2WHZXPalNg_6n6OcCaY,2988
|
|
10
|
+
complio/cli/output.py,sha256=8L89ZuRJof7wM0541eTuLuLOVuu9SoYe2jRXH5qs_rw,9837
|
|
11
|
+
complio/config/__init__.py,sha256=2Kdf5irRYtZRaHiObcOHhUc2kbmnDxoPTGfUKbRMJgs,330
|
|
12
|
+
complio/config/settings.py,sha256=tz1SGSXKX-doIwSOvVVg-GZa6yXro8-LwQrv_Zh-pms,9471
|
|
13
|
+
complio/connectors/__init__.py,sha256=l_01ch8drRAWpBLPACZK997oXH0TUnoS58ym3lOupVQ,207
|
|
14
|
+
complio/connectors/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
complio/connectors/aws/client.py,sha256=BpBNKtaNjcn01gEhtKpkbHzSswHOLQB1w79XoyBL6Bw,11503
|
|
16
|
+
complio/connectors/base.py,sha256=17nFXiBt4vmww-23iuEGyodUvthOFf7Uc7pkr5GTtw4,3651
|
|
17
|
+
complio/core/__init__.py,sha256=7AI8vodWeDuvxdsOZqIg9chjy2U1wUiwviARZ8noTYs,229
|
|
18
|
+
complio/core/registry.py,sha256=GBWrECalItVq3aYBaZOcqzx0Fb9muuPwpvTlL7nKs8w,10220
|
|
19
|
+
complio/core/runner.py,sha256=ZyghqZax6hW23X09PoUs64vSJpNBqiMSnniMONJ_2b0,11596
|
|
20
|
+
complio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
complio/reporters/__init__.py,sha256=lo9hjVmF4eBIs6qjfhLcIpYkz1D--gVxc0Prjw5nIFk,140
|
|
22
|
+
complio/reporters/generator.py,sha256=KHmkNKaGpBVeHxZpVq4o77FEmAPAZUVS0CWUnGTmtzs,15625
|
|
23
|
+
complio/tests_library/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
+
complio/tests_library/base.py,sha256=DFfqgdu7dOG9KSmEu_twlgpi_gaRec1bwVwnnA87KbE,15982
|
|
25
|
+
complio/tests_library/identity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
complio/tests_library/identity/access_key_rotation.py,sha256=gYOk2TuE87UfDiR7aFsKUI3YoXO3IPnHCqcLIRXxhBA,12191
|
|
27
|
+
complio/tests_library/identity/mfa_enforcement.py,sha256=AuHcVeHeMMZ_i4hrNLeMb50kvI724DYfvAB4M3J0zGU,12651
|
|
28
|
+
complio/tests_library/identity/root_account_protection.py,sha256=iJ1VpROslge1okSqIiV3LOXkS2ufCwgxQy0rC1ByNmg,20224
|
|
29
|
+
complio/tests_library/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
complio/tests_library/infrastructure/cloudtrail_encryption.py,sha256=cawfXtWmeuhaBqPr6ivJqRAfLi_VCZclLozrvLV6UNs,11450
|
|
31
|
+
complio/tests_library/infrastructure/cloudtrail_log_validation.py,sha256=MeXLGbU-TZy_kUvrjOJYeEd1Y3pycup_QEfL9KVy30k,10767
|
|
32
|
+
complio/tests_library/infrastructure/cloudtrail_logging.py,sha256=4mVAW2-lM0CEK43D8gCspv6VBNOuxztJL7YR54yiL_s,15956
|
|
33
|
+
complio/tests_library/infrastructure/ebs_encryption.py,sha256=JatkCPyTC_sZp3M6kjk5ReLD2ksxj-2sRyfVpBET25w,8871
|
|
34
|
+
complio/tests_library/infrastructure/ec2_security_groups.py,sha256=ZDFGnNqhsw65IsIBqftX4efAroomJ-UQn8QuA--D990,12249
|
|
35
|
+
complio/tests_library/infrastructure/iam_password_policy.py,sha256=pOQyvhfeDkqSJRviChIK7qec4MF5kv2ctl-pcH98o-U,19552
|
|
36
|
+
complio/tests_library/infrastructure/nacl_security.py,sha256=JG9CdaoXnx0jCvToDs9rmiH7IckC9jGl5TZlePyOTxs,13928
|
|
37
|
+
complio/tests_library/infrastructure/rds_encryption.py,sha256=rEZ9pEySWYp_dTCswmftOH1Oef4E_2x0Ajeu5jOuNXY,9761
|
|
38
|
+
complio/tests_library/infrastructure/s3_encryption.py,sha256=ufYsfPySOP245w8sUpB-3DdwsjWdSXjGtxVLkeCrRHY,10658
|
|
39
|
+
complio/tests_library/infrastructure/s3_public_access.py,sha256=ZMoyoOYueVi3XXvchMMLhsQyEJkPPTc5DQzd-2_FjXU,16227
|
|
40
|
+
complio/tests_library/infrastructure/secrets_manager_encryption.py,sha256=lcqxUWXSOn1mgeHpuaXScj0D8hmVVDs0NYPbodEDZj0,9643
|
|
41
|
+
complio/tests_library/infrastructure/vpc_flow_logs.py,sha256=vA4qNljzIcN0MkKVriH5rtF1mXzk28ilzu62m7CD5ig,11209
|
|
42
|
+
complio/tests_library/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
+
complio/tests_library/logging/cloudwatch_alarms.py,sha256=ZvhATKYbGNt7VtAfsP0X_OuZhE351oXauQdVAMXSZVM,15663
|
|
44
|
+
complio/tests_library/logging/cloudwatch_logs_encryption.py,sha256=7hnVCCRmJGI6drayk8S3A7_weYLXGyjc-PLkLn-V3FM,11694
|
|
45
|
+
complio/tests_library/logging/cloudwatch_retention.py,sha256=NEi2QsUSx_A1_GLWcQtYLdjDOI3O8431Jqj2yudovE4,10108
|
|
46
|
+
complio/tests_library/logging/config_enabled.py,sha256=JQ1zzLPtsAuPrkl9Dp4yr1irlAqnf42--Z4fldn9jXc,17416
|
|
47
|
+
complio/tests_library/logging/eventbridge_rules.py,sha256=zUfm8D_mDQU_tnBOA_36Mg05G8cgQXhZDc3OLeW-RPQ,20254
|
|
48
|
+
complio/tests_library/logging/guardduty_enabled.py,sha256=g6GIstI4jjlgE8-WVBvqRa_WVT4kUYw32dLjv5ex-Z8,19550
|
|
49
|
+
complio/tests_library/logging/security_hub_enabled.py,sha256=3ZJeLnsXvQz9ughvJYqrPgh9NHyV6FUeNZg2CWfxpJc,19206
|
|
50
|
+
complio/tests_library/logging/sns_encryption.py,sha256=-G-XpFuo4r6jxpvFLD4OD7R56T9rPpK5FY1HjdpuKrA,10777
|
|
51
|
+
complio/tests_library/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
complio/tests_library/network/alb_nlb_security.py,sha256=n1mg8uDZ_TrQs4vtFmgkD9f_Ps4wQPBIooOOrHotJeU,17971
|
|
53
|
+
complio/tests_library/network/api_gateway_security.py,sha256=np7WN9oli02cRRYLXlblYuxs2XSgbiirhpyL6KVPJRc,19720
|
|
54
|
+
complio/tests_library/network/cloudfront_https.py,sha256=HMGj5RmV44TwSDSWAS6VLwd7ZRXrJLMVG-Nbbthlf6U,15016
|
|
55
|
+
complio/tests_library/network/direct_connect_security.py,sha256=8MQPCeWbw3Bpz0pZzhqCzpACSHN-bpQgUrlTRNRzd7A,15711
|
|
56
|
+
complio/tests_library/network/nacl_configuration.py,sha256=f6UD8dDGBJ8zFEEd5_g4V_PGhUTGai3zOaSMB-8m0hg,15648
|
|
57
|
+
complio/tests_library/network/network_firewall.py,sha256=sMl3MF8dv9mIIDtVHxaXStDZQ5tyLDDdrcs_l1TK05A,15870
|
|
58
|
+
complio/tests_library/network/transit_gateway_security.py,sha256=DqkWAYr4SQi5es4EBnFRJQ1VaG9obNaJFALJeFBC8AY,14446
|
|
59
|
+
complio/tests_library/network/vpc_endpoints_security.py,sha256=r5Tsjy4yNBrNlWRoPwifI3AJC7iTIACsHn0bcELQeDQ,14743
|
|
60
|
+
complio/tests_library/network/vpn_security.py,sha256=PoP_1CWBm5Dq4TqAcYxdDaD-7g0iux6yASTphVUACGE,14550
|
|
61
|
+
complio/tests_library/network/waf_configuration.py,sha256=hb_UFSWeShgzSBl1wVapQxNHG2SROt513VN-ecD1CWo,19071
|
|
62
|
+
complio/tests_library/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
complio/tests_library/security/kms_key_rotation.py,sha256=ZUtf__rN1NE_dkE5yeW9QUFgFsWFPHwuZqz7ULErB98,12872
|
|
64
|
+
complio/tests_library/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
+
complio/tests_library/storage/backup_encryption.py,sha256=R7iMNqjCmQPTlpMfRwcO37imddhDsGS2dJR2-4fKJmI,12613
|
|
66
|
+
complio/tests_library/storage/dynamodb_encryption.py,sha256=xe4KjNLGlnCeXAuP-3Ii5q6ofgglf1bqpyw8ZeTtTYY,11263
|
|
67
|
+
complio/tests_library/storage/efs_encryption.py,sha256=N_kGeM5WcWguS_yZwmV2cKhFp0bW-j-H6FRQ0tlATJk,10004
|
|
68
|
+
complio/tests_library/storage/elasticache_encryption.py,sha256=9Yg8VlKq0AUAOUB_NTJLyakPoNQYH6Qh8Pw2uuPssyg,16155
|
|
69
|
+
complio/tests_library/storage/redshift_encryption.py,sha256=uW-qT54ih-xRom9LX4XuRZqJzWhcjTZnqPzErvcLd1I,9825
|
|
70
|
+
complio/tests_library/storage/s3_versioning.py,sha256=eUjcdUNdVloYoYSZ9lspP3VvJkNhCXW_Q5rJL9EylLc,10585
|
|
71
|
+
complio/utils/__init__.py,sha256=_BTAtqeWDvk7QK3dZVOCgkUKrdTA4Hpn7aX9wjFMp8A,545
|
|
72
|
+
complio/utils/errors.py,sha256=TJ5TN2QjT0NKT_dwr7O05qiKbxhq2oi77tsS9IijT20,6593
|
|
73
|
+
complio/utils/exceptions.py,sha256=aK-_yullDOiPLXDakjfNw0rG_rpZ0Y-WwyXyQkZM5ik,3540
|
|
74
|
+
complio/utils/history.py,sha256=UXqbSQd-FC4erT4E7Fd_SK2QhR6KibqxBNMNx8FSqGw,6916
|
|
75
|
+
complio/utils/logger.py,sha256=dRbtMkrtd_dhuImuQi-aidkIQPVfc6AFw2AV78m7w8Y,12390
|
|
76
|
+
complio-0.1.1.dist-info/METADATA,sha256=mSWL64Q5p6TQnKAIqIUnn7abxFwWKNnj0IjlD2uj_-Q,14580
|
|
77
|
+
complio-0.1.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
78
|
+
complio-0.1.1.dist-info/entry_points.txt,sha256=i7LusdOc5unYe4d-Ch0A5rzSZsgqbsAi7xO9n5pQoX8,48
|
|
79
|
+
complio-0.1.1.dist-info/RECORD,,
|