Skip to content

Learn a topic per day to be a successful and skillful Cybersecurity Engineer. Or customize the file to your own topic.

License

Notifications You must be signed in to change notification settings

mr-alham/Roadmap-Security-Engineer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Preview of the app

Roadmap to be a Security Engineer

This project is designed to help me master the skills required to become a Security Engineer by studying and practicing one subtopic at a time. Developed in Golang, this platform is structured to follow a comprehensive roadmap, integrating practical projects that align with real-world security practices.

The Problem

As a Computer Science student specializing in Cybersecurity, To bridge the gap between theoretical focus and the practical skills needed in the industry, I’ve designed a project that provides hands-on experience in various areas of security engineering. The goal is to have a portfolio of real-world projects that will showcase my skills and preparedness for a Security Engineer role by the time I graduate. This project-based approach keeps my knowledge current and aligned with industry standards, even while I continue my studies.

The Solution

I built a structured cybersecurity learning platform that follows a clear roadmap, broken down into categories and subtopics such as,

  • Foundational Security Knowledge

    • Security Principles and CIA Triad
    • Risk Management
    • Authentication, Authorization, and Accounting (AAA)
    • Cryptography
  • Linux Security

    • User and Group Management
    • SELinux & AppArmor
    • Network Security in Linux
  • Cloud Security (AWS/Azure)

    • Identity and Access Management (IAM)
    • Network Security in Cloud
  • Incident Response & Forensics

    • Incident Response Frameworks
    • Digital Forensics
  • Offensive Operations

  • Advanced Cyber Defense

Each subtopic includes theoretical concepts followed by hands-on projects that solidify my understanding. For example, learning about encryption algorithms includes a project that implements encryption and decryption using OpenSSL.

Technical Overview

Language(s)

  • Golang
  • JSON

Platform

  • Linux - Fedora
  • Visual Studio Code - *VS code for development

Focus Areas:

  • Security principles Deep dive into core security concepts like confidentiality, integrity, and availability (CIA Triad).

  • Linux security Mastery over user and group management, SELinux, and network firewall management.

  • Cloud security Expertise in cloud identity management, AWS/Azure security practices, and cloud networking.

  • Incident response Simulated scenarios for detecting and handling security breaches.

  • Offensive operations Experience with penetration testing techniques and red team operations.

This program emphasizes modular code structure, leveraging Golang’s powerful concurrency model for efficient task execution. It uses JSON for dynamic data loading of the security roadmap, ensuring easy extensibility for new topics and categories as I advance.

Key Features

  • Structured Roadmap

    The program is designed with a logical progression from foundational knowledge to advanced topics, ensuring I build expertise in a step-by-step manner.

  • Hands-On Projects

    These projects are not just theoretical exercises but simulate real-world scenarios Security Engineers face daily, ensuring I gain experience in tasks like firewall configuration, encryption practices, and cloud security setups.

  • Progress Tracking

    The platform tracks my progress by storing the current topic and learning state, enabling resumption from where I left off.

  • Custom Navigation

    Allows jumping to any desired topic or subtopic, enabling focused study on specific areas of interest.

  • Easy Installation & Setup

    Built as a command-line tool, it’s easy to install and use, either by downloading the pre-built binary or compiling from source.

Installation

  1. Run the Program Directly
  • Download the latest Roadmap-App.zip file from the GitHub repository.

    https://github.com/mr-alham/Roadmap-Security-Engineer.git
    
  • Extract the Roadmap-App.zip:

    unzip Roadmap-App.zip
  • Move the roadmap-sec-engineer.d directory to /usr/local/etc/:

    sudo mv roadmap-sec-engineer.d /usr/local/etc/
  • (Optional) Move the roadmap-sec-engineer binary to /usr/local/bin/ to use it as a regular Linux command:

    sudo mv roadmap-sec-engineer /usr/local/bin/
  • Run the program:

    roadmap-sec-engineer
  1. Compile the Program Yourself

    • Ensure you have Golang installed.

    • Clone the repository:

      git clone https://github.com/mr-alham/Roadmap-Security-Engineer.git
      cd Roadmap-Security-Engineer
    • Install dependencies:

      go get
    • Build the program:

      go mod tidy
      go build -a -o roadmap-sec-engineer
    • Run the program:

      ./roadmap-sec-engineer

Usage

  • Show Current Topic

    roadmap-sec-engineer
    Show the Screenshot

    Preview for current topic

  • Mark Current Topic as Completed

    roadmap-sec-engineer --done
    Show the Screenshot

    Preview for current topic

  • Jump to a Specific Topic

    roadmap-sec-engineer --custom <desired day>
    Show the Screenshot

    Preview for current topic

  • Display Help Menu

    roadmap-sec-engineer --help
    Show the Screenshot

    Preview for current topic

About

Learn a topic per day to be a successful and skillful Cybersecurity Engineer. Or customize the file to your own topic.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages