Introduction
In today's digital age, establishing a professional online presence is essential for showcasing expertise and attracting opportunities. When creating EdwinMolina.me, my objective extended beyond developing a mere portfolio; I aimed to construct a secure, scalable, and highly available web platform. Leveraging Amazon Web Services (AWS) and adhering to security best practices from OWASP and MITRE frameworks, I engineered a robust solution that ensures both performance and security. This blog post delves into the project's development, focusing on functionality, security measures, and continuous improvement.
Project Objective
- Deploy a Responsive, Professional Portfolio Website: Create an engaging and user-friendly interface to showcase my skills and projects.
- Implement AWS Infrastructure for Scalability and High Availability: Ensure the platform can handle varying traffic loads seamlessly.
- Integrate Security Best Practices (OWASP, MITRE) and TLS/SSL Encryption: Protect the platform against common vulnerabilities and ensure secure data transmission.
- Leverage Serverless Technologies (Lambda, DynamoDB) for Enhanced Functionality: Implement metadata tag filters that display relevant blog posts, enhancing user engagement and content discoverability.
Tools & Technologies
- Front-End: HTML, CSS
- AWS Services: EC2, Application Load Balancer (ALB), Route 53, Lambda, DynamoDB
- Security Frameworks: OWASP Top Ten, MITRE ATT&CK
- Monitoring & Logging: AWS CloudTrail, GuardDuty
- Automation & IaC: AWS CloudFormation, Terraform
Implementation Steps
Environment Setup
- Front-End Development: Designed a lightweight, responsive front-end using HTML and CSS, optimizing load times and user experience.
- AWS Infrastructure Deployment: Configured EC2 instances, ALB, and Route 53 with failover routing policies for reliability.
Security Implementation
- TLS/SSL Encryption: Secured HTTPS connections using AWS Certificate Manager (ACM).
- OWASP and MITRE ATT&CK Integration: Applied input validation, output encoding, and secure configurations to address vulnerabilities proactively.
Serverless Feature Integration
- Lambda Function Development: Created Lambda functions in Python to handle metadata tag interactions for retrieving blog posts.
- DynamoDB Setup: Configured a DynamoDB table to store blog metadata for fast and accurate data retrieval.
- API Gateway Integration: Secured endpoints for seamless interaction between the front-end and serverless backend.
Monitoring & Logging
- CloudTrail and GuardDuty: Enabled comprehensive logging and threat detection for security monitoring.
- Custom Dashboards: Created CloudWatch dashboards to visualize performance metrics and system health.
Security Measures
- Input Validation and Sanitization: Prevented injection attacks and ensured data integrity.
- Encryption Practices: Used TLS/SSL and DynamoDB encryption for data protection.
- Continuous Monitoring: Leveraged AWS tools for real-time threat detection and response.
Challenges Faced
- Balancing Cost and Performance: Optimized instance types and Auto Scaling for cost-efficiency without compromising performance.
- Serverless Integration Complexity: Used AWS SAM for streamlined deployment and reliable feature implementation.
Key Findings
- Scalability Achieved Through AWS Services: Effective use of EC2, ALB, and Auto Scaling managed traffic seamlessly.
- Enhanced Security Posture: OWASP and MITRE guidelines, paired with GuardDuty, minimized vulnerabilities.
Lessons Learned
Combining layered security approaches, serverless technologies, and automation enhances both functionality and protection in cloud deployments.
Conclusion
Developing EdwinMolina.me highlighted the interplay of cloud architecture and cybersecurity. Leveraging AWS services such as EC2, ALB, Lambda, and DynamoDB, I built a secure, scalable platform that meets high availability standards and adheres to stringent security best practices. This project equipped me with practical experience in cloud infrastructure management and cybersecurity, preparing me to tackle real-world challenges in secure web platform development.