Prevenzione delle intrusioni di Asterisk

Lasciami cominciare dicendo che sono un noob, e quello che ho capito finora è stato solo inciampando la mia strada attraverso di essa. Ho girato in giro e la soluzione potrebbe essere già là fuori, ma probabilmente era solo un modo per capire la mia testa, pertanto vi preghiamo di includere il maggior dettaglio ansible nella tua soluzione.

Ho un server Ubuntu 10.04 che esegue Asterisk per un sistema telefonico automatico. Il suo scopo esclusivo è quello delle chiamate in arrivo e non si connette mai a una persona. Si tratta di un sistema di licenza telefonica, in modo da inserire le informazioni sul proprio prodotto e di submit un codice di sblock per digitarli nel programma. Quando viene ricevuta una chiamata, esegue uno script perl con AGI, lo script è una serie di prompt seguiti dall'output del codice di sblock.

  • OpenVPN indirizzo errato di origine dal client
  • Tomcat è vulnerabile alla vulnerabilità di Apache DoS in CVE-2011-3192?
  • Reverse Proxy - dovrebbe essere una pila di tecnologie diverse?
  • Servizio per indurire un server Ubuntu
  • Quanto è difficile impostare un mail server?
  • Come installare più file di certificati CA intermedio su Apache?
  • Tutto questo funziona bene. Tuttavia, sembrava smettere di lavorare in occasione. Ho guardato i registri Asterisk e ho trovato un TON di voci come questa:

    [May 22 10:51:27] NOTICE[10663] chan_sip.c: Registration from '"guest12345"<sip:guest12345@xx.xx.xx.xx>' failed for 'yy.yy.yy.yy' - No matching peer found 

    Questi sono ovviamente tentativi di intrusione. xx.xx.xx.xx è l'indirizzo IP del mio server e yy.yy.yy.yy è presumibilmente l'indirizzo IP dell'intruso.

    Ho studiato un po 'su Google e ho trovato una soluzione creando Fail2Ban, che sembra funzionare. Questa mattina ha bandito due indirizzi IP finora dopo 5 tentativi di intrusione non riusciti.

    Sono abbastanza fiducioso che nessuno sarà in grado di entrare in soli 5 tentativi, ma questo sembra ancora less sicuro di quello che vorrei.

    La mia comprensione è che il servizio Asterisk in esecuzione sul mio server esce e registri con il mio fornitore VoIP each tanto per dirgli che è ancora connesso e pronto a ricevere chiamate. Per quanto ne so, questa è l'unica "logging" necessaria, quindi c'è un modo per bloccarmi tutti i tentativi di logging esterni?

    Forse sbaglio di questo, ma mi sembra come se stiano cercando di registrarsi con il mio server come se il mio server fosse il provider VoIP. Forse è così che si ottiene un telefono reale per connettersi con il server Asterisk? Poiché nessun telefono reale è coinvolto alla mia estremità (solo chiamate in arrivo, mai trasferite a una persona), c'è un modo per distriggersre questa parte totalmente?


    EDIT:
    Da sip.conf:

     registerattempts=0 ; Number of registration attempts before we give up ; 0 = continue forever, hammering the other server ; until it accepts the registration ; Default is 0 tries, continue forever register => 1111111:password:1111111@sip.inphonex.com:5060/700 [inphonex] type=peer username=1111111 fromuser=1111111 secret=password ; password used to login their website (same as in register =>) host=sip.inphonex.com fromdomain=sip.inphonex.com nat=yes ; my asterisk is behind nat canreinvite=yes qualify=yes context=inbound-inphonex; context to be used in extensions.conf for inbound calls from inphonex disallow=all allow=ulaw allow=alaw allow=gsm insecure=port,invite 

    4 Solutions collect form web for “Prevenzione delle intrusioni di Asterisk”

    Sei corretto che "questo è il modo in cui si ottiene un telefono reale per connettersi con il server Asterisk". I telefoni si registrano nel server sulla stessa port utilizzata per registrarsi con il provider.

    Se si utilizza solo SIP per parlare con il provider, è sufficiente impostare un firewall per consentire solo SIP dal provider.

    Fail2Ban è una soluzione ma offre agli avversari 5 possibilità quando non dovrebbero essere ottenute.

    È ansible utilizzare il firewall iptables per bloccare tutte le connessioni in entrata, ad exception di SIP, dall'IP che utilizza il provider di trunk.

    iptables viene fornito con ad esempio AsteriskNow ma può anche essere scaricato e installato separatamente.

    Non sono un esperto di iptables in modo da non cercare di darti i dettagli completi su come configurarlo in caso di sbagliato ma c'è una ricchezza di informazioni solo un click google e come le tue regole saranno abbastanza semplici, non dovrebbe essere troppo complicato per impostare

    Consenti le chiamate anonime o si sta registrando a un server che trasferisce l'utente alla ricerca del loro codice di sblock?

    Se sei un server asterisco sta registrando a un servizio SIP allora puoi isolare le porte SIP per consentire solo le connessioni in entrata dal tuo registro SIP finché rimangono al centro. In risposta alla tua preoccupazione per mantenere il sistema un server web usabile, è comunque ansible mantenere la port 80 aperta per tutte le connessioni in entrata.

    Se stai permettendo le connessioni anonime in sospensione in ingresso, siete in una posizione più difficile. Ovviamente non è ansible limitare le connessioni SIP tramite IP. Assicurati che le registrazioni che hai con le password complesse e crei un path in black hole che distriggers qualsiasi chiamata che non corrisponda all'URI dell'applicazione. Fail2Ban come si dispone già dell'installazione è anche la migliore risposta che ho incontrato per limitare gli attacchi.

    Se avete bisogno di consentire le connessioni SIP da indirizzi esterni arbitrari di configuration, Fail2Ban è probabilmente la soluzione migliore in combinazione con LONG SIP Secrets (minimo 10-11 caratteri). Supponendo di impostare tutti i dispositivi che si connettono agli utenti legittimi del server, non dovrà mai digitare il loro segreto SIP.

    Altrimenti come altri hanno suggerito che si desidera veramente bloccare l'accesso al server VOIP il più ansible – Limitare le connessioni SIP in entrata al set minimo di indirizzi che devono connettersi e forse forzare gli utenti remoti a venire attraverso una VPN per accedere al server SIP (se non uccide la qualità audio).


    Una nota sulla sicurezza generale, Asterisk è abbastanza noto per avere fori di sicurezza e bugs in agguato – Questo Guy ha fatto un po 'di avocazione di trovare nuove e interessanti rotture in Asterisk.
    Oltre ai passaggi di cui sopra per proteggere l'Asterisk da essere sfruttato, vorrei suggerire di isolare il più ansible VOIP (sulla propria substring, nella propria VLAN) per proteggere il resto dell'infrastruttura nel caso in cui qualcuno trova un modo e cerca di fare qualcosa di brutto.

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