🌐Catatan Seekor: Web Security

"Web security is not just about protecting your website, it's about protecting your users"

📚 Overview

Web Security adalah praktik melindungi website, web application, dan web service dari berbagai ancaman cyber. Ini mencakup perlindungan terhadap serangan yang dapat mengeksploitasi kerentanan dalam aplikasi web.

🎯 Learning Objectives

Setelah mempelajari materi ini, Anda akan mampu:

  • Memahami OWASP Top 10 vulnerabilities

  • Menerapkan protection terhadap XSS, SQL Injection, dan CSRF

  • Mengkonfigurasi security headers dengan benar

  • Mengimplementasikan Content Security Policy (CSP)

  • Mengamankan komunikasi dengan HTTPS dan SSL/TLS

📖 Table of Contents

🚨 Web Security Threats

1. Injection Attacks

  • SQL Injection: Menyisipkan SQL code ke dalam query database

  • NoSQL Injection: Eksploitasi kerentanan NoSQL database

  • Command Injection: Menjalankan command system yang tidak sah

  • LDAP Injection: Eksploitasi LDAP queries

2. Cross-Site Attacks

  • Cross-Site Scripting (XSS): Menjalankan script berbahaya di browser user

  • Cross-Site Request Forgery (CSRF): Memaksa user melakukan action yang tidak diinginkan

  • Cross-Site Script Inclusion (XSSI): Include script dari domain lain

3. Authentication & Session Issues

  • Weak Authentication: Password yang lemah atau tidak aman

  • Session Hijacking: Mencuri session ID user

  • Insecure Direct Object References: Akses langsung ke resource tanpa validasi

4. Data Exposure

  • Sensitive Data Exposure: Data sensitif terekspos

  • Insufficient Logging: Logging yang tidak memadai untuk security monitoring

  • Security Misconfiguration: Konfigurasi security yang salah

🚀 Quick Start

🔰 Untuk Pemula

🎯 Untuk Developer

📚 Referensi & Resources

🌟 Essential Reading

📖 Books

  • "The Web Application Hacker's Handbook" by Dafydd Stuttard

  • "Web Application Security" by Andrew van der Stock

  • "Hacking Web Applications" by Jeremiah Grossman

  • "Web Security Testing" by Paco Hope

🎓 Online Courses

🛠️ Tools & Frameworks

🔗 Communities & Forums

🎯 Best Practices

🔐 Input Validation

  • ✅ Validate all user inputs

  • ✅ Use whitelist approach

  • ✅ Implement proper encoding

  • ✅ Sanitize data before processing

  • ✅ Use parameterized queries

🛡️ Output Encoding

  • ✅ Encode all dynamic content

  • ✅ Use context-aware encoding

  • ✅ Implement proper escaping

  • ✅ Validate output format

  • ✅ Use security libraries

🔒 Authentication Security

  • ✅ Strong password policies

  • ✅ Multi-factor authentication

  • ✅ Secure session management

  • ✅ Account lockout policies

  • ✅ Secure password reset

🌐 Transport Security

  • ✅ Use HTTPS everywhere

  • ✅ Implement HSTS

  • ✅ Secure cookie attributes

  • ✅ TLS 1.3 configuration

  • ✅ Certificate management

🚨 Security Checklist

🔍 Pre-Development

🛠️ During Development

🧪 Testing & Deployment

📊 Monitoring & Maintenance

🔍 Common Vulnerabilities

🚨 OWASP Top 10 2021

  1. Broken Access Control - Inadequate access controls

  2. Cryptographic Failures - Weak encryption implementation

  3. Injection - SQL, NoSQL, LDAP, OS injection

  4. Insecure Design - Flaws in design and architecture

  5. Security Misconfiguration - Incorrect security settings

  6. Vulnerable Components - Outdated or vulnerable dependencies

  7. Authentication Failures - Weak authentication mechanisms

  8. Software and Data Integrity Failures - Supply chain attacks

  9. Security Logging Failures - Insufficient logging and monitoring

  10. Server-Side Request Forgery - SSRF attacks

🔓 Additional Threats

  • Clickjacking: UI redressing attacks

  • File Upload Vulnerabilities: Malicious file uploads

  • XML External Entity (XXE): XML parsing vulnerabilities

  • Server-Side Template Injection: Template engine vulnerabilities

  • HTTP Request Smuggling: Request smuggling attacks

🛡️ Security Controls

🔒 Preventive Controls

  • Input validation and sanitization

  • Output encoding

  • Authentication and authorization

  • Secure session management

  • HTTPS implementation

🔍 Detective Controls

  • Security logging

  • Intrusion detection

  • Vulnerability scanning

  • Security monitoring

  • Regular audits

🚨 Corrective Controls

  • Incident response

  • Patch management

  • Security updates

  • User training

  • Continuous improvement

📊 Implementation Examples

🛡️ Security Headers (Node.js/Express)

🔐 SQL Injection Prevention (Python)

🔒 XSS Prevention (Java/Spring)

🔐 CSRF Protection (PHP)

🚀 Advanced Topics

🔐 Content Security Policy (CSP)

  • Policy directives

  • Nonce and hash values

  • Report-only mode

  • CSP violations reporting

  • Policy generation tools

🌐 Subresource Integrity (SRI)

  • Hash verification

  • Integrity attributes

  • CDN security

  • Resource validation

  • Fallback strategies

🔒 HTTP Security Headers

  • HSTS (HTTP Strict Transport Security)

  • HPKP (HTTP Public Key Pinning)

  • X-Frame-Options

  • X-Content-Type-Options

  • Referrer Policy

🛡️ Web Application Firewall (WAF)

  • Rule-based protection

  • Behavioral analysis

  • Rate limiting

  • DDoS protection

  • Custom rules

🔍 Security Testing

🧪 Automated Testing

  • Static Application Security Testing (SAST)

  • Dynamic Application Security Testing (DAST)

  • Interactive Application Security Testing (IAST)

  • Software Composition Analysis (SCA)

  • Container security scanning

🔍 Manual Testing

  • Penetration testing

  • Code review

  • Configuration review

  • Architecture review

  • Threat modeling

📊 Security Metrics

  • Vulnerability density

  • Time to fix

  • Security debt

  • Compliance score

  • Risk assessment

🤝 Contributing

Kontribusi untuk memperbaiki dan menambahkan konten web security sangat dihargai! Silakan:

  1. Fork repository ini

  2. Buat branch untuk fitur baru

  3. Commit perubahan Anda

  4. Push ke branch

  5. Buat Pull Request

📄 License

Konten ini tersedia di bawah MIT Licensearrow-up-right.

🙏 Acknowledgments

  • OWASP Foundation untuk web security guidelines

  • Web security researchers dan practitioners

  • Security testing tools developers

  • Security community yang terus berbagi knowledge


⚠️ Disclaimer: Catatan ini dibuat untuk tujuan pembelajaran. Selalu test security measures di environment yang aman dan konsultasikan dengan security experts untuk implementasi production.

🌐 Remember: Web security is an ongoing process. Stay vigilant and keep your applications secure!

Last updated