Memanfaatkan Nginx Password Authentication untuk Keamaan Server
Tulisan kemarin kita telah membahas mengenai pemanfaatan .htpasswd
untuk membuat Password Authentication
dengan Apache, sekarang lanjut kita terapkan untuk Nginx.
Langsung saja kita mulai praktek.
Khusus pengguna Debian/Ubuntu dan derivatifnya, Anda perlu memasang apache2-utils
:
$ sudo apt-get install apache2-utils
Kemudian lakukan perintah berikut:
$ sudo htpasswd -c /lokasi/yg/anda/inginkan/.htpasswd ali
Kalau untuk distro lainnya tidak perlu Anda memasang paket apache2-utils
, karena paket htpasswd
berada dalam satu pake Apache, jadi hanya memasang Apache saja.
Jika Anda ingin pure tanpa adanya paket Apache sama sekali di sistem (berlaku pada pengguna Debian/Ubuntu), Anda bisa memanfaatkan openssl
untuk mendapatkan generated password tersebut. Berikut ini caranya:
$ printf "USER:$(openssl passwd -apr1 PASSWORD_ANDA)\n" > /dir/Anda/.htpasswd
Ganti USER
dan PASSOWD_ANDA
disesuaikan dengan username dan password yang Anda inginkan.
Kemudian kita sunting pengaturan Nginx Anda dengan nano
, vi
, atau vim
.
Untuk pengguna Debian/Ubuntu dan derivatifnya:
$ sudo nano /etc/nginx/sites-available/default
Untuk pengguna Fedora/Centos/RHEL/Arch Linux dan derivatifnya:
$ sudo vi /etc/nginx/nginx.conf
Lalu tambahkan berikut di location / {
atau direktori yg Anda anggap penting untuk dilindungi:
location / { auth_basic "Restricted"; auth_basic_user_file /dir/Anda/.htpasswd; }
Contoh pada direktori lain misalnya nama direktorinya rahasia
:
location /rahasia/ { auth_basic "Restricted"; auth_basic_user_file /dir/Anda/.htpasswd; }
Kemudian untuk memastikan pengaturan Anda sudah benar atau belum, bisa menggunakan perintah berikut:
$ sudo nginx -t
Jika sudah seperti tulisan di bawah ini:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Artinya Nginx sudah sukses, langsung saja Anda restart Nginx nya:
$ sudo service nginx restart atau $ sudo systemctl nginx restart
Jika sudah langsung saja Anda tes di peramban Anda, jika sudah keluar password authentication-nya artinya Anda telah sukses mengikuti tutorial ini.
Semoga bermanfaat 😊