Security Best Practices

mindrally/skills/security-best-practices

作者 mindrally97184105b5da無授權條款269 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫5 週前更新

Security best practices for backend development, microservices, and secure coding patterns with emphasis on input validation and authentication

僅含說明Security
AI 產生的概覽

針對後端服務的安全最佳實務參考,涵蓋輸入驗證、身分驗證、密鑰管理及常見 Web 漏洞防護。

功能
此技能以清單形式提供後端與微服務開發的安全原則。內容涵蓋輸入驗證與清理、身分驗證與授權、權限界線、韌性防護措施、安全設定、錯誤處理、密鑰管理,以及 SQL 注入、XSS 與 CSRF 的防護。此外也涉及 API 安全與相依套件稽核。它只輸出指引建議,不含指令碼或產生的成品。
適用情境
適用於撰寫或審查後端服務、微服務,或任何處理敏感資料與外部輸入的程式碼時。適合在設計階段與審查階段檢查身分驗證、輸入處理、密鑰管理及常見 Web 攻擊防護。
執行需求
不需要任何工具、套件或憑證;僅為說明性指引,不附帶指令碼。

Security Best Practices

Apply these security principles when developing backend services, microservices, and any code handling sensitive data or external inputs.

Input Validation and Sanitization

  • Apply input validation and sanitization rigorously, especially on inputs from external sources
  • Validate all user inputs at the boundary of your application
  • Use allowlists over denylists when validating input
  • Sanitize data before storing or displaying to prevent injection attacks
  • Implement strict type checking and schema validation

Authentication and Authorization

  • Use secure defaults for JWT, cookies, and configuration settings
  • Implement proper token expiration and refresh mechanisms
  • Store secrets securely using environment variables or secret management services
  • Never hardcode credentials or API keys in source code
  • Use secure password hashing algorithms (bcrypt, Argon2)

Permission Boundaries

  • Isolate sensitive operations with clear permission boundaries
  • Apply the principle of least privilege throughout the system
  • Implement role-based access control (RBAC) where appropriate
  • Audit and log access to sensitive resources
  • Use separate service accounts for different components

Resilience and Protection

  • Implement retries, exponential backoff, and timeouts on all external calls
  • Deploy circuit breakers and rate limiting for service protection
  • Consider distributed rate-limiting to prevent abuse across services (e.g., using Redis)
  • Implement request throttling to prevent denial of service
  • Use connection pooling with appropriate limits

Secure Configuration

  • Use HTTPS/TLS for all network communications
  • Configure secure HTTP headers (HSTS, CSP, X-Frame-Options)
  • Disable verbose error messages in production
  • Keep dependencies updated and scan for vulnerabilities
  • Use secure defaults and fail securely

Error Handling

  • Implement comprehensive error handling throughout the application
  • Never expose stack traces or internal details to end users
  • Log security-relevant events with appropriate detail
  • Propagate context appropriately for debugging while maintaining security
  • Handle authentication and authorization failures gracefully

Secrets Management

  • Use environment variables or dedicated secrets managers
  • Rotate credentials and keys regularly
  • Implement proper key management practices
  • Avoid logging sensitive information
  • Use encryption at rest for sensitive data storage

SQL Injection Prevention

  • Use parameterized queries or prepared statements
  • Never concatenate user input into SQL queries
  • Use ORM features that automatically escape values
  • Validate and sanitize all database inputs
  • Limit database user permissions

Cross-Site Scripting (XSS) Prevention

  • Escape all output rendered in HTML
  • Use Content Security Policy headers
  • Sanitize user-generated content before display
  • Use framework-provided escaping functions
  • Avoid innerHTML and similar dangerous APIs

Cross-Site Request Forgery (CSRF) Prevention

  • Implement CSRF tokens for state-changing operations
  • Verify origin and referer headers
  • Use SameSite cookie attribute
  • Require re-authentication for sensitive actions
  • Implement proper session management

API Security

  • Implement API authentication (JWT, API keys, OAuth)
  • Use rate limiting to prevent abuse
  • Validate request content types
  • Implement request size limits
  • Log API access for auditing

Dependency Security

  • Regularly audit dependencies for vulnerabilities
  • Use lockfiles to ensure consistent versions
  • Remove unused dependencies
  • Monitor security advisories for your stack
  • Implement automated vulnerability scanning in CI/CD

來源與署名

來源:mindrally/skills位於security-best-practices提交9718410

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架