Come proteggere il mio server Asterisk?

Il nostro server asterisco è stato compromesso. alcune chiamate sono state fatte nei paesi asiatici lo scorso fine settimana.

Pensato che abbiamo migliorato la nostra configuration di networking, vogliamo ancora determinare come è stata eseguita l'intrusione, pensiamo che ci siano indizi nei nostri file di log asterisco.

  • Vale la pena di bloccare i tentativi di accesso non riusciti
  • È ansible creare un account utente di sola lettura per scopi di controllo di sicurezza?
  • Come (in) sicuri sono i telefoni cellulari in realtà?
  • Come generare nuovi parametri Diffie-Hellman da 2048 bit con il keytool Java?
  • Utilizzo di un account di servizio gestito gruppo (gMSA) per un'attività pianificata
  • Nginx, uWSGI, Python, utenti, gruppi e autorizzazioni. Domande sulla sicurezza
  • ma non sappiamo cosa cercare, basato su un asterisco predefinito:

    Quali considerazioni di sicurezza prendete quando si installa un server asterisco?

  • Asterisk Server - Imansible effettuare chiamate in output consecutive
  • In un sistema PBX Asterisk, è necessario eliminare l'eco hardware?
  • Asterisk: Hai 2 numbers PSTN, vuoi andare IP. Hai bisogno di una carta
  • Ritardo di risposta dell'interface di Asterisk Manager
  • Effettuare la chiamata con il fornitore alternativo se NOANSWER
  • Il telefono squilla, ma nessuna chiamata e nessuna voce di registro in Asterisk
  • 3 Solutions collect form web for “Come proteggere il mio server Asterisk?”

    Questo è il modo in cui assicuro il mio server Asterisk, che è in produzione continuamente dal 2006.

    Firewall

    Aprire le porte in ingresso solo per i servizi necessari. (Devi aprire un'ampia gamma per i flussi RTP, ma questo in genere non è un problema, poiché normalmente non viene ascoltato normalmente all'interno di tale port).

    • 22/tcp ssh (per la gestione, ovviamente)
    • 4520/udp DUNDi (se si utilizza DUNDi)
    • 4569/tcp IAX2 (se si utilizza IAX)
    • Registrazione SIP 5060/udp
    • 10000-20000/udp RTP – mezzi di trasporto
      Alcuni dispositivi dispongono di un'ampia gamma di porte utilizzate per i flussi RTP. Ad esempio alcuni dispositivi Cisco (precedentemente Linksys / Sipura; numbers di parti iniziano con PAP, SPA o WRP) utilizzano solo 16384-16482 .

    estensioni

    Se ansible, limitare gli intervalli di indirizzi IP da cui i client SIP possono connettersi. Se viene distribuito in un ufficio, limitare le connessioni alla port 5060 agli indirizzi IP nelle posizioni in cui si trovano i telefoni. Se si deve accettare connessioni da indirizzi Internet non all'interno del proprio controllo, è necessario bloccare gli intervalli di indirizzi IP specifico per paese.

    Non utilizzare il numero di interno SIP come nome utente. Se i tuoi clienti SIP lo supportno, date loro tutti i nomi.

    Impostare password forti per tutte le estensioni SIP. Questo dovrebbe essere ovvio, ma non è sempre così.

    Dalla lettura dei registri allegati alla tua domanda precedente , ho potuto determinare di avere un'estensione SIP definita con il nome utente 1 , con un segreto così facile da indovinare che l'aggressore lo ha corretto al primo tentativo. L'estensione probabilmente non aveva alcun segreto definito affatto.

    Usa alwaysauthreject=yes in sip.conf . Ciò impedisce agli aggressori di essere in grado di determinare se un'estensione SIP esiste attraverso la forza bruta.

    Utilizza allowguest=no in sip.conf . Ciò impedisce ai clienti non autenticati di effettuare chiamate.

    Amministrazione

    Modificare tutte le password predefinite per gli utenti UNIX, i database e le facciate amministrative come FreePBX.

    Impostare bindaddr = 127.0.0.1 in manager.conf per assicurarsi che l'interface di gestione di Asterisk non sia aperta al mondo.

    Altro

    Installare fail2ban. La ho configurata per bloccare dopo due tentativi falliti, ma se hai il controllo completo di tutti i tuoi dispositivi in ​​modo tale che non wheressero mai non accedere correttamente, puoi impostarlo per bloccarlo dopo un tentativo fallito.

    Se non è necessario effettuare chiamate internazionali, è necessario distriggersre la funzionalità alla fine del provider del trunking SIP. È inoltre ansible configurare il server asterisco per non indirizzare tali chiamate.


    Questo dovrebbe coprire le basi, e vi terrà fuori dai problemi per la maggior parte. Se distribuisci servizi insoliti o scrivi le proprie configurazioni personalizzate, potrebbe essere necessario eseguire ulteriori operazioni per proteggerle.

    Abbiamo avuto un problema simile qualche tempo fa. Oltre alla risposta di Michael Hampton. Tre cose che abbiamo fatto risolto questo.

    1) Installazione di fail2ban . Ciò che fa è che esegue la scansione dei file di registro cercando i tentativi di fallimento della password. Troppi e sarà firewall il IP. Funziona per più di un semplice asterisco, ma SSH e qualsiasi servizio che ti serve.

    2) Lista bianca o IP nera da paesi che si desidera / non si desidera consentire. ad esempio si desidera consentire l'accesso SIP dalla Cina? È ansible get elenchi IP da nirsoft

    3) Se stai eseguendo il collegamento o l'abbinamento a un fornitore a monte, vedere se è ansible get un limite di credito giornaliero. Ciò limiterà la dimensione della fattura che ricevi da loro se uno dei primi due fallisce. E se scopri un problema, alless ti compri un po 'di tempo prima che possa davvero uscire dalla mano.

    Vorrei aggiungere un 'buon monitoraggio' ai suggerimenti elencati da altre risposte. Monitorare i sisthemes (i titoli consigliati per controllare i registri sono logwatch o logcheck). Guarda gli strumenti disponibili per gli annunci asterisco (non conosco alcun titolo, ma l'articolo Asterisk Monitoring elenca alcuni ) e vedere se il tuo fornitore di telefonia a monte può monitorare il tuo utilizzo e avvisare su aumenti imprevisti dei costi delle chiamate.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.