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-

Nenhum comentário:

Postar um comentário