Pesquisar neste blog

segunda-feira, 24 de outubro de 2011

Convertendo arquivos WAV para GSM para serem utilizados no Asterisk


Para converter arquivos do Windows (WAV) para o Asterisk (GSM) você deve utilizar o utilitário sox.
A sintaxe do comando encontra-se logo abaixo:
$ sox inputfile.wav -r 8000 -c 1 outputfile.gsm resample -ql
Se você quiser converter todos os arquivos WAV que estão num diretório para arquivos GSM, digite o seguinte comando no prompt do Linux:
$ for i in *.wav; do sox $i -r 8000 -c 1 $(basename $i .wav).gsm resample -ql; done 

sexta-feira, 21 de outubro de 2011

CobiT 4.0


COBIT®, do inglês, Control Objectives for Information and related Technology, é um guia de boas práticas apresentado como framework, dirigido para a gestão de tecnologia de informação (TI). Mantido pelo ISACA (Information Systems Audit and Control Association), possui uma série de recursos que podem servir como um modelo de referência para gestão da TI, incluindo um sumário executivo, um framework,objetivos de controlemapas de auditoriaferramentas para a sua implementação e principalmente, um guia com técnicas de gerenciamento. Especialistas em gestão e institutos independentes recomendam o uso do CobiT como meio para otimizar os investimentos de TI, melhorando o retorno sobre o investimento (ROI) percebido, fornecendo métricas para avaliação dos resultados (Key Performance Indicators KPI, Key Goal Indicators KGI e Critical Success Factors CSF).
O CobiT independe das plataformas de TI adotadas nas empresas, tal como independe do tipo de negócio e do valor e participação que a tecnologia da informação tem na cadeia produtiva da empresa.
Em 28 de janeiro de 2010, foi anunciada oficialmente a tradução do COBIT 4.1 para a Língua Portuguesa.


O cubo do Cobit

É o modelo que representa como os componentes se inter-relacionam:


Critérios de Informação ou Requisitos de Negócio

  • Efetividade
  • Eficiência
  • Confidencialidade
  • Integridade
  • Disponibilidade
  • Conformidade
  • Confiabilidade


Recursos de TI

  • Aplicações
  • Informação
  • Infraestrutura
  • Pessoas


Estrutura do Cobit

CobiT cobre quatro domínios, os quais possuem 34 processos, e estes processos possuem 318 objetivos de controle:
  • Planejar e Organizar
  • Adquirir e Implementar
  • Entregar e Dar Suporte
  • Monitorar e Avaliar


Planejar e Organizar

O domínio de Planejamento e Organização cobre o uso de informação e tecnologia e como isso pode ser usado para que a empresa atinja seus objetivos e metas. Ele também salienta que a forma organizacional e a infraestrutura da TI devem ser consideradas para que se atinjam resultados ótimos e para que se gerem benefícios do seu uso. A tabela seguinte lista os processos de TI para o domínio do Planejamento e Organização.

PROCESSOS DE TI

Planejar e Organizar
PO1Definir um Plano Estratégico de TI6 OCs
PO2Definir a Arquitetura de Informação4 OCs
PO3Determinar o Direcionamento Tecnológico5 OCs
PO4Definir os Processos, Organização e Relacionamentos de TI15 OCs
PO5Gerenciar o Investimento em TI5 OCs
PO6Comunicar as Diretrizes e Expectativas da Diretoria5 OCs
PO7Gerenciar os Recursos Humanos de TI8 OCs
PO8Gerenciar a Qualidade6 OCs
PO9Avaliar e Gerenciar os Riscos de TI6 OCs
PO10Gerenciar Projetos14 OCs


Adquirir e Implementar

