Cara Mencegah Website Diakses Langusung Melalui IP dan Menyembunuikan Versi Apache

Mencegah website diakses melalui IP

Generate certificate dummy dulu, ini berfungsi untuk menyembunyikan nama domain jika kita menggunakan hostname FQDN

openssl req -x509 -nodes -days 3650 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/default.key \
-out /etc/ssl/certs/default.crt \
-subj "/CN=localhost"

Buat virtualhost default dengan nama diawali 000 agar di eksekusi lebih dulu

Buat file 000-default.conf:

nano 000-default.conf

Isikan seperti berikut:

<VirtualHost *:80>
    ServerName _default_

    Redirect 404 /

    ErrorLog ${APACHE_LOG_DIR}/default_error.log
    CustomLog ${APACHE_LOG_DIR}/default_access.log combined
</VirtualHost>

Buat file 000-default-ssl.conf:

nano 000-default-ssl.conf

Isikan seperti berikut:

<VirtualHost *:443>
    ServerName _default_

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/default.crt
    SSLCertificateKeyFile /etc/ssl/private/default.key

    Redirect 404 /

    ErrorLog ${APACHE_LOG_DIR}/ssl_default_error.log
    CustomLog ${APACHE_LOG_DIR}/ssl_default_access.log combined
</VirtualHost>

Path certificate disesuaikan dengan certificate dummy yang kita buat di awal tadi.

Aktifkan virtualhost:

a2ensite 000-default.conf
a2ensite 000-default-ssl.conf

Reload dan restart Apache:

sudo systemctl reload apache2
sudo systemctl restart apache2

Menyembunyikan Versi Apache

Salin file konfigurasi original

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

Edit file konfigurasi Apache

sudo nano /etc/apache2/apache2.conf

Tambahkan baris berikut di paling bawah

# KONFIGURASI TAMBAHAN
ServerSignature Off

Restart Apache:

sudo systemctl restart apache2