[Lab 8.15] Basic Authentication pada Nginx

Dalam keamanan ada sebuah istilah Authentication, yang merupakan cara untuk meyakinkan bahwa kita sedang berbicara pada orang yang dimaksud, bukan penyusup atau penyadap. Kita dapat menerapkan Authentication ketika ingin membuka isi konten dari Web Server, agar hanya orang-orang tertentu saja yang dapat mengaksesnya, jadi ketika ingin membuka Web Server maka Server akan meminta user dan password.

Sekarang saya akan menunjukan cara mengatur autentication pada sebuah site yang ada di Web Server CentOS 7 ini, dan ini sedikit informasi tentang Server yang akan saya konfigurasi :
    Sistem Operasi:Linux CentOS 7
    IP Address:192.168.56.40 (enp0s3)
    Domain Name:centos.dz
Dan sekarang kita akan mulai melakukannya pada langkah langkah dibawah ini :
  • Pertama konfigurasi IP Address pada Interface server menjadi static agar IP Address server permanen dan tidak berubah ubah.
  • [root@dz-httpd ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=2bc33e21-067b-4a2f-a8b3-b90db29177eb
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.56.40
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.1
    DNS1=192.168.56.40
    DNS2=8.8.8.8

  • Pertama kita aktifkan repositori EPEL terlebih dahulu pada server yang akan kita install nginx.
  • [root@dz-centos ~]# yum install wget
    [root@dz-centos ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
    [root@dz-centos ~]# rpm -ivh epel-release-7-9.noarch.rpm
  • Kemudian baru kita install aplikasi nginx.
  • [root@dz-centos ~]# yum --enablerepo=epel -y install nginx httpd-tools
  • Kita buka port untuk http dan https agar server dapat diakses oleh Web Browser.
  • [root@dz-centos ~]# firewall-cmd --permanent --add-port=80/tcp
    [root@dz-centos ~]# firewall-cmd --permanent --add-port=443/tcp
    [root@dz-centos ~]# firewall-cmd --reload
  • Kemudian aktifkan layanan nginx.
  • [root@dz-centos ~]# systemctl enable nginx
    [root@dz-centos ~]# systemctl start nginx
  • Lalu kita edit file konfigurasi nginx agar dapat menggunakan authentication.
  • [root@dz-centos ~]# vi /etc/nginx/nginx.conf
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    root /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    auth_basic "Basic Auth";
    auth_basic_user_file "/etc/nginx/.htpasswd";

    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }

    }
  • kemudian restart layanan nginx untuk memperbarui konfigurasi.
  • systemctl restart nginx
  • kita buat user dan password yang akan digunakan untuk login.
  • [root@dz-centos ~]# htpasswd -c /etc/nginx/.htpasswd dzikra
    New password:
    Re-type new password:
    Adding password for user dzikra
  • Lalu kita coba testing pada browser untuk mengakses server yang sudah dilengkapi authentication tersebut.

Komentar