Antisipasi SQL Injection setelah Web Security Evaluation

Antisipasi SQL Injection setelah Web Security Evaluation

Ada 2 hal yg akan kita antisipasi disini pertama tama SQL Injection biasanya dari phpmyadmin. Lalu yang kedua yaitu Protocol Security dari SSL.

So, yang pertama-tama kita lakukan memblokir akses ke phpMyAdmin di /opt/lampp/phpmyadmin, karena SQL Injection bisa masuk kesitu. Caranya kita buat file .htaccess langsung di dalam folder tersebut:


📌 Lokasi File:

/opt/lampp/phpmyadmin/.htaccess

Kalau belum ada, buat file baru dengan nama .htaccess di sana.


Contoh isi .htaccess untuk blokir akses publik:

Order deny,allow
Deny from all
Allow from 127.0.0.1

🔒 Artinya:

  • Semua IP diblokir
  • Kecuali localhost (127.0.0.1)

Pastikan modul .htaccess diaktifkan

Di file config Apache (/opt/lampp/etc/httpd.conf), pastikan ada baris:

<Directory "/opt/lampp/phpmyadmin">
    AllowOverride All
</Directory>

Ini mengizinkan .htaccess untuk bekerja di folder phpMyAdmin.

Kalau kamu pakai AllowOverride None, maka .htaccess akan diabaikan.


Selanjutnya Lakukan langkah-langkah untuk nonaktifkan TLS 1.0 & 1.1 agar hanya TLS 1.2 dan TLS 1.3 yang diizinkan.


🔧 Untuk Apache (LAMPP)

1. Buka file konfigurasi SSL

Kalau pakai XAMPP/Linux (LAMPP), biasanya di:

/opt/lampp/etc/extra/httpd-ssl.conf

Atau:

/opt/lampp/etc/httpd.conf

Cari bagian:

<VirtualHost _default_:443>

2. Tambahkan atau ubah baris berikut:

SSLProtocol TLSv1.2 TLSv1.3

Atau versi singkat untuk disable versi lawas:

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

3. Contoh lengkap blok SSL di Apache:

<VirtualHost _default_:443>
    DocumentRoot "/opt/lampp/htdocs"
    ServerName yourdomain.com

    SSLEngine on
    SSLCertificateFile "/opt/lampp/etc/ssl.cert/your_cert.crt"
    SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/your_key.key"
    SSLCertificateChainFile "/opt/lampp/etc/ssl.cert/intermediate.crt"

    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
</VirtualHost>

4. Restart Apache:

sudo /opt/lampp/lampp restart

🌐 Untuk Nginx

1. Edit file config Nginx, contoh:

sudo nano /etc/nginx/sites-available/default

2. Di dalam blok server { dengan port 443:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;

3. Restart Nginx:

sudo systemctl restart nginx

Oke problem solved!