O domínio de Adquirir e Implementar cobre a identificação dos requisitos de TI, a aquisição de tecnologia e a implementação desta dentro dos processos de negócio da companhia. Esse domínio também lida com o desenvolvimento de um plano de manutenção que a companhia adota para prolongar a vida do sistema de TI e de seus componentes. A seguinte tabela lista os processos de TI de Aquisição e Implementação.
PROCESSOS DE TI
Adquirir e Implementar
AI1Identificar Soluções Automatizadas4 OC
AI2Adquirir e Manter Software Aplicativo10 OC
AI3Adquirir e Manter Infraestrutura de Tecnologia4 OC
AI4Habilitar Operação e Uso4 OC
AI5Adquirir Recursos de TI4 OC
AI6Gerenciar Mudanças5 OC
AI7Instalar e Homologar Soluções e Mudanças9 OC


Entregar e Suportar

O domínio Entregar e Suportar foca aspectos de entrega de tecnologia da informação. Cobre a execução de aplicações dentro do sistema de TI e seus resultados, assim como os processos de suporte que permitem a execução de forma eficiente e efetiva. Esses processos de suporte também incluem questões de segurança e treinamento. A seguir, a tabela com os processos de TI desse domínio.

PROCESSOS DE TI
Entregar e Suportar
DS1Definir e Gerenciar Níveis de Serviço6 OC
DS2Gerenciar Serviços de Terceiros4 OC
DS3Gerenciar Capacidade e Desempenho5 OC
DS4Assegurar Continuidade de Serviços10 OC
DS5Assegurar a Segurança dos Serviços11 OC
DS6Identificar e Alocar Custos4 OC
DS7Educar e Treinar Usuários3 OC
DS8Gerenciar a Central de Serviço e os Incidentes5 OC
DS9Gerenciar a Configuração3 OC
DS10Gerenciar os Problemas4 OC
DS11Gerenciar os Dados6 OC
DS12Gerenciar o Ambiente Físico5 OC
DS13Gerenciar as Operações5 OC


Monitorar e Avaliar

O domínio de Monitorar e Avaliar lida com a estimativa estratégica das necessidades da companhia e avalia se o atual sistema de TI atinge os objetivos para os quais ele foi especificado e controla os requisitos para atender objetivos regulatórios. Ele também cobre as questões de estimativa, independentemente da efetividade do sistema de TI e sua capacidade de atingir os objetivos de negócio, controlando os processos internos da companhia através de auditores internos e externos.
PROCESSOS DE TI
Monitorar e Avaliar
ME1Monitorar e Avaliar o Desempenho6 OC
ME2Monitorar e Avaliar os Controles Internos7 OC
ME3Assegurar a Conformidade com Requisitos Externos5 OC
ME4Prover a Governança de TI7 OC


Estrutura de cada processo

Cada processo do CobIT deve descrever as seguintes características:
  • Nome do processo
  • Descrição do processo
    • Critérios de informação
    • Declaração genérica de ações
      • Indicadores de performace
    • Recursos de TI envolvidos
    • Objetivos de controle detalhados
    • Diretrizes de gerenciamento
      • Entradas
      • Saídas
      • Matrizes de responsabilidade
      • Objetivos e métricas
    • Modelo de maturidade

Notas e referências

PO9 - Avaliar e Gerenciar os Riscos de TI


PO9.1 Alinhamento da gestão de riscos de TI e de Negócios

Estabelecer uma estrutura de gestão de riscos de TI alinhada com a estrutura de gestão de riscos da organização (corporação).

PO9.2 Estabelecimento do Contexto de Risco

Estabelecer o contexto ao qual a estrutura de avaliação de risco é aplicada para assegurar resultados esperados. Isso inclui a definição dos contextos interno e externo de cada avaliação de risco, o objetivo da avaliação e os critérios pelos quais os riscos são avaliados.

PO9.3 Identificação de Eventos

Identificar eventos (importante ameaça real que explora significativas vulnerabilidades) com potencial impacto negativo nos objetivos ou nas operações da organização, incluindo aspectos de negócios, regulamentação, aspectos jurídicos, tecnologia, parcerias de negócio, recursos humanos e operacionais. Determinar a natureza do impacto e manter esta informação. Registrar e manter um histórico dos riscos relevantes.

PO9.4 Avaliação de Risco

Avaliar regularmente a probabilidade e o impacto de todos os riscos identificados, utilizando métodos qualitativos e quantitativos. A probabilidade e o impacto associado ao risco inerente e residual devem ser determinados individualmente, por categoria e com base no portfólio da organização.

