Katakanlah kamu memiliki Linux server berbasis Ubuntu/Debian dengan webserver Nginx. Mau Amankan Nginx Linux Kamu? Berikut Cara Sederhana Memperaman NginxAda banyak cara peraman linux/webserver kamu, tetapi cara ini adalah salah satu hal sederhana yang setidaknya bisa kamu lakukan dengan mudah dan gak ribed-ribed banged.
Prevent Information Disclosure (Cegah Informasi sistem mu terkuak!)
curl -I http://localhost
Akan muncul informasi berikut dimana bisa dimanfaatkan oleh orang iseng lho, karena bisa ketahuan versi Nginx Linux Webserver kamu apa!
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Sat, 09 Mar 2019 Content-Type: text/html Content-Length: 10918 Last-Modified: Fri, 01 Feb 2019 Connection: keep-alive ETag: "5c546e3d-2aa6" Accept-Ranges: bytes
Untuk sembunyikan maka lakukan cara ini:
sudo nano /etc/nginx/nginx.conf
Ubah server_tokens menjadi OFF
server_tokens off;
restart
sudo systemctl restart nginx
Ulangi perintah
curl -I http://localhost
Hasilnya akan seperti ini :
HTTP/1.1 200 OK Server: nginx Date: Sat, 09 Mar 2019 Content-Type: text/html Content-Length: 10918 Last-Modified: Fri, 01 Feb 2019 Connection: keep-alive ETag: "5c546e3d-2aa6" Accept-Ranges: bytes
Restrict/Batasi IP Address tertentu untuk akses
sudo nano /etc/nginx/sites-enabled/default
Misal kamu hanya ingin allow IP subnet 172.16.0.0/16 maka ubah menjadi berikut
server { listen 80 default_server; listen [::]:80 default_server;
allow 172.16.0.0/16; deny all;
opsi deny all maksudnya adalah selain IP tersebut akan di deny
Restart kembali service Nginx-nya
sudo systemctl restart nginx
Lindungi Folder mu Dengan Password !
Dengan Nginx kamu bisa melakukan lock kepada folder agar tidak sembarangan dari luar akses folder webserver mu. Gunakan cara berikut:
sudo mkdir /etc/nginx/.htpasswd
sudo htpasswd -c /etc/nginx/.htpasswd/passwd admin
Misalkan kamu punya folder di web folder kamu: /var/www/html/test
atau nama folder yang ingin kamu lock bernama “test” maka lakukan cara berikut:
sudo nano /etc/nginx/sites-enabled/default
Ubah/sesuaikan menjadi ini:
location /test {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd/passwd;
Restart kembali service Nginx-nya
sudo systemctl restart nginx