Come monitorare la connessione Internet pfSense per i drop

Quando abbiamo una connessione Internet con un sistema operativo rivolto ad ambienti professionali come pfSense, è assolutamente necessario verificare esternamente se la connessione Internet funziona correttamente, per escludere problemi di configurazione nel VPN server o nei tunnel VPN che abbiamo configurato. Grazie a UptimeRobot potremo controllare da remoto se la connessione Internet funziona bene, ma prima dovremo fare delle configurazioni molto specifiche in pfSense in modo che il sistema operativo non rilevi falsi attacchi.

Cos'è UptimeRobot e come monitorerà la connessione?

UptimeRobot è un servizio web completamente gratuito che ci permetterà di monitorare la connessione Internet da remoto, questo servizio ha decine di server sparsi in tutto il mondo, che proveranno a connettersi con il nostro team tramite TCP, UDP e anche ICMP per verificare che Internet la connessione funziona correttamente. La versione gratuita ci permette di controllare fino a 50 host a intervalli di 5 minuti, sufficienti per un ambiente domestico e per piccole e medie imprese, anche se è possibile che nella tua azienda tu abbia bisogno di sapere più velocemente se la connessione Internet si interrompe . Se acquisti la versione premium, puoi configurare intervalli di un minuto per verificare se la connessione Internet funziona correttamente e avrai più host da monitorare, tutti centralizzati nello stesso account.

Monitorare la connessione a Internet di pfSense per i drop

In questo articolo abbiamo discusso in precedenza di questo servizio in modo approfondito, tuttavia, se stiamo utilizzando un sistema operativo come pfSense, che è altamente configurabile ed è in grado di rilevare attacchi di negazione del servizio e attacchi di forza bruta, potrebbe rilevare queste connessioni il più possibile e blocca direttamente la comunicazione dall'IP di origine. Lo stesso accade se abbiamo un IDS / IPS configurato nello stesso pfSense, potrebbe rilevarlo come una minaccia. Se il sistema operativo blocca l'indirizzo IP di origine e non "risponde" a UptimeRobot, rileverà che la connessione Internet è interrotta, quando lo è realmente, dandoci un falso avviso.

Una caratteristica che ci è davvero piaciuta di UptimeRobot è che ci consentirà di ricevere notifiche da email, Telegram, Twitter, Lento, Microsoft Team e altro ancora, quindi avremo sempre una notifica in caso di problemi. Inoltre, possiamo sempre installare l'app UptimeRobot ufficiale per Android ed iOS:

Una volta che sappiamo tutto quello che UptimeRobot può fare per noi, vediamo come configurare correttamente pfSense per evitare falsi avvisi di attacco.

Configura pfSense in modo che UptimeRobot non sia bloccato

Sebbene UptimeRobot abbia diversi server sparsi in tutto il mondo per monitorare i diversi host ed evitare falsi positivi, in molti casi questo non è sufficiente, soprattutto se abbiamo il nostro pfSense firewall configurato molto bene. Tutti i controlli effettuati da UptimeRobot vengono effettuati da Dallas-Stati Uniti, tuttavia, quando viene rilevato un calo, il resto dei nodi nel mondo verificherà se la connessione è veramente caduta o meno. Tuttavia, in questo articolo abbiamo verificato che questo non è sufficiente se usi pfSense, poiché ci dice continuamente che la connessione Internet funziona correttamente e che è stata interrotta, il controllo oscilla tra entrambi gli stati.

Nel nostro caso, la verifica se la connessione Internet è attiva viene effettuata con alcune «verifiche» sul server SSH del sistema operativo pfSense, che dobbiamo abilitare. Dovremo solo abilitare il server SSH e configurare una porta TCP di ascolto specifica, ad esempio, la porta 2222 per SSH. Questa porta sarà accessibile tramite Internet da qualsiasi fonte, con l'obiettivo di gestire il sistema operativo da qualsiasi luogo.

Per risolvere il problema dei falsi positivi, dobbiamo accedere all'interfaccia web di configurazione del sistema operativo pfSense:

Andiamo alla sezione SSH e ci assicuriamo che sia abilitato e che sia in ascolto sulla porta 2222 o su qualsiasi altra porta.

Nella sezione "Protezione accesso", dobbiamo aggiungere ognuna delle reti di origine e degli indirizzi IP di UptimeRobot. In questo «pass list» avremo l'elenco di tutti gli indirizzi IP di origine che possono eseguire «controlli» sul server web HTTPS o sul server SSH configurato, aggirando le restrizioni della «protezione dell'accesso» che abbiamo configurato.

Sullasito ufficiale di UptimeRobot abbiamo l'elenco di tutti gli indirizzi IP di origine che usano, dovremo semplicemente inserire intervallo per intervallo o indirizzo IP per indirizzo IP. Abbiamo anche gli indirizzi IPv6 che usano, nel caso in cui nel tuo caso tu abbia IPv6 per accedere a Internet. Infine, ci forniscono anche un file txt con l'elenco di tutti gli indirizzi IP per facilitare la configurazione dei firewall.

