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.

  • Sono necessari nomi utente anonimi?
  • Strumento per assistere i server di caricamento in un rack?
  • Come registrare una richiesta al log di accesso apache se è memorizzato nella cache di Varnish
  • Distriggerszione di FTP
  • SELinux nel mondo reale
  • Raccomandi un sistema di rilevamento delle intrusioni (IDS / IPS) e ne vale la pena?
  • ma non sappiamo cosa cercare, basato su un asterisco predefinito:

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

  • VoIP PBX, build personalizzato o appliance?
  • Elastix (Asterisk) Lenta per ripetere la linea PSTN in entrata
  • I registri relativi a un tentativo di logging fallito IAX2 mancano sul server Asterisk
  • Il telefono squilla, ma nessuna chiamata e nessuna voce di registro in Asterisk
  • Puoi spiegare la differenza tra PBX e soft switch in termini less tecnici?
  • function di sistema asterisco non funzionante in dialplan
  • 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.