Cara Konfigurasi Graylog Nginx Reverse Proxy dengan Letsencrypt SSL

Pada panduan cara konfigurasi Graylog Nginx ini, saya mengulas konfigurasi server tersebut dengan tambahan SSL dari Letsencrypt. Dengan cara ini, tentunya kamu dapat menggunakan tambahan domain atau nama host dengan sertifikasi SSL yang terverifikasi.

Mengkonfigurasi Graylog Nginx reverse proxy dengan tambahan Letsencrypt SSL

Pada bagian pertama ini, tentunya perlu melakukan penyesuaian instalasi klien Letsencrpt sepert halnya certbot yang akan kita gunakan untuk mendapatkan sertifikasi SLL yang akan digunakan untuk web aplikasi monitoring Graylog. 
Instal certbot-auto

# wget https://dl.eff.org/certbot-auto -P /usr/local/bin

 

# chmod a+x /usr/local/bin/certbot-auto

Buka port https di Firewall 


Perlu membuka port http untuk mendapatkan sertifikat SSL, sehingga kamu perlu membuka firewall jika ingin menambahkan sertifikat SSL pada web aplikasi monitoringmu.

Jika kamu menggunakan ufw atau iptables, gantilah perintah tersebut dengan perintah

# firewall-cmd –add-service={http,https} –permanent

# firewall-cmd –reload

Permintaan sertifikat SSL


Permintaan untuk mendapatkan sertifikat Letsencrypt menggunakan perintah certbot-auto

# export DOMAIN=`hostname -f`
# export EMAIL=”email@domain.com”
# certbot-auto certonly –standalone -d $DOMAIN –preferred-challenges http
 –agree-tos -n -m $EMAIL –keep-until-expiring 

Langkah ini mungkin perlu membutuhkan waktu yang cuku lama, karena akan dimulai dengan dependensi Bootstrapping, serta membuat virtual python, instal paket Python, dan langkah terarkhir pembuatan sertifikat SSL. Tunggu proses tersebut, hingga mendapatkan informasi bahwa sertifikat berhasil dibuat.

Informasi SSL yang sukses terlihat seperti ini:

…..
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com/privkey.pem Your cert will expire on 2018-06-07. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
“certbot-auto renew”
– If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Instal dan konfigurasikan Nginx

Sekarang kamu perlu menginstal dan mengkonfigurasi Nginx

# yum -y install nginx  –> CentOS

# apt-get install nginx –> Ubuntu 16.04, Debian 8/9 

Kamu dapat meletakkan konfigurasi nginx untuk graylog pada bagian bawah /etc/nginx/conf.d/graylog.conf. Ganti domain.com dengan nama domain / subdomain graylog yang telah kamu punya.

server
{
 listen 443 ssl;
 server_name domain.com www.domain.com;
 location /
 {
 proxy_set_header Host $http_host;
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-Server $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL https://domain.com/api;
 proxy_pass http://127.0.0.1:9000;
 # proxy_pass http://ip-address:9000;
 }
 ssl on;
 ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
 ssl_session_timeout 5m;
 ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
 ssl_protocols TLSv1.2;
 ssl_prefer_server_ciphers on;
 access_log /var/log/nginx/graylog.access.log;
 error_log /var/log/nginx/graylog.error.log;
}
# http to https redirection
server {
    listen 80;
    server_name domain.com www.domain.com;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;

Simpan konfigurasi dan periksa kembali apakah nginx sintaksnya sudah valid.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Saatnya kamu Mulai dan mengaktifkan layanan nginx

Lanjutkan perintah dibawah ini untuk memulai dan mengaktifkan layanan nginx.

# systemctl start nginx

# systemctl enable nginx

Coba akses halaman web aplikasi Gaylog dengan domain yang telah kamu setting, dan jika berhasil maka kamu akan di arahkan menggunakan enkripsi HTTPS. 

Leave a Reply

Your email address will not be published. Required fields are marked *