[AsteriskBrasil] RES: Cgi sem permissao para comando asterisk -rx
Alcapone Felippe
alcaponefelippe em bol.com.br
Domingo Agosto 22 14:01:18 BRT 2010
Oseias,
Certíssimo!
Obrigado pela bela resposta!
Estava encrencado aqui para descobrir e você me ajudou bem!
Abracos
-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Oseias
Ferreira
Enviada em: sábado, 21 de agosto de 2010 21:12
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] Cgi sem permissao para comando asterisk -rx
Em 21/08/2010, às 15:12, leandro alves escreveu:
> Como root use: chown asterisk.asterisk seu_agi
>
> Volte para o seu uuario e tente de novo.
>
Mas perece que ele está usando é cgi mesmo.
Neste caso não adianta nada fazer chown no script.
Ele quer que o apache mostre a saida do comando:
asterisk -rx "comando"
Quanto rodar o apache como root, Alcapone, eu não aconselho.
É melhor você configurar o sudo e permitir somente os aplicativos que
o apache precisará rodar.
Aí você invoca com o asterisk com o sudo.
O seu /etc/sudoers deverá ficar mais ou menos assim:
seu_usuario_que_roda_o_apache ALL=NOPASSWD:/usr/sbin/asterisk
Para descobrir que usuario roda o seu apache:
ps axu|grep apache
Nos Debians like, geralmente é www-data.
Como root digite:
#visudo
e adicione a linha:
www-data ALL=NOPASSWD:/usr/sbin/asterisk
Agora no seu script você terá que fazer assim:
#!/bin/bash
echo "Content-type: text/html"
echo ""
sudo /usr/sbin/asterisk -rx "sip show peers"
Salva ele e faça ficar executável e com permissão de leitura para
todos os usuários.
chmod +rx seu_script.cgi
Sem as duas primeiras linhas, o cgi não funciona. O browser não
reconhece o que está vindo.
É claro que, para tornar legível, você precisará formatar a saída do
asterisk. Desta forma imprime tudo embolado no browser.
Você pode usar o awk.
Se der errado, veja nos logs do apache.
Geralmente está em /var/log/apache2/error.log
Lembre-se que o apache tem permissão para executar o shell do asterisk.
Isto já é uma brecha enorme. Controle as permissões do que pode ser
configurado no comando do asterisk.
Mas é melhor que rodar o apache como root.
O apache como root compromete todo sistema, pois dá permissão a um
possível invasor rodar qualquer cgi como root.
Dentro do cgi, ele pode colocar qualquer coisa. Inclusive algo para
mudar a senha do root.
Aí já era...
Abraço.
--
Oséias Ferreira.
_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
Mais detalhes sobre a lista de discussão AsteriskBrasil