Disabilitare le porte 2000 e 5060 per il supporto SIP ALG su Firewall FortiGate

da | Mag 10, 2024

A seguito di un PT effettuato su una infrastruttura EDGE di Fortinet, è stato riscontrato che le porte TCP/5060 e TCP/2000 risultavano aperte pur non avendo alcun NAT attivo o servizio realmente esposto su tali porte.
Tuttavia, attivando vari sniffing e tracer sul firewall target, pur vedendo le chiamate entranti sulle porte incriminate, tali flussi risultavano bloccati e non inoltrati verso le zone interne dell’infrastruttura (erano evidenti i SYN dall’esterno ma non vedevamo mai alcun SYN/ACK proveniente dal firewall stesso, nè tantomento da host interni).
Vista la situazione particolarmente anomala, abbiamo fatto svariati test di port scanning dall’esterno ed abbiamo notato che quando i tentativi venivano effettuati tramite linee non gestite da infrastrutture firewall
(banalmente utilizzando l’hotspot di un cellulare), le porte risultavano regolarmente chiuse.
Ci siamo quindi concentrati non più sull’infrastruttura target ma su quella di uscita ed investigando a fondo abbiamo scoperto che la tcp/5060 e la tcp/2000 risultavano aperte per qualsiasi host dal quale si effettui una scansione e che ESCA da un Fortinet verso internet.
Approfondendo il tutto sia sulla documentazione FortiNet che tramite il supporto del vendor, è stato accertato che di default sui FortiGate è abilitato il “SIP ALG session helper” che funge da SIP proxy per i flussi uscenti sulle due porte oggetto dei test.
Ecco quindi il motivo per il quale le due porte risultano costantemente aperte. Le risposte ricevute dall’host che esegue i test sono prodotte dal firewall di uscita dei flussi, e non da quello target.
Questa funzionalità permette di aumentare le prestazioni delle chiamate VoIP, tuttavia, se non utilizzata, è consigliabile disabilitarla per questioni di sicurezza.
Facendo ulteriori ricerche, abbiamo scoperto che questa funzionalità è attiva anche su firewall di altri vendor (Ad esempio su alcune versioni Sophos) e su alcuni modelli di router.

PREREQUISITI

Le porte TCP/UDP 5060 viene utilizzata dal protocollo SIP.
La porta 2000/TCP viene utilizzata per “Skinny Client Call” (SCCP) che è un protocollo proprietario di Cisco per il VoIP.

VERIFICARE LE PORTE CON NMAP

Per verificare se le porte 2000/TCP e 5060/TCP fossero aperte abbiamo utilizzato nmap, che è un noto software open source per effettuare port scanning.
Nmap è disponibile per la maggior parte dei sistemi operativi, Windows, Linux e macOS inclusi.
Per installarlo navigare su https://nmap.org/download

Dopo aver installato nmap, è possibile aprire una bash o una PowerShell ed eseguire il seguente comando:

Se tutto è andato a buon fine dovremmo visualizzare il seguente output:

Potrebbe essere necessario eseguire la shell da amministratore, su Linux eseguendola come root oppure usando sudo e su Windows aprendo come amministratore la PowerShell o CMD.
Il flag “-Pn” serve per ignorare se i tentativi di ping falliscono e proseguire con la scansione delle porte.

In alternativa a nmap è possibile utilizzare un software con interfaccia grafica come AngryIP Scanner.

VERIFICARE LE PORTE SUL FIREWALL

Per verificare se il firewall è in ascolto sulle porte TCP/UDP 2000 e 5060/TCP, è necessario accedere in CLI con un’utenza amministrativa ed eseguire i seguenti comandi.

Per verificare il SIP TCP eseguire il comando:

Dovremmo visualizzare il seguente output:

Per verificare il SIP UDP:

Dovremmo visualizzare il seguente output:

Per verificare SCCP:

Dovremmo visualizzare il seguente output:

DISABILITARE LE PORTE

Per disabilitare le porte sul firewall è necessario configurarlo per utilizzare il “SIP session helper”, in modo da disabilitare il supporto SIP-ALG, successivamente sarà sufficiente rimuovere il session helper.

Per disabilitare il supporto SIP-ALG eseguire i comandi:

In caso di Multi-vdom, disabilitare il supporto su tutte le interfacce:

Infine, rimuovere il session helper:

FONTI

Documentazione FortinetCommunity Fortinet

COLLABORAZIONI

Manfredi Finà – Senior IT Network & Security Administrator

Scritto da Marco Valle

Mi chiamo Marco Valle e da sempre sono appassionato di Cybersicurezza e Linux.
Per lavoro implemento soluzioni open source.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore
Categorie:Fortinet

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione