Add security guide
This commit is contained in:
parent
054f33fdca
commit
d0549408e9
1 changed files with 99 additions and 0 deletions
99
SECURITY.md
Normal file
99
SECURITY.md
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Supported Versions
|
||||||
|
|
||||||
|
We release security updates for the following versions of tududi:
|
||||||
|
|
||||||
|
| Version | Supported |
|
||||||
|
| ------- | ------------------ |
|
||||||
|
| 0.85.x | :white_check_mark: |
|
||||||
|
| < 0.85 | :x: |
|
||||||
|
|
||||||
|
We recommend always running the latest version to ensure you have the latest security patches.
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||||
|
|
||||||
|
If you discover a security vulnerability in tududi, please report it privately to help us fix it before public disclosure.
|
||||||
|
|
||||||
|
### How to Report
|
||||||
|
|
||||||
|
1. **Email:** Send details to the repository owner via GitHub or open a [Security Advisory](https://github.com/chrisvel/tududi/security/advisories/new)
|
||||||
|
|
||||||
|
2. **Include in your report:**
|
||||||
|
- Description of the vulnerability
|
||||||
|
- Steps to reproduce the issue
|
||||||
|
- Potential impact
|
||||||
|
- Suggested fix (if you have one)
|
||||||
|
- Your contact information
|
||||||
|
|
||||||
|
### What to Expect
|
||||||
|
|
||||||
|
- **Acknowledgment:** We'll acknowledge receipt of your report within 48 hours
|
||||||
|
- **Updates:** We'll keep you informed about the progress of fixing the issue
|
||||||
|
- **Timeline:** We aim to release a fix within 30 days for critical vulnerabilities
|
||||||
|
- **Credit:** We'll credit you in the security advisory (unless you prefer to remain anonymous)
|
||||||
|
|
||||||
|
## Security Best Practices
|
||||||
|
|
||||||
|
When deploying tududi, we recommend:
|
||||||
|
|
||||||
|
### Production Deployment
|
||||||
|
|
||||||
|
- **Use strong passwords:** Set secure `TUDUDI_USER_PASSWORD` and `TUDUDI_SESSION_SECRET`
|
||||||
|
- **HTTPS only:** Always use HTTPS in production (reverse proxy with Let's Encrypt)
|
||||||
|
- **Keep updated:** Regularly update to the latest version
|
||||||
|
- **Secure database:** Protect database files with proper permissions
|
||||||
|
- **Environment variables:** Never commit `.env` files or secrets to version control
|
||||||
|
- **Backup regularly:** Keep secure backups of your database
|
||||||
|
|
||||||
|
### Docker Security
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Generate strong session secret
|
||||||
|
TUDUDI_SESSION_SECRET=$(openssl rand -hex 64)
|
||||||
|
|
||||||
|
# Use secure volumes with proper permissions
|
||||||
|
chmod 700 ~/tududi_db
|
||||||
|
chmod 700 ~/tududi_uploads
|
||||||
|
```
|
||||||
|
|
||||||
|
### Self-Hosting Checklist
|
||||||
|
|
||||||
|
- [ ] Strong, unique passwords for all accounts
|
||||||
|
- [ ] HTTPS enabled with valid certificate
|
||||||
|
- [ ] Database files protected (not publicly accessible)
|
||||||
|
- [ ] Regular security updates applied
|
||||||
|
- [ ] Firewall configured to restrict access
|
||||||
|
- [ ] Regular backups scheduled
|
||||||
|
|
||||||
|
## Known Security Considerations
|
||||||
|
|
||||||
|
### Authentication & Sessions
|
||||||
|
|
||||||
|
- Sessions use `express-session` with secure settings
|
||||||
|
- Passwords are hashed with bcrypt
|
||||||
|
- Session secrets should be cryptographically random (64+ characters)
|
||||||
|
|
||||||
|
### Data Storage
|
||||||
|
|
||||||
|
- SQLite database stores all user data
|
||||||
|
- Uploads are stored in the filesystem
|
||||||
|
- Ensure proper file permissions on production servers
|
||||||
|
|
||||||
|
### Telegram Integration
|
||||||
|
|
||||||
|
- Bot tokens are sensitive credentials
|
||||||
|
- Store `TELEGRAM_BOT_TOKEN` securely
|
||||||
|
- Never expose tokens in logs or error messages
|
||||||
|
|
||||||
|
## Security Updates
|
||||||
|
|
||||||
|
Security updates are released as patch versions (e.g., 0.85.1 → 0.85.2). Critical vulnerabilities may warrant immediate releases.
|
||||||
|
|
||||||
|
Subscribe to [GitHub Releases](https://github.com/chrisvel/tududi/releases) or watch the repository to be notified of security updates.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Thank you for helping keep tududi and its users secure!
|
||||||
Loading…
Add table
Add a link
Reference in a new issue