Mencegah file hidden Linux diakses lewat Nginx

Ini aslinya hal yang tidak umum tapi agak berhubungan dengan keamanan server. Jadi di Linux itu juga ada yang namanya hidden file seperti di Windows, bedanya adalah format nama filenya: cukup diawali titik (.) dan kemudian baru namanya. Sering disebut dot file. Ini kalau dilihat di semacam file explorer atau lewat perintah ls kadang tidak ditampilkan.

Nah… saya mendapatkan pertanyaan bagaimana supaya – kasus hipotetis – ada file hidden dengan format php (contoh: .php) yang bisa dipanggil lewat Nginx diblokir saja.

Masalah yang tidak umum tapi cukup menarik buat saya, dan solusinya cukup mudah kok. Dalam konfigurasi Nginx atau virtual hostnya tambahkan kode berikut:

location ~ /\. {
    deny all;
}

Fungsinya malah tidak hanya mencegah akses ke php yang disembunyikan malah sekalian semua jenis dot file akan diblokir saat Nginx menerima request untuk memuatnya.

Ini diletakkan diatas semua kode location {} yang menggunakan regex karena oleh Nginx akan dieksekusi dengan prioritas urutan.

Semoga bermanfaat. 🙂

Tinggalkan komentar