Sistema para Operacionalização de Planos de Contingência em TI
Transcrição
Sistema para Operacionalização de Planos de Contingência em TI
Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação Rodrigo Antunes Sprengel Sistema para Operacionalização de Planos de Contingência em TI Curitiba 2005 Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação Rodrigo Antunes Sprengel Sistema para Operacionalização de Planos de Contingência em TI Monografia apresentada à disciplina de Projeto Final, como requisito parcial a conclusão do Curso de Engenharia da Computação. Orientador: Prof. Edson Pedro Ferlin Curitiba 2005 TERMO DE APROVAÇÃO Rodrigo Antunes Sprengel Sistema para Operacionalização de Planos de Contingência em TI Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação do Centro Universitário Positivo, pela seguinte banca examinadora: Prof. Edson Pedro Ferlin (Orientador) Prof. Marcelo Mikosz Prof. Roberto Selow Curitiba, 12 de Dezembro de 2005 AGRADECIMENTOS Agradeço ao Professor Edson Ferlin pela orientação, apoio e amizade fundamentais para realização deste projeto; ao Prof. Valfredo Pilla pela amizade e valiosa ajuda nos momentos críticos do desenvolvimento; a todos os colegas que colaboraram e participaram de alguma forma neste processo final da graduação, na faculdade e fora dela. Finalmente, agradeço à minha família, pela paciência e pelo apoio nos momentos de ausência, necessários para a conclusão desta etapa. Dedico, ainda, em memória de mamãe e de sua dedicação e amor em todos estes anos. I SUMÁRIO 1. INTRODUÇÃO.........................................................................................................9 2. DESCRIÇÃO..........................................................................................................12 3. EMBASAMENTO TEÓRICO..................................................................................14 3.1. Planos Decorrentes......................................................................................17 3.2. ISO 17799....................................................................................................18 3.3. Equivalentes de Mercado.............................................................................19 4. ESPECIFICAÇÃO DE PROJETO ..........................................................................21 4.1. Especificação do Software - Servidor .................................................................21 4.1.1. Sincronização de Dados ...........................................................................22 4.1.2. Protocolo de Comunicação .......................................................................23 4.1.3. Condução dos Planos de Risco ................................................................24 4.1.4. Relatórios..................................................................................................25 4.1.5. Firmware ...................................................................................................26 4.1.5.1. Inicialização do Dispositivo ....................................................................26 4.1.5.2. Detecção de Movimento ........................................................................27 4.1.5.3. Controle de Acesso................................................................................28 4.1.5.4. Controle de Temperatura.......................................................................29 4.1.5.5. Fornecimento de Energia.......................................................................30 4.1.6. Banco de Dados.......................................................................................30 4.2. Especificação do Hardware ................................................................................31 4.2.1. Monitoramento de Temperatura................................................................31 4.2.2. Detecção de Intrusão ................................................................................33 4.2.2.1. Sensor de Presença ..............................................................................33 4.2.2.2. Sirene ....................................................................................................34 4.2.3. Controle de Acesso...................................................................................34 4.2.3.1. Teclado ..................................................................................................35 4.2.3.2. Fechadura Elétrica.................................................................................36 4.2.3.3. Biometria................................................................................................37 4.2.4. Fornecimento de Energia Elétrica .............................................................38 4.2.5. Display LCD ..............................................................................................38 4.3. Microcontrolador 8051 ........................................................................................40 5. IMPLEMENTAÇÃO ................................................................................................43 5.1. Hardware .....................................................................................................43 5.2. Firmware ......................................................................................................44 5.2.1. Detalhes da Implementação ...........................................................44 5.2.2. Interface LCD .................................................................................45 5.2.2.1. Inicialização ......................................................................45 5.2.2.2. Interfaces de Interação com os Usuários..........................45 5.2.3. Registradores .................................................................................47 5.2.4. Utilização da Memória RAM ...........................................................47 5.2.5. Mapeamento de Dispositivos em Memória.....................................48 5.3. Software.......................................................................................................49 5.3.1. Interface Servidor ...........................................................................50 5.3.2. Protocolo de Comunicação ............................................................52 5.3.3. Interface Web .................................................................................53 II 5.3.4. Geração das Informações em formato HTML.................................53 6. VALIDAÇÃO ..........................................................................................................54 6.1. Controle de Acesso......................................................................................54 6.2. Ativação de Alarme e Intrusão .....................................................................54 6.3. Fornecimento de Energia Elétrica ................................................................55 6.4. Envio de e-mail’s..........................................................................................55 6.5. Relatório de Atividades ................................................................................56 7. ROTEIRO DE TESTES..........................................................................................57 7.1. Controle de Acesso......................................................................................57 7.2. Ativação / Desativação do Alarme ...............................................................57 7.3. Intrusão ........................................................................................................59 7.4. Falha Elétrica ...............................................................................................60 7.5. Sincronização de Senhas ............................................................................60 7.6. Leitura da Temperatura................................................................................61 8. RESULTADOS.......................................................................................................62 9. CONCLUSÕES......................................................................................................65 10. CRONOGRAMA ..................................................................................................66 11. REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................67 12. ANEXO I – ESQUEMÁTICOS..............................................................................68 13. ANEXO II – ISO 17799 ........................................................................................71 13.1. As áreas de controle do ISO 17799 ...........................................................71 13.2. Benefícios do ISO 17799 ...........................................................................72 13.3. Status do ISO 17799..................................................................................73 14. ANEXO III – DATASHEETS.................................................................................74 14.1. 74LS245.....................................................................................................74 14.2. ADC0804 ...................................................................................................75 14.3. LM35 ..........................................................................................................76 14.4. LM358 ........................................................................................................77 14.5. LM7805 ......................................................................................................78 14.6. 74LS00.......................................................................................................79 14.7. 74LS04.......................................................................................................80 14.8. 74LS32.......................................................................................................81 III LISTA DE FIGURAS Figura 1 – Diagrama Geral do Projeto...........................................................................13 Figura 2 – Visão Geral de um PCN ...............................................................................16 Figura 3 – Interface “Painel de Controle”.......................................................................22 Figura 4 – Diagrama da Sincronização de Dados .........................................................23 Figura 5 – Formato do Pacote de Dados.......................................................................24 Figura 6 – Relatórios do Sistema ..................................................................................25 Figura 7 – Fluxograma da inicialização do hardware, pelo firmware .............................26 Figura 8 – Fluxograma da detecção de movimento.......................................................27 Figura 9 – Fluxograma do Controle de Acesso .............................................................28 Figura 10 – Fluxograma do Controle de Temperatura...................................................29 Figura 11 – Fluxograma do Controle de Fornecimento de Energia ...............................30 Figura 12 – Estrutura da Tabela de Usuários com Acesso ao Data Center ..................31 Figura 13 - Diagrama das Funções de Monitoramento de Temperatura .......................32 Figura 14 – Diagrama da Detecção de Intrusão ............................................................33 Figura 15 - Diagrama do Controle de Acesso................................................................35 Figura 16 – Esquemático do Teclado Numérico Telefônico ..........................................36 Figura 17 – Display LCD................................................................................................39 Figura 18 – Pinagem do Microcontrolador 8051............................................................41 Figura 19 – Multiplexação de dados e endereços em memórias externas....................42 Figura 20 – Tela inicial do post de hardware .................................................................45 Figura 21 – Inicialização e teste de dispositivos............................................................45 Figura 22 – Inicialização e teste de dispositivos............................................................45 Figura 23 – Interface de Autenticação...........................................................................46 Figura 24 – Interface de Autenticação...........................................................................46 Figura 25 – Usuário com acesso autorizado .................................................................46 Figura 26 – Usuário com acesso negado ......................................................................46 Figura 27 – Alerta de Falha no Fornecimento Elétrico ..................................................46 Figura 28 – Alerta de Invasão........................................................................................46 Figura 29 – Alerta de Alarme Acionado.........................................................................46 Figura 30 – Interface “Painel de Controle”.....................................................................50 Figura 31 – Interface “E-mail” ........................................................................................51 Figura 32 – Interface “Usuário”......................................................................................52 Figura 33 – Exemplo de alertas recebidos no aparelho celular .....................................63 Figura 34 – Protótipo do Projeto....................................................................................64 Figura 35 – Cronograma (I) ...........................................................................................66 Figura 36 – Cronograma (II) ..........................................................................................66 Figura 37 – Esquemático do Circuito Completo ............................................................68 Figura 38 – Esquemático da Ligação Física do Sensor de Temperatura ......................69 Figura 39 – Diagrama Esquemático da Ligação Física do Sensor de Presença e da Sirene .....................................................................................................................69 Figura 40 – Diagrama Esquemático da Ligação Física do Teclado Numérico e da Fechadura Elétrica .................................................................................................70 Figura 41 – 74LS245 – Folha de Dados (I)....................................................................74 Figura 42 – ADC0804 – Folha de Dados (I) ..................................................................75 Figura 43 – LM35 – Folha de Dados (I).........................................................................76 Figura 44 – LM358 – Folha de Dados (I).......................................................................77 Figura 45 – LM7805 – Folha de Dados (I).....................................................................78 Figura 46 – 74LS00 – Folha de Dados (I) .....................................................................79 Figura 47 – 74LS04 – Folha de Dados (I) .....................................................................80 Figura 48 – 74LS32 – Folha de Dados (I) .....................................................................81 IV LISTA DE TABELAS Tabela 1 – Descrição dos Pinos do Módulo LCD ..........................................................39 Tabela 2 – Instruções mais usadas em módulos LCD ..................................................40 Tabela 3 – Interfaces E/S ..............................................................................................43 Tabela 4 – Banco de Registradores R0.........................................................................47 Tabela 5 – Banco de Registradores R1.........................................................................47 Tabela 6 – Posição das Senhas na Memória RAM .......................................................48 Tabela 7 – Mapeamento de Dispositivos em Memória..................................................49 Tabela 8 – Protocolo de Envio de Informações .............................................................52 V LISTA DE SIGLAS E ABREVIATURAS A/D – Analógico / Digital BD – Banco de Dados b – bits bps – bits por segundo B – Bytes CI – Circuito Integrado CISC - Complex Instruction Set Computing CPU – Central Processing Unit – Unidade de Processamento Central DRI - Disaster Recovery Institute E/S – Entrada / Saída EMI – Interferência Eletromagnética EPROM – Electric Programmable Read Only Memory LCD – Liquid Cristal Display – Visor de Cristal Líquido ISO – International Standards Organization PC – Personal Computer PCN - Plano de Continuidade de Negócios PCO - Planos de Continuidade Operacional PDA – Personal Digital Assistant – Assistente Pessoal Digital PRD - Plano de Recuperação de Desastres RAM – Random Access Memory - Memória de Acesso Aleatório RFI – Interferência de Radio Freqüência ROM – Read Only Memory – Memória Somente de Leitura SGBD – Sistema Gerenciador de Banco de Dados SMS – Short Message System – Sistema de Mensagens Curtas TI – Tecnologia da Informação 6 RESUMO O objetivo do projeto é fornecer suporte às atividades operacionais na execução de Planos de Contingência para TI (Tecnologia da Informação). O sistema promove a integração de um dispositivo microcontrolado com a Internet, através de uma interface web. A motivação para esta aplicação vem da criticidade de um Data Center que pode, em casos de paradas, desastres ou invasões, trazer grandes prejuízos à uma organização e causar até mesmo a sua falência. Não há, nos dias de hoje, similares específicos para esta aplicação, para atender o suporte à operacionalização dos Planos de Contingência em TI. O sistema deve guiar os responsáveis pela execução dos Planos de Contingência previstos para as situações de risco possíveis em um Data Center, relacionadas aos dados coletados das variáveis ambientais e aos estados de dispositivos. O dispositivo microcontrolado fornece ao servidor as informações relativas ao ambiente e aos estados de dispositivos presentes em um Data Center, a principal estrutura de TI de uma organização. Para isto, é implementado um hardware que realiza o acionamento de uma fechadura elétrica, a interface com um teclado numérico e um sensor de presença, para o controle de acesso. Ele também faz o monitoramento da temperatura, a ativação (ou desativação) do sistema de ar condicionado e o fornecimento de energia elétrica. O software realiza a comunicação constante com o hardware atualizando, em tempo real, os estados de cada dispositivo monitorado e as ações realizadas pelo sistema. Além de permitir o monitoramento, o sistema aciona os envolvidos nos Planos de Contingência definidos para cada situação de risco detectada. O software possibilita a integração com a web, através da coleta, tratamento dos dados, e geração da visualização em HTML. 7 A operacionalização dos Planos de Contingência é feita através de ações próativas no sentido de acionar os responsáveis e conduzi-los através dos planos previamente preparados para cada situação de risco. 8 ABSTRACT The objective of this project is to support operational tasks in the execution of IT (Information Technology) Contingency Plans. The system promotes the integration of a microcontrolled device with Internet, through a web interface. The motivation for this application comes from criticity of a Data Center that may, in case of inactivity, disasters or invasions, bring large damages to an organization and even cause its bankruptcy. There isn’t, in present days, specific similar systems to this application, which focuses the web remote monitoring, to attend the execution of IT Contingency Plans. The system should guide the responsible people through the execution of Contingency Plans defined for possible risk situation in a Data Center, from data related to environment variables and the status of devices . The microcontrolled device sends to the server the relative information about environment and status of devices that exists in a Data Center, the main IT structure of an organization. For such objective, is implemented hardware that drives an electric locker, interfaces a numeric keypad and a presence sensor to the access control. It already does the temperature monitoring, the driving of cooled air system and power supply monitoring. The software is constantly communicating with hardware and refreshing, in real time, the status of each monitored device and the action performed by the system. Besides this monitoring, the system drives the people envolved in the Contingency Plans defined for each risk situation detected. The software allows the integration with the web, through collecting and treating the received data, then generating the HTML visualization. The operacionalization of Contingency Plans is run through proactive actions, in order to alert the responsible person and conduct them through the risk procedures, previously planned for each risk situation. 9 1. INTRODUÇÃO Quando se fala em segurança, a maioria das pessoas imediatamente pensa em firewall’s, proxy’s, antivírus, senhas e políticas de segurança. Em contrapartida, passam despercebidas as questões referentes ao controle físico da infra-estrutura, para a manutenção da disponibilidade dos processos que dependem de TI (Tecnologia da Informação). Embora as ameaças cibernéticas aumentem diariamente, o perigo de danos causados por desastres naturais e por indivíduos está sempre presente, e não deve ser subestimado. As empresas devem contar com medidas implementadas que protejam todos os aspectos de seus negócios, desde a segurança física até emergências de segurança da TI e dos negócios em geral. Dentre esses perigos estão desde tornados, incêndios e roubos, à invasão de computadores ou ataques de Denial of Service (ou rejeição de serviço). Será que as empresas são capazes de sobreviver às conseqüências financeiras resultantes de um longo período de inatividade após um desastre? Talvez não. É por essa razão que o planejamento pode salvar negócios. Quando os executivos se deparam com altos custos ocasionados pelos investimentos para manter a alta disponibilidade da estrutura, a primeira pergunta a surgir é: minha empresa realmente precisa disso? A real questão para os executivos responsáveis por TI deveria ser: quanto custaria 24 horas de interrupção nas operações da companhia e quem será responsabilizado por isso? Estruturas de Data Center de pequenas e médias empresas têm diversas vulnerabilidades, que afetam diretamente a disponibilidade dos recursos de informática, desde o fornecimento de energia elétrica até a estrutura de servidores. Estas vulnerabilidades afetam, inclusive, a segurança dos ativos e dos dados, uma vez que raramente são implantados controles rígidos de acesso físico. Além do controle de acesso, outros fatores ambientais também são problemas enfrentados nestes Data Center. A climatização dos ambientes nem sempre existe, fazendo com que os servidores, roteadores e outros equipamentos trabalhem em ambientes com temperatura acima de 40 ºC, temperatura ambiente crítica a partir da qual estes equipamentos podem apresentar anormalidades em seu funcionamento, 10 segundo as práticas recomendadas para gerenciamento físico e ambiental de Data Centers, de acordo com o Intel Next Generation Center [http://www.nextg.com.br] . Em outros casos, onde há aparelhos de condicionamento de ar instalados, estes têm o seu acionamento regulado por termostatos analógicos, por serem mais baratos. Desta forma, o ambiente sofre variações muito grandes de temperatura, uma vez que raramente o aparelho é acionado a temperaturas constantes. Além das conseqüências físicas nos componentes eletrônicos, o consumo elétrico do ar condicionado é alto, pois o seu acionamento não é feito de forma eficiente. O fornecimento de energia elétrica é outra vulnerabilidade constante. Devido ao alto custo de no-breaks com uma maior autonomia, em 90% dos casos, estes equipamentos instalados têm potência abaixo de 2,2 Kva, oferecendo uma autonomia média de 30 minutos por no-break, para 3 servidores, de acordo com as especificações técnicas de um no-break de fabricação nacional, com estas características [http://www.nhs.com.br]. Uma vez que os Data Center têm funcionamento ininterrupto, 24 horas por dia nos 365 dias do ano, é necessário que os administradores do Data Center estejam sempre preparados para realizar o desligamento (shutdown) de servidores e outros ativos em casos de interrupção no fornecimento de energia elétrica, por períodos superiores a 20 (vinte) minutos. Nos casos em que ocorram problemas no fornecimento de energia elétrica fora do horário comercial, fatalmente a estrutura será afetada, pois poucas das empresas mantém pessoal especializado, treinado e capaz de realizar o procedimento de desligamento fora deste período. Outro ponto importante é a reunião de todas estas informações ao administrador do Data Center, para permitir o rastreamento de acesso ao local, às quedas de energia e às temperaturas atingidas no local. Uma parte da solução destes problemas está em um Sistema de Informações Integrado que, além de realizar o monitoramento e o controle de dispositivos, faça o 11 alerta aos administradores (que podem estar ausentes) para que uma ação emergencial seja tomada. A solução que está sendo apresentada possui um escopo bem definido e um software específico, porém há um grande potencial na aplicação das tecnologias de base utilizadas neste desenvolvimento em prol de outros sistemas semelhantes de automação com controle via web. O uso de sensores e controles automatizados, interligados a um circuito microcontrolado pretende dar uma idéia generalista das novas soluções que podem ser implementadas a partir da utilização dos mesmos princípios desenvolvidos neste projeto. As etapas de desenvolvimento estão discriminadas no Cronograma do Projeto, neste documento. Porém, em linhas gerais, podemos listá-las da seguinte forma: • Implementação básica do hardware: Kit 8031 e Interface LCD; • Monitoramento de Temperatura e Energia / Acionamento do Ar Condicionado; • Controle de Acesso / Interface Teclado / Acionamento de Fechadura; • Comunicação Serial / Envio e Recepção de Parâmetros; • Implementação de Software / Interfaces HTML / Banco de Dados; 12 2. DESCRIÇÃO O sistema proposto tem o seu diagrama esquemático apresentado na Figura 1. Realiza a coleta e tratamento de dados de sensores, como a temperatura, o fornecimento de energia elétrica e movimento (considerado intrusão, caso o alarme esteja ativado). A solução ainda consiste de um controle de acesso, composto por autenticação de usuário e senha e a ativação de uma fechadura elétrica, para permitir o acesso ao local. Estes controles são feitos a partir de um hardware microcontrolado, que tratará os dados recebidos, de acordo com parâmetros definidos e realizará a ativação de dispositivos, como o ar condicionado, além da comunicação com o computador, que trata outros tipos de alertas. O computador recebe dados do microcontrolador, permitindo a visualização dos estados do ambiente do Data Center pela web, bem como mantém um histórico das ações realizadas e demais informações controladas pelo hardware. As conexões entre os dispositivos são feitas de forma compacta, muitas delas integradas ao Módulo Microcontrolado, respeitando as distâncias máximas para comunicação e acionamento de dispositivos. O diagrama apresentado na Figura 1 não representa fielmente estas distâncias, tendo caráter meramente ilustrativo das funcionalidades que serão atendidas pelo projeto. 13 Figura 1 – Diagrama Geral do Projeto 14 3. EMBASAMENTO TEÓRICO Gerenciar um Data Center significa assumir a responsabilidade de fornecer um acesso contínuo aos dados, um componente crítico para as operações da empresa e, ao mesmo tempo, rodar seu Data Center de modo eficiente, a uma excelente relação custo-benefício. Deve-se criar e cumprir os acordos de nível de serviço (SLA’s) da empresa sob qualquer circunstância - o que significa que é preciso ser capaz de se recuperar imediatamente de todas as interrupções que acontecem, de falhas do sistema e quedas de energia a desastres naturais. Isto é um conjunto altamente complexo de responsabilidades que exigem uma solução eficiente e pragmática. O setor de TI deve prevenir a ocorrência de uma interrupção identificando riscos e minimizando impactos através de um Plano de Continuidade de Negócios (PCN). Um Plano de Continuidade de Negócios (PCN ou BCP - Business Continuity Plan) enxerga o funcionamento de uma empresa através de duas variáveis: os componentes e os processos. Componentes são todas as variáveis utilizadas para realização dos processos: energia, telecom, informática, infra-estrutura e pessoas. Todas elas, passíveis de substituição ou restauração, de acordo com suas características. O DRI (Disaster Recovery Institute) denomina como "Plano de Recuperação de Desastres" (PRD) aos planos focados na formalização da seqüência necessária para restauração ou substituição destes componentes, independente da ameaça (incidente) que os afete. Aos processos, que passam a serem conduzidos de forma diferente àquela que normalmente são realizados, designam-se os "Planos de Continuidade Operacional" (PCO), focados na manutenção das atividades realizadas para operar os negócios da empresa. Com a ativação de ambos os tipos de planos, chegamos ao Plano de Continuidade de Negócios (PCN), como pode ser visto na Figura 2. 15 Há, porém, uma dificuldade dos profissionais de TI em prepararem um plano efetivo para a continuidade de negócios sem um sistema de informações que permita auxiliar no planejamento, controle e operacionalização das atividades do PCN. O PCN deve atender às seguintes necessidades: • Análise do Risco: mapear e controlar o que é crucial e requer atenção imediata no caso de um evento inesperado. • Processos de Negócio: Identificar junto aos gestores e colaboradores os Processos de Negócio existentes na Empresa: • Ativos: Pessoas, Infra-estrutura, Aplicações, Tecnologia e informações; • Vulnerabilidades: Identificar as vulnerabilidades existentes nos ativos que possam causar indisponibilidade dos serviços ou serem utilizadas para roubo das suas informações; • Ameaças: Identificar os agentes que podem ameaçar a Empresa; • Impacto: O impacto que estes podem causar na Empresa. Como roubo de informação, paralisação de serviços, perdas financeiras entre outros; • Desenvolvimento do Plano: desenvolver um conjunto de atividades alternativas, previamente planejadas, focadas na manutenção das atividades de negócio que sofram o risco de serem interrompidas; • Teste do Plano: não é necessário esperar algum incidente para descobrir se os planos são efetivos. É necessário controlar a execução de testes periódicos, com a participação de todos os envolvidos, para evitar surpresas posteriores; • Atualização do Plano: devido ao alto grau de mudanças nos processos e nos ambientes, os procedimentos que compõe o plano também devem ser constantemente atualizados e referenciados às situações críticas que o Data Center pode enfrentar; 16 • Execução do Plano: uma vez que determinada situação crítica seja detectada, a equipe deve decretar o início das atividades de Plano Integrado para Continuidade dos Negócios administração de crises; Figura 2 – Visão Geral de um PCN 17 3.1. Planos Decorrentes Como exemplos típicos de planos decorrentes, podemos mencionar os documentos “Plano de Recuperação de Desastres” e “Plano de Continuidade de Operacional” que podem compor o Plano de Continuidade de Negócios sob a forma de anexos: Planos de Recuperação de Desastres: • Plano de Backup: deve fornecer a identificação e localização das cópias de segurança, indicando os volumes e mídias a serem utilizados para a restauração de arquivos e/ou bases de dados e a referência temporal correspondente à informação assim recuperada. • Plano de Recuperação de Aplicativo: deve descrever procedimentos específicos necessários para a recuperação de aplicativos residentes na instalação da organização, enfatizando possíveis detalhes não incluídos na recuperação global relativa ao ambiente operacional. • Plano de Busca: provê, basicamente, a identificação das pessoas que devem ser acionadas em situação de risco, o grupo de contingência ao qual pertencem e as formas de contato para sua localização. Planos de Continuidade Operacional: • Plano Logístico: deve prever as providências necessárias para assegurar a consecução do plano de contingência no que se refere à viabilização de atividades não técnicas como, por exemplo: deslocamento do pessoal convocado para as atividades de recuperação, tanto do ambiente de TI como das instalações danificadas; atendimento a público externo (quando aplicável); 18 condições para alimentação e repouso das equipes envolvidas na recuperação - que muitas vezes trabalharão em regime excepcional de horário -, guarda e movimentação para instalação provisória de mobiliário, equipamentos e documentação resgatados da instalação sinistrada. • Plano de Site Backup: deve prever a execução das atividades de operação da empresa em situações anômalas e, eventualmente, sem o apoio da infra-estrutura e dos sistemas de informação. Este plano pode ser implementado desde a utilização de métodos manuais até a partir um local de contingência, preparado especialmente para operar a empresa de um local alternativo, em situações de emergência. 3.2. ISO 17799 Os gerentes de segurança vinham há muito tempo esperando a definição de um conjunto razoável de padrões de segurança de informações, reconhecido globalmente. Além de dar suporte aos esforços dos gerentes de TI, esta definição ajudaria também a influenciar decisões, aumentaria a cooperação entre os vários departamentos em nome do interesse comum pela segurança e ajudaria a tornar a segurança, uma das prioridades organizacionais. Desde o seu lançamento pela Organização de Padrões Internacionais (International Standards Organization) em dezembro de 2000, o ISO 17799 se tornou o padrão de segurança mais reconhecido em todo o mundo. Ele é definido como "um abrangente conjunto de controles formado pelas melhores práticas em segurança de informações". O padrão ISO 17799 elimina a segunda parte do BS 7799, que abrange implementação. Este padrão, como é conhecido hoje, é uma compilação de recomendações para melhores práticas de segurança, que podem ser aplicadas por empresas, independentemente do seu porte ou setor. Ele foi criado com a intenção de ser um padrão flexível, nunca guiando seus usuários a seguir uma 19 solução de segurança específica ao invés de outra. As recomendações do ISO 17799 continuam neutras com relação à tecnologia e não fornecem nenhuma ajuda na avaliação ou entendimento de medidas de segurança já existentes. A flexibilidade e imprecisão da ISO 17799 é intencional, pois é muito difícil criar um padrão que funcione para todos os variados ambientes de TI, e que seja capaz de crescer com a mutante paisagem tecnológica atual. Ele simplesmente fornece um conjunto de regras, em uma indústria onde elas não existiam, com o intuito de uma padronização gradual. 3.3. Equivalentes de Mercado Existem, atualmente no mercado, sistemas específicos para Controle de Acesso, Monitoramento de Ambientes (luminosidade, temperatura, incêndio), com a integração destas e outras tecnologias, como por exemplo a utilização da comunicação Ethernet entre os dispositivos distribuídos de controle. Da mesma forma, são diversas as utilizações dadas para estas tecnologias, como o controle de ponto (baseado no controle de acesso), identificação de pessoas, portaria, veículos e segurança. Alguns destes sistemas foram estudados, e estão presentes em grandes empresas, incluindo multinacionais em diversos ramos de atividade (automotivo, alimentação, etc.). Apesar disto, nenhum sistema existente tem foco na administração de Data Centers, ou seja, na principal estrutura de telecomunicações de uma empresa. Da mesma forma, nenhum dos sistemas prevê a automatização ou acionamento de dispositivos, o monitoramento e controle pela web, e muito menos o alerta de responsáveis na detecção de situações críticas, sendo sempre necessária a inteligência e avaliação humana para o acionamento de terceiros. 20 Os custos dos produtos existentes são diretamente proporcionais à gama de aplicações genéricas em que eles se enquadram. Neste caso, também são verdadeiros os pontos falhos que se apresentam, quando tentamos adaptar as soluções existentes à necessidades específicas, como por exemplo o gerenciamento de energia, no caso da administração de um Data Center. Além das necessidades específicas em uma situação como esta, outras funcionalidades não estão implementadas e nem ao menos podem ser adaptadas, como o acionamento de outros dispositivos ou o monitoramento do ambiente via web. Finalmente, os custos decorrentes da customização de um produto genérico, os demais valores agregados (desnecessários) e os valores gerais imbutidos no produto tornam os custos decorrentes da adaptação das soluções existentes inviáveis, para a necessidade específica de administração de um Data Center. Assim, a criação de um novo produto, específico para atender as necessidades anteriormente relatadas, torna-se viável e atrativa, tanto em termos de custos como nas possibilidades e tecnologias que podem ser utilizadas neste novo desenvolvimento. Estas tecnologias também vislumbram a nova gama de aplicações que podem ser desenvolvidas utilizando os mesmos conceitos deste projeto, o que seria impossível utilizando os produtos existentes atualmente no mercado. Finalmente, vale a pena ressaltar o último grande diferencial do sistema proposto, não encontrado em nenhum outro similar existente: que a atuação em 6 (seis) dos 10 (dez) macro-controles para obtenção da ISO 17799 torna o sistema uma ferramenta importante para atender os requisitos desta certificação. 21 4. ESPECIFICAÇÃO DE PROJETO Seguem as especificações de cada uma das funcionalidades que são atendidas pelo hardware e software implementados. 4.1. Especificação do Software - Servidor O software é responsável por sincronizar dados com o hardware microcontrolado, coletando as informações do hardware e armazenando-as no banco de dados. Da mesma forma, as configurações realizadas através do software serão enviadas ao hardware, de forma que este possa estar operacional sem efetuar a comunicação constante com o software, como no caso da quebra de link ou indisponibilidade do servidor web. As informações coletadas do hardware são disponibilizadas em uma interface web que permite que os administradores do Data Center realizem o monitoramento remoto das condições físicas do local. Os parâmetros definidos para a execução das atividades controladas pelo hardware são monitorados via web pela interface “Painel de Controle”, como visto na Figura 3. O software do servidor realiza a geração das páginas web após o recebimento de dados do microcontrolador. Estes dados são disponibilizados no servidor de Internet, permitindo a visualização externa dos estados do Data Center. 22 Figura 3 – Interface “Painel de Controle” Além de parâmetros para o controle do hardware, o sistema faz o alerta dos responsáveis para cada situação de risco detectada, através do envio de mensagens de e-mail, que podem ser recebidas por dispositivos móveis conectados à Internet, como aparelhos de telefonia celular, PDA’s ou computadores. Juntamente com o envio dos dados relativos ao risco, o sistema guia os responsáveis pelos procedimentos iniciais que devem ser tomados para cada situação crítica detectada. 4.1.1. Sincronização de Dados O software (servidor) realiza a comunicação do computador com o hardware microcontrolado pela porta serial (RS-232), conforme a Figura 4. A sincronização é iniciada pelo hardware, ao alterar qualquer dos estados monitorados ou por uma ação realizada no sistema. 23 A comunicação serial entre o software e o hardware foi escolhida por estarem presentes tanto no kit de desenvolvimento, como em qualquer microcomputador. Outro fato relevante, é que é uma comunicação direta, não necessitando de intermediários ou outros protocolos envolvidos, como no caso da transmissão de dados por Ethernet, por exemplo. Figura 4 – Diagrama da Sincronização de Dados A sincronização de dados contempla a recepção, pelo software, dos dados relativos ao monitoramento físico do ambiente, ao controle de acesso e às intervenções realizadas pelo hardware microcontrolado. Ao hardware é enviada a tabela de permissões de acesso ao local. 4.1.2. Protocolo de Comunicação É realizada a comunicação periódica entre o hardware e software, de forma a sincronizar os estados do dispositivos com a interface web, bem como o histórico das atividades realizadas no sistema. Para cada tipo de informação, será utilizado um cabeçalho específico para a informação trafegada. O software determinará a ordem 24 das informações que serão trafegadas em cada parte da sincronização, através do cabeçalho específico. O corpo dos pacotes de comunicação conterá os estados de sensores, comandos e parâmetros enviados ao hardware. De modo genérico, o protocolo terá a seguinte estrutura: Start Cabeçalho Stop Start Bit (Tipo da Informação) Bit Bit Informações Stop Bit Figura 5 – Formato do Pacote de Dados O modo de operação será o 0 (default), com transmissão e recepção por RxD, sendo o clock enviado por TxD. O Baud Rate (taxa de transmissão) é fixo em 1/12 da freqüência do clock, neste caso 19200 bps, 8N1, sem controle de fluxo. 4.1.3. Condução dos Planos de Risco São pré-configurados no software os parâmetros que devem ativar cada tipo de alerta: de risco de incêndio, de intrusão, e de falha no fornecimento de energia elétrica. Da mesma forma, são pré-cadastrados os responsáveis por cada situação, bem como os procedimentos que devem ser realizados por eles em cada situação crítica. É possível a realização de diferentes tipos de alertas e responsáveis, para cada situação de risco prevista. Pode-se, inclusive, vislumbrar o envio destes alertas para empresas de segurança monitorada, polícia ou bombeiros, desde que estas entidades possuam tecnologia para o recebimento das mensagens, e que estejam cientes do sistema utilizado. 25 Após a sincronização de dados, o software analisará os dados recebidos, comparando-os com os parâmetros pré-definidos e realizará o envio dos alertas necessários aos responsáveis, por e-mail. Juntamente com o alerta, serão enviados aos responsáveis os procedimentos previstos para as situações críticas em questão. 4.1.4. Relatórios O sistema armazena as informações mais importantes relacionadas às atividades controladas e executadas pelo hardware microcontrolado, conforme vemos na Figura 6, a citar: • Controle de acesso: acessos efetuados, tentativas de acessos; • Intrusões: movimento no ambiente, com o alarme ligado; • Picos de temperatura; • Falhas no fornecimento de energia elétrica; • Controle do Ar Condicionado. Figura 6 – Relatórios do Sistema 26 4.1.5. Firmware Nos itens a seguir temos uma visão geral das funções executadas pelo firmware, através do fluxograma dos processos mais importantes. O programa completo, gravado na EPROM do microcontrolador irá executar estas funções em loop, partindo da inicialização do dispositivo e realizando os demais monitoramentos constantemente. 4.1.5.1. Inicialização do Dispositivo A Figura 7 demonstra as atividades executadas na inicialização do hardware / boot do sistema. Figura 7 – Fluxograma da inicialização do hardware, pelo firmware 27 4.1.5.2. Detecção de Movimento A Figura 8 demonstra as atividades executadas na detecção de movimento pelo sensor. Figura 8 – Fluxograma da detecção de movimento 28 4.1.5.3. Controle de Acesso A Figura 9 demonstra as atividades executadas para o controle de acesso ao ambiente. Figura 9 – Fluxograma do Controle de Acesso 29 4.1.5.4. Controle de Temperatura A Figura 10 demonstra as atividades executadas para o controle de temperatura. Coleta da Temperatura Atual Temperatura acima do máximo? Não Temperatura abaixo do mínimo? Sim Sim Ativa Alertas Desliga Ar Condicionado Não Liga Ar Condicionado Não Temperatura Normal Continua Processamento Figura 10 – Fluxograma do Controle de Temperatura 30 4.1.5.5. Fornecimento de Energia A Figura 11 demonstra as atividades executadas para o controle de fornecimento de energia. Fornecimento de Energia Tensão ok? Não Alertas de Falta de Energia Ativa flag Falta de Energia Sim Tensão restabelecida Mensagem retorno de fornecimento Sim Alerta anterior realizado? Não Continua Processamento Figura 11 – Fluxograma do Controle de Fornecimento de Energia 4.1.6. Banco de Dados A estrutura dos dados armazenados é bastante simples, tendo sido utilizado o Banco de Dados apenas para cadastrar os usuários que podem acessar o Data Center, conforme Figura 12. 31 Figura 12 – Estrutura da Tabela de Usuários com Acesso ao Data Center 4.2. Especificação do Hardware O hardware implementado consiste de um módulo baseado no microcontrolador 8031. Este módulo é responsável por coletar e tratar os sinais recebidos dos sensores, bem como enviar estes dados para o software e realizar a automação de diversos dispositivos. O acionamento de dispositivos será feito pelo hardware, a partir de parâmetros pré-programados. A utilização destas tecnologias é importante para vislumbrar outras aplicações que possam utilizar o conceito de monitoramento e automação via web, uma ferramenta com forte potencial de aplicação nos mais diversos ambientes, sejam eles caseiros, comerciais ou industriais. 4.2.1. Monitoramento de Temperatura Foi implementado e calibrado um circuito para monitorar a temperatura ambiente, através de um transdutor de temperatura. O microcontrolador está programado com os parâmetros máximos e mínimos de temperatura que serão utilizados para ativar / desativar a alimentação elétrica do ar condicionado, como demonstrado na Figura 13 Outro parâmetro é utilizado para ativar o alarme de perigo de incêndio. 32 Figura 13 - Diagrama das Funções de Monitoramento de Temperatura A coleta da informação referente a temperatura ambiente é feita pelo sensor analógico de temperatura LM35 (National Semiconductor), cuja tensão de saída é linearmente proporcional à temperatura medida, em graus Celsius. Este sensor tem uma vantagem adicional sobre outros sensores calibrados na escala Kelvin, uma vez não é necessário subtrair uma grande constante de tensão para obter a escala desejada em Celsius. De acordo com a folha de dados deste componente, disponível em anexo, este sensor provê baixo consumo e baixa dissipação de calor, além de operar em temperaturas de -55 a +150ºC. Um esquemático inicial da sua utilização, com um amplificador operacional de ganho 11 para amplificar o sinal, um conversor analógico-digital ADC0804 e um buffer 74LS245 que são ligados no barramento de dados do microcontrolador estão representados na Figura 36, do Anexo I. Ainda nesta figura, podemos observar que a leitura dos dados do buffer será habilitada através do endereçamento em memória, e das flags de leitura presentes no microcontrolador. 33 4.2.2. Detecção de Intrusão Após deixar o Data Center, o usuário poderá fazer a ativação do sistema de alarme. Após a ativação do alarme, qualquer movimento detectado pelo sensor de movimento instalado acionará a sirene, conforme demonstrado na Figura 14, além de disparar outros alertas específicos e registrar estas informações no log de atividades. Após a autenticação de um usuário, a sirene será desligada e o alarme será rearmado automaticamente. Outras funcionalidades podem ser implementadas futuramente no sistema, como o agendamento automático da ativação do alarme. Figura 14 – Diagrama da Detecção de Intrusão O esquemático da ligação do sensor de presença e da sirene está demonstrado na Figura 37, do Anexo I. 4.2.2.1. Sensor de Presença O sensor de presença especificado para a utilização neste projeto é o Crow SRP-100. Dentre as características deste equipamento estão o duplo sensor piroelétrico, lente especial; proteção à RFI e EMI; compensação automática de temperatura; 34 7,8 a 16 VCC; 105º de abertura horizontal, 15 metros de alcance e potenciômetro para ajuste fino de sensibilidade. Este sensor tem a característica do chaveamento com contatos fechados, quando em repouso. Desta forma, quando detectado movimento, estes contatos se abrirão. O projeto apresentado utilizou uma chave normalmente fechada para simular o sensor de presença, uma vez que o funcionamento é idêntico e a chave possui a vantagem do menor volume ocupado. 4.2.2.2. Sirene O objetivo da implementação de um alerta sonoro está em alertar as pessoas próximas ou vizinhos a respeito de uma situação de emergência, que possa ser atendida mais rapidamente por estas pessoas. A sirene especificada, tanto para utilização no alarme de intrusão, como pelo risco de incêndio é a Crow PKR-30P. Este modelo foi escolhido tanto pelas características de consumo e alimentação, que coincidem com o circuito implementado, como pela facilidade de aquisição no mercado. A sirene é acionada através da habilitação da porta de E/S T1 do microcontrolador, conforme demonstrado na Figura 37, do Anexo I. 4.2.3. Controle de Acesso O controle de acesso ao Data Center será feito através do acionamento de uma fechadura elétrica, ativada após a validação do 35 usuário, como demonstrado na Figura 15. As informações de acessos ou tentativas de acesso ao local são enviadas ao software no servidor web, que disponibiliza estas informações em HTML, para posterior avaliação pela Internet. A entrada dos dados para o controle de acesso é feita através de um teclado numérico. O usuário deve informar sua identificação e sua senha. Ao obter a liberação para o acesso ao local, o alarme é automaticamente desativado, sendo necessária a sua ativação novamente, após deixar o local. Figura 15 - Diagrama do Controle de Acesso Um esquemático da ligação do teclado numérico e da fechadura elétrica no circuito está representado na Figura 38, Anexo I. 4.2.3.1. Teclado O periférico de entrada utilizado para o controle de acesso é um teclado numérico telefônico que, ligado ao microcontrolador, 36 coletará os dados digitados em registrados, para autenticação com a base de senhas presente na memória RAM. Figura 16 – Esquemático do Teclado Numérico Telefônico Na Figura 16 temos o circuito elétrico do teclado formado por uma matriz de 3 colunas e 4 linhas proporcionando a inclusão de no máximo 12 teclas (0,1,2,3,4,5,6,7,8,9, Limpar e Entre). O funcionamento é básico e as teclas se comportam como interruptores, quando uma é pressionada um contato é fechado. A cada intervalo loop do firmware, o microcontrolador seleciona a primeira coluna e lê as 4 linhas, depois desabilita a coluna ativa e seleciona a segunda coluna, e mais uma vez lê as 4 linhas. Esse mesmo procedimento é feito para a terceira coluna. É dessa forma que o firmware faz a varredura do teclado. 4.2.3.2. Fechadura Elétrica A fechadura elétrica especificada para utilização com o hardware foi a da fabricante nacional HDL, modelo C90-botão. Esta escolha foi motivada no baixo custo da fabricante nacional e na 37 presença do botão para destravamento pelo lado interno. O esquemático da ligação da fechadura está representado na Figura 38 do Anexo I. A título de apresentação do projeto, e para a redução de custos, a fechadura elétrica foi representada por outro dispositivo que uma vez acionado, produzirá uma indicação visual do estado da fechadura (abre – fecha). 4.2.3.3. Biometria O controle de acesso implementado utiliza apenas a autenticação simples de identificação de usuário e senha, através da entrada de dados em um teclado numérico. Testemunhamos o início da popularização das tecnologias da utilização de biometria para validação e permissão de acesso a ambientes e a dados. Apesar disto, foi optado pelo desenvolvimento da autenticação apenas através da entrada de dados em um teclado numérico, pelos seguintes motivos: • O custo dos dispositivos para biometria ainda é alto para o padrão dos componentes utilizados no projeto; • O foco principal da implementação é a demonstração do monitoramento e controle de dispositivos via web, e não o controle de acesso; • No futuro, caso haja o interesse na implementação de um controle biométrico, o mesmo poderá ser realizado no hardware atual, com algumas adaptações. 38 4.2.4. Fornecimento de Energia Elétrica Caso haja interrupção no fornecimento de energia elétrica, o hardware enviará esta informação ao sistema web, que fará o acionamento dos envolvidos para a execução dos procedimentos respectivos referentes a esta falha. Para analisar a interrupção no fornecimento de energia elétrica, é utilizado um transformador ligado diretamente na rede elétrica (não protegida pelo no-break), que converte a tensão de 110VAC para 12VCC. Esta tensão é aplicada a um conversor LM7805, convertendo os 12VCC em 5VCC, ligado a uma porta lógica NOT, que resultará em nível lógico alto caso o fornecimento de energia elétrica esteja normal. A partir daí, o nível lógico resultante é analisado pelo microcontrolador, que realiza as devidas indicações visuais e alertas necessários. 4.2.5. Display LCD Os módulos LCD são interfaces de saída muito úteis em sistemas microcontrolados. Estes módulos utilizam um controlador próprio, permitindo sua interligação com outras placas através de seus pinos, onde deve ser alimentado o módulo e interligado o barramento de dados e controle do módulo com a placa do usuário. O display escolhido possui 2 linhas por 16 caracteres, e está representado na Figura 17. 39 Figura 17 – Display LCD Naturalmente que, além de alimentar e conectar os pinos do módulo com a placa do usuário deve haver um protocolo de comunicação entre as partes, que envolve o envio de bytes de instruções e bytes de dados pelo sistema do usuário. A Tabela 1 mostra a descrição dos pinos do módulo LCD. Tabela 1 - Descrição dos Pinos do Módulo LCD Pino 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Função Alimentação Alimentação VO RS R/W E Chip Select BO LSB B1 B2 B3 B4 B5 B6 B7 MSB A K Descrição Terra ou GND VCC ou +5V Tensão para ajuste ou contraste Seleção: 1 - Dado, 0 - Instrução Seleção: 1 - Leitura, 0 - Escrita 1 ou (1 -> 0) - Habilita, 0 Desabilitado Barramento de Dados Anodo para LED backlight Catodo para LED backlight Os módulos LCD são projetados para conectar-se com a maioria das CPU’s disponíveis no mercado, bastando para isso que esta CPU atenda as temporizações de leitura e escrita de instruções e dados, fornecidos pelo fabricante do módulo. 40 O LCD, quando alimentado, necessita de algumas instruções de inicialização que identifica qual a forma de transmissão de dados será estabelecida entre a CPU e o módulo. A Tabela 2 traz um resumo das instruções mais usadas na comunicação com os módulos LCD. Tabela 2 – Instruções mais usadas em módulos LCD Descrição Display Modo Liga (sem cursor) Desliga Limpa Display com Home Cursor Controle do Cursor Sentido do Deslocamento do cursor ao entrar com caracter Deslocamento da mensagem ao entrar com caracter Deslocamento da mensagem sem entrada de caracter Endereço da primeira posição Liga Desliga Desloca para Esquerda Desloca para Direita Cursor Home Cursor Piscante Cursor com Alternância Para a Esquerda Para a Direita Para a Esquerda Para a Direita Para a Esquerda Para a Direita Primeira Linha Segunda Linha RS 0 0 0 0 0 R/W 0 0 0 0 0 Código (Hex) 0C 0A / 08 01 0E 0C 0 0 0 0 0 0 0 0 10 14 02 0D 0 0 0F 0 0 0 0 04 06 0 0 0 0 07 05 0 0 0 0 0 0 0 0 18 1C 80 C0 4.3. Microcontrolador 8051 O 8051, da Intel é, sem dúvida, o microcontrolador CISC mais popular atualmente. O dispositivo em si é um microcontrolador de 8 bits relativamente simples, mas com ampla aplicação. Porém, o mais importante é que não existe somente o 8051, mais sim uma família de microcontroladores baseada no mesmo. Entende-se família como sendo um conjunto de dispositivos que compartilha os mesmos elementos básicos, tendo também um mesmo conjunto básico de instruções. O mesmo tem dois modos básicos de funcionamento: 41 a) Mínimo: somente recursos internos são utilizados pela CPU. Neste modo, estão disponíveis 4KB de ROM para memória de programa e 128 bytes de RAM para memória de dados. O modo mínimo possui a vantagem (além da economia de componentes e espaço físico) de poder utilizar as 4 portas de 8 bits cada para controle (E/S); b) Expandido: Neste modo, a memória de programa (ROM), a memória de dados (RAM) ou ambas podem ser expandidas para 64KB, através do uso de CI’s externos. No entanto, apresenta a desvantagem de "perder" duas das 4 portas de 8 bits para comunicação com as memórias externas. A pinagem para o 8051 é mostrada na figura 18: Figura 18 – Pinagem do Microcontrolador 8051 Como pode ser visto na Figura 19, além das memórias de programa e dados faz-se necessário a utilização de um outro CI (no caso o 74LS373) para a multiplexação de dados e endereços. Ocorre da seguinte forma: no primeiro ciclo de máquina, o 8051 coloca nos pinos AD0 a AD7 o byte menos significativo do endereço externo e leva o pino ALE (Address Latch Enable - Habilitador da 42 Trava de Endereços) a nível alto, de modo que o 74LS373 (oito Latches tipo D) coloque em suas saídas essa informação, e logo em seguida passa este pino para nível baixo, para que esse byte fique retido no 74LS373. Após isso, os pinos AD0 a AD7 estarão livres para o transporte dos dados. Figura 19 – Multiplexação de dados e endereços em memórias externas O 8051 pode, no modo expandido, utilizar toda a memória de programa externa (com nível lógico 0 aplicado ao EA - External Address NOT) ou ainda utilizar os primeiros 4KB internos e o restante externo (com nível alto em EA). O 8031 é a versão sem ROM interna do 8051. O mesmo é muito utilizado em fase de desenvolvimento ou quando se quer produzir em pequenas quantidades. Como o 8031 tem a mesma pinagem que o 8051, o mesmo possui o pino EA, que deverá sempre ser utilizado em nível lógico baixo. 43 5. IMPLEMENTAÇÃO Seguem os detalhes da implementação do hardware, firmware e software. 5.1. Hardware Os esquemáticos da montagem do hardware estão listados nos Anexos deste documento. Para uma visão geral da utilização das interfaces de E/S disponíveis no microcontrolador, está descrita a utilização de cada interface na Tabela 3. Tabela 3 – Interfaces E/S E/S INT0 INT1 T0 T1 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 Dispositivo Sensor de Presença Sensor de Energia Ar Condicionado Sirene Endereçamento de Memória Fechadura Elétrica Teclado Barramento de Dados 44 5.2. Firmware Seguem as especificidades na implementação do firmware. Este software está gravado na EPROM do microcontrolador e coordena todas as atividades executadas por ele. O desenvolvimento do firmware foi feito em Assembly, observando questões relativas a performance e compatibilidade das funções executadas em baixo nível. 5.2.1. Detalhes da Implementação O firmware implementado realiza em loop a função de varredura do teclado. É utilizado o registrador R2 (banco 0) para controlar a tecla que está sendo lida pelo teclado: os dois dígitos do código do usuário e os quatro dígitos da senha deste usuário. De acordo com o valor deste registrador (R2( é mostrado ou não o valor da tecla digitada no display LCD, evitando que a senha seja mostrada durante a sua digitação. Após a digitação de usuário e senha, o firmware realiza a validação deste usuário, de acordo com a tabela de senhas armazenada na memória RAM. A realização da autenticação pode ser interrompida a qualquer momento, pressionando a tecla “#”, com a qual o hardware retorna para o estado inicial, aguardando o código do usuário. Os sensores de presença e energia estão ligados nas Interrupções 0 e 1, respectivamente. Ao serem acionados, o firmware realiza o tratamento desta interrupção, de acordo com os parâmetros de validação de cada sensor. A temperatura é lida constantemente, habilitando o buffer que contém esta informação, que é transmitida através do barramento de dados. Neste momento, o display LCD é desabilitado, para evitar que a 45 informação no barramento cause uma anormalidade no funcionamento deste. 5.2.2. Interface LCD Seguem as variantes dos caracteres enviados ao display LCD para cada função executada pelo hardware. 5.2.2.1. Inicialização A interface de inicialização apresenta a versão atual do firmware, bem como informa o procedimento de post do hardware, conforme Figura 20. D C _ C I n i c o i n a t l r i o l v z a n d 1 o . . 0 . . Figura 20 – Tela inicial do post de hardware Durante a inicialização do sistema cada um dos dispositivos é testado, para verificar se as conexões entre eles estão realizadas corretamente, conforme Figuras 21 e 22. F S e i c r h e a n d e u . r . a . . . . . . . O k O k Figura 21 – Inicialização e teste de dispositivos A A r l C o a r m n e d . . A c . i . . O k o n a d o Figura 22 – Inicialização e teste de dispositivos 5.2.2.2. Interfaces de Interação com os Usuários As interfaces de interação com os usuários são demonstradas nas Figuras 23 e 24. Além de mostrar a informação que está sendo aguardada do teclado, são mostrados os estados da temperatura atual no Data Center, do Ar Condicionado (AR) e 46 Alarme (AL). Para um parâmetro desativado, é mostrado o caractere “0”; para um parâmetro ativado, é mostrado o caractere “1”. 2 0 º C U S U A R A R I O : : 0 A L : 0 : 0 Figura 23 – Interface de Autenticação 2 0 º C S E N H A A R : : 0 A L Figura 24 – Interface de Autenticação As informações resultantes dos dados entrados pelo teclado são demonstradas nas Figuras 25, 26, 27, 28, e 29, e indicam o sucesso ou falha nas operações, além de alertas gerados a partir das informações dos sensores instalados. A u t o r i z a d o . Figura 25 – Usuário com acesso autorizado N ã o A u t o r i z a d o ! a ! Figura 26 – Usuário com acesso negado F a l h a E l e t r i c Figura 27 – Alerta de Falha no Fornecimento Elétrico I n v a s a o ! Figura 28 – Alerta de Invasão A l a r m e A c i o n a Figura 29 – Alerta de Alarme Acionado d o 47 5.2.3. Registradores Foram definidos registradores para armazenar informações específicas referentes aos controles realizados pelo firmware (flags, contadores, parâmetros). Apenas 2 dos 4 bancos de registradores estão disponíveis, pois foi necessário utilizar o Stack Pointer a partir do endereço 81h, inutilizando os dois últimos bancos de registradores (R2 e R3). A função definida para cada registrador disponível está demonstrada nas Tabelas 4 e 5. Tabela 4 – Banco de Registradores R0 Registrador R0 R1 R2 R3 R4 R5 R6 R7 Função contador da função de varredura do teclado valor da tecla lida no teclado Contadores para leitura do teclado codigo do usuario display / serial senha do usuario (parte 1) senha do usuario (parte 2) Temperatura mínima / maxima Tabela 5 – Banco de Registradores R1 Registrador R0 R1 R2 R3 R4 R5 R6 R7 Função Uso Geral flag de sincronização de senhas flag de sincronização de dispositivos (PC->8051) Alarme ativado (=1) Sirene ativada (=1) Ar Condicionado Ativado (=1) contador de usuarios para sincronizacao de senhas endereço a serem armazenadas as senhas 5.2.4. Utilização da Memória RAM A memória RAM armazena informações de controle, como a tabela de senhas e controles de temperatura. São utilizados 2 bytes para armazenar os 4 caracteres da senha, que podem variar de 0 a 9. Desta forma, são utilizados apenas 4 bits de cada byte para cada caractere da senha do usuário, conforme demonstrado na Tabela 6. 48 Tabela 6 – Posição das Senhas na Memória RAM Hexa byte byte 0000h senha usuário 00 0002h senha usuário 01 0004h senha usuário 02 ... Até 0153h (usuário 99) s1 s2 s3 s4 Temperatura 2000h Atual Temperatura 2001h Mínima Temperatura 2002h Máxima Seguindo esta lógica, encontra-se a posição da memória RAM que armazena a senha do usuário, multiplicando por 2 o número do respectivo usuário. Por exemplo, a senha do usuário 00 inicia na posição 00h da memória RAM; a senha do usuário 01 inicia na posição 02h da memória RAM; a senha do usuário 02 inicia na posição 04h da memória RAM, e assim por diante. Este conceito é utilizado tanto para a autenticação, como para a sincronização de senhas, configuradas a partir do software instalado no servidor web. As posições 2000h, 2001h e 2002h são utilizadas para a manipulação e comparação da temperatura atual, temperatura mínima e máxima, respectivamente. 5.2.5. Mapeamento de Dispositivos em Memória A utilização comum do barramento de dados (P2) para trafegar informações de controle do display LCD e para a leitura da temperatura exige o controle dos dispositivos que utilizam este barramento, que somente devem ser ativados nos momentos de sua utilização. Caso esta função não seja executada corretamente, o barramento comum de dados terá informações referentes a outros dispositivos, 49 causando problemas na atualização do display LCD e na leitura da temperatura atual. Desta forma, foram definidos os endereçamentos responsáveis pelo mapeamento em memória que realizam a ativação de cada função dos dispositivos, utilizando os endereços constantes na Tabela 7. Tabela 7 – Mapeamento de Dispositivos em Memória Hexa Função 9000h Instrução – Escrita no módulo LCD 9001h Dados – Escrita no módulo LCD 9002h Instrução – Leitura no módulo LCD 9003h Dados – Leitura no módulo LCD C000h Habilita o buffer do AD - temperatura 5.3. Software O software do servidor foi desenvolvido em C++ Builder 5.0. É responsável pelo controle das informações que são recebidas do hardware, e por realizar a geração das páginas web após o recebimento de dados do microcontrolador. Estes dados são disponibilizados no servidor de Internet, permitindo a visualização externa dos estados do Data Center. Além disto, o software cadastra no banco de dados (Paradox) os usuários que terão o acesso permitido ao Data Center, enviando estas informações ao hardware. 50 5.3.1. Interface Servidor O software instalado no servidor web realiza a coleta e analisa os dados enviados pelo hardware, gerando os alertas necessários a cada situação de risco e a geração de páginas HTML para publicação dos estados do Data Center na web. A interface “Painel de Controle”, conforme mostrado na Figura 30, é semelhante à gerada na web, com exceção da temperatura atualizada constantemente e do “status” que indica o estado enviado pelo microcontrolador (inicializando, pronto, atualizando). Figura 30 – Interface “Painel de Controle” 51 As configurações padrão para o envio de e-mail’s com os alertas e procedimentos de risco podem ser alteradas e testadas manualmente, através da interface “E-mail” presente no software, conforme mostrado na Figura 31. Figura 31 – Interface “E-mail” O controle (inserção, alteração exclusão e procura) dos dados referentes aos usuários pode ser realizada através da inteface “Usuário”, conforme demonstrado na Figura 32. 52 Figura 32 – Interface “Usuário” 5.3.2. Protocolo de Comunicação Todas as informações relevantes e que devem ser disponibilizadas pelo hardware para ações pelo software ou para publicação na interface web são enviadas através de comunicação serial, com base no protocolo descrito na Tabela 8. Informação ">" x "P" "N" "Q" "T" "E" "F" "I" "S" x x x x x Tabela 8 – Protocolo de Envio de Informações Parâmetro Tradução x x x x x x x Pronto Acesso liberado para Usuário Usuário Acesso negado para Usuário Usuário x x x x x x x Superaquecimento Temperatura Temperatura do local x x x AL S AC FE Status Dispositivos x x x x x x x Falha de Energia x x x x x x x Intrusão x x x x x x x Upload Usuários 53 5.3.3. Interface Web As interfaces para visualização dos estados do Data Center e dos relatórios de atividades estão demonstradas nas Figuras 3 e 6. 5.3.4. Geração das Informações em formato HTML A disponibilização das informações na web acontece da seguinte forma: ao receber os dados do hardware, o software instalado no servidor deve atualizar as páginas “Painel de Controle” (cpanel.html) e “Relatórios” (log.html). A página web “Painel de Controle” é gerada com o estado de cada dispositivo ou alerta a cada nova interação que altere o estado anterior. Desta forma, não há uma recorrência a estes dados; sempre que se altera algum dos controles desta interface, esta página é reescrita com os estados atuais destes controles. A página web “Relatórios”, ao contrário da anterior, é atualizada a cada informação recebida pelo hardware. Desta forma, mantém-se a recorrência aos últimos dados recebidos do hardware. As informações são escritas em um arquivo de texto plano, com extensão HTML. Na geração destes arquivos são colocados os cabeçalhos específicos, com o nome do aplicado que está gerando a página, horário das atualizações e a taxa de atualização, tempo em que o browser irá requisitar ao servidor web a atualização desta página. A taxa de atualização utilizada foi de 5 (cinco) segundos, tempo em que o browser atualiza as informações com a última versão do arquivo publicado no servidor web. A página principal web é composta por 2 (dois) frames independentes. O primeiro é o menu, que não sofre atualização. O segundo é a página ativa, escolhida pelo usuário, ao clicar nos links do menu. 54 6. VALIDAÇÃO Os diversos módulos do sistema obedecem a um plano de testes para cada função: 6.1. Controle de Acesso O sistema é pré-configurado com os usuários que deverão ter o seu acesso permitido ao Data Center. Após a sincronização dos dados, serão realizadas tentativas de validação de acesso de usuários cadastrados e não-cadastrados. A validação de acesso deverá levar em consideração a identificação de usuários e senhas digitadas corretamente, bem como proibir o acesso a usuários que não estejam configurados na base de permissões de acesso. As informações de acesso ou de tentativas de acesso são sincronizadas com o servidor web, que disponibiliza a informação em formato HTML, para verificação destas informações no log de acessos. 6.2. Ativação de Alarme e Intrusão A ativação do alarme do Data Center será realizada por meio do teclado numérico, com a autenticação do usuário “00”, com a utilização de qualquer combinação de senhas. Uma vez que o alarme tenha sido ativado, será simulado o movimento de uma pessoa no ambiente, de forma a verificar o correto acionamento da sirene e o envio dos alertas configurados, relacionados à intrusão. As informações de intrusão serão sincronizadas com o servidor web, que disponibiliza a informação em formato HTML, para verificação destas informações no log de acessos. 55 6.3. Controle de Temperatura O controle de temperatura do ambiente será verificado e calibrado através de outro dispositivo utilizado comercialmente, marca Minipa, modelo MT-241 (relógio termo-higrômetro). Este dispositivo foi escolhido devido ao custo acessível e à qualidade comprovada dos produtos desta marca. O sensor de temperatura será estimulado para fornecer as temperaturas máximas e mínimas, de forma a verificar a ativação ou desativação da tomada de alimentação do ar condicionado, de forma automática. 6.3. Fornecimento de Energia Elétrica A verificação do fornecimento de energia elétrica será feita através de uma ligação direta à rede de energia, que não a utilizada para a alimentação do circuito. Este fato deve-se a que o hardware microcontrolado deverá estar ligado a um no-break, para suportar quedas de tensão e, nestes casos, manter a segurança e monitoramento do Data Center. O fornecimento de energia elétrica deverá ser verificado através dos resultados obtidos no software, com o desligamento do conversor de tensão que regula o fornecimento elétrico. 6.4. Envio de e-mail’s Durante todos os testes que validem as ações de ativação ou desativação de dispositivos, risco de incêndio, intrusão ou problemas no fornecimento de energia elétrica, deverá ser verificada a ativação das comunicações realizadas por e-mail, com o recebimento dos respectivos alertas e procedimentos pelos endereços cadastrados. 56 Para esta validação, serão utilizados endereços de e-mail que sejam direcionados para aparelhos de telefonia celular, através da tecnologia SMS. 6.5. Relatório de Atividades Durante os testes diversos realizados com cada módulo, os parâmetros configurados deverão ser anotados para comparação posterior com os logs registrados pelo módulo microcontrolado, enviados ao software e armazenados no banco de dados. 57 7. ROTEIRO DE TESTES O seguinte roteiro de testes foi definido para apresentar as funcionalidades do sistema: 7.1. Controle de Acesso Quando: Necessário acesso ao Data Center; Como: O usuário cadastrado no sistema digitará sua Identificação e Senha. O sistema deverá autenticar a senha digitada pelo usuário, e compará-la com o valor armazenado em memória; Display LCD 2 0 º C A R : U S U A R I O : 0 0 1 A L : 1 A R : 0 2 0 º C S E N H A : * * * * A L : 1 A u t o r i z a d o . Display LCD N Ã o A u t o r i z a d o ! Resultado Esperado: Correta autenticação da senha do usuário e liberação da fechadura eletrônica. 7.2. Ativação / Desativação do Alarme Quando: Necessário ativar ou desativar o alarme. Os sensores presentes no Data Center somente são considerados como invasão se o alarme estiver acionado; 58 Como: Desativação: O usuário cadastrado no sistema digitará sua Identificação e Senha. O sistema deverá autenticar a senha digitada pelo usuário. Ao liberar o acesso para o usuário, o alarme será automaticamente desativado (AL:0), permitindo movimentos dentro do Data Center sem que se acuse invasão. Ao desativar o alarme, a sirene também é desligada, caso esteja habilitada. Ativação: A ativação do alarme deve-se ser feita utilizando o usuário “00”, com qualquer combinação de senha. Após digitar a senha, o alarme será ligado (AL:1). Display LCD 2 0 º C A R : U S U A R I O : 0 0 1 A L : 1 A R : 0 2 0 º C S E N H A : * * * * A L : 1 A u t o r i z a d o . Transmissão Serial DCv0.8b>P1A0> Permitido acesso ao usuário 1 Alarme Desativado Display LCD 2 0 º C A R : 0 U S U A R I O : A L : 0 2 0 º C A R : U S U A R I O : A L : 0 0 0 0 2 0 º C A R : 0 S E N H A : * * * * A L : 0 59 A l a r m E A c i o n a d o 2 0 º C A R : 0 U S U A R I O : A L : 1 Transmissão Serial DCv0.8b>A1 Alarme Ativado Resultado Esperado: Correta ativação do alarme (A1 / A0, alarme ligado/desligado) e tratamento dos dados recebidos pelo Sensor de Movimento; envio correto dos dados à serial (PX / NX – Permitido / Negado acesso ao usuário X) . 7.3. Intrusão Quando: Detectado movimento no Data Center, com o alarme ligado; Como: Ao detectar movimento no Data Center, o sistema avalia se o alarme está ativado. Em caso positivo, serão realizados os procedimentos de alerta; Display LCD 2 0 º C A R : 0 U S U A R I O : A L : 1 I n v a s a o ! Transmissão Serial DCv0.8b>I Intrusão Detectada! Resultado Esperado: Tratamento correto dos dados recebidos dos sensores, não detectando alarmes falsos. 60 7.4. Falha Elétrica Quando: Problemas no fornecimento elétrico (Queda de Energia); Como: O sistema deverá ser alimentado por um no-break. Há um circuito que avalia problemas no fornecimento elétrico; este deve ser ligado em rede elétrica estabilizada, porém sem proteção por nobreak. Ao detectar falha no fornecimento elétrico, o sistema enviará os alertas específicos, no display LCD e por envio ao PC; Display LCD F a l h a E L e t r i c a ! Transmissão Serial DCv0.8b>F Falha Elétrica detectada! Resultado Esperado: Acionamentos corretos com a detecção da falha elétrica. 7.5. Sincronização de Senhas Quando: Envio das senhas cadastradas, pelo PC ao microcontrolador; Como: O PC envia código de controle (ASCII 13 <enter>) para iniciar a “sincronização de senhas”. Ao aceitar o código, o microcontrolador responde com ‘S’. Após, o PC inicia o envio das senhas (4 números de 0 a 9, representados dois por byte – total de 2 bytes para cada senha) . Ao finalizar o recebimento das senhas de todos os usuários, o microcontrolador responde ao PC com “Ok”. O “*” indica o recebimento do byte. 61 DCv0.8b>S ******************************************************************************** ******************************************************************************** ****************************************Ok> “Sincronização das senhas dos usuários” Procedimento de Teste: As senhas iniciais para todos os usuários estão atribuídas com ‘1111’. Deve-se realizar a sincronização dos usuários e realizar os testes com as novas senhas. Usuários sugeridos para teste: 01, 02, 03 e 99. Resultado Esperado: Autenticação correta, com as respectivas senhas, antes e após a “sincronização de senhas”. 7.6. Leitura da Temperatura Quando: Envio da temperatura local, pelo microcontrolador ao PC; Como: A temperatura lida é interpretada e mostrada no display LCD. A tecla “sustenido” está mapeada para enviar ao PC a temperatura atual, pela serial. DCv0.8b>T28> Temperatura local: 28ºC Resultado Esperado: Correta conversão da temperatura, e envio da mesma pela porta Serial e no display LCD. 62 8. RESULTADOS O acionamento das equipes envolvidas na condução de planos de risco de situações emergenciais aconteceu em todas as simulações realizadas, de intrusão e falha elétrica. Os alertas envolviam também os procedimentos iniciais a serem tomados nestas situações, pela equipe acionada. Além do acionamento emergencial das equipes, foi implementada com sucesso a visualização pela web dos estados de sensores e dispositivos do Data Center, fornecendo aos administradores uma visão geral destes itens em tempo real, bem como os relatórios das atividades executadas pelo hardware, relacionadas ao controle de acesso, ativação de procedimentos de risco, automação de dispositivos. A integração entre hardware e software também atingiu os objetivos propostos, com a comunicação bi-direcional entre as partes: informações enviadas pelo hardware, tratadas pelo software e disponibilizadas na web e o envio ao hardware de parâmetros, como as senhas dos usuários cadastrados, alteradas corretamente após a sincronização deste dado. Demais funcionalidades do hardware também foram implementadas corretamente, como a aquisição da temperatura do local, detecção correta de intrusão (somente com o alarme ligado), detecção do fornecimento elétrico e acionamento de dispositivos. Apesar disto, há necessidades de ajustes na ativação do ar condicionado, de acordo com a temperatura obtida; esta porção de código do firmware apresentou inicialmente algumas instabilidades em seu funcionamento, todas corrigidas. Embora o escopo principal do projeto tenha sido completamente atendido, alguma refinação do software não foi completada, como a autenticação web, a disponibilização de uma interface para cadastro dos planos de risco e envolvidos associados à cada situação, e parâmetros para ativação de dispositivos. Estes itens foram incluídos diretamente no código-fonte do software. Apesar disto, o sistema está preparado e é capaz de suportar todas as funcionalidades descritas inicialmente no projeto, incluindo o controle de dispositivos do Data Center pela web. Para isto, será necessária a finalização do software e do 63 firmware, implementando estas funções e o protocolo de envio de informações. Não devem ser necessárias alterações no hardware, que está estabilizado e é capaz de executar todas estas atividades, conforme constatado na fase de desenvolvimento e testes. Os testes foram realizados utilizando um aparelho celular GSM da marca Palm, modelo Tungsten W, que recebe as mensagens de e-mail enviadas pelo sistema como mensagens SMS. Na figura 33 temos um exemplo de alguns dos alertas enviados pelo sistema, indicando as ações específicas que devem ser tomadas em cada caso de risco detectado. Figura 33 – Exemplo de alertas recebidos no aparelho celular O protótipo implementado é mostrado na Figura 34. Foram utilizadas chaves para simular o sensor de presença e falha elétrica. Outros dispositivos foram indicados através de leds que demonstram o estado de cada item. 64 Figura 34 – Protótipo do Projeto 65 9. CONCLUSÕES O sistema apresentou-se funcional e efetivo para a operacionalização de Planos de Contingência em TI, tratando alguns dos principais requisitos referentes à segurança física e ambiental do Data Center. O sistema atende a 6 (seis), dos 10 (dez) macro-requisitos para implantação das normas ISO 17799, de Segurança da Informação. Os dados obtidos pelo microcontrolador possibilitam o controle de dispositivos e ações que envolvam outros sistemas, como a Internet. Neste projeto é realizado o acionamento do ar condicionado, fechadura elétrica e o acionamento de equipes por email, com a instrução dos procedimentos que devem ser executados em cada situação de risco. Com a realização deste projeto foi também possível comprovar o funcionamento da tecnologia envolvendo a integração de microcontroladores e a web, disponibilizando na Internet, em tempo real, as informações obtidas pelo microcontrolador. Além desta aplicação específica, há uma gama variada de áreas e aplicações a que esta tecnologia pode ser utilizada, que envolvam o monitoramento e controle de dispositivos em ambientes residenciais, comerciais ou industriais. O benefício da solução customizada também é obtido, reduzindo o custo total de propriedade do produto e evitando gastos com soluções que possuam escopos amplos de atuação, normalmente generalistas e com funcionalidades que não são utilizadas por todos os ambientes. 66 10. CRONOGRAMA Apresentamos o cronograma de desenvolvimento das atividades deste projeto nas Figuras 35 e 36. Figura 35 – Cronograma (I) Figura 36 – Cronograma (II) 67 11. REFERÊNCIAS BIBLIOGRÁFICAS [1] Betatronic; Produtos (http://www.betatronic.com.br), 2005 [2] DataSheetArchive.com; Eletronic Component Datasheet and Data Books (http://www.datasheetarchive.com), 2005. [3] Curso – Microcontrolador 8051; Microcontrolador 8051 (http://www.geocities.com/sim8051/curso.htm), 2005. [4] Intel Next Generation Center; Gerenciamento em TI (http://www.nextg.com.br), 2005. [5] NHS Sistemas Eletrônicos; Produtos – Premium 2200 (http://www.nhs.com.br), 2005. [6] Rogercom – Pesquisa e Desenvolvimento; (http://www.rogercom.com), 2005. [7] SCUA Segurança da Informação; Conceitos (http://www.scua.com.br), 2005. [8] Projetos; Família 8031 (http://tuta.sites.uol.com.br), 2005. [9] HDL Inovação Inteligente; Produtos – Fechaduras Elétricas (http://www.hdl.com.br), 2005.