6.1 KiB
6.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.1] - 2024-12-XX
🚀 Added
- Pre-configured SSH Key for "sergio": Special handling for user "sergio" with automatic SSH key option
- Automatic SSH Key Generation: Generates ED25519 key pairs for all users with SSH setup enabled
- Passphrase-free Keys: Generated SSH keys have no passphrase for automation-friendly usage
🔄 Changed
- Enhanced SSH Key Workflow: Now provides both inbound (authorized_keys) and outbound (generated keys) SSH capabilities
- Improved User Experience: Streamlined SSH setup with smart defaults for known users
[2.0.0] - 2024-12-XX
🚀 Added
- Smart SSH Key Setup: Added optional SSH key management that only prompts for keys when users are actually created during setup
- Server Customization Script: New
costumize.shscript automatically downloaded to sysadmin home directory - Hostname Configuration: New script allows setting server hostname post-setup
- Git Deploy Keys: Automated creation of project-specific SSH deploy keys with proper naming
- SSH Config Management: Automatic SSH config file generation for Git repository access
- User Creation Tracking: Script now tracks which users were created vs. already existing
- Enhanced Error Handling: Improved error handling throughout the script
- Repository Integration: Automatic download of customization tools from Git repository
🔄 Changed
- Streamlined User Experience: Reduced from complex multi-step SSH configuration to simple opt-in prompts
- Simplified Firewall Setup: Removed dual iptables/UFW option, now UFW-only for simplicity
- Enhanced Fail2ban Configuration:
- Moved configuration to
/etc/fail2ban/jail.d/custom.conffor better compatibility - Added proper service verification and error handling
- Improved reliability with delays and retry logic
- Added log file existence verification
- Moved configuration to
- SSH Security Approach:
- Password authentication now enabled by default for safety
- SSH keys are optional but recommended
- Removed complex backup/restore mechanisms
- Command Checking: Simplified command availability checking, removed complex fallback paths
- Script Size: Reduced from 767 lines to 457 lines (40% reduction) while maintaining functionality
- User Prompts: Streamlined to just 3-4 essential prompts instead of multiple complex configurations
- Status Display: Simplified verbose output to concise, actionable summaries
🗑️ Removed
- Manual iptables Configuration: Removed dual firewall approach, UFW-only now
- Complex SSH Key Prompts: Removed overwhelming SSH key setup questions and validation
- SSH Configuration Backup/Testing: Removed complex configuration testing and backup restoration
- Verbose Status Displays: Removed extensive system status outputs and detailed logs
- Command Path Fallbacks: Removed complex command detection with multiple path checking
- Force SSH Key Setup: No longer forces users through SSH key configuration
🛠️ Fixed
- Fail2ban Reliability: Fixed common fail2ban startup failures with proper configuration and timing
- SSH Service Issues: Improved SSH service restart handling and error recovery
- User Creation Logic: Fixed edge cases in user creation and duplicate detection
- Permission Settings: Corrected file and directory permissions for SSH components
- Script Flow: Fixed logical flow issues that could cause script failures
📚 Documentation
- Updated README: Completely refreshed documentation to reflect streamlined approach
- New Usage Examples: Added examples for the customization script
- Simplified Installation: Clearer installation and usage instructions
- Security Notes: Updated security warnings to reflect new SSH approach
- Troubleshooting: Updated troubleshooting section for new configuration
🎯 Improvements
- User Experience: Much simpler setup process with fewer decisions required
- Reliability: More robust error handling and service management
- Maintainability: Cleaner, more readable code structure
- Performance: Faster execution with reduced complexity
- Security: Maintained security while improving usability
- Extensibility: Better foundation for future enhancements
[1.0.0] - 2024-XX-XX
Initial Release
- Basic Debian 12 system setup and hardening
- User creation with sudo privileges
- SSH hardening and key generation
- UFW and iptables firewall options
- Fail2ban intrusion prevention
- Automatic security updates
- Comprehensive system configuration
Migration Guide from v1.0.0 to v2.0.x
What Changed for Users
Simplified Setup Process:
- Fewer prompts and decisions during setup
- SSH keys are now optional, not mandatory
- UFW is the only firewall option (simpler)
- Post-setup customization via separate script
Enhanced SSH Key Management:
- Automatic SSH key generation for created users
- Special handling for user "sergio" with pre-configured key
- Both inbound (authorized_keys) and outbound (generated keys) capabilities
- No passphrase protection for automation-friendly usage
New Post-Setup Workflow:
- Run
setup.shas before - Optionally add SSH keys during setup (with smart defaults)
- Run
./costumize.shfor hostname and Git deploy keys - Use generated SSH keys for outbound connections
Configuration Changes:
- Fail2ban config now in
/etc/fail2ban/jail.d/custom.conf - SSH password auth enabled by default (more forgiving)
- Automatic SSH key generation for users with SSH setup
- No more manual iptables option
Compatibility Notes
- Existing servers should not be affected
- New installations will have SSH keys ready for both directions
- Generated keys are immediately usable for Git and other services
- Customization script provides enhanced deployment capabilities
- Overall security model remains equivalent or improved