Menyembunyikan Versi Apache Dan Membuat 404 Not Found

Secara Default Apache menampilkan versi dan OS yang digunakan

Untuk menyembunyikannya lakukan konfigurasi seperti berikut

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

Ketika kita menonaktifkan default virtual host dan mengakses web server menggunakan IP Address maka yang ditampilkan adalah random virtualhost yang ada di server tersebut.
Untuk mengatasi hal tersebut kita aktifkan default virtualhost dan edit konfigurasinya seperti berikut

Salin default virtualhost original

cp 000-default.conf 000-default.conf.bak
cp default-ssl.conf 000-default-le-ssl.conf

Edit

sudo nano /etc/apache2/sites-available/000-default.conf
sudo nano /etc/apache2/sites-available/000-default-le-ssl.conf

Tambahkan baris berikut di paling bawah di kedua file diatas


    # Aturan untuk mengirim 404 (Not Found)
    Redirect 404 /

    # Atau aturan untuk mengirim 403 (Forbidden)
    # Redirect 403 /

    # Opsional: jika ingin menampilkan halaman khusus untuk 404
    # ErrorDocument 404 /404.html

Langkah terkahir aktifkan virtualhost

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

Reload dan restart service Apache

systemctl reload apache2
systemctl restart apache2

Alasan menyalin file default-ssl menjadi 000-default-le-ssl.conf adalah karena saya mendapati masalah ketika mengaktifkan virtualhost default-ssl malah diarahkan ke virtualhost https yang lain, asumsi saya jika tidak terdapat parameter ServerName pada konfigurasi virtualhost https Apache membaca urutan berdasarkan nama.