Ricerca nel sito web

Configura il proxy Graylog Nginx con Let's Encrypt SSL


Benvenuto nella nostra guida sulla configurazione del proxy inverso Graylog Nginx con Let's Encrypt SSL. L'ultimo tutorial relativo a Graylog riguardava l'installazione del server Graylog sui sistemi Linux Ubuntu/CentOS 7/CentOS 8. Ha coperto abbastanza bene tutti i passaggi di configurazione di Graylog. L'unico svantaggio è che devi accedere all'interfaccia utente di Graylog utilizzando l'indirizzo IP e il numero di porta senza certificato SSL verificato.

In questa guida, voglio che vediamo come configurare il proxy inverso Graylog Nginx con Let's Encrypt SSL. In questo modo puoi utilizzare il dominio o il nome host con certificato SSL verificato.

Configura il proxy inverso Graylog Nginx con Let's Encrypt SSL

Il primo passo è installare il client Let's Encrypt come certbot che utilizzeremo per richiedere il certificato da utilizzare da Graylog.

Installa lo strumento Certbot Crittografiamo SSL

Esegui i seguenti comandi per installare lo strumento cerbot.

# Ubuntu / Debian
sudo apt update
sudo apt install certbot

# Fedora
sudo dnf install certbot

# CentOS 8 / CentOS 7
sudo yum -y install epel-release
sudo yum -y install certbot

Conferma l'installazione controllando la versione:

$ certbot --version
certbot 1.21.0

Apri la porta https sul firewall

Utilizzeremo la porta http per richiedere il certificato SSL, quindi aprilo sul firewall. Se usi ufw o iptables, sostituisci i comandi qui con comandi equivalenti.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Arresta il servizio nginx se in esecuzione:

sudo systemctl stop nginx

Richiesta di certificato SSL

Richiesta di certificato Let's Encrypt utilizzando un comando certbot-auto.

export DOMAIN='graylog.mydomain.com'
export EMAIL="[email "
sudo certbot certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

Questa operazione potrebbe richiedere del tempo poiché inizierà con il bootstrap delle dipendenze, la creazione dell'ambiente virtuale Python e l'installazione dei pacchetti Python, e infine la generazione del certificato. Attendere finché il comando non fornisce una risposta indicante che i certificati sono stati generati correttamente.

Un messaggio di successo è simile al seguente:

.....
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

Installa e configura Nginx

Ora dobbiamo installare e configurare Nginx.

# CentOS / RHEL
sudo yum -y install nginx 

# Ubuntu / Debian 
sudo apt install nginx

Inseriremo la configurazione nginx per Graylog in /etc/nginx/conf.d/graylog.conf. Sostituisci domain.com con il nome del tuo dominio/sottodominio greylog.

server {
 listen 443 ssl;
 server_name graylog.mydomain.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/graylog.mydomain.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/graylog.mydomain.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 graylog.mydomain.com;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

Salva la configurazione e verifica con nginx se la sua sintassi è valida.

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

Avvia e abilita il servizio nginx

Procedi con l'avvio e l'abilitazione del servizio nginx.

sudo systemctl restart nginx
sudo systemctl enable nginx

La visita del dominio specificato dovrebbe reindirizzarti a https.

Spero che Configurare il proxy inverso Graylog Nginx con la guida Let's Encrypt SSL abbia funzionato per te. Tratterò la creazione di flussi, input e dashboard nei prossimi tutorial.

Altre guide sulla registrazione:

  • Installa l'operatore di registrazione del cluster su OpenShift/OKD 4.x
  • Abilita la registrazione CloudWatch in EKS Kubernetes Cluster
  • Conserva la registrazione dei journal Systemd con l'archiviazione persistente

Articoli correlati: