Defensive Practice

Security Labs

Hands-on security practice as part of my backend and DevSecOps learning journey.

I study application security through labs and project work — authentication, access control, vulnerability scanning, and container security. This page documents what I have practiced, not claims of professional specialization.

Introduction

I approach security as part of responsible software development: understanding risks, practicing safer defaults, and documenting what I learn through projects. This page complements my full-stack and learning work by showing how I apply security thinking to the applications and systems I build as my practice expands into backend, infrastructure, and DevSecOps work.

Learning Roadmap

My focus is moving from application work into backend-oriented systems, infrastructure, and security practice. This roadmap separates what I have already practiced, what I am actively refining, and what I plan to study next.

Application Security (Completed Basics)

Core web application security concepts I have practiced through labs and implementation work.

Authentication
RBAC
Password Hashing
CSRF
OWASP ZAP
SQL Injection Prevention

DevOps & Infrastructure Foundations (Completed Basics)

A practical foundation in Linux, Git, and Docker that supports my backend and DevSecOps learning.

Linux Fundamentals
Git & GitHub Workflow
PNPM
Docker Fundamentals
Docker Images
Docker Containers
Docker Volumes
Docker Networks
Docker Compose
Dockerfiles & Custom Images
Multi-Container Applications

Currently Practicing

My current focus is on applying the foundations I have built in containers, automation, and deployment workflows to more complete security and DevSecOps practice.

Container Security
Docker Security
Trivy
SAST
DAST
CodeQL result review
Monitoring
Logging
Prometheus
Grafana
PostgreSQL
Redis
Deployment Pipelines
Secrets Management

Planned Topics

Upcoming areas I want to study more deliberately as my practical experience grows.

Network Defense
GitHub Actions Security
Supply Chain Security
Kubernetes Security
SBOM
Kubernetes
Incident Response
Cloud Security

Current Focus Areas

I am building practical familiarity with the tools and workflows that connect development, deployment, and security operations, especially around containers, automation, and runtime protection.

Linux Fundamentals
Completed
Git & GitHub Workflow
Completed
Docker Fundamentals
Completed
Docker Compose
Completed
GitHub Actions
Practicing
CI/CD
Practicing
Container Security
Practicing
Docker Security
Practicing
Secrets Management
Practicing
DAST
Practicing
Monitoring
Practicing
Logging
Practicing
Prometheus
Practicing
Grafana
Practicing
Trivy
Practicing
SAST
Practicing
CodeQL
Completed
PostgreSQL
Practicing
Redis
Practicing
SBOM
Planned
Supply Chain Security
Planned
Kubernetes
Planned
Kubernetes Security
Planned
Network Defense
Planned
Incident Response
Planned
Cloud Security
Planned

Practice Areas

Security topics I practice as part of my backend and DevSecOps learning path.

These areas describe what I have practiced or plan to practice in labs. They are learning records, not claims of professional security specialization.

Identity & Access

Authentication and authorization are where users, roles, and trust boundaries meet. I practice these topics so my full-stack projects handle access decisions more intentionally.

JWT authentication
RBAC
Password hashing
Protected routes

Web Application Security

Most security issues I encounter as a developer start in everyday web flows: forms, sessions, headers, validation, and route protection.

CSRF
OWASP Top 10
Security headers
Input validation

Database Security

Database safety is part of application design. I practice query boundaries and validation so user input does not become unsafe data access.

Parameterized queries
SQL injection prevention
Access scoping
Data validation

Network Defense

Network defense is a planned learning area to understand what happens below the application layer, especially how firewalls and IDS/IPS tools observe traffic.

OPNsense
Suricata
Firewall rules
Alert review

DevSecOps

I am learning how security checks fit into build, deployment, and maintenance workflows instead of being treated as a final step.

Docker
CI/CD
SAST
DAST
Secrets management

Cloud Security

Cloud security is a planned learning area focused on configuration, least privilege, logging, and safer deployment habits.

