Introduzione
I sistemi che permettono la memorizzazione in cache degli oggetti di memoria possono migliorare le performance dei database back-end in diversi modi come, ad esempio, salvando temporaneamente le informazioni in memoria e trattenendo le righe (records) più richieste o richieste di recente.
In questo modo, potrai ridurre il numero di interrogazioni al database e di conseguenza aumentare la velocità delle tue applicazioni web.
In questo tutorial imparerai a installare Memcached sul tuo server CentOS 8 e a metterlo in sicurezza, configurandolo per il collegamento alla tua interfaccia di rete locale o privata e abilitando l'autenticazione SASL.
Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.
Installare Memcached dalla Repository ufficiale
Se Memcached non è già installato sul tuo server, puoi installarlo dalle repositories ufficiali di CentOS.
Prima di tutto, accertati che il tuo indice del pacchetto locale si aggiornato, tramite il comando:
$ sudo dnf update
In secondo luogo, installa il pacchetto ufficiale tramite il comando:
$ sudo
dnf install memcached libmemcached
Ora che hai installato memcached, lo step successivo sarà creare una configurazione sicura.
Rendere sicura la configurazione di Memcaching
Per assicurarti la protezione da attacchi DoS, è importante verificare che la tua istanza di Memcached sia in ascolto sull’interfaccia locale 127.0.0.1. Di default, il parametro impostato sull’interfaccia locale dovrebbe essere -1.
Per controllare il parametro, apri il file di configurazione di Memcached contenuto nel percorso /etc/sysconfig/memcached.conf . Da terminale, puoi eseguire questa operazione tramite il comando:
$ sudo nano /etc/
sysconfig/memcached.conf
Eccoti ora nel file di configurazione /etc/sysconfig/memcached.conf.
All’interno del file, spostati sulla parte relativa alla configurazione dell’interfaccia, individuando questa linea:
-l 127.0.0.1
Se la linea appare come mostrato sopra, la configurazione di default sarà impostata e non avrai bisogno di procedere con ulteriori modifiche.
Se avessi bisogno di modificare questa impostazione per renderla più “aperta”, ti suggeriamo comunque di disabilitare il protocollo UDP poiché più vulnerabile agli attacchi DoS rispetto al TCP.
Per disabilitare solo il protocollo UDP, basterà aggiungere alla fine del file di configurazione la seguente linea:
-U 0
Per applicare i cambiamenti delle impostazioni, è necessario che tu segua i seguenti passaggi:
Per verificare che i cambiamenti siano stati apportati con successo, dovrai controllare che Memcached sia legato all’interfaccia locale e riceva solo connessioni TCP.
Per farlo, digita il comando:
$ sudo netstat -plunt
Consentire l’accesso su una rete privata
Nei passi precedenti hai configurato Memcached su un interfaccia locale (127.0.0.1), rendendo sicura l’interfaccia da attacchi DoS esterni.
Ma come comportarti se avessi bisogno di collegarti con server esterni?
In tal caso, occorrerà mettere Memcached, modificando la sua configurazione, in ascolto su una rete privata.
Legare Memcached all’interfaccia della rete privata
Ora che il firewall è stato configurato, puoi correggere la configurazione di Memcached per metterlo in ascolto sull’interfaccia della tua rete privata, invece che sull’interfaccia locale.
Prima di tutto, apri il file di configurazione di Memcached, come visto precedentemente, tramite il comando:
$ sudo nano /etc/sysconfig/memcached.conf
Cerca, all'interno del file, la seguente linea, che avevi controllato nei passi precedenti:
-1 127.0.0.1
E cambia l’indirizzo inserendo quello corrispondente all’interfaccia della rete privata del tuo server:
-1 memcached_IP_privato_server
Per applicare le modifiche, salva e chiudi il file di configurazione.
Riavvia quindi il servizio Memcached tramite il comando:
$ sudo systemctl restart memcached
Verifica, infine, le nuove impostazioni con netstat:
$ sudo netstat -plunt
Verifica, per maggiore sicurezza, che tu possa connetterti tramite il tuo client esterno autorizzato e che, connettendoti invece con un client non autorizzato, tu venga bloccato dal firewall.
A questo punto avrai protetto correttamente il tuo server Memcached, configurandolo per il collegamento alla tua interfaccia di rete locale o privata e abilitando l'autenticazione SASL.