blockmine 1.24.0 → 1.25.0
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.
- package/CHANGELOG.md +32 -0
- package/README.en.md +427 -0
- package/README.md +40 -0
- package/backend/cli.js +1 -1
- package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
- package/backend/src/api/routes/bots.js +13 -0
- package/backend/src/api/routes/servers.js +14 -2
- package/backend/src/core/BotProcess.js +98 -2
- package/backend/src/core/PluginLoader.js +83 -3
- package/backend/src/core/PluginManager.js +75 -5
- package/backend/src/core/services/BotLifecycleService.js +186 -2
- package/backend/src/server.js +11 -1
- package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
- package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
- package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
- package/frontend/dist/flags/en.svg +32 -0
- package/frontend/dist/flags/ru.svg +5 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/locales/en/admin.json +100 -0
- package/frontend/dist/locales/en/api-keys.json +58 -0
- package/frontend/dist/locales/en/bots.json +110 -0
- package/frontend/dist/locales/en/common.json +47 -0
- package/frontend/dist/locales/en/configuration.json +22 -0
- package/frontend/dist/locales/en/console.json +10 -0
- package/frontend/dist/locales/en/dashboard.json +85 -0
- package/frontend/dist/locales/en/dialogs.json +70 -0
- package/frontend/dist/locales/en/event-graphs.json +50 -0
- package/frontend/dist/locales/en/graph-store.json +70 -0
- package/frontend/dist/locales/en/login.json +34 -0
- package/frontend/dist/locales/en/management.json +114 -0
- package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/en/nodes.json +1077 -0
- package/frontend/dist/locales/en/permissions.json +50 -0
- package/frontend/dist/locales/en/plugin-detail.json +49 -0
- package/frontend/dist/locales/en/plugins.json +110 -0
- package/frontend/dist/locales/en/proxies.json +81 -0
- package/frontend/dist/locales/en/servers.json +39 -0
- package/frontend/dist/locales/en/setup.json +17 -0
- package/frontend/dist/locales/en/sidebar.json +27 -0
- package/frontend/dist/locales/en/tasks.json +62 -0
- package/frontend/dist/locales/en/visual-editor.json +219 -0
- package/frontend/dist/locales/en/websocket.json +86 -0
- package/frontend/dist/locales/ru/admin.json +100 -0
- package/frontend/dist/locales/ru/api-keys.json +58 -0
- package/frontend/dist/locales/ru/bots.json +110 -0
- package/frontend/dist/locales/ru/common.json +49 -0
- package/frontend/dist/locales/ru/configuration.json +22 -0
- package/frontend/dist/locales/ru/console.json +10 -0
- package/frontend/dist/locales/ru/dashboard.json +85 -0
- package/frontend/dist/locales/ru/dialogs.json +70 -0
- package/frontend/dist/locales/ru/event-graphs.json +50 -0
- package/frontend/dist/locales/ru/graph-store.json +70 -0
- package/frontend/dist/locales/ru/login.json +34 -0
- package/frontend/dist/locales/ru/management.json +114 -0
- package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/ru/nodes.json +1077 -0
- package/frontend/dist/locales/ru/permissions.json +50 -0
- package/frontend/dist/locales/ru/plugin-detail.json +49 -0
- package/frontend/dist/locales/ru/plugins.json +110 -0
- package/frontend/dist/locales/ru/proxies.json +81 -0
- package/frontend/dist/locales/ru/servers.json +39 -0
- package/frontend/dist/locales/ru/setup.json +17 -0
- package/frontend/dist/locales/ru/sidebar.json +27 -0
- package/frontend/dist/locales/ru/tasks.json +62 -0
- package/frontend/dist/locales/ru/visual-editor.json +221 -0
- package/frontend/dist/locales/ru/websocket.json +86 -0
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
- package/frontend/package.json +4 -0
- package/package.json +1 -1
- package/screen/3dviewer.png +0 -0
- package/screen/console.png +0 -0
- package/screen/dashboard.png +0 -0
- package/screen/graph_collabe.png +0 -0
- package/screen/graph_live_debug.png +0 -0
- package/screen/language_selector.png +0 -0
- package/screen/management_command.png +0 -0
- package/screen/node_debug_trace.png +0 -0
- package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
- package/screen/websocket.png +0 -0
- package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
- package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
- package/.claude/agents/README.md +0 -469
- package/.claude/agents/auth-route-debugger.md +0 -118
- package/.claude/agents/auth-route-tester.md +0 -93
- package/.claude/agents/auto-error-resolver.md +0 -97
- package/.claude/agents/build-optimizer.md +0 -236
- package/.claude/agents/code-architect.md +0 -34
- package/.claude/agents/code-architecture-reviewer.md +0 -83
- package/.claude/agents/code-explorer.md +0 -51
- package/.claude/agents/code-refactor-master.md +0 -94
- package/.claude/agents/code-reviewer.md +0 -46
- package/.claude/agents/cost-optimizer.md +0 -134
- package/.claude/agents/deployment-orchestrator.md +0 -113
- package/.claude/agents/documentation-architect.md +0 -82
- package/.claude/agents/frontend-error-fixer.md +0 -77
- package/.claude/agents/iac-code-generator.md +0 -71
- package/.claude/agents/incident-responder.md +0 -346
- package/.claude/agents/infrastructure-architect.md +0 -31
- package/.claude/agents/kubernetes-specialist.md +0 -56
- package/.claude/agents/migration-planner.md +0 -181
- package/.claude/agents/network-architect.md +0 -196
- package/.claude/agents/plan-reviewer.md +0 -52
- package/.claude/agents/refactor-planner.md +0 -63
- package/.claude/agents/security-scanner.md +0 -102
- package/.claude/agents/web-research-specialist.md +0 -78
- package/.claude/commands/cost-analysis.md +0 -315
- package/.claude/commands/dev-docs-update.md +0 -55
- package/.claude/commands/dev-docs.md +0 -51
- package/.claude/commands/feature-dev.md +0 -125
- package/.claude/commands/incident-debug.md +0 -247
- package/.claude/commands/infra-plan.md +0 -81
- package/.claude/commands/migration-plan.md +0 -478
- package/.claude/commands/route-research-for-testing.md +0 -37
- package/.claude/commands/security-review.md +0 -66
- package/.claude/hooks/CONFIG.md +0 -448
- package/.claude/hooks/README.md +0 -163
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
- package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
- package/.claude/hooks/add-skill-activation-banners.ts +0 -132
- package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -222
- package/.claude/hooks/k8s-manifest-validator.sh +0 -56
- package/.claude/hooks/package-lock.json +0 -556
- package/.claude/hooks/package.json +0 -16
- package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
- package/.claude/hooks/post-tool-use-tracker.sh +0 -183
- package/.claude/hooks/security-policy-check.sh +0 -247
- package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
- package/.claude/hooks/skill-activation-prompt.sh +0 -10
- package/.claude/hooks/skill-activation-prompt.ts +0 -141
- package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
- package/.claude/hooks/terraform-validator.sh +0 -53
- package/.claude/hooks/test-input.json +0 -7
- package/.claude/hooks/test-skill-activation.ts +0 -427
- package/.claude/hooks/trigger-build-resolver.sh +0 -79
- package/.claude/hooks/tsc-check.sh +0 -173
- package/.claude/hooks/tsconfig.json +0 -19
- package/.claude/settings.json +0 -59
- package/.claude/settings.local.json +0 -67
- package/.claude/skills/README.md +0 -507
- package/.claude/skills/api-engineering/SKILL.md +0 -63
- package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
- package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
- package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
- package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
- package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
- package/.claude/skills/build-engineering/SKILL.md +0 -431
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
- package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
- package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
- package/.claude/skills/build-engineering/resources/build-security.md +0 -95
- package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
- package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
- package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
- package/.claude/skills/cloud-engineering/SKILL.md +0 -675
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
- package/.claude/skills/cybersecurity/SKILL.md +0 -409
- package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
- package/.claude/skills/database-engineering/SKILL.md +0 -61
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
- package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
- package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
- package/.claude/skills/devsecops/SKILL.md +0 -374
- package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
- package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
- package/.claude/skills/devsecops/resources/container-security.md +0 -915
- package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
- package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
- package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
- package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
- package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
- package/.claude/skills/devsecops/resources/security-testing.md +0 -203
- package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
- package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
- package/.claude/skills/documentation-as-code/SKILL.md +0 -323
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
- package/.claude/skills/engineering-management/SKILL.md +0 -356
- package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
- package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
- package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
- package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
- package/.claude/skills/error-tracking/SKILL.md +0 -379
- package/.claude/skills/frontend-design/SKILL.md +0 -42
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
- package/.claude/skills/general-it-engineering/SKILL.md +0 -393
- package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
- package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
- package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
- package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
- package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
- package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
- package/.claude/skills/network-engineering/SKILL.md +0 -385
- package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
- package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
- package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
- package/.claude/skills/network-engineering/resources/network-security.md +0 -921
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
- package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
- package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
- package/.claude/skills/node-development/SKILL.md +0 -317
- package/.claude/skills/observability-engineering/SKILL.md +0 -101
- package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
- package/.claude/skills/platform-engineering/SKILL.md +0 -555
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
- package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
- package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
- package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
- package/.claude/skills/release-engineering/SKILL.md +0 -393
- package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
- package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
- package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
- package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
- package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
- package/.claude/skills/route-tester/SKILL.md +0 -392
- package/.claude/skills/skill-developer/ADVANCED.md +0 -197
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
- package/.claude/skills/skill-developer/SKILL.md +0 -430
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
- package/.claude/skills/skill-rules.json +0 -2989
- package/.claude/skills/sre/SKILL.md +0 -464
- package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
- package/.claude/skills/sre/resources/capacity-planning.md +0 -226
- package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
- package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
- package/.claude/skills/sre/resources/incident-management.md +0 -436
- package/.claude/skills/sre/resources/observability-stack.md +0 -240
- package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
- package/.claude/skills/sre/resources/performance-optimization.md +0 -108
- package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
- package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
- package/.claude/skills/sre/resources/toil-reduction.md +0 -145
- package/.claude/skills/systems-engineering/SKILL.md +0 -648
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
- package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
- package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
- package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
- package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
- package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
- package/.claude/skills/technical-leadership/SKILL.md +0 -728
- package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
- package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
- package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
|
@@ -1,987 +0,0 @@
|
|
|
1
|
-
# Cleared Cloud Environments
|
|
2
|
-
|
|
3
|
-
Government cloud regions, classified environments, air-gapped deployments, and compliance requirements for sensitive workloads.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Overview](#overview)
|
|
8
|
-
- [AWS GovCloud (US)](#aws-govcloud-us)
|
|
9
|
-
- [Azure Government](#azure-government)
|
|
10
|
-
- [Google Cloud for Government](#google-cloud-for-government)
|
|
11
|
-
- [Oracle Cloud Government](#oracle-cloud-government)
|
|
12
|
-
- [Air-Gapped Environments](#air-gapped-environments)
|
|
13
|
-
- [On-Premises Classified Networks](#on-premises-classified-networks)
|
|
14
|
-
- [Compliance Requirements](#compliance-requirements)
|
|
15
|
-
- [Best Practices](#best-practices)
|
|
16
|
-
- [Anti-Patterns](#anti-patterns)
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Overview
|
|
21
|
-
|
|
22
|
-
**Cleared Cloud Environments** are specialized cloud regions designed to host sensitive workloads requiring enhanced security, compliance, and isolation. These environments support various classification levels from Controlled Unclassified Information (CUI) to Top Secret (TS/SCI).
|
|
23
|
-
|
|
24
|
-
**Environment Types:**
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
28
|
-
│ CLEARED ENVIRONMENT HIERARCHY │
|
|
29
|
-
├─────────────────────────────────────────────────────────────┤
|
|
30
|
-
│ │
|
|
31
|
-
│ Unclassified → Public cloud (commercial regions) │
|
|
32
|
-
│ ↓ │
|
|
33
|
-
│ CUI / FOUO → GovCloud / Government Cloud │
|
|
34
|
-
│ ↓ │
|
|
35
|
-
│ Secret → Dedicated Government Regions │
|
|
36
|
-
│ ↓ │
|
|
37
|
-
│ Top Secret (TS/SCI) → Air-gapped / Classified Networks │
|
|
38
|
-
│ │
|
|
39
|
-
└─────────────────────────────────────────────────────────────┘
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Key Characteristics:**
|
|
43
|
-
- **Physical Separation**: Isolated data centers with restricted access
|
|
44
|
-
- **Personnel Clearances**: Operators hold security clearances
|
|
45
|
-
- **Compliance**: Pre-authorized for FedRAMP High, DoD IL4-IL6, CMMC
|
|
46
|
-
- **Network Isolation**: Dedicated networks, no direct internet connectivity
|
|
47
|
-
- **Data Sovereignty**: Data remains within specific geographic boundaries
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## AWS GovCloud (US)
|
|
52
|
-
|
|
53
|
-
**AWS GovCloud (US)** is an isolated AWS region designed for U.S. government agencies, contractors, and regulated industries.
|
|
54
|
-
|
|
55
|
-
### Regions
|
|
56
|
-
|
|
57
|
-
| Region | Location | Impact Level |
|
|
58
|
-
|--------|----------|--------------|
|
|
59
|
-
| us-gov-west-1 | Oregon | IL2-IL5 (DoD) |
|
|
60
|
-
| us-gov-east-1 | Ohio | IL2-IL5 (DoD) |
|
|
61
|
-
|
|
62
|
-
### Key Features
|
|
63
|
-
|
|
64
|
-
**1. Compliance Authorizations:**
|
|
65
|
-
- FedRAMP High Authorization
|
|
66
|
-
- DoD SRG Impact Levels 2, 4, 5, 6
|
|
67
|
-
- ITAR (International Traffic in Arms Regulations)
|
|
68
|
-
- CJIS (Criminal Justice Information Services)
|
|
69
|
-
- FIPS 140-2 validated endpoints
|
|
70
|
-
|
|
71
|
-
**2. Access Requirements:**
|
|
72
|
-
```bash
|
|
73
|
-
# GovCloud requires separate AWS account
|
|
74
|
-
# Root account user must be a U.S. person
|
|
75
|
-
# Access from commercial AWS not allowed
|
|
76
|
-
|
|
77
|
-
# Create GovCloud account
|
|
78
|
-
aws organizations create-gov-cloud-account \
|
|
79
|
-
--email govcloud-admin@agency.gov \
|
|
80
|
-
--account-name "Agency GovCloud Account"
|
|
81
|
-
|
|
82
|
-
# Configure AWS CLI for GovCloud
|
|
83
|
-
aws configure --profile govcloud
|
|
84
|
-
# AWS Access Key ID: [GovCloud credentials]
|
|
85
|
-
# AWS Secret Access Key: [GovCloud credentials]
|
|
86
|
-
# Default region: us-gov-west-1
|
|
87
|
-
# Default output format: json
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**3. Service Availability:**
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
✅ Available in GovCloud:
|
|
94
|
-
- EC2, S3, RDS, Lambda, ECS, EKS
|
|
95
|
-
- IAM, KMS, CloudTrail, CloudWatch
|
|
96
|
-
- VPC, Direct Connect, VPN
|
|
97
|
-
- Security Hub, GuardDuty, WAF
|
|
98
|
-
|
|
99
|
-
❌ NOT Available in GovCloud:
|
|
100
|
-
- Some newer services (delayed releases)
|
|
101
|
-
- Consumer services (Alexa, etc.)
|
|
102
|
-
- Services requiring internet connectivity
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**4. Terraform Example:**
|
|
106
|
-
|
|
107
|
-
```hcl
|
|
108
|
-
# Configure GovCloud provider
|
|
109
|
-
provider "aws" {
|
|
110
|
-
region = "us-gov-west-1"
|
|
111
|
-
profile = "govcloud"
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
# GovCloud VPC with FIPS endpoints
|
|
115
|
-
resource "aws_vpc" "govcloud_vpc" {
|
|
116
|
-
cidr_block = "10.0.0.0/16"
|
|
117
|
-
enable_dns_support = true
|
|
118
|
-
enable_dns_hostnames = true
|
|
119
|
-
|
|
120
|
-
tags = {
|
|
121
|
-
Name = "govcloud-vpc"
|
|
122
|
-
Classification = "CUI"
|
|
123
|
-
Compliance = "FedRAMP-High"
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
# S3 bucket with encryption (FIPS 140-2)
|
|
128
|
-
resource "aws_s3_bucket" "govcloud_bucket" {
|
|
129
|
-
bucket = "agency-govcloud-data"
|
|
130
|
-
|
|
131
|
-
tags = {
|
|
132
|
-
Classification = "CUI"
|
|
133
|
-
DataRetention = "7-years"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
resource "aws_s3_bucket_server_side_encryption_configuration" "govcloud_encryption" {
|
|
138
|
-
bucket = aws_s3_bucket.govcloud_bucket.id
|
|
139
|
-
|
|
140
|
-
rule {
|
|
141
|
-
apply_server_side_encryption_by_default {
|
|
142
|
-
sse_algorithm = "aws:kms"
|
|
143
|
-
kms_master_key_id = aws_kms_key.govcloud_key.arn
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
# KMS key for encryption
|
|
149
|
-
resource "aws_kms_key" "govcloud_key" {
|
|
150
|
-
description = "GovCloud KMS key"
|
|
151
|
-
deletion_window_in_days = 30
|
|
152
|
-
enable_key_rotation = true
|
|
153
|
-
|
|
154
|
-
tags = {
|
|
155
|
-
Compliance = "FIPS-140-2"
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
**5. Networking Considerations:**
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
GovCloud Network Architecture:
|
|
164
|
-
┌─────────────────────────────────────────────────────┐
|
|
165
|
-
│ On-Premises Data Center │
|
|
166
|
-
│ ┌──────────────────┐ │
|
|
167
|
-
│ │ Cleared Network │ │
|
|
168
|
-
│ └────────┬─────────┘ │
|
|
169
|
-
│ │ │
|
|
170
|
-
│ │ AWS Direct Connect (Dedicated) │
|
|
171
|
-
│ │ (FIPS 140-2 encrypted tunnel) │
|
|
172
|
-
└───────────┼─────────────────────────────────────────┘
|
|
173
|
-
│
|
|
174
|
-
↓
|
|
175
|
-
┌───────────┴─────────────────────────────────────────┐
|
|
176
|
-
│ AWS GovCloud (US) │
|
|
177
|
-
│ ┌─────────────────────────────────────────────┐ │
|
|
178
|
-
│ │ Virtual Private Gateway │ │
|
|
179
|
-
│ └─────────┬───────────────────────────────────┘ │
|
|
180
|
-
│ │ │
|
|
181
|
-
│ ┌─────────▼──────────┐ ┌────────────────────┐ │
|
|
182
|
-
│ │ Private Subnet │ │ Isolated Subnet │ │
|
|
183
|
-
│ │ (Application tier) │ │ (Data tier) │ │
|
|
184
|
-
│ │ - EC2 instances │ │ - RDS databases │ │
|
|
185
|
-
│ │ - EKS cluster │ │ - S3 VPC endpoints │ │
|
|
186
|
-
│ └────────────────────┘ └────────────────────┘ │
|
|
187
|
-
│ │
|
|
188
|
-
│ ❌ NO Internet Gateway (air-gapped) │
|
|
189
|
-
│ ✅ VPC Endpoints for AWS services │
|
|
190
|
-
└─────────────────────────────────────────────────────┘
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Azure Government
|
|
196
|
-
|
|
197
|
-
**Azure Government** is a physically isolated instance of Microsoft Azure for U.S. government agencies and partners.
|
|
198
|
-
|
|
199
|
-
### Regions
|
|
200
|
-
|
|
201
|
-
| Region | Location | Impact Level |
|
|
202
|
-
|--------|----------|--------------|
|
|
203
|
-
| USGov Virginia | Virginia | IL2-IL5 |
|
|
204
|
-
| USGov Arizona | Arizona | IL2-IL5 |
|
|
205
|
-
| USGov Texas | Texas | IL2-IL5 |
|
|
206
|
-
| USGov DoD East | Confidential | IL6 (Secret) |
|
|
207
|
-
| USGov DoD Central | Confidential | IL6 (Secret) |
|
|
208
|
-
|
|
209
|
-
### Key Features
|
|
210
|
-
|
|
211
|
-
**1. Compliance Authorizations:**
|
|
212
|
-
- FedRAMP High
|
|
213
|
-
- DoD SRG Impact Levels 2, 4, 5
|
|
214
|
-
- DoD IL6 (Secret) in DoD regions
|
|
215
|
-
- CJIS, ITAR, IRS 1075
|
|
216
|
-
|
|
217
|
-
**2. Access Configuration:**
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
# Install Azure Government CLI
|
|
221
|
-
az cloud set --name AzureUSGovernment
|
|
222
|
-
|
|
223
|
-
# Login to Azure Government
|
|
224
|
-
az login
|
|
225
|
-
|
|
226
|
-
# Set subscription
|
|
227
|
-
az account set --subscription "Government Subscription ID"
|
|
228
|
-
|
|
229
|
-
# Verify endpoint
|
|
230
|
-
az cloud show --query endpoints.resourceManager
|
|
231
|
-
# Output: https://management.usgovcloudapi.net/
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
**3. Terraform Example:**
|
|
235
|
-
|
|
236
|
-
```hcl
|
|
237
|
-
# Configure Azure Government provider
|
|
238
|
-
provider "azurerm" {
|
|
239
|
-
features {}
|
|
240
|
-
environment = "usgovernment"
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
# Resource group in Azure Government
|
|
244
|
-
resource "azurerm_resource_group" "govcloud_rg" {
|
|
245
|
-
name = "rg-government-eastus"
|
|
246
|
-
location = "usgovvirginia"
|
|
247
|
-
|
|
248
|
-
tags = {
|
|
249
|
-
Classification = "CUI"
|
|
250
|
-
Compliance = "FedRAMP-High"
|
|
251
|
-
Environment = "Production"
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
# Virtual Network with NSGs
|
|
256
|
-
resource "azurerm_virtual_network" "govcloud_vnet" {
|
|
257
|
-
name = "vnet-government"
|
|
258
|
-
address_space = ["10.0.0.0/16"]
|
|
259
|
-
location = azurerm_resource_group.govcloud_rg.location
|
|
260
|
-
resource_group_name = azurerm_resource_group.govcloud_rg.name
|
|
261
|
-
|
|
262
|
-
tags = {
|
|
263
|
-
Classification = "CUI"
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
# Subnet for workloads
|
|
268
|
-
resource "azurerm_subnet" "govcloud_subnet" {
|
|
269
|
-
name = "snet-workloads"
|
|
270
|
-
resource_group_name = azurerm_resource_group.govcloud_rg.name
|
|
271
|
-
virtual_network_name = azurerm_virtual_network.govcloud_vnet.name
|
|
272
|
-
address_prefixes = ["10.0.1.0/24"]
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
# Storage account with encryption
|
|
276
|
-
resource "azurerm_storage_account" "govcloud_storage" {
|
|
277
|
-
name = "stgovclouddata001"
|
|
278
|
-
resource_group_name = azurerm_resource_group.govcloud_rg.name
|
|
279
|
-
location = azurerm_resource_group.govcloud_rg.location
|
|
280
|
-
account_tier = "Standard"
|
|
281
|
-
account_replication_type = "GRS"
|
|
282
|
-
|
|
283
|
-
# Enable encryption with customer-managed keys
|
|
284
|
-
identity {
|
|
285
|
-
type = "SystemAssigned"
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
tags = {
|
|
289
|
-
Classification = "CUI"
|
|
290
|
-
DataRetention = "7-years"
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
# Key Vault for secrets (FIPS 140-2)
|
|
295
|
-
resource "azurerm_key_vault" "govcloud_kv" {
|
|
296
|
-
name = "kv-govcloud-001"
|
|
297
|
-
location = azurerm_resource_group.govcloud_rg.location
|
|
298
|
-
resource_group_name = azurerm_resource_group.govcloud_rg.name
|
|
299
|
-
tenant_id = data.azurerm_client_config.current.tenant_id
|
|
300
|
-
sku_name = "premium"
|
|
301
|
-
|
|
302
|
-
# Enable FIPS 140-2 Level 2 HSM
|
|
303
|
-
enabled_for_disk_encryption = true
|
|
304
|
-
purge_protection_enabled = true
|
|
305
|
-
|
|
306
|
-
network_acls {
|
|
307
|
-
default_action = "Deny"
|
|
308
|
-
bypass = "AzureServices"
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
**4. DoD Regions (Secret/IL6):**
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
Azure Government DoD Architecture:
|
|
317
|
-
┌─────────────────────────────────────────────────────┐
|
|
318
|
-
│ DoD Network (NIPRNET/SIPRNET) │
|
|
319
|
-
│ ┌──────────────────┐ │
|
|
320
|
-
│ │ Classified Data │ │
|
|
321
|
-
│ └────────┬─────────┘ │
|
|
322
|
-
│ │ │
|
|
323
|
-
│ │ ExpressRoute (Dedicated, IL6-approved) │
|
|
324
|
-
│ │ │
|
|
325
|
-
└───────────┼─────────────────────────────────────────┘
|
|
326
|
-
│
|
|
327
|
-
↓
|
|
328
|
-
┌───────────┴─────────────────────────────────────────┐
|
|
329
|
-
│ Azure Government DoD East/Central │
|
|
330
|
-
│ ┌─────────────────────────────────────────────┐ │
|
|
331
|
-
│ │ Virtual Network Gateway │ │
|
|
332
|
-
│ └─────────┬───────────────────────────────────┘ │
|
|
333
|
-
│ │ │
|
|
334
|
-
│ ┌─────────▼──────────┐ ┌────────────────────┐ │
|
|
335
|
-
│ │ App Subnet │ │ Data Subnet │ │
|
|
336
|
-
│ │ - VMs (Secret) │ │ - SQL MI (Secret) │ │
|
|
337
|
-
│ │ - AKS (IL6) │ │ - Cosmos DB │ │
|
|
338
|
-
│ └────────────────────┘ └────────────────────┘ │
|
|
339
|
-
│ │
|
|
340
|
-
│ Requirements: │
|
|
341
|
-
│ ✅ All personnel cleared to Secret level │
|
|
342
|
-
│ ✅ Physical isolation from commercial Azure │
|
|
343
|
-
│ ✅ FIPS 140-2 Level 3+ encryption │
|
|
344
|
-
└─────────────────────────────────────────────────────┘
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
## Google Cloud for Government
|
|
350
|
-
|
|
351
|
-
**Google Cloud for Government** provides isolated regions and compliance for government workloads.
|
|
352
|
-
|
|
353
|
-
### Offering Types
|
|
354
|
-
|
|
355
|
-
| Offering | Description | Impact Level |
|
|
356
|
-
|----------|-------------|--------------|
|
|
357
|
-
| Assured Workloads | Compliance controls in commercial regions | IL2-IL4 |
|
|
358
|
-
| Government Regions | Dedicated regions (coming) | IL4-IL5 |
|
|
359
|
-
|
|
360
|
-
### Key Features
|
|
361
|
-
|
|
362
|
-
**1. Assured Workloads Configuration:**
|
|
363
|
-
|
|
364
|
-
```bash
|
|
365
|
-
# Create Assured Workload
|
|
366
|
-
gcloud assured workloads create \
|
|
367
|
-
--organization=123456789 \
|
|
368
|
-
--location=us-central1 \
|
|
369
|
-
--display-name="FedRAMP High Workload" \
|
|
370
|
-
--compliance-regime=FEDRAMP_HIGH \
|
|
371
|
-
--billing-account=ABCDEF-123456
|
|
372
|
-
|
|
373
|
-
# List assured workloads
|
|
374
|
-
gcloud assured workloads list \
|
|
375
|
-
--organization=123456789 \
|
|
376
|
-
--location=us-central1
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
**2. Terraform Example:**
|
|
380
|
-
|
|
381
|
-
```hcl
|
|
382
|
-
# Assured Workloads for FedRAMP compliance
|
|
383
|
-
resource "google_assured_workloads_workload" "fedramp_workload" {
|
|
384
|
-
organization = "123456789"
|
|
385
|
-
location = "us-central1"
|
|
386
|
-
display_name = "FedRAMP High Environment"
|
|
387
|
-
|
|
388
|
-
compliance_regime = "FEDRAMP_HIGH"
|
|
389
|
-
billing_account = "billingAccounts/ABCDEF-123456"
|
|
390
|
-
|
|
391
|
-
resource_settings {
|
|
392
|
-
resource_type = "CONSUMER_PROJECT"
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
kms_settings {
|
|
396
|
-
next_rotation_time = "2024-12-31T23:59:59Z"
|
|
397
|
-
rotation_period = "7776000s" # 90 days
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
# VPC in Assured Workload
|
|
402
|
-
resource "google_compute_network" "assured_vpc" {
|
|
403
|
-
project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
|
|
404
|
-
name = "vpc-fedramp-high"
|
|
405
|
-
auto_create_subnetworks = false
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
resource "google_compute_subnetwork" "assured_subnet" {
|
|
409
|
-
project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
|
|
410
|
-
name = "subnet-workloads"
|
|
411
|
-
ip_cidr_range = "10.0.0.0/24"
|
|
412
|
-
region = "us-central1"
|
|
413
|
-
network = google_compute_network.assured_vpc.id
|
|
414
|
-
|
|
415
|
-
log_config {
|
|
416
|
-
aggregation_interval = "INTERVAL_5_SEC"
|
|
417
|
-
flow_sampling = 1.0
|
|
418
|
-
metadata = "INCLUDE_ALL_METADATA"
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
# GKE cluster with FedRAMP compliance
|
|
423
|
-
resource "google_container_cluster" "assured_gke" {
|
|
424
|
-
project = google_assured_workloads_workload.fedramp_workload.resources[0].resource_id
|
|
425
|
-
name = "gke-fedramp-high"
|
|
426
|
-
location = "us-central1"
|
|
427
|
-
|
|
428
|
-
# Enable Workload Identity
|
|
429
|
-
workload_identity_config {
|
|
430
|
-
workload_pool = "${google_assured_workloads_workload.fedramp_workload.resources[0].resource_id}.svc.id.goog"
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
# Enable Shielded Nodes
|
|
434
|
-
enable_shielded_nodes = true
|
|
435
|
-
|
|
436
|
-
# Database encryption with CMEK
|
|
437
|
-
database_encryption {
|
|
438
|
-
state = "ENCRYPTED"
|
|
439
|
-
key_name = google_kms_crypto_key.gke_key.id
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
**3. Compliance Controls:**
|
|
445
|
-
|
|
446
|
-
```
|
|
447
|
-
Assured Workloads Compliance Boundaries:
|
|
448
|
-
┌─────────────────────────────────────────────────────┐
|
|
449
|
-
│ Assured Workload Folder │
|
|
450
|
-
│ ┌─────────────────────────────────────────────┐ │
|
|
451
|
-
│ │ Compliance Controls (enforced) │ │
|
|
452
|
-
│ │ - Data residency (US only) │ │
|
|
453
|
-
│ │ - Personnel access (US Persons only) │ │
|
|
454
|
-
│ │ - Encryption (FIPS 140-2) │ │
|
|
455
|
-
│ │ - Audit logging (immutable) │ │
|
|
456
|
-
│ └─────────────────────────────────────────────┘ │
|
|
457
|
-
│ │
|
|
458
|
-
│ ┌────────────────┐ ┌────────────────┐ │
|
|
459
|
-
│ │ Project 1 │ │ Project 2 │ │
|
|
460
|
-
│ │ (FedRAMP High) │ │ (FedRAMP High) │ │
|
|
461
|
-
│ │ │ │ │ │
|
|
462
|
-
│ │ - Compute VMs │ │ - GKE cluster │ │
|
|
463
|
-
│ │ - Cloud SQL │ │ - Cloud Run │ │
|
|
464
|
-
│ │ - GCS buckets │ │ - Firestore │ │
|
|
465
|
-
│ └────────────────┘ └────────────────┘ │
|
|
466
|
-
│ │
|
|
467
|
-
│ ❌ Cannot move resources outside workload │
|
|
468
|
-
│ ✅ Automatic compliance monitoring │
|
|
469
|
-
└─────────────────────────────────────────────────────┘
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
---
|
|
473
|
-
|
|
474
|
-
## Oracle Cloud Government
|
|
475
|
-
|
|
476
|
-
**Oracle Cloud Government** provides isolated regions for U.S. government workloads.
|
|
477
|
-
|
|
478
|
-
### Regions
|
|
479
|
-
|
|
480
|
-
| Region | Location | Impact Level |
|
|
481
|
-
|--------|----------|--------------|
|
|
482
|
-
| us-langley-1 | Ashburn, VA | IL5 (DoD) |
|
|
483
|
-
| us-luke-1 | Phoenix, AZ | IL5 (DoD) |
|
|
484
|
-
|
|
485
|
-
### Key Features
|
|
486
|
-
|
|
487
|
-
**1. Compliance Authorizations:**
|
|
488
|
-
- FedRAMP High
|
|
489
|
-
- DoD SRG Impact Level 5
|
|
490
|
-
- DISA IL5 Authorization
|
|
491
|
-
|
|
492
|
-
**2. Terraform Example:**
|
|
493
|
-
|
|
494
|
-
```hcl
|
|
495
|
-
# Configure OCI Government provider
|
|
496
|
-
provider "oci" {
|
|
497
|
-
region = "us-langley-1"
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
# VCN (Virtual Cloud Network)
|
|
501
|
-
resource "oci_core_vcn" "gov_vcn" {
|
|
502
|
-
compartment_id = var.compartment_id
|
|
503
|
-
cidr_block = "10.0.0.0/16"
|
|
504
|
-
display_name = "govcloud-vcn"
|
|
505
|
-
dns_label = "govvcn"
|
|
506
|
-
|
|
507
|
-
freeform_tags = {
|
|
508
|
-
"Classification" = "CUI"
|
|
509
|
-
"Compliance" = "FedRAMP-High"
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
# Subnet for application tier
|
|
514
|
-
resource "oci_core_subnet" "app_subnet" {
|
|
515
|
-
compartment_id = var.compartment_id
|
|
516
|
-
vcn_id = oci_core_vcn.gov_vcn.id
|
|
517
|
-
cidr_block = "10.0.1.0/24"
|
|
518
|
-
display_name = "app-subnet"
|
|
519
|
-
|
|
520
|
-
security_list_ids = [oci_core_security_list.app_security_list.id]
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
# Object Storage bucket (encrypted)
|
|
524
|
-
resource "oci_objectstorage_bucket" "gov_bucket" {
|
|
525
|
-
compartment_id = var.compartment_id
|
|
526
|
-
namespace = data.oci_objectstorage_namespace.ns.namespace
|
|
527
|
-
name = "govcloud-data"
|
|
528
|
-
access_type = "NoPublicAccess"
|
|
529
|
-
|
|
530
|
-
# Server-side encryption
|
|
531
|
-
kms_key_id = oci_kms_key.gov_key.id
|
|
532
|
-
|
|
533
|
-
freeform_tags = {
|
|
534
|
-
"Classification" = "CUI"
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
# Vault for key management
|
|
539
|
-
resource "oci_kms_vault" "gov_vault" {
|
|
540
|
-
compartment_id = var.compartment_id
|
|
541
|
-
display_name = "govcloud-vault"
|
|
542
|
-
vault_type = "DEFAULT"
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
# Encryption key (FIPS 140-2 Level 3)
|
|
546
|
-
resource "oci_kms_key" "gov_key" {
|
|
547
|
-
compartment_id = var.compartment_id
|
|
548
|
-
display_name = "govcloud-encryption-key"
|
|
549
|
-
|
|
550
|
-
key_shape {
|
|
551
|
-
algorithm = "AES"
|
|
552
|
-
length = 256
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
management_endpoint = oci_kms_vault.gov_vault.management_endpoint
|
|
556
|
-
}
|
|
557
|
-
```
|
|
558
|
-
|
|
559
|
-
---
|
|
560
|
-
|
|
561
|
-
## Air-Gapped Environments
|
|
562
|
-
|
|
563
|
-
**Air-gapped environments** are completely isolated networks with no connection to the internet or external networks.
|
|
564
|
-
|
|
565
|
-
### Architecture Patterns
|
|
566
|
-
|
|
567
|
-
**1. Complete Air-Gap:**
|
|
568
|
-
|
|
569
|
-
```
|
|
570
|
-
Air-Gapped Data Center:
|
|
571
|
-
┌─────────────────────────────────────────────────────┐
|
|
572
|
-
│ Physical Security Perimeter │
|
|
573
|
-
│ ┌─────────────────────────────────────────────┐ │
|
|
574
|
-
│ │ Air-Gapped Network (TS/SCI) │ │
|
|
575
|
-
│ │ │ │
|
|
576
|
-
│ │ ┌──────────────┐ ┌──────────────┐ │ │
|
|
577
|
-
│ │ │ Kubernetes │ │ Storage │ │ │
|
|
578
|
-
│ │ │ Cluster │ │ - Ceph │ │ │
|
|
579
|
-
│ │ │ - Rancher │ │ - MinIO │ │ │
|
|
580
|
-
│ │ │ - RKE2 │ │ │ │ │
|
|
581
|
-
│ │ └──────────────┘ └──────────────┘ │ │
|
|
582
|
-
│ │ │ │
|
|
583
|
-
│ │ ┌──────────────────────────────┐ │ │
|
|
584
|
-
│ │ │ Data Diode (one-way transfer) │ │ │
|
|
585
|
-
│ │ │ - Inbound ONLY │ │ │
|
|
586
|
-
│ │ └─────────┬────────────────────┘ │ │
|
|
587
|
-
│ └────────────┼─────────────────────────────────┘ │
|
|
588
|
-
└───────────────┼─────────────────────────────────────┘
|
|
589
|
-
│ (One-way data flow)
|
|
590
|
-
↓
|
|
591
|
-
┌───────────────┴─────────────────────────────────────┐
|
|
592
|
-
│ Lower Classification Network (Secret) │
|
|
593
|
-
│ ┌──────────────────┐ │
|
|
594
|
-
│ │ Staging Area │ │
|
|
595
|
-
│ │ - Data validation│ │
|
|
596
|
-
│ │ - Malware scan │ │
|
|
597
|
-
│ └──────────────────┘ │
|
|
598
|
-
└─────────────────────────────────────────────────────┘
|
|
599
|
-
```
|
|
600
|
-
|
|
601
|
-
**2. Kubernetes in Air-Gapped Environment:**
|
|
602
|
-
|
|
603
|
-
```yaml
|
|
604
|
-
# RKE2 configuration for air-gapped deployment
|
|
605
|
-
# /etc/rancher/rke2/config.yaml
|
|
606
|
-
---
|
|
607
|
-
write-kubeconfig-mode: "0644"
|
|
608
|
-
tls-san:
|
|
609
|
-
- "kubernetes.classified.local"
|
|
610
|
-
|
|
611
|
-
# Use local registry for images
|
|
612
|
-
system-default-registry: "registry.classified.local:5000"
|
|
613
|
-
|
|
614
|
-
# Disable automatic updates
|
|
615
|
-
disable:
|
|
616
|
-
- rke2-ingress-nginx
|
|
617
|
-
|
|
618
|
-
# Configure CNI
|
|
619
|
-
cni:
|
|
620
|
-
- calico
|
|
621
|
-
|
|
622
|
-
# etcd configuration
|
|
623
|
-
etcd-snapshot-schedule-cron: "0 */12 * * *"
|
|
624
|
-
etcd-snapshot-retention: 14
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
**3. Private Container Registry:**
|
|
628
|
-
|
|
629
|
-
```bash
|
|
630
|
-
# Deploy Harbor registry in air-gapped environment
|
|
631
|
-
cat <<EOF > harbor-values.yaml
|
|
632
|
-
expose:
|
|
633
|
-
type: nodePort
|
|
634
|
-
tls:
|
|
635
|
-
enabled: true
|
|
636
|
-
certSource: secret
|
|
637
|
-
secret:
|
|
638
|
-
secretName: harbor-tls
|
|
639
|
-
notarySecretName: notary-tls
|
|
640
|
-
|
|
641
|
-
externalURL: https://registry.classified.local
|
|
642
|
-
|
|
643
|
-
persistence:
|
|
644
|
-
enabled: true
|
|
645
|
-
persistentVolumeClaim:
|
|
646
|
-
registry:
|
|
647
|
-
storageClass: "local-storage"
|
|
648
|
-
size: 500Gi
|
|
649
|
-
database:
|
|
650
|
-
storageClass: "local-storage"
|
|
651
|
-
size: 10Gi
|
|
652
|
-
|
|
653
|
-
# Disable internet connectivity
|
|
654
|
-
portal:
|
|
655
|
-
replicas: 2
|
|
656
|
-
core:
|
|
657
|
-
replicas: 2
|
|
658
|
-
registry:
|
|
659
|
-
replicas: 2
|
|
660
|
-
EOF
|
|
661
|
-
|
|
662
|
-
# Install Harbor
|
|
663
|
-
helm install harbor harbor/harbor \
|
|
664
|
-
-n harbor \
|
|
665
|
-
--create-namespace \
|
|
666
|
-
-f harbor-values.yaml
|
|
667
|
-
```
|
|
668
|
-
|
|
669
|
-
**4. Software Updates (Sneakernet):**
|
|
670
|
-
|
|
671
|
-
```bash
|
|
672
|
-
#!/bin/bash
|
|
673
|
-
# update-airgap.sh - Process for updating air-gapped environment
|
|
674
|
-
|
|
675
|
-
# Step 1: On internet-connected system, download images
|
|
676
|
-
docker pull docker.io/library/nginx:1.25
|
|
677
|
-
docker pull quay.io/prometheus/prometheus:v2.45.0
|
|
678
|
-
|
|
679
|
-
# Step 2: Save images to tarball
|
|
680
|
-
docker save -o airgap-images.tar \
|
|
681
|
-
docker.io/library/nginx:1.25 \
|
|
682
|
-
quay.io/prometheus/prometheus:v2.45.0
|
|
683
|
-
|
|
684
|
-
# Step 3: Virus scan and validation
|
|
685
|
-
clamscan airgap-images.tar
|
|
686
|
-
sha256sum airgap-images.tar > airgap-images.tar.sha256
|
|
687
|
-
|
|
688
|
-
# Step 4: Transfer via physical media (USB, DVD)
|
|
689
|
-
# Requires two-person integrity for classified transfers
|
|
690
|
-
|
|
691
|
-
# Step 5: On air-gapped system, verify and load
|
|
692
|
-
sha256sum -c airgap-images.tar.sha256
|
|
693
|
-
docker load -i airgap-images.tar
|
|
694
|
-
|
|
695
|
-
# Step 6: Tag and push to internal registry
|
|
696
|
-
docker tag docker.io/library/nginx:1.25 registry.classified.local:5000/nginx:1.25
|
|
697
|
-
docker push registry.classified.local:5000/nginx:1.25
|
|
698
|
-
```
|
|
699
|
-
|
|
700
|
-
---
|
|
701
|
-
|
|
702
|
-
## On-Premises Classified Networks
|
|
703
|
-
|
|
704
|
-
**On-premises classified networks** include NIPRNET, SIPRNET, and JWICS for different classification levels.
|
|
705
|
-
|
|
706
|
-
### Network Types
|
|
707
|
-
|
|
708
|
-
| Network | Classification | Access |
|
|
709
|
-
|---------|----------------|--------|
|
|
710
|
-
| NIPRNET | Unclassified | DoD users |
|
|
711
|
-
| SIPRNET | Secret | Secret clearance required |
|
|
712
|
-
| JWICS | Top Secret/SCI | TS/SCI clearance required |
|
|
713
|
-
|
|
714
|
-
### Architecture Example
|
|
715
|
-
|
|
716
|
-
```
|
|
717
|
-
Cross-Domain Solution (CDS):
|
|
718
|
-
┌─────────────────────────────────────────────────────┐
|
|
719
|
-
│ JWICS (Top Secret/SCI) │
|
|
720
|
-
│ ┌──────────────────┐ │
|
|
721
|
-
│ │ TS/SCI Workloads │ │
|
|
722
|
-
│ └────────┬─────────┘ │
|
|
723
|
-
└───────────┼─────────────────────────────────────────┘
|
|
724
|
-
│
|
|
725
|
-
↓ Trusted Guard (CDS)
|
|
726
|
-
┌───────────┴─────────────────────────────────────────┐
|
|
727
|
-
│ SIPRNET (Secret) │
|
|
728
|
-
│ ┌──────────────────┐ │
|
|
729
|
-
│ │ Secret Workloads │ │
|
|
730
|
-
│ └────────┬─────────┘ │
|
|
731
|
-
└───────────┼─────────────────────────────────────────┘
|
|
732
|
-
│
|
|
733
|
-
↓ CDS with Content Filtering
|
|
734
|
-
┌───────────┴─────────────────────────────────────────┐
|
|
735
|
-
│ NIPRNET (Unclassified) │
|
|
736
|
-
│ ┌──────────────────┐ │
|
|
737
|
-
│ │ Unclass Workloads│ │
|
|
738
|
-
│ └──────────────────┘ │
|
|
739
|
-
└─────────────────────────────────────────────────────┘
|
|
740
|
-
```
|
|
741
|
-
|
|
742
|
-
---
|
|
743
|
-
|
|
744
|
-
## Compliance Requirements
|
|
745
|
-
|
|
746
|
-
### FedRAMP Requirements by Impact Level
|
|
747
|
-
|
|
748
|
-
| Requirement | FedRAMP Low | FedRAMP Moderate | FedRAMP High |
|
|
749
|
-
|-------------|-------------|------------------|--------------|
|
|
750
|
-
| NIST 800-53 Controls | 125+ | 325+ | 421+ |
|
|
751
|
-
| Data Location | U.S. | U.S. | U.S. |
|
|
752
|
-
| Personnel Screening | Basic | Moderate | High |
|
|
753
|
-
| Incident Response | 1 hour | 1 hour | 1 hour |
|
|
754
|
-
| Continuous Monitoring | Required | Required | Required |
|
|
755
|
-
|
|
756
|
-
### DoD Impact Levels
|
|
757
|
-
|
|
758
|
-
| Impact Level | Classification | Environment | Personnel |
|
|
759
|
-
|--------------|----------------|-------------|-----------|
|
|
760
|
-
| IL2 | Unclassified | Commercial cloud | U.S. persons |
|
|
761
|
-
| IL4 | CUI | GovCloud/Gov regions | U.S. citizens |
|
|
762
|
-
| IL5 | CUI | Dedicated Gov regions | Cleared personnel |
|
|
763
|
-
| IL6 | Secret | DoD regions | Secret clearance |
|
|
764
|
-
|
|
765
|
-
### CMMC Levels
|
|
766
|
-
|
|
767
|
-
```
|
|
768
|
-
CMMC 2.0 Levels:
|
|
769
|
-
┌─────────────────────────────────────────────────────┐
|
|
770
|
-
│ Level 1: Foundational (17 practices) │
|
|
771
|
-
│ - Basic cyber hygiene │
|
|
772
|
-
│ - Self-assessment │
|
|
773
|
-
│ - For unclassified, non-CUI │
|
|
774
|
-
└─────────────────────────────────────────────────────┘
|
|
775
|
-
|
|
776
|
-
┌─────────────────────────────────────────────────────┐
|
|
777
|
-
│ Level 2: Advanced (110 practices - NIST 800-171) │
|
|
778
|
-
│ - Protection of CUI │
|
|
779
|
-
│ - Self or C3PAO assessment │
|
|
780
|
-
│ - Required for CUI contracts │
|
|
781
|
-
└─────────────────────────────────────────────────────┘
|
|
782
|
-
|
|
783
|
-
┌─────────────────────────────────────────────────────┐
|
|
784
|
-
│ Level 3: Expert (110+ practices - subset 800-172) │
|
|
785
|
-
│ - Advanced persistent threats (APT) │
|
|
786
|
-
│ - C3PAO assessment required │
|
|
787
|
-
│ - Critical national security programs │
|
|
788
|
-
└─────────────────────────────────────────────────────┘
|
|
789
|
-
```
|
|
790
|
-
|
|
791
|
-
---
|
|
792
|
-
|
|
793
|
-
## Best Practices
|
|
794
|
-
|
|
795
|
-
### 1. Environment Selection
|
|
796
|
-
|
|
797
|
-
**Decision Matrix:**
|
|
798
|
-
|
|
799
|
-
| Workload Type | Recommended Environment |
|
|
800
|
-
|---------------|------------------------|
|
|
801
|
-
| Unclassified public data | Commercial cloud (AWS, Azure, GCP) |
|
|
802
|
-
| CUI (NIST 800-171) | GovCloud, Azure Gov, Assured Workloads |
|
|
803
|
-
| Secret (DoD IL6) | Azure Gov DoD, AWS Secret Region |
|
|
804
|
-
| Top Secret/SCI | Air-gapped or on-premises classified |
|
|
805
|
-
|
|
806
|
-
### 2. Data Classification
|
|
807
|
-
|
|
808
|
-
```bash
|
|
809
|
-
# Tag all resources with classification
|
|
810
|
-
# Terraform example:
|
|
811
|
-
locals {
|
|
812
|
-
required_tags = {
|
|
813
|
-
Classification = "CUI"
|
|
814
|
-
DataOwner = "security@agency.gov"
|
|
815
|
-
Compliance = "NIST-800-171"
|
|
816
|
-
RetentionYears = "7"
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
```
|
|
820
|
-
|
|
821
|
-
### 3. Network Isolation
|
|
822
|
-
|
|
823
|
-
```yaml
|
|
824
|
-
# Kubernetes NetworkPolicy for classified workloads
|
|
825
|
-
apiVersion: networking.k8s.io/v1
|
|
826
|
-
kind: NetworkPolicy
|
|
827
|
-
metadata:
|
|
828
|
-
name: classified-isolation
|
|
829
|
-
namespace: secret-workloads
|
|
830
|
-
spec:
|
|
831
|
-
podSelector: {}
|
|
832
|
-
policyTypes:
|
|
833
|
-
- Ingress
|
|
834
|
-
- Egress
|
|
835
|
-
ingress:
|
|
836
|
-
- from:
|
|
837
|
-
- namespaceSelector:
|
|
838
|
-
matchLabels:
|
|
839
|
-
classification: secret
|
|
840
|
-
egress:
|
|
841
|
-
- to:
|
|
842
|
-
- namespaceSelector:
|
|
843
|
-
matchLabels:
|
|
844
|
-
classification: secret
|
|
845
|
-
# NO internet egress allowed
|
|
846
|
-
```
|
|
847
|
-
|
|
848
|
-
### 4. Encryption Requirements
|
|
849
|
-
|
|
850
|
-
```
|
|
851
|
-
Encryption Standards by Classification:
|
|
852
|
-
┌─────────────────────────────────────────────────────┐
|
|
853
|
-
│ Unclassified: AES-256, TLS 1.2+ │
|
|
854
|
-
│ CUI: FIPS 140-2 validated, AES-256, TLS 1.3 │
|
|
855
|
-
│ Secret: FIPS 140-2 Level 3+, Suite B cryptography │
|
|
856
|
-
│ Top Secret: NSA-approved, Type 1 encryption │
|
|
857
|
-
└─────────────────────────────────────────────────────┘
|
|
858
|
-
```
|
|
859
|
-
|
|
860
|
-
### 5. Access Control
|
|
861
|
-
|
|
862
|
-
```bash
|
|
863
|
-
# Enforce CAC/PIV authentication
|
|
864
|
-
# Azure Government example
|
|
865
|
-
az ad sp create-for-rbac \
|
|
866
|
-
--name "GovCloudApp" \
|
|
867
|
-
--role Contributor \
|
|
868
|
-
--scopes /subscriptions/{subscription-id}
|
|
869
|
-
|
|
870
|
-
# Require MFA for all accounts
|
|
871
|
-
az ad user update \
|
|
872
|
-
--id user@agency.gov \
|
|
873
|
-
--force-change-password-next-login true
|
|
874
|
-
```
|
|
875
|
-
|
|
876
|
-
---
|
|
877
|
-
|
|
878
|
-
## Anti-Patterns
|
|
879
|
-
|
|
880
|
-
### ❌ Anti-Pattern: Using Commercial Regions for CUI
|
|
881
|
-
|
|
882
|
-
**Problem:**
|
|
883
|
-
```hcl
|
|
884
|
-
# WRONG: Storing CUI in commercial AWS region
|
|
885
|
-
provider "aws" {
|
|
886
|
-
region = "us-east-1" # Commercial region
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
resource "aws_s3_bucket" "cui_data" {
|
|
890
|
-
bucket = "cui-data-bucket"
|
|
891
|
-
# This violates FedRAMP requirements!
|
|
892
|
-
}
|
|
893
|
-
```
|
|
894
|
-
|
|
895
|
-
**✅ Correct Approach:**
|
|
896
|
-
```hcl
|
|
897
|
-
# CORRECT: Use GovCloud for CUI
|
|
898
|
-
provider "aws" {
|
|
899
|
-
region = "us-gov-west-1"
|
|
900
|
-
profile = "govcloud"
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
resource "aws_s3_bucket" "cui_data" {
|
|
904
|
-
bucket = "cui-data-govcloud-bucket"
|
|
905
|
-
|
|
906
|
-
tags = {
|
|
907
|
-
Classification = "CUI"
|
|
908
|
-
Compliance = "NIST-800-171"
|
|
909
|
-
}
|
|
910
|
-
}
|
|
911
|
-
```
|
|
912
|
-
|
|
913
|
-
### ❌ Anti-Pattern: Internet Connectivity in Air-Gapped
|
|
914
|
-
|
|
915
|
-
**Problem:**
|
|
916
|
-
```yaml
|
|
917
|
-
# WRONG: Allowing internet egress in air-gapped cluster
|
|
918
|
-
apiVersion: networking.k8s.io/v1
|
|
919
|
-
kind: NetworkPolicy
|
|
920
|
-
metadata:
|
|
921
|
-
name: allow-all
|
|
922
|
-
spec:
|
|
923
|
-
podSelector: {}
|
|
924
|
-
policyTypes:
|
|
925
|
-
- Egress
|
|
926
|
-
egress:
|
|
927
|
-
- {} # Allows all egress traffic!
|
|
928
|
-
```
|
|
929
|
-
|
|
930
|
-
**✅ Correct Approach:**
|
|
931
|
-
```yaml
|
|
932
|
-
# CORRECT: Strict network isolation
|
|
933
|
-
apiVersion: networking.k8s.io/v1
|
|
934
|
-
kind: NetworkPolicy
|
|
935
|
-
metadata:
|
|
936
|
-
name: deny-all-default
|
|
937
|
-
spec:
|
|
938
|
-
podSelector: {}
|
|
939
|
-
policyTypes:
|
|
940
|
-
- Ingress
|
|
941
|
-
- Egress
|
|
942
|
-
# Explicitly NO ingress or egress rules = deny all
|
|
943
|
-
```
|
|
944
|
-
|
|
945
|
-
### ❌ Anti-Pattern: Mixing Classification Levels
|
|
946
|
-
|
|
947
|
-
**Problem:**
|
|
948
|
-
```
|
|
949
|
-
WRONG: Hosting Secret and Unclassified in same cluster
|
|
950
|
-
┌─────────────────────────────────────┐
|
|
951
|
-
│ Kubernetes Cluster │
|
|
952
|
-
│ ┌────────────┐ ┌────────────┐ │
|
|
953
|
-
│ │ Namespace │ │ Namespace │ │
|
|
954
|
-
│ │ (Secret) │ │ (Unclass) │ │
|
|
955
|
-
│ └────────────┘ └────────────┘ │
|
|
956
|
-
│ ↑ ↑ │
|
|
957
|
-
│ └──────┬───────┘ │
|
|
958
|
-
│ │ Same network! │
|
|
959
|
-
└────────────────┼─────────────────────┘
|
|
960
|
-
```
|
|
961
|
-
|
|
962
|
-
**✅ Correct Approach:**
|
|
963
|
-
```
|
|
964
|
-
CORRECT: Separate clusters by classification
|
|
965
|
-
┌─────────────────────────────────────┐
|
|
966
|
-
│ Secret Cluster (GovCloud DoD) │
|
|
967
|
-
│ ┌────────────┐ │
|
|
968
|
-
│ │ Secret │ │
|
|
969
|
-
│ │ Workloads │ │
|
|
970
|
-
│ └────────────┘ │
|
|
971
|
-
└─────────────────────────────────────┘
|
|
972
|
-
|
|
973
|
-
┌─────────────────────────────────────┐
|
|
974
|
-
│ Unclass Cluster (GovCloud) │
|
|
975
|
-
│ ┌────────────┐ │
|
|
976
|
-
│ │ Unclass │ │
|
|
977
|
-
│ │ Workloads │ │
|
|
978
|
-
│ └────────────┘ │
|
|
979
|
-
└─────────────────────────────────────┘
|
|
980
|
-
```
|
|
981
|
-
|
|
982
|
-
---
|
|
983
|
-
|
|
984
|
-
**Related Resources:**
|
|
985
|
-
- [cloud-security.md](cloud-security.md) - Encryption, IAM, compliance controls
|
|
986
|
-
- [cloud-networking.md](cloud-networking.md) - VPC design, isolation patterns
|
|
987
|
-
- [migration-strategies.md](migration-strategies.md) - Migrating to government clouds
|