PO9.5 Resposta ao Risco

Desenvolver e manter um processo de respostas a riscos para assegurar que controles com uma adequada relação custo-benefício mitiguem a exposição aos riscos de forma contínua. O processo de resposta ao risco deve identificar estratégias de risco, tais como evitar, reduzir, compartilhar ou aceitar o risco, determinar responsabilidades, e considerar os níveis de tolerância definidos.

PO9.6 Manutenção e Monitoramento do Plano de Ação de Risco

Priorizar e planejar as atividades de controle em todos os níveis da organização para implementar as respostas aos riscos identificadas como necessárias, incluindo a identificação de custos, benefícios e responsabilidade pela execução. Obter aprovações para ações recomendadas e aceitação de quaisquer riscos residuais e assegurar que as ações aprovadas sejam assumidas pelos donos dos processos afetados. Monitorar a execução dos planos e reportar qualquer desvio para a Alta Direção.

Abraços

terça-feira, 18 de outubro de 2011

Criando seu próprio DynDNS (Atualização Dinâmica de DNS) - (DNS Dynamic Updates)

Olá queridos leitores, ai vai uma dica super interessante e também muito útil, pois para que tem um servidor de DNS e não quer mais ficar perdendo tempo criando contas em vários servidores como no-ip.org, DynDNS, etc... vou demonstrar abaixo como montar seu próprio servidor de atualização automática de DNS dos clientes que usam endereço ip dinâmico.


Vamos aos passos:


1º Passo - Instalação e configuração do Bind

Primeiramente vamos precisar ter o Bind instalado, configurado e funcionando conforme dica já passada aqui no blog: <> 


2º Passo - Criação da Chave



Execute o comando abaixo, no seu servidor Bind, o comando dnssec-keygen faz parte do pacote bind.

# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST servidorbind

Para quem se interessar em tirar dúvidas sobre os parâmetros do comando dnssec-keygen segue o link: <>

3º Passo - Copiar a chave

Kservidorbind.+157+10529.key
Kservidorbind.+157+10529.private

# cat Kservidorbind.+157+10529.key

servidorbind. IN KEY 512 3 157 Gnx6+MPkb94I1pQD740sPEopj4AWm8YgCGJwzKm6JQYQPXydFTrFLH39 IQle135rHybhCNroDyPTS1gVM2l2ww==

4º Passo - Configurar a chave no bind

Edite o arquivo named.conf e adicione o nome da chave conforme exemplo abaixo:
# vim /etc/named.conf

key servidorbind {
   algorithm hmac-md5;
   secret "IQle135rHybhCNroDyPTS1gVM2l2ww==";
};

5º Passo - Adicionar o nome da chave na zona

Agora vá até a zona e adicione o parâmetro allow-update conforme exemplo abaixo:

zone "meudominio.com.br" IN {
        type master;
        file " meudominio.com.br ";
        allow-update { key servidorbind;};
};


Agora os passos mais interessantes, iremos criar os scripts em php que irão receber as informações de endereçamento dos clientes.
6º Passo - Criar e Configurar o arquivo dyndns_rcv.php

No sexto passo, você irá precisar de um servidor rodando apache com suporte a php, caso você esteja rodando o CentOS ou Redhat apenas execute o seguinte comando :

# yum install httpd php -y

Agora vá até a pasta root do servidor apache e crie o seguinte arquivo:

# vim /var/www/html/dyndns_rcv.php

Copie e cole o seguinte conteúdo:
$ip_host       = $_REQUEST['ip_host'];
$nome_host     = $_REQUEST['nome_host'];

$cmd_update    = "/var/www/html/nsupdate.sh $ip_host $nome_host";
exec($cmd_update,$out);

?>



Salve e feche o arquivo.

7º Passo - Configurar o arquivo nsupdate.sh
 
No sétimo passo ainda dentro do servidor apache, iremos criar o arquivo chave de tudo, é o responsável pela recepção dos parâmetros e envio para atualização no servidor bind.

