Le RegEx su cPanel sono utilizzate anche per proteggerci dalla spazzatura digitale. Per difendere la nostra mailbox dall SPAM in costante evoluzione, ci vengono in aiuto le Espressioni Regolari o Regular Expression, in gergo nerd dette anche RegEx
Quando usiamo servizi antispam che prevedono il filtraggio della posta a monte del mailserver (ad esempio EmailFirewall di Spamina o DataWasher), si rende necessario avere la certezza che la posta in entrata provenga esclusivamente dagli indirizzi IP del fornitore del servizio.
Le Espressioni regolari sono delle funzioni costituite da un insieme di caratteri che restituiscono un valore binario (si/no, vero/falso etc.). cPanel prevede l'utilizzo di Epressioni Regolari per filtrare la posta elettronica in ingresso sul mailserver. E' possibile impostare filtri sia a livello glogale (operativi quindi per tutto l'account cPanel), che a livello del singolo indirizzo email.
Normalmente il fornitore del servizio antispam in outsourcing ci fornisce le classi di IP con cui opera e di conseguenza gli unici indirizzi dai quali può provenire la nostra posta, ora vediamo come impostare un filtro con una o più di queste classi di indirizzi.
La classe di indirizzi IP a cui appartiene un server è definita tramite CIDR. Se non conosciamo bene le RegEx, per codificare l'Espressione Regolare che servirà a filtrare una classe di indirizzi IP ci possiamo aiutare con un paio di validi tool che troviamo online.
Il primo è CIDR utility tool di Address Guide. Ci permette di ricavare il primo e l'ultimo indirizzo partendo da una classe in formato CIDR. Inseriamo quindi la classe 92.68.215.0/24 nell'apposito campo per ricavare le informazioni che ci occorrono:
CIDR Range 92.68.215.0/24 Netmask 255.255.255.0 Wildcard Bits 0.0.0.255 First IP 92.68.215.0 Last IP 92.68.215.255 Total Host 256
Ora è necessario costruire l'espressione regolare che comprenda tutti gli indirizzi compresi tra 92.68.215.0 e 92.68.215.255
Ai principianti e a chi non conosce bene i caratteri di escape e metacaratteri viene in aiuto il tool IP Range Regular Expression Builder che costruisce l'espressione a partire dal primo e dall'ultimo range di un pool IP.
Inseriamo quindi entrambi i valori negli appositi campi ed alla pressione del tasto Generate RegEx otterremo:
^92\.68\.215\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$
che corrisponde all'espressione da usare nel nostro filtro.
In cPanel scegliamo se vogliamo realizzare il filtro per tutto l'account o solo per uno/alcuni indirizzi, in quest'ultimo caso selezionalere Filtri e-mail e scegliere l'indirizzo per il quale realizzare il filtro:
Cliccare quindi il tasto Crea un nuovo filtroper entrare nella maschera di inserimento.
In questa maschera dare un nome al filtro per consentirne la sua identificazione e impostare le regole con le tendine. Il nostro filtro deve consentire il transito dei messaggi nella cui intestazione è contenuto uno degli indirizzi IP appartenenti al pool calcolato in precedenza, scartanto o respingendo tutti gli altri messaggi. Scegliamo quindi dalla prima tendina "Qualsiasi intestazione" e dalla seconda tendina "non corrisponde a". Nel campo sottostante mettiamo la nostra espressione regolare privata del primo e dell'ultimo carattere.
Successivamente scegliere dalla tendina Azioni, l'azione da compiere nel caso un messaggio in entrata non soddisfi quanto abbiamo impostato nel filtro. Nell'esempio è stato scelto di chiudere la connessione memorizzando nel file di log il messaggio "Respinto da filtro a livello IP". Se abbiamo altri pool di indirizzi da cui può arrivare la nostra posta è sufficiente aggiungere altre RegEx su cPanel cliccando il tasto + a fianco dell'espressione appena inserita avendo cura di selezionare e a fianco dell'espressione regolare.
Terminato l'inserimento dei pool di indirizzi, non ci resta che testare il nostro filtro tramite l'apposito tool messo a disposizione da cPanel. Per fare ciò, andiamo nel nostro email client e selezioniamo una mail che con ragionevole certezza sia transitata dal nostro servizio di antispam remoto.
Visualizziamo l'intestazione della mail e copia/incolliamola nell'apposito campo di test del filtro, se abbiamo impostato tutto correttamente il test restituirà in calce questo risultato:
Se invece qualcosa è andato storto, il filtro si comporta di conseguenza.