IAM basics
Logging
Monitoring
Deployment configuration

Hands-on Labs

Each lab is written as practice evidence: what was practiced, why it mattered, what was learned, and where supporting notes belong. They are meant to show growth and validation, not polished claims.

JWT + RBAC Practice

Identity & Access

Scenario: Built a small authentication flow to understand how access boundaries work in a web application.
What I Practiced
JWT authentication with secure token handling
Role-based access control (RBAC) implementation
Password hashing with bcrypt
Protected routes with permission checks
Evidence
  • Demo implementation in SafeTrip Explorer PH repository
  • Role-based route restrictions on backend endpoints
  • Hashed password handling in user authentication
  • Session validation and token expiration logic
Learning OutcomeUnderstood why authentication proves identity while authorization controls what that identity can access.
https://github.com/wendev27/SafetripExplorerPH README / implementation notes Available when attached to the project record Demo video: Planned
Lessons Learned
  • Tokens need expiration to limit exposure windows.
  • Role checks should protect both UI routes and server actions.
  • JWT structure and claims affect security posture.
Status
Completed

CSRF Protection and Validation Practice

Web Application Security

Scenario: Practiced safer request handling for forms and authenticated actions.
What I Practiced
CSRF token implementation and validation
Input validation and sanitization
Security headers configuration
Safer request handling patterns
Evidence
  • Token checks in form submissions
  • Validated form input handling
  • Security header configuration notes
  • Before-and-after request review documentation
Learning OutcomeLearned why browser-based authenticated actions need request integrity checks, not only login protection.
https://github.com/wendev27/SafetripExplorerPH Lab notes / README Available when attached to the project record Demo video: Planned
Lessons Learned
  • CSRF is about trusted browser sessions being reused unintentionally.
  • Validation should happen before data reaches storage.
  • Security headers reduce risk but do not replace secure code.
Status
Completed

OWASP ZAP Testing Practice

Web Application Security

Scenario: Scanned local or demo applications and reviewed the results as developer feedback.
What I Practiced
OWASP ZAP scanning and configuration
Manual report review and risk assessment
OWASP Top 10 vulnerability mapping
Configuration fixes based on findings
Evidence
  • Generated scan results and reports
  • Reviewed alerts with risk prioritization
  • Documented fixes and configuration changes
  • Remediation notes for identified issues
Learning OutcomeLearned that automated security reports are starting points and still need developer judgment.
https://github.com/wendev27/SafetripExplorerPH Scan notes / remediation notes Available when attached to the project record Demo video: Planned
Lessons Learned
  • Not every alert has the same risk level.
  • Reports become useful when mapped to concrete fixes.
  • Automated tools complement but do not replace manual review.
Status
Completed

CI Security Scanning Practice

DevSecOps

Scenario: Added basic automated security checks to a learning pipeline and documented where the evidence lives.
What I Practiced
CodeQL workflow setup for JavaScript analysis
Trivy Docker image scan inside GitHub Actions
SAST checkpoint documentation
Security gate and deployment protection notes
Evidence
  • CodeQL workflow in .github/workflows/codeql.yaml
  • Trivy scan step in the Node CI workflow
  • SAST checkpoint in DevSecOps-Learning-Lab
  • CodeQL, Trivy, and container security checkpoint notes
Learning OutcomeLearned the difference between adding a scan to CI and operating a mature security program.
https://github.com/wendev27/DevSecOps-Learning-Lab checkpoints 14, 15, 16, and .github/workflows/codeql.yaml Not attached yet Demo video: Planned
Lessons Learned
  • A passing scan is evidence of a configured check, not proof that software is secure.
  • Findings need review rules before they can safely block deployment.
  • Security automation is more credible when linked to workflow files and checkpoints.
Status
In Progress

OPNsense / Suricata NIDPS Lab

Network Defense

