AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 903640
Accepted
Tono Nam
Tono Nam
Asked: 2018-03-21 09:57:59 +0800 CST2018-03-21 09:57:59 +0800 CST 2018-03-21 09:57:59 +0800 CST

Ao fazer chamadas seguras com asterisco (SRTP), por que os certificados de cliente são necessários para dispositivos SIP?

  • 772

Acabei de adicionar segurança ao Asterisk seguindo este tutorial:

https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial#SecureCallingTutorial-Keys

Observe que o asterisk não é instalado por padrão com o srtp por padrão. Para poder seguir esse tutorial você deve instalar o asterisk com libsrtp e pjsip. Aqui está como eu instalei o asterisk para dar suporte ao srtp:

# (1) make sure everything is up to date
apt-get update
apt-get upgrade

# (2) Install dependencies that will be needed in order to install asterisk pjproject etc...
apt-get install aptitude -y
aptitude install build-essential -y
aptitude install git -y
aptitude install libssl-dev -y
aptitude install zlib1g-dev -y
aptitude install openssl  -y
aptitude install libxml2-dev -y
aptitude install libncurses5-dev -y
aptitude install uuid-dev -y
aptitude install sqlite3 -y
aptitude install libsqlite3-dev -y
aptitude install pkg-config -y
aptitude install libjansson-dev -y

# (3) make sure everything is up to date again
apt-get update
apt-get upgrade

# (4) Install libsrtp  (library used to encrypt rtp)
cd /root    
wget https://github.com/cisco/libsrtp/archive/v1.6.0.tar.gz
tar -xzf v1.6.0.tar.gz
cd libsrtp-1.6.0

./configure CFLAGS=-fPIC --prefix=/usr
make
make runtest
make install
cd ..

# (5) install pjproject 

git clone https://github.com/asterisk/pjproject pjproject
cd pjproject
 ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr --with-external-srtp
make dep
make

make install
cd ..


# (6) Install Asterisk  WITH SRTP AND PJPROJECT

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvf asterisk-13-current.tar.gz
cd  asterisk-13.19.2
./configure --with-pjproject --with-ssl --with-srtp

make
make install
make samples
make config

De qualquer forma, isso não faz parte da questão.

Então eu segui o tutorial e consegui fazer chamadas criptografadas.

Como eu estava repetindo os passos para conectar todos os telefones não entendi porque tinha que gerar um certificado para cada dispositivo sip . O servidor já tem um certificado por que os telefones precisam de outro certificado? Em outras palavras, não entendi porque tive que executar a etapa do tutorial que diz:

"geramos um certificado de cliente para nosso dispositivo SIP"

./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C phone1.mycompany.com -O "My Super Company" -d /etc/asterisk/keys -o malcolm

Então, com um dos telefones, decidi pular essa etapa apenas por curiosidade. Não gerei um certificado de cliente para o telefone X e, por algum motivo, o telefone X ainda conseguiu se conectar ao asterisco e fazer chamadas. O Phone X também bloqueou a tela ao fazer chamadas, o que significa que a chamada foi criptografada. O Asterisk mostrou que a chamada estava passando pelo SRTP. Eu não sabia dizer a diferença entre os telefones que tinham um certificado de CLIENTE e o telefone X. Então minha pergunta é por que o tutorial diz para você gerar um certificado de cliente?

security
  • 1 1 respostas
  • 2112 Views

1 respostas

  • Voted
  1. Best Answer
    Andrew
    2018-03-21T10:31:02+08:002018-03-21T10:31:02+08:00

    Eu usei SRTP com Asterisk antes sem exigir um certificado de cliente, mas como apontado, isso permite controlar o acesso com base no emissor do certificado e garantir a origem da solicitação SIP.

    Isso permite que você valide que o telefone foi configurado por você, e não apenas por alguém aleatório que encontrou seu servidor SIP. Assim como um servidor apresentando um certificado ao usar o TLS, você pode confirmar que o servidor não é apenas um ataque Man-in-the-Middle aleatório devido à dificuldade de produzir um certificado válido e duplicado. Se você é o único que pode emitir certificado para seus dispositivos SIP, então apenas os dispositivos com seu certificado são os dispositivos reais, todo o resto é apenas uma farsa.

    Comece aqui e siga a trilha para autenticação mútua: https://en.wikipedia.org/wiki/Client_certificate Também este: https://en.wikipedia.org/wiki/AAA_(computer_security)

    O SRTP é apenas um mecanismo de criptografia que permite impedir que outras pessoas ouçam a conversa ao usar algo como o Wireshark em uma rede aberta. Pense em wifi aberto no seu café local. No entanto, apenas o SRTP em si não é suficiente para garantir a segurança; só porque a comunicação é criptografada, não significa que a origem ou o destino sejam válidos .

    • 3

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve