This project walks through setting up and securing remote SSH access on a Kali Linux virtual machine.
With detailing on best practices for SSH configuration, firewall setup, and brute-force protection using Fail2Ban.
It provides a solid foundation in Linux system hardening.
I built this project as part of my cybersecurity learning journey to gain hands-on experience in securing remote connections.
It was an opportunity to understand how real-world SSH security works, from configuration to active defense, and log monitoring.
- Setting up SSH on Kali Linux
- Connecting securely from your host machine
- Configuring firewall and custom SSH ports
- Protecting SSH from brute-force attacks using Fail2Ban
- Analyzing logs to verify security layers
- Windows 10 (or later) system
- Kali Linux Virtual Machine (VirtualBox, VMware, or Hyper-V)
- SSH client on Windows (PowerShell)
- Internet connection
- Basic Linux terminal knowledge
| File | Description |
|---|---|
| setup-guide.md | Step-by-step SSH setup instructions |
| security-hardening.md | Explanation of security layers |
| testing-and-validation.md | How to test and verify your setup |
| troubleshooting.md | Fixing common SSH setup issues |
| concepts-explained.md | Background theory and cybersecurity concepts |
| resources.md | Tools, links, and references |
| Skill Area | Description |
|---|---|
| Linux Administration | Installed & configured OpenSSH |
| Firewall Management | Used UFW to restrict access |
| Identity Access Management | Specified users who can connect through SSH |
| Security Hardening | Changed SSH port, disabled root login, enabled Password authentication |
| Intrusion Prevention | Configured Fail2Ban |
| Log Analysis | Reviewed /var/log/auth.log & fail2ban.log |
Security cannot be achieved with a single defense, it needs to be in-depth through layers.
Combining:
- Authentication and Authorization
- Secure configurations
- Firewalls
- Intrusion prevention tools
β¦creates a strong and resilient environment against real-world attacks.
Special thanks to Ezechi Jeremiah for the opportunity to do this project.
β‘οΈ Next: Setup Guide β