aidevops 2.52.1
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/.agent/AGENTS.md +614 -0
- package/.agent/accounts.md +65 -0
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
- package/.agent/aidevops/api-integrations.md +335 -0
- package/.agent/aidevops/architecture.md +510 -0
- package/.agent/aidevops/configs.md +274 -0
- package/.agent/aidevops/docs.md +244 -0
- package/.agent/aidevops/extension.md +311 -0
- package/.agent/aidevops/mcp-integrations.md +340 -0
- package/.agent/aidevops/mcp-troubleshooting.md +162 -0
- package/.agent/aidevops/memory-patterns.md +172 -0
- package/.agent/aidevops/providers.md +217 -0
- package/.agent/aidevops/recommendations.md +321 -0
- package/.agent/aidevops/requirements.md +301 -0
- package/.agent/aidevops/resources.md +214 -0
- package/.agent/aidevops/security-requirements.md +174 -0
- package/.agent/aidevops/security.md +350 -0
- package/.agent/aidevops/service-links.md +400 -0
- package/.agent/aidevops/services.md +357 -0
- package/.agent/aidevops/setup.md +153 -0
- package/.agent/aidevops/troubleshooting.md +389 -0
- package/.agent/aidevops.md +124 -0
- package/.agent/build-plus.md +244 -0
- package/.agent/content/guidelines.md +109 -0
- package/.agent/content.md +87 -0
- package/.agent/health.md +59 -0
- package/.agent/legal.md +59 -0
- package/.agent/loop-state/full-loop.local.md +16 -0
- package/.agent/loop-state/ralph-loop.local.md +10 -0
- package/.agent/marketing.md +440 -0
- package/.agent/memory/README.md +260 -0
- package/.agent/onboarding.md +796 -0
- package/.agent/plan-plus.md +245 -0
- package/.agent/research.md +100 -0
- package/.agent/sales.md +333 -0
- package/.agent/scripts/101domains-helper.sh +701 -0
- package/.agent/scripts/add-missing-returns.sh +140 -0
- package/.agent/scripts/agent-browser-helper.sh +311 -0
- package/.agent/scripts/agno-setup.sh +712 -0
- package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
- package/.agent/scripts/aidevops-update-check.sh +71 -0
- package/.agent/scripts/ampcode-cli.sh +522 -0
- package/.agent/scripts/auto-version-bump.sh +156 -0
- package/.agent/scripts/autogen-helper.sh +512 -0
- package/.agent/scripts/beads-sync-helper.sh +596 -0
- package/.agent/scripts/closte-helper.sh +5 -0
- package/.agent/scripts/cloudron-helper.sh +321 -0
- package/.agent/scripts/codacy-cli-chunked.sh +581 -0
- package/.agent/scripts/codacy-cli.sh +442 -0
- package/.agent/scripts/code-audit-helper.sh +5 -0
- package/.agent/scripts/coderabbit-cli.sh +417 -0
- package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
- package/.agent/scripts/commands/code-simplifier.md +86 -0
- package/.agent/scripts/commands/full-loop.md +246 -0
- package/.agent/scripts/commands/postflight-loop.md +103 -0
- package/.agent/scripts/commands/recall.md +182 -0
- package/.agent/scripts/commands/remember.md +132 -0
- package/.agent/scripts/commands/save-todo.md +175 -0
- package/.agent/scripts/commands/session-review.md +154 -0
- package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
- package/.agent/scripts/context-builder-helper.sh +522 -0
- package/.agent/scripts/coolify-cli-helper.sh +674 -0
- package/.agent/scripts/coolify-helper.sh +380 -0
- package/.agent/scripts/crawl4ai-examples.sh +401 -0
- package/.agent/scripts/crawl4ai-helper.sh +1078 -0
- package/.agent/scripts/crewai-helper.sh +681 -0
- package/.agent/scripts/dev-browser-helper.sh +513 -0
- package/.agent/scripts/dns-helper.sh +396 -0
- package/.agent/scripts/domain-research-helper.sh +917 -0
- package/.agent/scripts/dspy-helper.sh +285 -0
- package/.agent/scripts/dspyground-helper.sh +291 -0
- package/.agent/scripts/eeat-score-helper.sh +1242 -0
- package/.agent/scripts/efficient-return-fix.sh +92 -0
- package/.agent/scripts/extract-opencode-prompts.sh +128 -0
- package/.agent/scripts/find-missing-returns.sh +113 -0
- package/.agent/scripts/fix-auth-headers.sh +104 -0
- package/.agent/scripts/fix-common-strings.sh +254 -0
- package/.agent/scripts/fix-content-type.sh +100 -0
- package/.agent/scripts/fix-error-messages.sh +130 -0
- package/.agent/scripts/fix-misplaced-returns.sh +74 -0
- package/.agent/scripts/fix-remaining-literals.sh +152 -0
- package/.agent/scripts/fix-return-statements.sh +41 -0
- package/.agent/scripts/fix-s131-default-cases.sh +249 -0
- package/.agent/scripts/fix-sc2155-simple.sh +102 -0
- package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
- package/.agent/scripts/fix-string-literals.sh +273 -0
- package/.agent/scripts/full-loop-helper.sh +773 -0
- package/.agent/scripts/generate-opencode-agents.sh +497 -0
- package/.agent/scripts/generate-opencode-commands.sh +1629 -0
- package/.agent/scripts/generate-skills.sh +366 -0
- package/.agent/scripts/git-platforms-helper.sh +640 -0
- package/.agent/scripts/gitea-cli-helper.sh +743 -0
- package/.agent/scripts/github-cli-helper.sh +702 -0
- package/.agent/scripts/gitlab-cli-helper.sh +682 -0
- package/.agent/scripts/gsc-add-user-helper.sh +325 -0
- package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
- package/.agent/scripts/hetzner-helper.sh +485 -0
- package/.agent/scripts/hostinger-helper.sh +229 -0
- package/.agent/scripts/keyword-research-helper.sh +1815 -0
- package/.agent/scripts/langflow-helper.sh +544 -0
- package/.agent/scripts/linkedin-automation.py +241 -0
- package/.agent/scripts/linter-manager.sh +599 -0
- package/.agent/scripts/linters-local.sh +434 -0
- package/.agent/scripts/list-keys-helper.sh +488 -0
- package/.agent/scripts/local-browser-automation.py +339 -0
- package/.agent/scripts/localhost-helper.sh +744 -0
- package/.agent/scripts/loop-common.sh +806 -0
- package/.agent/scripts/mainwp-helper.sh +728 -0
- package/.agent/scripts/markdown-formatter.sh +338 -0
- package/.agent/scripts/markdown-lint-fix.sh +311 -0
- package/.agent/scripts/mass-fix-returns.sh +58 -0
- package/.agent/scripts/mcp-diagnose.sh +167 -0
- package/.agent/scripts/mcp-inspector-helper.sh +449 -0
- package/.agent/scripts/memory-helper.sh +650 -0
- package/.agent/scripts/monitor-code-review.sh +255 -0
- package/.agent/scripts/onboarding-helper.sh +706 -0
- package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
- package/.agent/scripts/opencode-test-helper.sh +213 -0
- package/.agent/scripts/pagespeed-helper.sh +464 -0
- package/.agent/scripts/pandoc-helper.sh +362 -0
- package/.agent/scripts/postflight-check.sh +555 -0
- package/.agent/scripts/pre-commit-hook.sh +259 -0
- package/.agent/scripts/pre-edit-check.sh +169 -0
- package/.agent/scripts/qlty-cli.sh +356 -0
- package/.agent/scripts/quality-cli-manager.sh +525 -0
- package/.agent/scripts/quality-feedback-helper.sh +462 -0
- package/.agent/scripts/quality-fix.sh +263 -0
- package/.agent/scripts/quality-loop-helper.sh +1108 -0
- package/.agent/scripts/ralph-loop-helper.sh +836 -0
- package/.agent/scripts/ralph-upstream-check.sh +341 -0
- package/.agent/scripts/secretlint-helper.sh +847 -0
- package/.agent/scripts/servers-helper.sh +241 -0
- package/.agent/scripts/ses-helper.sh +619 -0
- package/.agent/scripts/session-review-helper.sh +404 -0
- package/.agent/scripts/setup-linters-wizard.sh +379 -0
- package/.agent/scripts/setup-local-api-keys.sh +330 -0
- package/.agent/scripts/setup-mcp-integrations.sh +472 -0
- package/.agent/scripts/shared-constants.sh +246 -0
- package/.agent/scripts/site-crawler-helper.sh +1487 -0
- package/.agent/scripts/snyk-helper.sh +940 -0
- package/.agent/scripts/sonarcloud-autofix.sh +193 -0
- package/.agent/scripts/sonarcloud-cli.sh +191 -0
- package/.agent/scripts/sonarscanner-cli.sh +455 -0
- package/.agent/scripts/spaceship-helper.sh +747 -0
- package/.agent/scripts/stagehand-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-setup.sh +441 -0
- package/.agent/scripts/stagehand-setup.sh +439 -0
- package/.agent/scripts/system-cleanup.sh +340 -0
- package/.agent/scripts/terminal-title-helper.sh +388 -0
- package/.agent/scripts/terminal-title-setup.sh +549 -0
- package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
- package/.agent/scripts/test-stagehand-integration.sh +309 -0
- package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
- package/.agent/scripts/todo-ready.sh +263 -0
- package/.agent/scripts/tool-version-check.sh +362 -0
- package/.agent/scripts/toon-helper.sh +469 -0
- package/.agent/scripts/twilio-helper.sh +917 -0
- package/.agent/scripts/updown-helper.sh +279 -0
- package/.agent/scripts/validate-mcp-integrations.sh +250 -0
- package/.agent/scripts/validate-version-consistency.sh +131 -0
- package/.agent/scripts/vaultwarden-helper.sh +597 -0
- package/.agent/scripts/vercel-cli-helper.sh +816 -0
- package/.agent/scripts/verify-mirrors.sh +169 -0
- package/.agent/scripts/version-manager.sh +831 -0
- package/.agent/scripts/webhosting-helper.sh +471 -0
- package/.agent/scripts/webhosting-verify.sh +238 -0
- package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
- package/.agent/scripts/worktree-helper.sh +595 -0
- package/.agent/scripts/worktree-sessions.sh +577 -0
- package/.agent/seo/dataforseo.md +215 -0
- package/.agent/seo/domain-research.md +532 -0
- package/.agent/seo/eeat-score.md +659 -0
- package/.agent/seo/google-search-console.md +366 -0
- package/.agent/seo/gsc-sitemaps.md +282 -0
- package/.agent/seo/keyword-research.md +521 -0
- package/.agent/seo/serper.md +278 -0
- package/.agent/seo/site-crawler.md +387 -0
- package/.agent/seo.md +236 -0
- package/.agent/services/accounting/quickfile.md +159 -0
- package/.agent/services/communications/telfon.md +470 -0
- package/.agent/services/communications/twilio.md +569 -0
- package/.agent/services/crm/fluentcrm.md +449 -0
- package/.agent/services/email/ses.md +399 -0
- package/.agent/services/hosting/101domains.md +378 -0
- package/.agent/services/hosting/closte.md +177 -0
- package/.agent/services/hosting/cloudflare.md +251 -0
- package/.agent/services/hosting/cloudron.md +478 -0
- package/.agent/services/hosting/dns-providers.md +335 -0
- package/.agent/services/hosting/domain-purchasing.md +344 -0
- package/.agent/services/hosting/hetzner.md +327 -0
- package/.agent/services/hosting/hostinger.md +287 -0
- package/.agent/services/hosting/localhost.md +419 -0
- package/.agent/services/hosting/spaceship.md +353 -0
- package/.agent/services/hosting/webhosting.md +330 -0
- package/.agent/social-media.md +69 -0
- package/.agent/templates/plans-template.md +114 -0
- package/.agent/templates/prd-template.md +129 -0
- package/.agent/templates/tasks-template.md +108 -0
- package/.agent/templates/todo-template.md +89 -0
- package/.agent/tools/ai-assistants/agno.md +471 -0
- package/.agent/tools/ai-assistants/capsolver.md +326 -0
- package/.agent/tools/ai-assistants/configuration.md +221 -0
- package/.agent/tools/ai-assistants/overview.md +209 -0
- package/.agent/tools/ai-assistants/status.md +171 -0
- package/.agent/tools/ai-assistants/windsurf.md +193 -0
- package/.agent/tools/ai-orchestration/autogen.md +406 -0
- package/.agent/tools/ai-orchestration/crewai.md +445 -0
- package/.agent/tools/ai-orchestration/langflow.md +405 -0
- package/.agent/tools/ai-orchestration/openprose.md +487 -0
- package/.agent/tools/ai-orchestration/overview.md +362 -0
- package/.agent/tools/ai-orchestration/packaging.md +647 -0
- package/.agent/tools/browser/agent-browser.md +464 -0
- package/.agent/tools/browser/browser-automation.md +400 -0
- package/.agent/tools/browser/chrome-devtools.md +282 -0
- package/.agent/tools/browser/crawl4ai-integration.md +422 -0
- package/.agent/tools/browser/crawl4ai-resources.md +277 -0
- package/.agent/tools/browser/crawl4ai-usage.md +416 -0
- package/.agent/tools/browser/crawl4ai.md +585 -0
- package/.agent/tools/browser/dev-browser.md +341 -0
- package/.agent/tools/browser/pagespeed.md +260 -0
- package/.agent/tools/browser/playwright.md +266 -0
- package/.agent/tools/browser/playwriter.md +310 -0
- package/.agent/tools/browser/stagehand-examples.md +456 -0
- package/.agent/tools/browser/stagehand-python.md +483 -0
- package/.agent/tools/browser/stagehand.md +421 -0
- package/.agent/tools/build-agent/agent-review.md +224 -0
- package/.agent/tools/build-agent/build-agent.md +784 -0
- package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
- package/.agent/tools/build-mcp/api-wrapper.md +445 -0
- package/.agent/tools/build-mcp/build-mcp.md +240 -0
- package/.agent/tools/build-mcp/deployment.md +401 -0
- package/.agent/tools/build-mcp/server-patterns.md +632 -0
- package/.agent/tools/build-mcp/transports.md +366 -0
- package/.agent/tools/code-review/auditing.md +383 -0
- package/.agent/tools/code-review/automation.md +219 -0
- package/.agent/tools/code-review/best-practices.md +203 -0
- package/.agent/tools/code-review/codacy.md +151 -0
- package/.agent/tools/code-review/code-simplifier.md +174 -0
- package/.agent/tools/code-review/code-standards.md +309 -0
- package/.agent/tools/code-review/coderabbit.md +101 -0
- package/.agent/tools/code-review/management.md +155 -0
- package/.agent/tools/code-review/qlty.md +248 -0
- package/.agent/tools/code-review/secretlint.md +565 -0
- package/.agent/tools/code-review/setup.md +250 -0
- package/.agent/tools/code-review/snyk.md +563 -0
- package/.agent/tools/code-review/tools.md +230 -0
- package/.agent/tools/content/summarize.md +353 -0
- package/.agent/tools/context/augment-context-engine.md +468 -0
- package/.agent/tools/context/context-builder-agent.md +76 -0
- package/.agent/tools/context/context-builder.md +375 -0
- package/.agent/tools/context/context7.md +371 -0
- package/.agent/tools/context/dspy.md +302 -0
- package/.agent/tools/context/dspyground.md +374 -0
- package/.agent/tools/context/llm-tldr.md +219 -0
- package/.agent/tools/context/osgrep.md +488 -0
- package/.agent/tools/context/prompt-optimization.md +338 -0
- package/.agent/tools/context/toon.md +292 -0
- package/.agent/tools/conversion/pandoc.md +304 -0
- package/.agent/tools/credentials/api-key-management.md +154 -0
- package/.agent/tools/credentials/api-key-setup.md +224 -0
- package/.agent/tools/credentials/environment-variables.md +180 -0
- package/.agent/tools/credentials/vaultwarden.md +382 -0
- package/.agent/tools/data-extraction/outscraper.md +974 -0
- package/.agent/tools/deployment/coolify-cli.md +388 -0
- package/.agent/tools/deployment/coolify-setup.md +353 -0
- package/.agent/tools/deployment/coolify.md +345 -0
- package/.agent/tools/deployment/vercel.md +390 -0
- package/.agent/tools/git/authentication.md +132 -0
- package/.agent/tools/git/gitea-cli.md +193 -0
- package/.agent/tools/git/github-actions.md +207 -0
- package/.agent/tools/git/github-cli.md +223 -0
- package/.agent/tools/git/gitlab-cli.md +190 -0
- package/.agent/tools/git/opencode-github-security.md +350 -0
- package/.agent/tools/git/opencode-github.md +328 -0
- package/.agent/tools/git/opencode-gitlab.md +252 -0
- package/.agent/tools/git/security.md +196 -0
- package/.agent/tools/git.md +207 -0
- package/.agent/tools/opencode/oh-my-opencode.md +375 -0
- package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
- package/.agent/tools/opencode/opencode.md +651 -0
- package/.agent/tools/social-media/bird.md +437 -0
- package/.agent/tools/task-management/beads.md +336 -0
- package/.agent/tools/terminal/terminal-title.md +251 -0
- package/.agent/tools/ui/shadcn.md +196 -0
- package/.agent/tools/ui/ui-skills.md +115 -0
- package/.agent/tools/wordpress/localwp.md +311 -0
- package/.agent/tools/wordpress/mainwp.md +391 -0
- package/.agent/tools/wordpress/scf.md +527 -0
- package/.agent/tools/wordpress/wp-admin.md +729 -0
- package/.agent/tools/wordpress/wp-dev.md +940 -0
- package/.agent/tools/wordpress/wp-preferred.md +398 -0
- package/.agent/tools/wordpress.md +95 -0
- package/.agent/workflows/branch/bugfix.md +63 -0
- package/.agent/workflows/branch/chore.md +95 -0
- package/.agent/workflows/branch/experiment.md +115 -0
- package/.agent/workflows/branch/feature.md +59 -0
- package/.agent/workflows/branch/hotfix.md +98 -0
- package/.agent/workflows/branch/refactor.md +92 -0
- package/.agent/workflows/branch/release.md +96 -0
- package/.agent/workflows/branch.md +347 -0
- package/.agent/workflows/bug-fixing.md +267 -0
- package/.agent/workflows/changelog.md +129 -0
- package/.agent/workflows/code-audit-remote.md +279 -0
- package/.agent/workflows/conversation-starter.md +69 -0
- package/.agent/workflows/error-feedback.md +578 -0
- package/.agent/workflows/feature-development.md +355 -0
- package/.agent/workflows/git-workflow.md +702 -0
- package/.agent/workflows/multi-repo-workspace.md +268 -0
- package/.agent/workflows/plans.md +709 -0
- package/.agent/workflows/postflight.md +604 -0
- package/.agent/workflows/pr.md +571 -0
- package/.agent/workflows/preflight.md +278 -0
- package/.agent/workflows/ralph-loop.md +773 -0
- package/.agent/workflows/release.md +498 -0
- package/.agent/workflows/session-manager.md +254 -0
- package/.agent/workflows/session-review.md +311 -0
- package/.agent/workflows/sql-migrations.md +631 -0
- package/.agent/workflows/version-bump.md +283 -0
- package/.agent/workflows/wiki-update.md +333 -0
- package/.agent/workflows/worktree.md +477 -0
- package/LICENSE +21 -0
- package/README.md +1446 -0
- package/VERSION +1 -0
- package/aidevops.sh +1746 -0
- package/bin/aidevops +21 -0
- package/package.json +75 -0
- package/scripts/npm-postinstall.js +60 -0
- package/setup.sh +2366 -0
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Security best practices for AI DevOps
|
|
3
|
+
mode: subagent
|
|
4
|
+
tools:
|
|
5
|
+
read: true
|
|
6
|
+
write: false
|
|
7
|
+
edit: false
|
|
8
|
+
bash: false
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
webfetch: false
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Security Best Practices
|
|
15
|
+
|
|
16
|
+
<!-- AI-CONTEXT-START -->
|
|
17
|
+
|
|
18
|
+
## Quick Reference
|
|
19
|
+
|
|
20
|
+
**Credential Rules**:
|
|
21
|
+
- NEVER commit API tokens to git
|
|
22
|
+
- Store in `~/.config/aidevops/mcp-env.sh` (600 permissions)
|
|
23
|
+
- Rotate tokens quarterly
|
|
24
|
+
- Use least-privilege principle
|
|
25
|
+
|
|
26
|
+
**SSH Security**:
|
|
27
|
+
- Use Ed25519 keys: `ssh-keygen -t ed25519`
|
|
28
|
+
- Permissions: 600 (private), 644 (public), 700 (~/.ssh/)
|
|
29
|
+
- Protect with passphrases
|
|
30
|
+
|
|
31
|
+
**File Permissions**:
|
|
32
|
+
- Config files: 600
|
|
33
|
+
- Scripts: 755
|
|
34
|
+
- SSH keys: 600 (private), 644 (public)
|
|
35
|
+
|
|
36
|
+
**Script Security**:
|
|
37
|
+
- `scripts/` - Shared, committed (use placeholders for secrets)
|
|
38
|
+
- `scripts-private/` - Local only, gitignored (real credentials OK)
|
|
39
|
+
|
|
40
|
+
**Incident Response**: Disable creds → Block IPs → Isolate systems → Investigate → Rotate all creds → Patch
|
|
41
|
+
|
|
42
|
+
**Security Checklist**: MFA on cloud accounts, regular token rotation, audit SSH keys, monitor logs
|
|
43
|
+
<!-- AI-CONTEXT-END -->
|
|
44
|
+
|
|
45
|
+
This document outlines security best practices for the AI Assistant Server Access Framework.
|
|
46
|
+
|
|
47
|
+
## 🔐 **Credential Management**
|
|
48
|
+
|
|
49
|
+
### API Tokens
|
|
50
|
+
|
|
51
|
+
- **Never commit API tokens to version control**
|
|
52
|
+
- Store tokens in separate configuration files
|
|
53
|
+
- Add config files to `.gitignore`
|
|
54
|
+
- Use environment variables for CI/CD
|
|
55
|
+
- Rotate tokens regularly (quarterly recommended)
|
|
56
|
+
- Use least-privilege principle for API permissions
|
|
57
|
+
|
|
58
|
+
### SSH Keys
|
|
59
|
+
|
|
60
|
+
- **Use Ed25519 keys** (modern, secure, fast)
|
|
61
|
+
- Generate unique keys per environment if needed
|
|
62
|
+
- Protect private keys with passphrases
|
|
63
|
+
- Set proper file permissions (600 for private keys, 644 for public keys)
|
|
64
|
+
- Regular key rotation and audit
|
|
65
|
+
|
|
66
|
+
### Password Files
|
|
67
|
+
|
|
68
|
+
- Store SSH passwords in separate files (never in scripts)
|
|
69
|
+
- Set restrictive permissions (600)
|
|
70
|
+
- Consider using SSH keys instead of passwords when possible
|
|
71
|
+
|
|
72
|
+
## 🔑 **SSH Security**
|
|
73
|
+
|
|
74
|
+
### Key Management Best Practices
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Generate secure Ed25519 key
|
|
78
|
+
ssh-keygen -t ed25519 -C "your-email@domain.com"
|
|
79
|
+
|
|
80
|
+
# Set proper permissions
|
|
81
|
+
chmod 600 ~/.ssh/id_ed25519
|
|
82
|
+
chmod 644 ~/.ssh/id_ed25519.pub
|
|
83
|
+
|
|
84
|
+
# Add passphrase protection
|
|
85
|
+
ssh-keygen -p -f ~/.ssh/id_ed25519
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### SSH Configuration Security
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# ~/.ssh/config security settings
|
|
92
|
+
Host *
|
|
93
|
+
# Disable password authentication when keys are available
|
|
94
|
+
PasswordAuthentication no
|
|
95
|
+
|
|
96
|
+
# Use only secure key exchange algorithms
|
|
97
|
+
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group16-sha512
|
|
98
|
+
|
|
99
|
+
# Use only secure ciphers
|
|
100
|
+
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
|
|
101
|
+
|
|
102
|
+
# Use only secure MAC algorithms
|
|
103
|
+
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
|
|
104
|
+
|
|
105
|
+
# Disable X11 forwarding by default
|
|
106
|
+
ForwardX11 no
|
|
107
|
+
|
|
108
|
+
# Connection timeout
|
|
109
|
+
ConnectTimeout 10
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Server Hardening
|
|
113
|
+
|
|
114
|
+
- Disable root login where possible
|
|
115
|
+
- Use non-standard SSH ports
|
|
116
|
+
- Implement fail2ban or similar
|
|
117
|
+
- Regular security updates
|
|
118
|
+
- Monitor SSH logs
|
|
119
|
+
|
|
120
|
+
## 🛡️ **Access Control**
|
|
121
|
+
|
|
122
|
+
### Principle of Least Privilege
|
|
123
|
+
|
|
124
|
+
- Grant minimum necessary permissions
|
|
125
|
+
- Use separate API tokens per project/environment
|
|
126
|
+
- Implement role-based access control
|
|
127
|
+
- Regular access reviews and cleanup
|
|
128
|
+
|
|
129
|
+
### Network Security
|
|
130
|
+
|
|
131
|
+
- Use VPNs or bastion hosts for sensitive environments
|
|
132
|
+
- Implement IP whitelisting where possible
|
|
133
|
+
- Use private networks for internal communication
|
|
134
|
+
- Monitor network traffic
|
|
135
|
+
|
|
136
|
+
### Multi-Factor Authentication
|
|
137
|
+
|
|
138
|
+
- Enable MFA on all cloud provider accounts
|
|
139
|
+
- Use hardware security keys when available
|
|
140
|
+
- Implement time-based OTP for API access
|
|
141
|
+
|
|
142
|
+
## 📊 **Monitoring and Auditing**
|
|
143
|
+
|
|
144
|
+
### Access Logging
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Enable SSH logging
|
|
148
|
+
# Add to /etc/ssh/sshd_config
|
|
149
|
+
LogLevel VERBOSE
|
|
150
|
+
|
|
151
|
+
# Monitor SSH access
|
|
152
|
+
tail -f /var/log/auth.log | grep ssh
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### API Usage Monitoring
|
|
156
|
+
|
|
157
|
+
- Monitor API rate limits and usage
|
|
158
|
+
- Set up alerts for unusual activity
|
|
159
|
+
- Regular audit of API token usage
|
|
160
|
+
- Log all API calls in production
|
|
161
|
+
|
|
162
|
+
### Security Scanning
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Regular security scans
|
|
166
|
+
nmap -sS -O target-server
|
|
167
|
+
|
|
168
|
+
# SSH security audit
|
|
169
|
+
ssh-audit target-server
|
|
170
|
+
|
|
171
|
+
# SSL/TLS testing
|
|
172
|
+
testssl.sh target-server
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## 🚨 **Incident Response**
|
|
176
|
+
|
|
177
|
+
### Compromise Detection
|
|
178
|
+
|
|
179
|
+
- Monitor for unauthorized SSH connections
|
|
180
|
+
- Watch for unusual API activity
|
|
181
|
+
- Set up alerts for failed authentication attempts
|
|
182
|
+
- Regular review of server logs
|
|
183
|
+
|
|
184
|
+
### Response Procedures
|
|
185
|
+
|
|
186
|
+
1. **Immediate Actions**
|
|
187
|
+
- Disable compromised credentials
|
|
188
|
+
- Block suspicious IP addresses
|
|
189
|
+
- Isolate affected systems
|
|
190
|
+
|
|
191
|
+
2. **Investigation**
|
|
192
|
+
- Analyze logs for attack vectors
|
|
193
|
+
- Identify scope of compromise
|
|
194
|
+
- Document findings
|
|
195
|
+
|
|
196
|
+
3. **Recovery**
|
|
197
|
+
- Rotate all potentially compromised credentials
|
|
198
|
+
- Update and patch systems
|
|
199
|
+
- Restore from clean backups if necessary
|
|
200
|
+
|
|
201
|
+
4. **Prevention**
|
|
202
|
+
- Implement additional security measures
|
|
203
|
+
- Update security procedures
|
|
204
|
+
- Conduct security training
|
|
205
|
+
|
|
206
|
+
## 🔒 **File Permissions**
|
|
207
|
+
|
|
208
|
+
### Recommended Permissions
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Configuration files
|
|
212
|
+
chmod 600 configs/.*.json
|
|
213
|
+
|
|
214
|
+
# SSH keys
|
|
215
|
+
chmod 600 ~/.ssh/id_*
|
|
216
|
+
chmod 644 ~/.ssh/id_*.pub
|
|
217
|
+
chmod 600 ~/.ssh/config
|
|
218
|
+
chmod 700 ~/.ssh/
|
|
219
|
+
|
|
220
|
+
# Password files
|
|
221
|
+
chmod 600 ~/.ssh/*_password
|
|
222
|
+
|
|
223
|
+
# Scripts
|
|
224
|
+
chmod 755 *.sh
|
|
225
|
+
chmod 755 .agent/scripts/*.sh
|
|
226
|
+
chmod 755 ssh/*.sh
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Git Security
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# .gitignore for security
|
|
233
|
+
echo "configs/.*.json" >> .gitignore
|
|
234
|
+
echo "*.password" >> .gitignore
|
|
235
|
+
echo ".env" >> .gitignore
|
|
236
|
+
echo "*.key" >> .gitignore
|
|
237
|
+
echo "*.pem" >> .gitignore
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Script Security
|
|
241
|
+
|
|
242
|
+
### Directory Structure
|
|
243
|
+
|
|
244
|
+
```text
|
|
245
|
+
.agent/
|
|
246
|
+
├── scripts/ # Shared (committed to Git)
|
|
247
|
+
│ └── [helper].sh # Use placeholders: YOUR_API_KEY_HERE
|
|
248
|
+
└── scripts-private/ # Private (gitignored, never committed)
|
|
249
|
+
└── [custom].sh # Real credentials OK here
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Guidelines
|
|
253
|
+
|
|
254
|
+
**Shared scripts (`scripts/`):**
|
|
255
|
+
- Use placeholders: `readonly API_TOKEN="YOUR_API_TOKEN_HERE"`
|
|
256
|
+
- Load from secure storage: `api_key=$(.agent/scripts/setup-local-api-keys.sh get service)`
|
|
257
|
+
- Never hardcode actual credentials
|
|
258
|
+
|
|
259
|
+
**Private scripts (`scripts-private/`):**
|
|
260
|
+
- Safe for real API keys (gitignored)
|
|
261
|
+
- Create from templates in `scripts/`
|
|
262
|
+
- Never share outside secure channels
|
|
263
|
+
|
|
264
|
+
### Verification
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# Verify private scripts are gitignored
|
|
268
|
+
git status --ignored | grep scripts-private
|
|
269
|
+
# Should show: .agent/scripts-private/ (ignored)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## 🌐 **Network Security**
|
|
273
|
+
|
|
274
|
+
### VPN and Bastion Hosts
|
|
275
|
+
|
|
276
|
+
- Use VPN for accessing production systems
|
|
277
|
+
- Implement bastion hosts for multi-hop access
|
|
278
|
+
- Restrict direct internet access to servers
|
|
279
|
+
|
|
280
|
+
### Firewall Rules
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Basic iptables rules
|
|
284
|
+
iptables -A INPUT -p tcp --dport 22 -s trusted-ip -j ACCEPT
|
|
285
|
+
iptables -A INPUT -p tcp --dport 22 -j DROP
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### SSL/TLS
|
|
289
|
+
|
|
290
|
+
- Use TLS 1.2 or higher for all API communications
|
|
291
|
+
- Implement certificate pinning where possible
|
|
292
|
+
- Regular certificate rotation
|
|
293
|
+
|
|
294
|
+
## 📋 **Security Checklist**
|
|
295
|
+
|
|
296
|
+
### Initial Setup
|
|
297
|
+
|
|
298
|
+
- [ ] Generate secure SSH keys with passphrases
|
|
299
|
+
- [ ] Set proper file permissions on all sensitive files
|
|
300
|
+
- [ ] Configure secure SSH client settings
|
|
301
|
+
- [ ] Add sensitive files to .gitignore
|
|
302
|
+
- [ ] Enable MFA on all cloud accounts
|
|
303
|
+
|
|
304
|
+
### Regular Maintenance
|
|
305
|
+
|
|
306
|
+
- [ ] Rotate API tokens quarterly
|
|
307
|
+
- [ ] Audit SSH keys and remove unused ones
|
|
308
|
+
- [ ] Review and update access permissions
|
|
309
|
+
- [ ] Monitor logs for suspicious activity
|
|
310
|
+
- [ ] Update and patch all systems
|
|
311
|
+
|
|
312
|
+
### Emergency Procedures
|
|
313
|
+
|
|
314
|
+
- [ ] Document incident response procedures
|
|
315
|
+
- [ ] Test backup and recovery processes
|
|
316
|
+
- [ ] Maintain emergency contact information
|
|
317
|
+
- [ ] Regular security drills and training
|
|
318
|
+
|
|
319
|
+
## 🔍 **Security Tools**
|
|
320
|
+
|
|
321
|
+
### Recommended Tools
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# SSH security audit
|
|
325
|
+
ssh-audit server-ip
|
|
326
|
+
|
|
327
|
+
# Network scanning
|
|
328
|
+
nmap -sS -sV target
|
|
329
|
+
|
|
330
|
+
# SSL/TLS testing
|
|
331
|
+
testssl.sh target
|
|
332
|
+
|
|
333
|
+
# File integrity monitoring
|
|
334
|
+
aide --init
|
|
335
|
+
aide --check
|
|
336
|
+
|
|
337
|
+
# Log analysis
|
|
338
|
+
fail2ban-client status
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Automation
|
|
342
|
+
|
|
343
|
+
- Implement automated security scanning
|
|
344
|
+
- Set up log monitoring and alerting
|
|
345
|
+
- Use configuration management for consistent security settings
|
|
346
|
+
- Regular automated backups with encryption
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
**Remember: Security is an ongoing process, not a one-time setup. Regular reviews and updates are essential for maintaining a secure infrastructure.**
|