Execute o seguinte comando para criar o arquivo:
# vim /var/www/html/nsupdate.sh

Copie e cole o conteúdo abaixo, o arquivo é um shell script

#!/bin/bash

KEYNAME="servidorbind"
HASH="IQle135rHybhCNroDyPTS1gVM2l2ww=="
IP="$1"
SERVER="127.0.0.1"
ZONE="meudominio.com.br"
HOST="$2.meudominio.com.br"

# Definir comando de update
NSUPDATE="/usr/bin/nsupdate -y $KEYNAME:$HASH"

EXEC="server $SERVER\n
zone $ZONE\n
update delete $HOST A\n
update add $HOST 1440 A $IP\n
show\n
send"

# Executa a atualizacao
echo -e $EXEC | $NSUPDATE

Salve o arquivo e feche. Lembrando que o mesmo é um shell script e precisamos definir as permissões para execução do usuário apache, para isso execute os seguintes comando abaixo:

Definindo a permissão de execução:
# chmod 0750 /var/www/html/nsupdate.sh

Definindo as permissões para o usuário apache:
# chown apache.apache /var/www/html/nsupdate.sh

Agora temos o servidor que irá receber as informações via servidor web apache com php e enviá-las para o bind via shell script, não esqueça de iniciar o serviço do servidor apache, para isso utilize o seguinte comando:

# service httpd start

8º Passo - Criação do arquivo meuip
No oitavo passo ainda dentro do servidor web apache, iremos criar um arquivo chamado meuip_host.php, isso é para garantir que quando o host cliente for enviar a informação do ip público, essa informação seja confiável e também para não depender de serviço de sites de terceiros como meuip.com.br, etc... que possam estar fora do ar no momento de um envio de atualização do endereço ip  acabarmos ficando sem acesso ao host até que o serviço volte ao ar.


# vim /var/www/html/meuip_host.php

Copie e cole o seguinte conteúdo no arquivo acima: 

$ip=$_SERVER['REMOTE_ADDR'];
print $ip."\n";
?>

Salve o arquivo e feche. Tudo pronto na parte do server de recepção, agora vamos para o cliente.


9 º Passo - Configurar o script dyndns_host.sh no cliente

No nono passo iremos criar o arquivo escrito em shell script, ele é responsável por buscar a informação do endereço ip publico ao qual ele está rodando e enviar as informações de nome do host e ip para a atualização no servidor de dns. Para isso crie o seguinte arquivo conforme comando abaixo:

# vim /root/scripts/dyndns_host.sh

Copie e cole o conteúdo abaixo no arquivo acima.
#!/bin/sh

HOSTNAME="NOME_HOST"
LYNX=`/usr/bin/which lynx`
IP=`$LYNX -source http://www.meudominio.com.br/meuip_host.php`
 
$LYNX --dump "http://www.meudominio.com.br/dyndns_rcv.php?ip_host=$IP&nome_host=$HOSTNAME"
Personalize o nome do host de acordo com a sua necessidade, salve o arquivo e feche.

Para rodar o arquivo acima iremos precisar de um pacote adicional chamado lynx, para isso execute o seguinte comando:

# yum install lynx -y

Agora iremos definir as permissões de execução do arquivo:

# chmod 0755 /root/scripts/dyndns_host.sh

10º Passo - Configurar na crontab a execução do script

E por último, vamos colocar o script para rodar na crontab e nos enviar as informações de autualização de tempos em tempos, claro, de acordo com a sua necessidade:

a.  # vim /etc/crontab
b.  Inserir a seguinte linha: 
*/10 * * * * root /root/scripts/dyndns_host.sh
c.  Certificar que o serviço crond está rodando.
[root@host scripts]# service crond status
crond (pid 1165) is running...


Agora pronto, só testar!!

Grande abraço a todos e boa sorte, espero ter ajudado!

sexta-feira, 14 de outubro de 2011

Configurar uma senha para proteger a edição do GRUB


1. No prompt de root, encripte sua senha usando o grub-md5-crypt. 



# grub-md5-crypt
Password: ****
Retype password: ****
Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/