Scenario: Configure a virtual defensive network lab to practice firewall rules and IDS/IPS alert review.
Topics to Explore
  • OPNsense firewall configuration and rule management
  • Suricata IDS/IPS setup and alert generation
  • Network traffic analysis and alert interpretation
  • Virtual lab environment setup and isolation
Planned Technologies
OPNsense
Suricata
VirtualBox/VMware
Wireshark
Future Experiments
  • Set up a virtual network with OPNsense firewall between segments
  • Configure Suricata rules and test alert generation with simulated traffic
  • Practice alert triage and determine which alerts require action
  • Document firewall rule changes and their impact on network behavior
Lab setup notes (planned) Available when attached to the project record Demo video: Planned
Status
Planned

SQL Injection Detection / Restriction Lab

Database Security

Scenario: Practiced finding unsafe input paths and replacing risky query patterns with safer database access habits.
What I Practiced
SQL injection testing with common attack patterns
Parameterized query implementation
Input validation and sanitization
OWASP testing methodologies
Evidence
  • Unsafe input test cases and results
  • Restricted risky query patterns
  • Safer query examples with parameterization
  • Documented database access patterns
Learning OutcomeLearned why query construction matters and why validation should support, not replace, parameterized SQL.
https://github.com/wendev27/SafetripExplorerPH Lab notes / README Available when attached to the project record Demo video: Planned
Lessons Learned
  • Escaping alone is easy to misuse and error-prone.
  • Parameterized queries keep user input separate from SQL structure.
  • Input validation adds defense-in-depth but does not replace secure queries.
Status
Completed

Engineering Journal

Notes from building and reviewing the labs. These are intentionally written as engineering observations, not marketing claims.

Why JWTs should expire instead of acting like permanent access passes — expiration limits the window where a stolen token can be used.
Why refresh tokens exist and why they need careful storage and rotation — they balance user convenience with security by allowing short-lived access tokens.
Why RBAC matters when one application has multiple user responsibilities — role checks enforce the principle of least privilege at the application level.
Why CSRF protection exists for authenticated browser-based actions — it prevents malicious sites from hijacking authenticated sessions without requiring user interaction.
Why parameterized SQL queries are safer than building SQL from user input — they separate data from code structure, eliminating entire classes of injection attacks.
Why IDS tools and firewalls solve different parts of network defense — firewalls enforce policy by blocking traffic, while IDS tools detect and alert on suspicious patterns.
Why OWASP ZAP reports still require manual interpretation before deciding what to fix — automated tools identify potential issues but lack context about business logic and acceptable risk.
Why security headers help reduce browser-side risk but do not replace secure code — headers are defense-in-depth measures that complement, not substitute for, secure application logic.

Certificates & Badges

Verified records are separated from current and planned learning.

Verified Certificates

Completed certificates of completion or formal course records.

Introduction to Critical Infrastructure Protection

OPSWAT Academy

"Covered fundamentals of protecting critical infrastructure, IT vs. OT environments, and specific industrial cyber threats."

Certificate of Completion
Verified

Verified Digital Badges

Verified badges are listed separately so they are not confused with certificates.

ISC2 Candidate

ISC2 via Credly

"Demonstrates commitment to the cybersecurity profession and adherence to the ISC2 Code of Ethics."

Digital Badge
Verified

Current Learning

In-progress learning items only.

No items listed in this group yet.

Planned Learning

Future learning goals that are not presented as completed credentials.

Cyber Threat Intelligence Certificate

Monash University / OpenLearning

"Future objective to deepen understanding of threat actor behaviors and intelligence gathering."

Certificate of Completion
Planned

Introduction to Cybersecurity

Cisco Networking Academy

Certificate of Completion
Planned

FCF Cybersecurity

Fortinet

Certificate of Completion
Planned

Philosophy

I believe secure software is built through consistent practice, curiosity, and continuous improvement. These labs document concepts I have practiced while learning secure software engineering. They represent my engineering journey rather than claims of professional security specialization.

Let's connect

Open to teams and technical roles where I can contribute, learn from feedback, and keep growing.