Skip to main content

OWASP

OWASP (Open Web Application Security Project) adalah organisasi nonprofit yang berfokus pada peningkatan keamanan aplikasi web. OWASP menyediakan panduan, tools, dokumentasi, dan best practice untuk membantu developer, DevOps, dan security engineer membangun aplikasi yang aman.

Tujuan utama OWASP adalah:

  • Memberikan edukasi tentang keamanan aplikasi
  • Menyediakan resource open-source
  • Mengurangi risiko kerentanan aplikasi

OWASP Top 10 adalah daftar 10 risiko keamanan aplikasi web paling kritis. Versi terbaru (2021) mencakup:

  1. Broken Access Control
  2. Cryptographic Failures
  3. Injection
  4. Insecure Design
  5. Security Misconfiguration
  6. Vulnerable and Outdated Components
  7. Identification and Authentication Failures
  8. Software and Data Integrity Failures
  9. Security Logging and Monitoring Failures
  10. Server-Side Request Forgery (SSRF)

OWASP Top 10 bukan standar wajib, namun menjadi acuan global dalam AppSec.

Cara Implementasi dan Konfigurasi OWASP

Penerapan dalam Development

1. Secure Coding Practices

  • Gunakan parameterized queries untuk mencegah SQL Injection.
  • Validasi input (server-side dan client-side).
  • Gunakan hashing + salting untuk password (misal: bcrypt).

2.Dependency Scanning

Gunakan tools OWASP seperti:

  • OWASP Dependency-Check
  • OWASP CycloneDX SBOM

Perintah Dependency-Check dasar:

dependency-check --project projectku --scan .

Penerapan dalam Infrastructure / DevOps

Hardening & Security Configuration

  • Disable default credentials
  • Gunakan HTTPS dan HSTS
  • Konfigurasi firewall (WAF)

OWASP ModSecurity Core Rule Set (CRS)

Contoh konfigurasi ModSecurity + OWASP CRS (nginx):

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;

Isi main.conf:

Include /usr/local/owasp-modsecurity-crs/crs-setup.conf
Include /usr/local/owasp-modsecurity-crs/rules/*.conf

Konfigurasi OWASP ZAP Menggunakan Docker

OWASP ZAP menyediakan image resmi di Docker Hub: owasp/zap2docker-stable

Pull Image:

docker pull owasp/zap2docker-stable

Mode GUI (Jika mau buka tampilan ZAP lewat X11 / VNC)

docker run -u zap -p 8080:8080 -p 8090:8090 \
-e DISPLAY=$DISPLAY \
owasp/zap2docker-stable zap.sh

Mode Headless (Tanpa GUI) untuk Automation / DAST Scan

docker run --rm -v $(pwd):/zap/wrk \
owasp/zap2docker-stable zap-baseline.py \
-t https://target.com \
-r report.html

Full Scan (lebih agresif)

docker run --rm -v $(pwd):/zap/wrk \
owasp/zap2docker-stable zap-full-scan.py \
-t https://target.com \
-r fullscan.html

Jalankan ZAP API Server

Jika kamu mau kontrol ZAP via API (misal untuk pipeline atau automation):

docker run -u zap -p 8080:8080 -p 8090:8090 \
owasp/zap2docker-stable zap.sh \
-daemon \
-port 8080 \
-host 0.0.0.0 \
-config api.key=12345

Contoh docker-compose untuk OWASP ZAP

version: "3.8"

services:
zap:
image: owasp/zap2docker-stable
container_name: owasp-zap
ports:
- "8080:8080"
- "8090:8090"
command: >
zap.sh -daemon
-port 8080
-host 0.0.0.0
-config api.key=12345

Penerapan dalam CI/CD

Integrasikan ke pipeline:

  • Static Application Security Testing (SAST)
  • Dynamic Application Security Testing (DAST)
  • Dependency scanning
  • Container security scanning

Contoh GitLab CI:

security_scan:
script:
- dependency-check --scan .
- zap-baseline.py -t https://aplikasi.example.com

Tools Resmi OWASP

Berikut beberapa tools yang umum digunakan:

ToolFungsi
OWASP ZAPDAST scanner
Dependency-CheckCek dependency rentan
AMASSInformation Gathering
CRSModSecurity rule set
Juice ShopDummy vulnerable app untuk belajar

Rekomendasi Penerapan OWASP untuk Organisasi

  1. Gunakan OWASP Top 10 sebagai baseline security
  2. Lakukan SAST + DAST secara berkala
  3. Terapkan Secure SDLC
  4. Gunakan WAF dengan OWASP CRS
  5. Lakukan pelatihan developer mengenai secure coding

Kesimpulan

OWASP adalah framework penting dalam membangun aplikasi aman. Dengan mengikuti panduan Top 10, menggunakan tools OWASP, dan mengintegrasikan keamanan ke dalam SDLC, organisasi dapat mengurangi risiko serangan secara signifikan.