2. Cole a string encriptada na sessão global do seu /boot/grub/menu.lst
default 0
timeout 5
password --md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/

Agora o GRUB só pode ser editado pressionando a tecla P e entrar com a senha. Porém, usuários poderão utilizar outros sistemas operacionais para dar boot a partir do menu de boot.

Recuperar a senha de root do MySQL

Olá pessoal,
segue abaixo uma dica para quando acontecer uma situação de não saber a senha ou ter esquecido a senha de root do MySQL.

Parar o MySQL

[root@servidor ~]# service mysql stop

Suba o MySQL em modo seguro com o seguinte parâmetro:
[root@servidor ~]# mysqld_safe --skip-grant-tables &

Logue-se no MySQL com o usuário root. Observe que ele não irá lhe pedir a senha
[root@servidor ~]# mysql -u root

Resete sua senha:
mysql> use mysql;
mysql> update user set password=PASSWORD("Nova-senha") where User='root';
mysql> flush privileges;
mysql> quit

Agora é só reiniciar o MySQL
[root@servidor ~]# service mysql restart

Como descobrir a frequência, slots e tamanho da memória instalada na sua máquina Lunix

[root@server ~]# dmidecode --type 17 | sed -n 's/\t//;s/MHz/MHz\n/;s/wn/wn\n----/;/^Locator\|^Speed\|^Size/p'|


Saída do comando:


Size: 2048 MB
Locator: DIMM_A1
Speed: 800 MHz

Size: No Module Installed
Locator: DIMM_A2
Speed: Unknown



Abraço!!

quinta-feira, 13 de outubro de 2011

Entendendo os Logs do Squid

TCP_HIT = Uma cópia válida do objeto pedido estava no cache.

TCP_MISS = O objeto pedido não estava no cache.
TCP_REFRESH_HIT = O objeto estava no cache, mas era antigo. Foi verificado e ele não foi alterado.
TCP_REF_FAIL_HIT = O objeto estava no cache, mas era antigo. O pedido para validar o objeto falhou, o objeto antigo foi retornado.
TCP_REFRESH_MISS = O objeto estava no cache, mas era antigo. Foi descarregado a cópia nova do objeto.
TCP_CLIENT_REFRESH = Foi uma requisisão com a meta tag “no-cache”.
TCP_CLIENT_REFRESH_MISS = O browser forçou o proxy a verificar para ver se há uma versão nova do objeto.
TCP_IMS_HIT = O browser ja tinha uma cópia válida do objeto.
TCP_IMS_MISS = Foi feita um requisisão para verificar se um objeto antigo tinha uma nova cópia.
TCP_SWAPFAIL = Era para o objeto estar no cache, mas não estava.
TCP_DENIED = A requisição foi negada.


sexta-feira, 7 de outubro de 2011

Usando o lynx para criar seu próprio DynDNS

Obtendo o ip real


1º Passo
# yum install lynx -y


2º Passo
# lynx -source www.meuip.com.br |grep meuip-home |cut -d ";" -f 2 \ |cut -d "<" -f 1 |cut -d " " -f 2


Enviando os dados


3º Passo
Com o script abaixo podemos adicioná-lo na crontab para enviar os dados para o seu servidor principal.



#!/bin/bash
UNIDADE="UnidadeX"
HOSTNAME=`hostname`
IP=`lynx -source www.meuip.com.br |grep meuip-home |/usr/bin/cut -d ";" -f 2 |/usr/bin/cut -d "<" -f 1 |/usr/bin/cut -d " " -f 2`
DIA=`date +%d.%m.%Y`
HORA=`date +%k:%M`
DATE="$DIA - $HORA"
/usr/bin/curl -d "client=$UNIDADE" -d "hostname=$HOSTNAME" -d "date=$DATE" -d "ip=$IP" http://www.meuservidorprinciapal.com.br/php/dns/dyndns.php


Utilizamos o comando curl para enviar os dados via metodo post, a flag -d engloba os dados a serem enviados, o ultimo parâmetro deve ser a URL para envio dos dados.




O recebimento será tratado em outro artigo.