Quando abilitiamo il server SSH in pfSense, se vogliamo che accedano da Internet con qualsiasi indirizzo IP di origine, dovremo creare una regola nel " Firewall / Regole ", In questa regola dobbiamo inserire:

  • Azione: passaggio
  • Interfaccia: WAN
  • Famiglia di indirizzi: IPv4 e / o IPv6.
  • Protocollo: TCP
  • Fonte: qualsiasi
  • Destinazione: indirizzo WAN
  • Destination Port Range: la porta del server SSH su cui è in ascolto, nel nostro caso, 2222.

Consigliamo inoltre di loggare tutti i pacchetti che il firewall riceve, attivando l'opzione “Log pacchetti gestiti da questa regola”, infine daremo una descrizione e fare clic su salva.

Prima di finire, un dettaglio importante è che metti la regola pfSense nella sezione WAN nell'ordine corretto, perché se abbiamo una regola generale nega tutto sopra questa regola specifica, bloccherai il traffico e non funzionerà dall'esterno .

Se visualizzi i log del sistema operativo, sarai in grado di vedere l'indirizzo IP di origine utilizzato da UptimeRobot, nonché l'indirizzo IP e la porta di destinazione (us). Da qui puoi controllare che ogni 5 minuti stia controllando se la connessione Internet funziona correttamente, o meglio, se il server SSH pfSense è raggiungibile tramite Internet.

Una volta visto come configurare correttamente pfSense, ricorderemo come creare la regola in UptimeRobot per monitorare il nostro pfSense.

Crea la regola di monitoraggio in UptimeRobot

Effettuiamo il login a UptimeRobot con le nostre credenziali, se non hai mai utilizzato questo strumento dovrai registrarti per la sua versione “Free”. Nel menu principale possiamo vedere tutte le regole di monitoraggio create nella sezione di sinistra, cliccare su " Aggiungi nuovo monitor "Per creare una nuova regola.

Il tipo di monitor che dovresti usare è "Port", gli diamo un nome descrittivo, mettiamo "Port: Custom Port" per mettere la porta 2222 del server SSH che abbiamo appena configurato e l'intervallo di monitoraggio. Nella versione gratuita di UptimeRobot ci consentirà un intervallo minimo di 5 minuti, logicamente, più controlli effettuati prima ci avviseranno che c'è stato un problema con la connessione Internet, ma questo è disponibile solo nella versione a pagamento.

Non devi dimenticare di selezionare gli avvisi da inviare, possiamo ricevere un avviso via e-mail, Telegram o un altro servizio, purché tu lo abbia registrato in precedenza.

Una volta terminato, clicchiamo su «Crea monitor» e avremo UptimeRobot funzionante. Ora devi controllare in pfSense di aver ricevuto correttamente il pacchetto, controllando i log del firewall nella sezione WAN, puoi filtrare i log mettendo la porta di destinazione 2222 che è la porta SSH, puoi anche controllare che l'indirizzo IP di origine sia all'interno dell'intervallo di indirizzi IP che abbiamo indicato in precedenza.

Posso limitare le connessioni SSH solo a UptimeRobot?

Se vuoi abilitare il server SSH solo per gli indirizzi UptimeRobot, per verificare se la connessione Internet funziona bene, puoi limitare le connessioni SSH attraverso la regola nel firewall. Se andiamo a " Firewall / Alias ”Puoi creare un alias con tutti gli indirizzi IP di origine di UptimeRobot, per facilitare notevolmente la configurazione della regola. Possiamo mettere l'URL con il file di testo che abbiamo fornito in precedenza, e lo inseriamo direttamente negli URL Aliases (IP):

Grazie a questo, saremo in grado di incorporare tutti gli indirizzi IPv4 e IPv6 in modo automatico e senza dover passare uno per uno, per facilitare notevolmente la configurazione. Come puoi vedere, nella sezione Alias ​​/ URL questi indirizzi IP pubblici di origine utilizzati da UptimeRobot appariranno già caricati:

Ora dovremmo modificare la regola SSH e definire:

  • Famiglia di indirizzi: IPv4 e IPv6, per coprire anche gli indirizzi IPv6.
  • Origine: singolo host o alias: IP_UptimeRobot

E clicchiamo su "Salva" e applichiamo le modifiche. Al momento, solo gli indirizzi IP di origine definiti negli alias, che corrispondono agli indirizzi IP di UptimeRobot, avrebbero accesso solo al server SSH, in modo da non lasciare il server SSH esposto a tutti.

Grazie a UptimeRobot e ad una buona configurazione in pfSense per evitare falsi positivi, sarai in grado di verificare che la connessione Internet funzioni correttamente e non hai incidenti. Naturalmente, la cosa più consigliabile è mettere la dinamica DNS dominio nello stesso UptimeRobot, perché se hai un IP pubblico dinamico cambierà di volta in volta e potresti ottenere falsi positivi in ​​caso di perdita di connettività.