terça-feira, 16 de outubro de 2012
Red5 Media Server e Segurança
Aqui estão os passos para configurar o SSL na aplicação Red5 existente. Este artigo é manter em mente que você tem conhecimento básico de Red5 ou você está ciente de como os aplicativos são construídos Red5.
Software necessário na máquina onde Red5 servidor está instalado: -
1: Open SSL / / bibliotecas open source SSL necessários para compilar Stunnel
2: Stunnel / / Open source software invólucro SSL usa SSL aberto funciona tanto em
Windows e Linux.
3: gcc / / O compilador GNU C (embora ele sempre vem com Linux
Máquina, mas eu não encontrá-lo. Necessário se você está compilando a
Abra SSL e Stunnel da fonte. Não é necessário se com o RPM
Configuração necessária na máquina servidor: -
1: - Instale o Open SSL (se janelas RPM exe uso ou fonte para a máquina Linux pode ser baixado do site openssl).
2: - Instale Stunnel (se as janelas, use exe outra RPM ou compilação de fonte é o preferido, pode ser baixado do site stunnel). Certifique-se de que você já tenha compilado Open SSL em sua máquina antes de prosseguir com a instalação de Stunnel, caso contrário ele não será compilado.
No Linux o comando padrão para compilar Stunnel da fonte são descritos abaixo. Para qualquer atualização siga sempre as instruções de instalação dadas seu site.
máquina # gzip-dc stunnel VERSION.tar.gz-tar xvzf -
máquina # cd stunnel VERSÃO-
máquina #. / configure
máquina # make
máquina # make install
Existem várias configurações que variam com base no seu computador e ambiente. Que pode ser lido a partir do próprio site.
3: - Correndo Stunnel (Existem várias maneiras / de modo que você pode executar o stunnel Siga o FAQ disponível em seu site para escolher o que melhor corresponda às suas necessidades.).
Para executar stunnel, você sempre requer um arquivo de configuração. O processo de fabricação de arquivo de exemplo de configuração (stunnel.conf) está descrita abaixo.
O arquivo de configuração utilizado foi assim:
sample.conf
; Exemplo de arquivo de configuração stunnel por Sunil Gupta 2007
, Algumas opções usadas aqui pode não ser adequado para sua configuração particular
, Certificado / chave é necessária no modo de servidor e opcionais no modo cliente
, O certificado padrão é fornecido apenas para testes e não deve
; Ser usado num ambiente de produção
cert = / etc / stunnel / stunnel.pem
; Chroot = / var / run / stunnel /
pid = / stunnel.pid
chave = / etc / stunnel / stunnel.pem
, Algumas afinações de desempenho
socket = l: TCP_NODELAY = 1
socket = r: TCP_NODELAY = 1
, Solução para o bug Eudora
; = Opções DONT_INSERT_EMPTY_FRAGMENTS
, Material de autenticação
, Verificar = 2
, Não se esqueça de capath c_rehash
; Capath = certs
; É muitas vezes mais fácil de usar CAfile
; CAfile = certs.pem
, Não se esqueça de CRLpath c_rehash
; CRLpath = CRLs
; Alternativamente, você pode usar CRLfile
; CRLfile = crls.pem
, Algumas coisas depuração útil para solucionar problemas
debug = 7
Output = / var / log / stunnel.log
primeiro plano = yes
; Use-o para modo cliente
; Cliente = yes
, Configuração de nível de serviço
[Pop3s;]
, Aceite = 995
; Conectar = 110
; [Imaps]
, Aceite = 993
; Conectar = 143
, [Ssmtp]
, Aceite = 465
; Ligar = 25
[Rtmps - https]
TIMEOUTconnect = 20
aceitar = 443
conectar = 80
TIMEOUTclose = 20
, Vim: ft = dosin
Terminar
Nota: - Quando você instala Stunnel, você tem um arquivo de amostra padrão, que não é suficiente na maioria dos casos, para executar o aplicativo flash. As adições ao arquivo de configuração que eu fiz são os seguintes.
Também a linha de ter; no início denota a porção comentado no arquivo.
cert = / etc / stunnel / stunnel.pem
chave = / etc / stunnel / stunnel.pem
pem significa 'mail maior privacidade "usado como um formato de chave. As duas linhas acima diz a localização de arquivos PEM precisam ser geradas. Isto irá ser configurada pelo utilizador. A descrição acima é a melhor localização para Stunnel embora você pode alterá-lo para qualquer local desejado.
, Algumas afinações de desempenho
socket = l: TCP_NODELAY = 1
socket = r: TCP_NODELAY = 1
As duas linhas acima são para um melhor desempenho de Stunnel no nosso caso.
, Solução para o bug Eudora
; = Opções DONT_INSERT_EMPTY_FRAGMENTS
A linha acima é um bug em uma plataforma específica, uma vez que estamos executando em Linux; que comentou esta linha, embora possa ser necessária em alguns casos.
, Algumas coisas depuração útil para solucionar problemas
debug = 7
Output = / var / log / stunnel.log
primeiro plano = yes
As linhas acima são muito importantes, porque Stunnel por padrão executado em modo de fundo. Você nunca será capaz de ver se ele está em execução. Então é melhor colocá-lo em primeiro plano, para que você possa se certificar de que stunnel está funcionando corretamente. Também o debug = 7 é muito importante, uma vez por stunnel padrão não gera qualquer log. Você pode direcioná-lo para gerar log, para que você possa depurar seu aplicativo, vendo todas aquelas mensagens de log. O diretório de log acima mencionado é o diretório padrão do Linux, onde todos os logs do sistema são gerados.
; Use-o para modo cliente
; Cliente = yes
No arquivo de configuração de exemplo, você sempre vai encontrar esta opção não-comentou levando a uma arquitetura diferente, já que estamos executando Stunnel no modo não o servidor em modo cliente, por isso vamos comentar essa linha.
[Rtmps - https]
TIMEOUTconnect = 20
aceitar = 443
conectar = 80
TIMEOUTclose = 20
E as linhas muito últimos são mencionados acima. No arquivo de configuração de exemplo, você nunca vai encontrar rtmps e não é sequer mencionado em qualquer lugar Stunnel. O arquivo padrão contém apenas https, adicione rtmps como ele é adicionado aqui. Porto também aceitar é 443, que é a porta padrão usada para comunicação segura e é aberta como a porta 80 em todos os firewalls corporativos em geral. Esta porta é para aceitar a conexão do flash e para obter os dados criptografados. A porta de conexão é de 80, esta é a porta onde stunnel irá transmitir os dados descriptografados para servidor red5.
O TIMEOUTconnect e TIMEOUTclose pode ser útil em alguns casos, quando o servidor onde os dados estão sendo transmitidos pela Stunnel está atrasando a conexão. Isso é para se certificar de que a conexão é fechada apenas quando o servidor não está respondendo a todos. O valor é expresso em segundos (isto é, 20 seg.)
Agora, para executar o aplicativo em conexão segura, você precisa de um certificado a ser criada na máquina onde o Stunnel está instalado. O procedimento para a criação de um certificado eo diretório possível colocar esse certificado é descrito abaixo.
Uso de certificado: -
Quando um cliente SSL conecta a um servidor SSL, o servidor apresenta um certificado, essencialmente, uma peça eletrônica da prova que a máquina é quem afirma ser. Este certificado é assinado por uma "Autoridade Certificadora" (a seguir uma CA) - geralmente uma terceira parte confiável como a VeriSign. Um cliente vai aceitar este certificado somente se
O certificado apresentado corresponde à chave privada a ser utilizado até o final remoto.
O certificado foi assinado corretamente pelo CA. O cliente reconhece o CA como confiável.
Cada servidor stunnel tem uma chave privada. Isso está contido no arquivo pem que stunnel usa para inicializar a sua identidade. Se notar acima, temos dado a referência deste arquivo pem no início de nosso arquivo de configuração sob cert.
Esta chave privada é colocado em / usr / local / ssl / certs / stunnel.pem.
Nota:-Em modo cliente que não precisa ter certificado na maioria dos casos, mas se estamos a executá-lo em modo de servidor, é necessário um certificado. Uma vez que estamos usando o modo servidor, eu ter gerado um certificado auto.
Para tornar certificado: -
1: Vá para / etc / stunnel diretório e
2: Execute o seguinte comando: - '
openssl req-new-x509-days 365-nodes-config stunnel.cnf-out stunnel.pem-keyout stunnel.pem
Isso cria uma chave privada e certificado auto-assinado. Mais informações sobre as opções de presente pode ser lido a partir de seção FAQ do site Stunnel.
Durante a execução do comando, ele irá pedir para algumas questões, como País, Cidade, etc Companhia, Dê a resposta das pessoas e isso vai gerar o certificado de chave e auto.
4: - Coloque o seu arquivo sample.conf em / etc / stunnel diretório onde o arquivo pem foi criado anteriormente..
5: - Iniciar Stunnel emitindo o comando -
máquina stunnel.conf stunnel #
Se você / etc / stunnel caminho do diretório de outra forma completa do arquivo de configuração
máquina stunnel # / etc stunnel / / stunnel.conf
O comando acima irá iniciar o stunnel e você pode verificar o log / var / logs / arquivo stunnel.log.
Servidor Red5 mudanças laterais: -
6: - Agora stunnel está instalado e funcionando, precisamos alterar a configuração Red5 para aceitar a conexão de Stunnel.
Ir para red5 diretório de instalação e de pesquisa para a pasta conf, onde todos os arquivos de configuração Red5 existe.
Red5.properties arquivo aberto e sob propriedade rtmps.host_port colocar 443. O arquivo de exemplo pode ser como abaixo.
rtmp.host_port = 0.0.0.0:1935
rtmp.threadcount = 4
debug_proxy.host_port = 0.0.0.0:1936
proxy_forward.host_port = 127.0.0.1:1935
rtmps.host_port = 127.0.0.1:443
http.host = 0.0.0.0
http.port = 5080
rtmpt.host = 0.0.0.0
rtmpt.port = 80
Cliente Flash mudanças colaterais: -
7:-Agora estamos a fazer com o lado do servidor, A fim de executar o aplicativo em SSL, é preciso mudar o protocolo de lado do cliente de rtmp para rtmps como abaixo. E compilar o cliente flash e executá-lo no navegador, um certificado irá aparecer, aceitá-lo e o aplicativo será executado em SSL.
nc.connect ("rtmps :/ / yourip / applicationname"); / / usado rtmps no lugar de rtmp
Para obter todos os Red5 servidor de mídia relacionado para animais, visite o site abaixo-
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário