I provide security updates for the following versions of FlaskAPI Guard:
| Version | Supported |
|---|---|
| 4.x | ✅ bug and security fixes |
| 3.x | ✅ security fixes only |
| < 3.0 | ❌ |
I take the security of FlaskAPI Guard seriously. If you believe you've found a security vulnerability, please follow these steps:
-
Do not disclose the vulnerability publicly until I have fixed it.
-
Report the vulnerability through GitHub's security advisory feature:
- Go to the Security tab of the FlaskAPI Guard repository
- Click on "New draft security advisory"
- Fill in the details of the vulnerability
- Submit the advisory
Alternatively, you can report vulnerabilities through GitHub's private vulnerability reporting feature.
-
Include the following information in your report:
- A description of the vulnerability and its potential impact
- Steps to reproduce the issue
- Affected versions
- Any potential mitigations or workarounds
I will acknowledge your report within 48 hours and send a detailed response within 7 days, including the next steps in handling the vulnerability.
When using FlaskAPI Guard in your applications, consider the following security best practices:
-
API Tokens: Store your IPInfo token securely using environment variables or a secure secrets management system, not hardcoded in your application.
-
Whitelist and Blacklist: Regularly review and update your IP whitelists and blacklists.
-
Rate Limiting: Set appropriate rate limits based on your application's requirements to prevent abuse.
-
Auto-Ban Settings: Configure auto-ban thresholds and durations based on your threat model.
-
Country Blocking: Only block countries if necessary for compliance or security reasons.
-
HTTPS Enforcement: Always enable HTTPS enforcement in production environments.
-
CORS Settings: Configure CORS settings with the principle of least privilege, only allowing necessary origins, methods, and headers.
If using Redis for distributed state management:
- Enable Redis authentication with a strong password
- Configure Redis to only listen on localhost or use a secure network
- Use TLS/SSL for Redis connections in production
- Regularly update your Redis instance to the latest stable version
- Log Rotation: Implement log rotation for security logs to prevent disk space issues
- Log Monitoring: Regularly review security logs for suspicious activity
- Alerts: Set up alerts for unusual patterns detected by FlaskAPI Guard
- Regularly update FlaskAPI Guard and its dependencies to the latest versions
- Use a dependency scanning tool to identify and address vulnerabilities in your dependency tree
FlaskAPI Guard provides several security features to protect your Flask applications:
- IP Whitelisting and Blacklisting
- User Agent Filtering
- Rate Limiting
- Automatic IP Banning
- Penetration Attempt Detection
- Country-based Access Control
- Cloud Provider IP Blocking
For detailed information on configuring these features, refer to the documentation.
FlaskAPI Guard is designed to protect against common web application threats, including:
- Brute force attacks
- Distributed denial-of-service (DDoS) attacks
- Web scraping and data harvesting
- Reconnaissance from known malicious IPs
- Basic penetration testing attempts
Note that FlaskAPI Guard is a defense-in-depth measure and should be used alongside other security controls such as proper authentication, authorization, input validation, and output encoding.
Security updates will be released as needed. I recommend subscribing to GitHub releases or regularly checking for updates to ensure you're using the most secure version.
I follow responsible disclosure principles. If you report a vulnerability to me:
- I will confirm receipt of your vulnerability report
- I will provide an estimated timeline for a fix
- I will notify you when the vulnerability is fixed
- I will publicly acknowledge your responsible disclosure (unless you prefer to remain anonymous)
FlaskAPI Guard is licensed under the MIT License. See the LICENSE file for details.