FACULDADES INTEGRADAS IPIRANGA CURSO DE TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Tamanho: px
Começar a partir da página:

Download "FACULDADES INTEGRADAS IPIRANGA CURSO DE TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS"

Transcrição

1 FACULDADES INTEGRADAS IPIRANGA CURSO DE TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS BRUNO VINÍCIUS DA SILVA PINHEIRO EDINALDO JOÃO COSTA DE LA-ROQUE ESDRAS ROBERTO ALVES DE LA-ROQUE JEFFERSON JAMES LOBO GAMA JOSÉ GUSTAVO ANDRADE GOMES ENGENHARIA REVERSA DO SOFTWARE XFWALL - FIREWALL SOFTWARE FOR LINUX BELÉM 2011

2 BRUNO VINÍCIUS DA SILVA PINHEIRO EDINALDO JOÃO COSTA DE LA-ROQUE ESDRAS ROBERTO ALVES DE LA-ROQUE JEFFERSON JAMES LOBO GAMA JOSÉ GUSTAVO ANDRADE GOMES ENGENHARIA REVERSA DO SOFTWARE XFWALL - FIREWALL SOFTWARE FOR LINUX Trabalho de Conclusão de Curso apresentado às Faculdades Integradas Ipiranga como requisito obrigatório para obtenção de grau em Tecnólogo em Análise e Desenvolvimento de Sistemas. Orientador: Prof. Esp. Milton Cardoso BELÉM 2011

3 BRUNO VINÍCIUS DA SILVA PINHEIRO EDINALDO JOÃO COSTA DE LA-ROQUE ESDRAS ROBERTO ALVES DE LA-ROQUE JEFFERSON JAMES LOBO GAMA JOSÉ GUSTAVO ANDRADE GOMES ENGENHARIA REVERSA DO SOFTWARE XFWALL - FIREWALL SOFTWARE FOR LINUX Trabalho de Conclusão de Curso apresentado às Faculdades Integradas Ipiranga como requisito obrigatório para obtenção de grau em Tecnólogo em Análise e Desenvolvimento de Sistemas. Data: / / Bruno Vinícius da Silva Pinheiro Edinaldo João Costa de La-Roque Esdras Roberto Alves de La-Roque Jefferson James Lobo Gama José Gustavo Andrade Gomes Avaliador: Prof. Ricardo Figueiredo

4 Dedico e agradeço, antes de tudo, a Deus por ter proporcionado a oportunidade e alimentado em mim a persistência de vencer esta etapa de minha vida, à minha família que me favorece com um lar harmonioso, aos meus pais, especialmente à minha mãe, Maria do Carmo da Silva Pinheiro, que nunca desistiu de me estimular a ser o melhor de mim. À minha amada, futura esposa, Giselle, por fazer os meus dias mais felizes com a presença de seu amor. Por último e não menos importante, à equipe co-autora deste trabalho, pela amizade que se iniciou neste período de faculdade, em particular ao Edinaldo La-Roque, pelo exemplo de pessoa e profissional que aprendi a admirar. Bruno Pinheiro Dedico este trabalho aos meus filhos Abia Daniela, Débora Glenda, Esdras Roberto, Ester Cristina e ao meu enteado Rafael Botelho. Que Deus os ilumine e guie nas estradas da vida e que possam o estudo e o trabalho, que dignifica o Homem, sempre ter prioridade em suas vidas. Edinaldo La-Roque

5 Dedico este trabalho à minha família, por me dar todo apoio e carinho, para que eu possa continuar forte no meu caminho, em busca dos meus sonhos. Sem dúvidas, esta conquista seria mais difícil sem vocês. Esdras La-Roque Dedico este trabalho primeiramente a Deus, pela saúde, fé e perseverança que tem me dado. A minha esposa Diana, que me apoiou e entendeu as minhas "ausências" em virtude da consecução de mais este objetivo. A minha mãe, que sempre me incentivou nas minhas conquistas nesta jornada da vida. Ao meu pai, pelo esforço empreendido na criação dos seus quatro filhos e nos permitiu a condição de obter êxito na sociedade, e que torce por mim do alto de onde estiver. Jefferson J. Lobo Gama Dedico este trabalho aos meus pais José Guilherme e Arlete Gomes, ao meu irmão Jefferson Gomes e namorada Noelle Cascaes, que me incentivaram e apoiaram nos momentos mais difíceis do curso, e também aos amigos que fiz na turma ASN092, que pelo companheirismo e união, pude concluir esta etapa da minha vida da melhor forma. Obrigado a todos que me ajudaram direta ou indiretamente. José Gustavo Andrade Gomes

6 AGRADECIMENTOS Agradecemos a Deus, às nossas famílias e aos nossos professores das Faculdades Integradas Ipiranga, pela contribuição que deram à nossa obtenção do grau de Tecnólogo em Análise e Desenvolvimento de Sistemas, contribuição essa que culminou neste trabalho de conclusão de curso. São eles (professores em ordem alfabética): Aldo Rocha, Anderson Marques, Claudio Flores, Edson Brito, Elena Carvalho, Ellen Cunha, Emmanuel Farias, Felix Lelis, Helena Santos, Jaime Viana, José Yoshiriro, Lúcia Beckmann, Luiz Alberto, Manuelle Costa, Marcus Braga, Mayckon Domingues, Milton Cardoso e Ricardo Figueiredo. Bruno Pinheiro Edinaldo La-Roque Esdras La-Roque Jefferson J. Lobo Gama José Gustavo Andrade Gomes

7 Este tem sido um dos meus mantras foco e simplicidade. O simples pode ser mais difícil do que o complexo: você precisa trabalhar duro para tornar o seu raciocínio claro para torná-lo simples. Mas vale a pena no final, pois uma vez que chegue lá você pode mover montanhas. Steve Jobs

8 RESUMO Este trabalho tem por objetivo realizar a engenharia reversa do programa XFwall - Firewall Software For Linux (software de firewall para Linux), com o propósito de resgatar a documentação de análise do projeto e, consequentemente, facilitar o entendimento sobre o sistema para novos desenvolvedores. Para alcançar o objetivo, fizeram-se necessárias as análises dinâmica (observação do sistema em funcionamento) e estática (inspeção do código-fonte) do software. Esses processos envolveram a observação das funcionalidades do sistema, a sua configuração e a geração de scripts de firewall, bem como, o estudo do seu código-fonte, extraindo-se as estruturas do sistema, modelagem de dados, e as principais classes e métodos. De posse da compreensão obtida, foram criados os artefatos de engenharia de software, quais sejam: lista de requisitos funcionais (RF), mapeamento de requisitos funcionais para classes e métodos, regras de negócio (RN), diagramas de casos de uso, especificações de casos de uso (UC), modelo entidade-relacionamento (MER), diagramas de fluxo de dados (DFD), diagramas de atividades (DA) e diagrama de atividades com mapeamento para classes e métodos. O trabalho é encerrado sugerindo a refatoração do código-fonte do sistema, adotando-se os atuais padrões de projeto (design patterns), o uso de um servidor de banco de dados relacional como principal repositório de dados, a adoção da linguagem de programação orientada a objetos Java com interface web, e finalmente a inclusão de novas características, tais como proxy (para os serviços HTTP, HTTPS e FTP) e serviços de gateway de com os recursos de antivírus e antispam. Palavras-chave: Desenvolvimento de Software, Segurança de Redes, TCP/IP, Engenharia Reversa. XFwall. Firewall. IPtables. Linux. Artefatos de Engenharia de Software.

9 ABSTRACT The purpose of this work is reverse engineering the software program XFwall - Firewall Software For Linux aiming to rescue the analysis documentation of the project, thus facilitating the understanding of the system project for new developers. In order to achieve this goal, it was necessary to carry out a static analysis (observation of the system running) as well as a dynamic analysis (source code inspection) of the software. These processes involved the observation of the system s features, its settings, and the generation of firewall scripts, as well as the study of its source code, thus extracting the system structures, its data model, and the main classes and methods. With this understanding, the following software engineering artifacts were created: list of functional requirements, mapping of functional requirements to classes and its methods, business rules, use case diagrams, use case specifications, entity-relationship model, data flow diagram, activity diagrams, and activity diagram with class-method mapping. The work is finished with the suggestion for refactoring the source code of the system with the adoption of current design patterns, the use of a relational database server as the main data repository, as well as the adoption of Java object-oriented programming language with the use of a web interface design approach, and finally the addition of new features as proxy (for HTTP and FTP services) and gateway (with antivirus and anti-spam resources) services. Key words: Software Development, Network Security, Reverse Engineering. XFwall. Firewall. IPtables. Linux. Software Engineering Artifacts.

10 LISTA DE ILUSTRAÇÕES FIGURA 1 - Topologia de rede segura usando o XFwall FIGURA 2 - Caso de Uso Principal (UC_00) FIGURA 3 - Caso de Uso Configurar Firewall (UC_01) FIGURA 4 - Caso de Uso Administrar Regras (UC_02) FIGURA 5 - Caso de Uso Controlar Estado do Firewall (UC_03) FIGURA 6 - Caso de Uso Monitorar Firewall (UC_04) FIGURA 7 - Caso de Uso Administrar Backup (UC_05) FIGURA 8 - Caso de Uso Gerar Script de Firewall (UC_06) FIGURA 9 - Diagrama de Atividade - Configurar Firewall (DA_01) FIGURA 10 - Diagrama de Atividade - Manter Regras de NAT (DA_101) FIGURA 11 - Diagrama de Atividade - Manter Regras de Filtro (DA_102) FIGURA 12 - Diagrama de Atividade - Manter Regras de Controle de banda (DA_103) FIGURA 13 - Diagrama de Atividade - Manter Lista Negra de IPs (DA_104) FIGURA 14 - Diagrama de Atividade - Administrar Backup (DA_40) FIGURA 15 - Diagrama de Fluxo de Dados (DFD) FIGURA 16 - Modelo Entidade Relacionamento (MER)... 62

11 LISTA DE ABREVIATURAS E SIGLAS BASH Born Again Shell C Linguagem de programação estruturada C++ Linguagem de programação C orientada a objetos e eventos CBQ Class Based Queuing (Controle de banda no GNU/Linux) DFD Diagrama de Fluxo de Dados DMZ Demilitarized Zone (Zona Desmilitarizada) DNAT Destination NAT (NAT de Destino) DNS Domain Name System (Sistema de Nomes de Dom FTP File Transfer Protocol (Protocolo de Transferência de Arquivo) GNU Gnu Is Not Unix (projeto GNU de software livre) GPL General Public License (Licença) HD Hard Disk Drive (Disco Rígido) HTTP Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto) ID Identificação IDE Integrated Development Environment (Ambiente Integrado de Desenvolvimento) IP Protocolo Internet (Internet Protocol) IPTABLES Utilitário de configuração do firewall do kernel do GNU/Linux Java EE Java Enterprise Edition (Java versão Enterprise) LAN Local Area Network (Rede Local de Computadores) LOG Registro de eventos para posterior auditoria MER Modelo Entidade-Relacionamento NAT Network Address Translation (Tradução de Endereços de Rede) KDE K Desktop Environment (Ambiente de Trabalho K) POP3 Post Office Protocol (Protocolo de Recebimento de Correio), versão 3 RIA Rich Internet Application (Aplicação Internet Rica) RUP Rational Unified Process (Processo Unificado de Software da IBM) SMTP Simple Mail Transfer Protocol (Protocolo de Transferência Simples de ) SNAT Source NAT (NAT de Origem) SYN Synchronism (sincronismo) TCP Transmission Control Protocol (Protocolo de Controle de Transmissão) TGZ Extensão de arquivo compactado com os utilitários tar e gzip UC Use Case (Caso de Uso) UML Unified Modeling Language (Linguagem Unificada de Modelagem) WEB World Wide Web (Grande Teia Mundial ou Internet)

12 SUMÁRIO 1. INTRODUÇÃO OBJETIVOS OBJETIVO GERAL OBJETIVOS ESPECÍFICOS METODOLOGIA RESULTADOS REQUISITOS FUNCIONAIS MAPEAMENTO FUNCIONALIDADE / CLASSES E MÉTODOS REGRAS DE NEGÓCIO DIAGRAMAS DE CASO DE USO Caso de Uso Principal (UC_00) Caso de Uso Configurar Firewall (UC_01) Caso de Uso Administrar Regras (UC_02) Caso de Uso Controlar Estado do Firewall (UC_03) Caso de Uso Monitorar Firewall (UC_04) Caso de Uso Administrar Backup (UC_05) Caso de Uso Gerar Script de Firewall (UC_06) DIAGRAMAS DE ATIVIDADE Diagrama de Atividade - Configurar Firewall (DA_01) Diagrama de Atividade - Manter Regras de NAT (DA _101) Diagrama de Atividade - Manter Regras de Filtro (DA_102) Diagrama de Atividade - Manter Regras de Controle de Banda (DA_103) Diagrama de Atividade - Manter Lista Negra de IPs (DA_104) Diagrama de Atividade - Administrar Backup (DA_40) ESPECIFICAÇÃO DE CASOS DE USO Configurar Firewall (UC_01) Manter Regras de NAT - Criar Nova Regra (UC_02) Manter Regras de NAT - Apagar Regra (UC_03) Manter Regras de NAT - Editar Regra (UC_04) Manter Regras de NAT - Inserir Nova Regra (UC_05) Manter Regras de Filtro - Criar Nova Regra (UC_06) Manter Regras de Filtro - Apagar Regra (UC_07) Manter Regras de Filtro - Editar Regra (UC_08) Manter Regras de Filtro - Inserir Nova Regra (UC_09) Manter Regras de Controle de Banda - Criar Nova Regra (UC_10)... 46

13 Manter Regras de Controle de Banda - Apagar Regra (UC_11) Manter Regras de Controle de Banda - Editar Regra (UC_12) Manter Regras de Controle de Banda - Inserir Nova Regra (UC_13) Manter Lista Negra de IPs - Criar Novo Registro (UC_14) Manter Lista Negra de IPs - Apagar Registro (UC_15) Manter Lista Negra de IPs - Editar Registro (UC_16) Gerar Script de Firewall (UC_17) Ativar Firewall (UC_18) Desativar Firewall (UC_19) Monitorar o Estado do Firewall (UC_20) Monitorar Eventos do Firewall (UC_21) Forçar Backup (UC_22) Restaurar Backup (UC_23) Apagar Backup (UC_24) DIAGRAMA DE FLUXO DE DADOS (DFD) MODELO ENTIDADE RELACIONAMENTO (MER) CONCLUSÃO REFERÊNCIAS GLOSSÁRIO APÊNDICE A - A HISTÓRIA DO XFWALL APÊNDICE B - TUTORIAL - BAIXANDO E COMPILANDO O CÓDIGO-FONTE DO XFWALL NO UBUNTU LINUX APÊNDICE C - TUTORIAL - USO DO SOFTWARE XFWALL APÊNDICE D - PRINCIPAIS ARQUIVOS DE CONFIGURAÇÃO DO XFWALL APÊNDICE E - PROGRAMAS BINÁRIOS E SCRIPTS APÊNDICE F - INSPEÇÃO DO CÓDIGO-FONTE APÊNDICE G - SCRIPT DE FIREWALL GERADO APÊNDICE H - FERRAMENTAS UTILIZADAS ANEXO A - VISÃO GERAL SOBRE O IPTABLES

14 13 1. INTRODUÇÃO Este trabalho trata da engenharia reversa do produto de software XFwall - Firewall Software For Linux (software de firewall para Linux), visando resgatar a documentação da sua engenharia de software, para, principalmente, facilitar o entendimento sobre o sistema, auxiliar no processo de atualização e correção de bugs (defeitos de software), e viabilizar a adesão de novos desenvolvedores que ajudem no processo de aprimoramento da ferramenta. O XFwall é Software Livre e, portanto, Open Source (código-fonte aberto), liberado para o público na Internet sob a licença de uso GNU/GPL. Trata-se de um software de firewall por filtragem de pacotes, que roda no sistema operacional GNU/Linux. Pode-se entender o XFwall como um sistema de gerenciamento e geração de scripts de firewall IPtables, monitoramento do firewall do kernel do Linux, e backup de todo o conjunto que compõe o sistema. É voltado para clientes com perfil corporativo. Ou seja, o software foi concebido para implantação em empresas de médio e grande portes, com centenas ou milhares de máquinas em sua rede interna, e não para uso doméstico ou em pequenos escritórios que não dediquem uma máquina para a função exclusiva de firewall, com pelo menos duas interfaces de rede (gateway). FIGURA 1 - Topologia de rede segura usando o XFwall A figura 1, dá uma boa noção sobre a aplicabilidade do software XFwall, observandose seu uso tanto como máquina de firewall interno como externo.

15 14 O XFwall pode ser copiado, modificado e usado livremente, para montar máquinas de firewall, com recursos de filtragem de pacotes IP (Internet Protocol ou Protocolo Internet), NAT (Network Address Translation ou Tradução de Endereços de Rede) e Controle de Banda (controle de consumo de velocidade do link com a Internet). Não tem limite quanto ao número de placas ou interfaces de rede que suporta. Conforme relata a história do XFwall, no Apêndice A deste trabalho, o software nasceu no ano de 2000, devido a uma necessidade interna da empresa StarLink e, à medida que foi se tornando necessário, por demanda de grandes empresas (órgãos do governo, principalmente), o software foi recebendo melhorias ao longo de vários anos, saindo de uma versão modesta de linha de comandos, passando por uma versão com menus coloridos em modo texto e, finalmente, chegando a sua versão final com uma interface desktop gráfica, padrão Linux/KDE, com um excelente nível de maturidade e complexidade. A última intervenção significativa no código-fonte do XFwall ocorreu no ano de Desde então, e até os dias atuais (setembro de 2011), o software vem recebendo atualizações mínimas, objetivando apenas mantê-lo operacional ao longo das várias evoluções das distribuições do sistema operacional GNU/Linux, como Debian, Ubuntu, RedHat, Suse e Slackware. No entanto, apesar de todo o esforço de seu autor, por falta de disponibilidade de tempo, tornou-se inviável um trabalho individual no aprimoramento do software. Deve-se considerar que o software XFwall teve o início de seu desenvolvimento há aproximadamente 11 (onze) anos, tendo seu autor usado apenas editores de texto simples para edição do código-fonte, como o editor de textos vi do Linux, bem como compilação e depuração através de linhas de comando no pronto de comandos bash do Linux, tendo por compiladores das linguagens C e C++, o GNU GCC (C padrão) e o G++ (C++ orientado a objeto), em conjunto com as bibliotecas RedHat Newt versão 0.52 (interface com o usuário baseada em janelas no modo texto) e TrollTech Qt versão 3 (interface gráfica padrão KDE). Ou seja, não foram usados os modernos recursos atuais que facilitassem o uso desses componentes, como as IDEs (ambientes gráficos integrados de desenvolvimento), a exemplo do Eclipse, com recursos como auto-complete e sugestão de estruturas padrão, bem como recursos de compilação e depuração automáticas, o que poderia aumentar a produtividade de projetos GNU GCC e G++. Acrescente-se, ainda, que o autor do software usou apenas seu autodidatismo para desenvolver o sistema, sem, porém, ter, na época, o domínio dos modernos processos de desenvolvimento de softwares da atualidade.

16 15 Sendo assim, agora se fez necessário o esforço de geração de artefatos de software, por meio da técnica de engenharia reversa, objetivando documentar o projeto, de forma a facilitar a compreensão das funcionalidades do sistema, viabilizando a adesão de novos desenvolvedores que possam acelerar o processo evolutivo da ferramenta. O termo engenharia reversa tem suas origens no mundo do hardware. Uma empresa desmonta um produto de hardware competitivo na tentativa de conhecer os "segredos" de projeto e fabricação do concorrente. Os segredos poderiam ser facilmente entendidos se fosse possível obter as especificações de projeto e fabricação do concorrente. Mas esses documentos são de propriedade privada e não estão disponíveis para a empresa que está fazendo a engenharia reversa. Essencialmente, uma engenharia reversa bem-sucedida resulta em uma ou mais especificações de projeto e fabricação para um produto pelo exame de amostras atuais do produto. A engenharia reversa para o software é bem similar. Em muitos casos, no entanto, o programa a ser submetido a uma engenharia reversa não é um programa de um concorrente. Em vez disso, é o próprio trabalho da empresa (em geral, feito há muitos anos). Os "segredos" a ser entendidos são obscuros porque nenhuma especificação jamais foi desenvolvida. Portanto, a engenharia reversa para software é o processo para analisar um programa na tentativa de criar uma representação do programa em um nível mais alto de abstração do que o código-fonte. A engenharia reversa é um processo de recuperação do projeto. As ferramentas de engenharia reversa extraem informações do projeto de dados, da arquitetura e procedural com base em um programa existente. (PRESSMAN, 2011, p.669); O resgate do projeto do software XFwall, através de engenharia reversa de software, não apenas viabilizará a atualização da ferramenta, mas também facilitará mais um salto evolutivo do sistema, como por exemplo o lançamento de uma versão Java com interface web e com o uso de banco de dados relacional como repositório principal de dados, em comparação à atual interface gráfica desktop e repositório de dados em arquivos texto puro (ASCII). Essa proposta de salto evolutivo deverá fazer com que o software avance de uma solução desktop que, portanto, roda localmente em uma máquina, para uma solução Internet com todas as facilidades de acesso remoto, usando-se apenas navegadores Internet (browsers), podendo assim ser operado a partir de qualquer sistema operacional, independentemente de ser Linux ou não. Espera-se, com esse trabalho, que novos desenvolvedores venham a sentir-se à vontade com o software e seu código-fonte, e que venham a contribuir com a comunidade Open Source, ajudando no aprimoramento dessa solução brasileira de segurança de redes TCP/IP.

17 16 2. OBJETIVOS 2.1. OBJETIVO GERAL Este trabalho tem por objetivo realizar a engenharia reversa do programa XFwall - Firewall Software For Linux (software de firewall para GNU/Linux), com o propósito de gerar os artefatos de engenharia de software OBJETIVOS ESPECÍFICOS Facilitar o entendimento sobre a modelagem do software; Auxiliar no processo de atualização e correção de bugs; Sugerir a implementação de novas funcionalidades; Viabilizar a adesão de novos desenvolvedores; Ajudar no processo de portar a ferramenta da atual interface desktop para a tecnologia web 2.0 (interface web dinâmica) em plataforma Java 2 EE (Enterprise Edition).

18 17 3. METODOLOGIA Para se atingir o objetivo, se fez a análise dinâmica (observação do sistema em funcionamento) do software XFwall, versão , em distribuição GNU/Linux Ubuntu Essa análise incluiu as funcionalidades do sistema, a configuração e a geração de scripts de firewall. Então, partiu-se para a análise estática 1 (inspeção do código-fonte) da ferramenta, extraindo-se as estruturas, a modelagem de dados e as principais classes e funções de seu código-fonte em linguagem de programação C/C++. De posse da compreensão obtida com esse processo de análise, criou-se uma representação em alto nível do XFwall, seguindo os padrões modernos de engenharia de software, através de representações textuais e diagramáticas, que são: Requisitos Funcionais; Mapeamento de Requisitos Funcionais para Classes e Métodos; Regras de Negócio; Diagramas UML de Caso de Uso; Modelo Entidade Relacionamento (MER); Especificação das Regras de Negócio; Especificação dos Casos de Uso; Diagrama de Fluxo de Dados (DFD); Diagrama de Atividades; 1 A análise estática a que se refere este trabalho é tão somente a inspeção do código-fonte do XFwall, e não a execução de ferramentas que automatizem a análise do código-fonte, visando encontrar erros de codificação ou advertências.

19 18 4. RESULTADOS Como o foco deste trabalho está em engenharia reversa de produto de software, os resultados são artefatos de engenharia de software, que resgatam o projeto XFwall - Firewall Software For Linux. Os artefatos resultantes do trabalho são: Requisitos Funcionais; Lista de Mapeamento de Requisitos Funcionais / Classes e Métodos Regras de Negócio; Diagramas UML de Caso de Uso; Modelo Entidade-Relacionamento (MER); Especificação das Regras de Negócio; Especificação dos Casos de Uso; Diagrama de Fluxo de Dados (DFD); Diagrama de Atividades; Os diagramas UML aqui apresentados foram elaborados segundo a versão 2.3 da UML - Unified Modeling Language (Linguagem Unificada de Modelagem) REQUISITOS FUNCIONAIS Desconsiderando as restrições físicas, as ações que um sistema deve ser capaz de executar e o comportamento de entrada e saída desse sistema, isso tudo é especificado através dos requisitos funcionais. Os requisitos funcionais de um sistema descrevem o que o sistema deve fazer. Esses requisitos dependem do tipo de software que está sendo desenvolvido, dos usuários a que o software se destina e da abordagem geral considerada pela organização ao redigir os requisitos. Quando expressos como requisitos de usuário, eles são geralmente descritos de forma bastante abstrata. No entanto, os requisitos funcionais descrevem a função do sistema detalhadamente, suas entradas e saídas, exceções, etc. (SOMMERVILLE, 2007, p.81);

20 19 Os requisitos funcionais podem ou não ser evidentes para o usuário, porém a lista de requisitos precisa ser complementada por casos de uso, os quais serão mostrados adiante. XFwall: O quadro 1 lista, de maneira abstrata, os principais requisitos funcionais do software QUADRO 1 - Requisitos Funcionais CÓDIGO FUNCIONALIDADE DESCRIÇÃO ATOR Esta funcionalidade envolve a configuração do perfil de sistema de firewall, bem como, as RF_01 Configurar Firewall interfaces de rede (dispositivos), Administrador endereços IP de rede/host, serviços (protocolos, portas e sentido de conexão). Esta funcionalidade envolve a manutenção das tabelas de RF_02 Administrar Regras regras de filtro, NAT, controle de Administrador banda e lista negra de endereços IP. Esta funcionalidade tem a RF_03 Gerar Script de Firewall finalidade de criar o arquivo de Administrador script de firewall. Esta funcionalidade é responsável pela desativação RF_04 total ou pela ativação seletiva das Controlar Estado do regras: de filtro, NAT, controle de Firewall banda, lista negra de endereços Administrador IP, comandos de usuário, LAN DMZ (zona desmilitarizada), rodar como serviço. Esta funcionalidade tem a finalidade de monitorar o estado RF_05 Monitorar Firewall do firewall (ativado ou Administrador desativado), bem como, os eventos (pacotes RF_06 Administrar Backup Esta funcionalidade envolve as operações de forçar, restaurar e apagar backup. Administrador O quadro 1, mostra que o ator, para as funcionalidades do sistema, é o administrador. Isso reflete a realidade do software, que só permite que o usuário administrador (root) do Linux possa executá-lo.

21 MAPEAMENTO FUNCIONALIDADE / CLASSES E MÉTODOS O mapeamento dos principais requisitos funcionais do sistema para as classes e métodos do código-fonte, em linguagem C++, do software, é mostrado no quadro 2. Esta abordagem permite ao desenvolvedor, que se propuser a baixar o código-fonte do XFwall e nele dar manutenção, uma fácil localização dos pontos-chave do sistema. QUADRO 2 - Requisitos Funcionais x Principais Funções REQUISITOS FUNCIONAIS PRINCIPAIS FUNÇÕES CÓDIGO FUNCIONALIDADE ITEM CLASSE MÉTODO/FUNÇÃO RF_01 Configurar Firewall 9 Main_Menu Config_Tab() RF_02 RF_03 RF_04 Administrar Regras Gerar Script de Firewall Controlar Estado do Firewall 10, 11 e 12 Main_Menu Nat_Editor(), Custom_Tab() e Bw_Control() 8 Main_Menu Rebuilds_Firewall() 6 e 7 Main_Menu Starts_Firewall() e Stops_Firewall() RF_05 Monitorar Firewall 14 Main_Menu Status_Tab() RF_06 Administrar Backup 13 Main_Menu Backup_Tab() 4.3. REGRAS DE NEGÓCIO As regras de negócio detalham funcionalidades específicas do sistema, facilitando aos programadores o desenvolvimento de métodos de tratamento de exceções, limitando, dessa forma, ações anormais relativas ao funcionamento do sistema. O RUP (Rational Unified Process) define as regras de negócio como declarações de políticas ou condições que devem ser cumpridas pelo sistema a fim de atender a um objetivo do negócio. Enquanto os requisitos de negócio e de usuário definem o que o cliente deseja que o sistema faça, já as regras de negócio definem, entre outras coisas, parâmetros para que o sistema possa garantir a qualidade e integridade dos dados. A identificação das regras de negócio ocorrem em conjunto com a elicitação de requisitos. Ao transcrever estes requisitos para as especificações, deve-se verificar quais itens se encaixarão como regras de negócio. (http://hedsonlima.wordpress.com/2011/01/08/regras-de-negocio/)

22 21 Para o software XFwall - Firewall Software For Linux, foram identificadas as seguintes regras de negócio: RN_01: Execução do Sistema Somente o administrador do sistema operacional Linux (a conta do usuário root ou um usuário com id 0 de sistema) poderá executar o XFwall. RN_02: Configuração Inicial do Sistema Na primeira execução do XFwall, é obrigatório que seja realizada a configuração inicial, envolvendo a definição do perfil do firewall, tipo de conexão externa, dispositivos de rede, alertas do sistema, servidor DNS para tradução dos endereços IP. RN_03: Criação de Interfaces de Rede Para criar uma interface de rede, é necessário que essa interface conste na lista de dispositivos default (/etc/fwall/defaults/interfaces), bem como, as velocidades possíveis para essa interface também constem na lista de velocidades default (/etc/fwall/defaults/interface_rates). RN_04: Criação de Endereços de Rede / Host Para criar um item de endereço de rede ou de host, é necessário que a interface de rede vinculada a esse endereço esteja previamente cadastrada (RN_003). RN_05: Criação de Serviço de Rede Para criar um item de serviço de rede, é necessário que o nome do protocolo vinculado a esse endereço esteja previamente cadastrado na lista de protocolos default (/etc/fwall/defaults/protocols). RN_06: Criação de Regra de NAT e de Filtro Para criar uma regra de NAT e de Filtro, é necessário que as interfaces (RN_003), os endereços (RN_004) e os serviços (protocolos, portas e bit de SYN) (RN_005) estejam previamente cadastrados. RN_07: Criação de Regra de Controle de Banda Para criar uma regra de Controle de Banda, é necessário que as interfaces (RN_003), os endereços (RN_004), serviços (protocolos, portas e bit de SYN) (RN_005) e velocidades de tráfego (/etc/fwall/defaults/user_rates) estejam previamente cadastrados.

23 22 RN_08: Restauração e Exclusão de Backup Para restaurar ou excluir um backup, é necessário que exista arquivo de backup compactado disponível no diretório /var/fwall, que termine com a extensão tgz. RN_09: Ativação e Desativação do Firewall Para ativar ou desativar o firewall, é necessário que exista o seguinte arquivo: /etc/init.d/firewall DIAGRAMAS DE CASO DE USO Os diagramas de caso de uso mostram, de forma abstrata e em alto nível, a que o sistema se propõe. Trata-se de uma visão externa do sistema, representando, de forma gráfica, os atores, os casos de uso e os relacionamentos entre esses elementos. Os casos de uso constituem uma técnica baseada em cenários para elicitação de requisitos e foram introduzidos inicialmente no método Objectory (Jacobson, et al., 1993). Eles se tornaram uma característica fundamental da notação UML para descrição de modelos de sistemas orientados a objetos. Em sua forma mais simples, um caso de uso identifica o tipo da interação e os agentes envolvidos. (SOMMERVILLE, 2001, p.102) O principal objetivo dos diagramas de caso de uso é apresentar uma ilustração com alto nível de abstração, com relação aos elementos externos que interagem com as funcionalidades do sistema. Assim, têm por finalidade apresentar um tipo de diagrama de contexto, mostrando os elementos externos ao sistema, bem como a forma como tais elementos externos utilizam o sistema. A seguir, somente os principais casos de uso foram documentados Caso de Uso Principal (UC_00) Este caso de uso mostra as principais funcionalidades do sistema. É importante destacar que os casos de uso fundamentais para a criação e ativação do firewall são:

24 23 Configurar Firewall; Administrar Regras; Gerar Script de Firewall; Controlar o Estado do Firewall. Os casos de uso Monitorar Firewall e Administrar Backup são funções administrativas do sistema. Outro ponto importante a destacar é que somente o administrador do sistema operacional GNU/Linux (root) tem permissão para administrar o firewall. FIGURA 2 - Caso de Uso Principal (UC_00)

25 Caso de Uso Configurar Firewall (UC_01) Para poder criar regras de firewall, é necessário primeiramente fazer a parametrização do XFwall, envolvendo: Configuração inicial do sistema; Cadastramento de interfaces de rede (dispositivos); Cadastramento de serviços (protocolos, portas e sentido das conexões); Cadastramento de endereços de origem e destino. FIGURA 3 - Caso de Uso Configurar Firewall (UC_01) Caso de Uso Administrar Regras (UC_02) Este caso de uso é dependente do caso de uso UC_01 (Configurar Firewall).

26 25 Após a configuração inicial do sistema, o administrador tem as seguintes funções, que não são obrigatórias: Manter Regras de Filtro; Manter Regras de NAT; Manter Regras de Controle de Banda; Manter Lista Negra de Endereços IP. FIGURA 4 - Caso de Uso Administrar Regras (UC_02) Essas funcionalidades compreendem às inclusões, exclusões, alterações, ativações e desativações de cada regra. Após a execução deste caso de uso, o administrador do sistema poderá gerar o script de firewall e ativá-lo.

27 Caso de Uso Controlar Estado do Firewall (UC_03) O controle do estado do firewall é independente das demais funcionalidades. Mesmo que o sistema não tenha sido configurado previamente, nem regra alguma de firewall tenha sido definida, é possível ativar ou desativar o firewall. Isto deve-se ao fato de o sistema já vir com proteções básicas por padrão (default). FIGURA 5 - Caso de Uso Controlar Estado do Firewall (UC_03) Caso de Uso Monitorar Firewall (UC_04) O monitoramento do firewall compreende a visualização do estado das tabelas internas de firewall do GNU/Linux, através do programa utilitário iptables. Este caso de uso é o responsável pelo acesso às opções de visualização do estado do firewall, bem como, da visualização dos eventos que são dinamicamente registrados nos arquivos de log do sistema operacional, relativos às funcionalidades de firewall.

28 27 O usuário poderá configurar o sistema para mostrar automaticamente eventos importantes apenas no momento em que eles ocorram, ou poderá simplesmente acionar as janelas de monitoramento no momento que julgar oportuno. FIGURA 6 - Caso de Uso Monitorar Firewall (UC_04) Caso de Uso Administrar Backup (UC_05) O software XFwall tem opções para administração de arquivos de backup completos do sistema de firewall. Os arquivos de backups são criados automaticamente toda vez que o administrador executar o caso de uso Gerar Script de Firewall (UC_06).

29 28 FIGURA 7 - Caso de Uso Administrar Backup (UC_05) Essa funcionalidade facilita grandemente a recuperação do sistema, caso o administrador cometa algum erro de configuração, já que toda geração de script de firewall é precedida pela criação de um arquivo de backup completo, contendo todas as configuradas usadas pelo XFwall. Além do backup automático, o sistema tem opção para forçar a criação de um arquivo de backup a qualquer momento, independente do caso de uso UC_06 ser acionado ou não Caso de Uso Gerar Script de Firewall (UC_06) Este é o caso de uso que reúne todas as configurações efetuadas no XFwall, verifica quais funcionalidades foram marcadas como ativas, e gera o resultado final e principal do sistema, que é o script de firewall, contendo todas as regras configuradas pelo administrador, além das regras-padrão do software, para proteção das máquinas que estarão atrás do firewall.

30 29 FIGURA 8 - Caso de Uso Gerar Script de Firewall (UC_06) Pelo diagrama da figura 8, observa-se que a geração do script de firewall inclui, de forma obrigatória, as proteções default do sistema, sendo opcionais os demais módulos de proteção. Ainda, visando garantir que o script de firewall será ativado durante a inicialização da máquina de firewall, este caso de uso tem a funcionalidade de ativar o script de firewall como serviço da máquina, garantindo sua execução durante a inicialização (boot) da máquina DIAGRAMAS DE ATIVIDADE Por meio da representação gráfica do fluxo de interação e de eventos em um cenário específico, o diagrama de atividades UML complementa o caso de uso, de forma similar a um fluxograma. O fluxo descreve o que precisa ser feito pelo sistema, representando as atividades do sistema, com suporte a comportamentos condicionais e paralelos.

31 30 Seu objetivo é mostrar o fluxo de atividades em um único processo, descrevendo como uma atividade depende da outra. Nas primeiras versões da UML, esse diagrama era considerado um caso especial de diagrama de máquina de estados, passando a ser independente na versão 2.0 da UML. Ele apresenta muitas semelhanças com os fluxogramas, pois é utilizado para descrever os passos a serem percorridos até a conclusão de um método ou de um algoritmo específico. (SBROCCO, 2011, p.116). Esse tipo de diagrama permite determinar a ordem em que os passos serão executados, sendo mostradas somente as principais regras de sequências Diagrama de Atividade - Configurar Firewall (DA_01) O diagrama de atividade da figura 9 mostra os principais pontos de configuração do software XFwall. No entanto, para que se possa instalar com sucesso o sistema em uma máquina de firewall, é indispensável à configuração das interfaces de rede interna e externa, além da indicação se a máquina será roteadora de pacotes (gateway). FIGURA 9 - Diagrama de Atividade - Configurar Firewall (DA_01)

32 31 Com relação às configurações de DNS, POP3, SMTP, Proxy e Radius, trata-se de liberação de acesso a servidores confiáveis para a própria máquina de firewall Diagrama de Atividade - Manter Regras de NAT (DA _101) O diagrama da figura 10 mostra os principais pontos de manutenção das regras de NAT (Network Address Translation) ou regras de tradução de endereços de rede. Esta opção do sistema permite a manutenção (criação, exclusão, alteração e inserção em qualquer ponto) das regras de NAT. FIGURA 10 - Diagrama de Atividade - Manter Regras de NAT (DA_101)

33 Diagrama de Atividade - Manter Regras de Filtro (DA_102) O diagrama da figura 11 mostra os principais pontos de manutenção das regras de filtro de pacotes, comumente conhecidas como regras de firewall. Esta opção do sistema permite a manutenção (criação, exclusão, alteração e inserção em qualquer ponto) das regras de filtragem de pacotes. FIGURA 11 - Diagrama de Atividade - Manter Regras de Filtro (DA_102) Diagrama de Atividade - Manter Regras de Controle de Banda (DA_103) O diagrama da figura 12 mostra os principais pontos de manutenção das regras de controle de banda. O controle de banda é usado para desacelerar a velocidade de acesso tanto de conexões entrantes quanto saintes. É um recurso muito útil para impedir que certos acessos consumam exageradamente, ou de forma descontrolada, o link com a Internet,

34 33 garantindo assim melhores performances de acesso aos pontos que realmente precisem desse recurso. FIGURA 12 - Diagrama de Atividade - Manter Regras de Controle de banda (DA_103) Diagrama de Atividade - Manter Lista Negra de IPs (DA_104) A lista negra de endereços IP é uma lista simples, contendo apenas os endereços que devem ser bloqueados pelo firewall, tanto para pacotes saintes quanto para pacotes entrantes no firewall.

35 34 FIGURA 13 - Diagrama de Atividade - Manter Lista Negra de IPs (DA_104) Diagrama de Atividade - Administrar Backup (DA_40) O sistema de backup do XFwall funciona de maneira automática, toda vez que o administrador do sistema executa o caso de uso Gerar Script de Firewall (UC_06). Porém, há a opção de forçar a criação de um novo arquivo de backup a qualquer momento.

36 35 FIGURA 14 - Diagrama de Atividade - Administrar Backup (DA_40) 4.6. ESPECIFICAÇÃO DE CASOS DE USO Um caso de uso conta um tipo de estória sobre como o usuário interage com o sistema, no desempenho de um conjunto de papéis possíveis, sob circunstâncias específicas. Um caso de uso representa o software pela ótica de um usuário final. Portanto, os casos de uso devem ser definidos sob o ponto de vista dos atores, cujos papéis podem representar pessoas (usuários) ou outros sistemas. Os casos de uso vão especificar o comportamento do sistema de software (ou parte dele), descrevendo as funcionalidades desejadas desempenhadas pelos atores. Os casos de uso equivalem a cenários que contêm uma sequência de passos que descrevem a interação de um usuário (um ator) com o sistema. (SBROCCO, 2011, p.71). Um caso de uso não descreve como o sistema deve ser construído, mas como deverá se comportar quando estiver pronto. Normalmente, não se usa termos técnicos em um caso de uso, preferindo-se a linguagem do usuário final do sistema. Os casos de uso são desenvolvidos conjuntamente por técnicos e usuários finais. A seguir, a especificação dos principais casos de uso do software XFwall - Firewall Software For Linux.

37 Configurar Firewall (UC_01) Descrição: Esta funcionalidade envolve a configuração do perfil de sistema de firewall, bem como, as interfaces de rede (dispositivos), endereços IP de rede/host, serviços (protocolos, portas e sentido de conexão). Ator: Administrador Pré-condição: Somente o administrador do sistema operacional Linux (a conta do usuário root ou um usuário com id de sistema 0) poderá executar o XFwall (RN_001). Fluxo Principal: I. O ator acessa a opção de configuração do sistema; II. O sistema apresenta a tela principal de configuração, contendo as opções de seleção da interface de rede externa (com opção de NAT por mascaramento), interna e definição da máquina como gateway (roteador) da rede; III. O ator seleciona a interface da rede externa, informa seu endereço IP e indica se a rede interna será ou não mascarada pelo IP da interface externa; IV. O ator seleciona a interface da rede interna e informa seu endereço de rede com netmask (máscara de rede); V. O ator define se a máquina será ou não o gateway (roteador) da rede; VI. O ator confirma as opções selecionadas. Fluxo Alternativo: FA_01: Refinamento de Opções de Log I. O ator seleciona a aba Log;

38 37 II. III. IV. O sistema apresenta opções de emissão de beep sonoro, modos de visualização das janelas de monitoramento e de registro dos eventos de log em banco de dados; O ator seleciona as opções desejadas; O ator confirma as informações selecionadas. FA_02: Ativação da janela de monitoramento I. O ator seleciona a aba Monitor; II. O sistema apresenta opção de ativação da janela de monitoramento de comandos; III. O ator define se a janela de status de comandos deverá ou não ser exibida; IV. O ator confirma a operação. FA_03: Opções de servidores DNS confiáveis I. O ator seleciona a aba DNS; II. O sistema apresenta as seguintes opções de uso de servidores DNS: a. Usar servidores DNS do próprio sistema operacional; b. Usar qualquer servidor DNS c. Não usar nenhum servidor DNS III. O ator seleciona a opção desejada; IV. O ator confirma a operação. FA_04: Opções de servidores POP3 confiáveis I. O ator seleciona a aba POP3; II. O sistema apresenta as seguintes opções de uso de servidores POP3: a. Permitir conexão a qualquer servidor POP3; b. Desativar conexão a qualquer servidor POP3; III. O ator seleciona a opção desejada; IV. O ator confirma a operação. FA_05: Opções de servidores SMTP confiáveis I. O ator seleciona a aba SMTP; II. O sistema apresenta as seguintes opções de uso de servidores SMTP:

39 38 III. IV. a. Permitir conexão a qualquer servidor SMTP; b. Desativar conexão a qualquer servidor SMTP; O ator seleciona a opção desejada; O ator confirma a operação. FA_06: Opção de servidor Proxy confiáveis I. O ator seleciona a aba Proxy; II. O sistema apresenta campo para informar o endereço IP de um servidor Proxy confiável; III. O ator informa o endereço IP do servidor Proxy; IV. O ator confirma a operação. FA_07: Opção de servidor Radius confiáveis I. O ator seleciona a aba Radius; II. O sistema apresenta campo para informar o endereço IP de um servidor Radius confiável; III. O ator informa o endereço IP do servidor Radius; IV. O ator confirma a operação. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de NAT - Criar Nova Regra (UC_02) Descrição: Ator: Este caso de uso descreve a criação de uma nova regra de NAT. Administrador

40 39 Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002); Para o caso de inclusão de novas regras, é necessário que as interfaces de rede (RN_003), endereços de rede/host (RN_004) e os serviços de rede (RN_005) estejam previamente cadastrados. Fluxo Principal: I. O ator acessa a opção de regras de NAT; II. O sistema apresenta a tela de manutenção das regras de NAT; III. O ator seleciona a opção Nova; IV. O sistema apresenta os campos a serem preenchidos para a nova regra (Estado, Log, Origem, Destino, Serviços de Rede, Ação, Endereço, Porta e Comentário); V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Log, Origem, Destino, Serviços de Rede, Endereço para SNAT ou DNAT e Ação) e, opcionalmente, preenche os campos Porta e Comentário; VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede, Ação ou Endereço, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Regras de NAT - Apagar Regra (UC_03) Descrição: Este caso de uso descreve a deleção de uma regra de NAT.

41 40 Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra; Fluxo Principal: I. O ator acessa a opção de regras de NAT; II. O sistema apresenta a tela de manutenção das regras de NAT; III. O ator seleciona a regra a ser apagada; IV. O ator seleciona a opção Apagar; V. O sistema exclui a regra selecionada; Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de NAT - Editar Regra (UC_04) Descrição: Este caso de uso descreve a edição (alteração) de uma regra de NAT. Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra;

42 41 Fluxo Principal: I. O ator acessa a opção de regras de NAT; II. O sistema apresenta a tela de manutenção das regras de NAT; III. O ator edita informações de uma ou mais regras; IV. O ator confirma as alterações. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de NAT - Inserir Nova Regra (UC_05) Descrição: Este caso de uso descreve a inserção de uma nova regra de NAT um nível acima de outra já existente, com o objetivo de determinar a ordem (sequência) de execução das regras. Ator: Administrador Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002); Para o caso de inclusão de novas regras, é necessário que as interfaces de rede (RN_003), endereços de rede/host (RN_004) e os serviços de rede (RN_005) estejam previamente cadastrados.

43 42 Fluxo Principal: I. O ator acessa a opção de regras de NAT; II. O sistema apresenta a tela de manutenção das regras de NAT; III. O ator seleciona a opção Inserir; IV. O sistema insere uma nova regra acima da regra selecionada e apresenta os campos a serem preenchidos para a nova regra (Estado, Log, Origem, Destino, Serviços de Rede, Ação, Endereço, Porta e Comentário); V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Log, Origem, Destino, Serviços de Rede, Endereço para SNAT ou DNAT e Ação) e, opcionalmente, preenche os campos Porta e Comentário; VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede, Ação ou Endereço, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Regras de Filtro - Criar Nova Regra (UC_06) Descrição: Este caso de uso descreve a criação de uma nova regra de filtragem de pacotes. Ator: Administrador Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002);

44 43 Para o caso de inclusão de novas regras, é necessário que as interfaces de rede (RN_003), endereços de rede/host (RN_004) e os serviços de rede (RN_005) estejam previamente cadastrados. Fluxo Principal: I. O ator acessa a opção de regras de Filtro; II. O sistema apresenta a tela de manutenção das regras de Filtro; III. O ator seleciona a opção Nova; IV. O sistema apresenta os campos a serem preenchidos para a nova regra (Estado, Log, Origem, Destino, Serviços de Rede, Ação e Comentário); V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Log, Origem, Destino, Serviços de Rede e Ação) e, opcionalmente, preenche o campo Comentário; VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede ou Ação, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Regras de Filtro - Apagar Regra (UC_07) Descrição: Este caso de uso descreve a deleção de uma regra de Filtro. Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra cadastrada.

45 44 Fluxo Principal: I. O ator acessa a opção de regras de Filtro; II. O sistema apresenta a tela de manutenção das regras de Filtro; III. O ator seleciona a regra a ser apagada; IV. O ator seleciona a opção Apagar; V. O sistema exclui a regra selecionada. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de Filtro - Editar Regra (UC_08) Descrição: Este caso de uso descreve a edição (alteração) de uma regra de Filtro. Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra cadastrada; Fluxo Principal: I. O ator acessa a opção de regras de Filtro; II. O sistema apresenta a tela de manutenção das regras de Filtro; III. O ator edita informações de uma ou mais regras; IV. O ator confirma as alterações;

46 45 Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de Filtro - Inserir Nova Regra (UC_09) Descrição: Este caso de uso descreve a inserção de uma nova regra de Filtro um nível acima de outra já existente, com o objetivo de determinar a ordem (sequência) de execução das regras. Ator: Administrador Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002); Para o caso de inclusão de novas regras, é necessário que as interfaces de rede (RN_003), endereços de rede/host (RN_004) e os serviços de rede (RN_005) estejam previamente cadastrados. Fluxo Principal: I. O ator acessa a opção de regras de Filtro; II. O sistema apresenta a tela de manutenção das regras de Filtro; III. O ator seleciona a opção Inserir; IV. O sistema insere uma nova regra acima da regra selecionada e apresenta os campos a serem preenchidos para a nova regra (Estado, Log, Origem, Destino, Serviços de Rede, Ação, e Comentário); V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Log, Origem, Destino, Serviços de Rede e Ação) e, opcionalmente, preenche o campo Comentário;

47 46 VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede e Ação, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Regras de Controle de Banda - Criar Nova Regra (UC_10) Descrição: Este caso de uso descreve a criação de uma nova regra de controle de banda. Ator: Administrador Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002); Para criar uma regra de Controle de Banda, é necessário que as interfaces (RN_003), os endereços (RN_004), serviços (protocolos, portas e bit de SYN) (RN_005) e velocidades de tráfego (/etc/fwall/defaults/user_rates) estejam previamente cadastrados (RN_007). Fluxo Principal: I. O ator acessa a opção de regras de controle de banda; II. O sistema apresenta a tela de manutenção das regras de controle de banda; III. O ator seleciona a opção Nova; IV. O sistema apresenta os campos a serem preenchidos para a nova regra (Estado, Origem, Destino, Serviços de Rede e Velocidade);

48 47 V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Origem, Destino, Serviços de Rede e Velocidade); VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede ou Velocidade, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Regras de Controle de Banda - Apagar Regra (UC_11) Descrição: Este caso de uso descreve a deleção de uma regra de controle de banda cadastrada. Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra cadastrada; Fluxo Principal: I. O ator acessa a opção de regras de controle de banda; II. O sistema apresenta a tela de manutenção das regras de controle de banda; III. O ator seleciona a regra a ser apagada; IV. O ator seleciona a opção Apagar; V. O sistema exclui a regra selecionada. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso.

49 Manter Regras de Controle de Banda - Editar Regra (UC_12) Descrição: Este caso de uso descreve a edição (alteração) de uma regra de Controle de Banda. Ator: Administrador Pré-condição: Para usar esta funcionalidade, é necessário que exista pelo menos uma regra; Fluxo Principal: I. O ator acessa a opção de regras de Controle de Banda; II. O sistema apresenta a tela de manutenção das regras de Controle de Banda; III. O ator edita informações de uma ou mais regras; IV. O ator confirma as alterações. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Regras de Controle de Banda - Inserir Nova Regra (UC_13) Descrição: Este caso de uso descreve a inserção de uma nova regra de Controle de Banda um nível acima de outra já existente, com o objetivo de determinar a ordem (sequência) de execução das regras. Ator: Administrador

50 49 Pré-condição: Para quaisquer operações com as regras de firewall, é necessário que o sistema tenha sido previamente configurado (RN_002); Para o caso de inclusão de novas regras, é necessário que as interfaces de rede (RN_003), endereços de rede/host (RN_004) e os serviços de rede (RN_005) estejam previamente cadastrados. Fluxo Principal: I. O ator acessa a opção de regras de Controle de Banda; II. O sistema apresenta a tela de manutenção das regras de Controle de Banda; III. O ator seleciona a opção Inserir; IV. O sistema insere uma nova regra acima da regra selecionada e apresenta os campos a serem preenchidos para a nova regra (Estado, Origem, Destino, Serviços de Rede e Velocidade); V. O ator seleciona os campos com as informações previamente cadastradas (Estado, Origem, Destino, Serviços de Rede e Velocidade) e, opcionalmente, preenche o campo Comentário; VI. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Origem, Destino, Serviços de Rede e Velocidade, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Lista Negra de IPs - Criar Novo Registro (UC_14) Descrição: Este caso de uso descreve a criação de um novo registro na lista negra de endereços IP.

51 50 Ator: Administrador Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal: I. O ator acessa a opção de Lista Negra de Endereços IP; II. O sistema apresenta a tela de manutenção dos registros da Lista Negra; III. O ator seleciona a opção Novo; IV. O sistema apresenta os campos a serem preenchidos para o novo registro (Estado, Log e Endereço); V. O ator seleciona o conteúdo para os campos Estado e Log; VI. O ator preenche o campo Endereço com o número IP a ser bloqueado; VII. O ator confirma as opções selecionadas e/ou preenchidas. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Estado e Endereço, o sistema apresentará a mensagem "Campo em branco não permitido" Manter Lista Negra de IPs - Apagar Registro (UC_15) Descrição: Este caso de uso descreve a deleção de um registro da lista negra de endereços IP. Ator: Administrador

52 51 Pré-condição: É necessário que exista pelo menos um registro cadastrado na lista negra de endereços IP. Fluxo Principal: I. O ator acessa a opção de Lista Negra de Endereços IP; II. O sistema apresenta a tela de manutenção dos registros da Lista Negra; III. O ator seleciona o registro a ser apagado; IV. O ator seleciona a opção Apagar; V. O sistema exclui o registro selecionado. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Manter Lista Negra de IPs - Editar Registro (UC_16) Descrição: Este caso de uso descreve a edição (alteração) de um registro da lista negra de endereços IP. Ator: Administrador Pré-condição: É necessário que exista pelo menos um registro cadastrado na lista negra de endereços IP.

53 52 Fluxo Principal: I. O ator acessa a opção de Lista Negra de Endereços IP; II. O sistema apresenta a tela de manutenção dos registros da Lista Negra; III. O ator edita informações de um ou mais registros; IV. O ator confirma as alterações. Fluxo de Exceção: Se o ator não selecionar ou não preencher um ou mais dos seguintes campos: Estado e Endereço, o sistema apresentará a mensagem "Campo em branco não permitido" Gerar Script de Firewall (UC_17) Descrição: Este caso de uso descreve a funcionalidade de geração do script de firewall. Ator: Administrador Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal: I. O ator acessa a opção Refazer; II. O sistema lê e insere no script de firewall os seguintes recursos configurados pelo ator: a. Proteção default; b. Lista negra de endereços IP, caso exista; c. Regras de NAT, caso exista; d. Regras de filtragem de pacotes, caso exista;

54 53 e. Regras de DMZ para a LAN, caso tenha sido configurado; f. Comandos de usuário, caso tenham sidos configurados. III. O sistema configura o script de firewall como serviço, caso o ator tenha selecionado esta opção; IV. O sistema lê as configurações de controle de banda e gera arquivo de configuração do CBQ do Linux; V. O sistema grava o script de firewall, sobrescrevendo o antigo, caso exista; VI. O sistema emite a mensagem "Firewall configurado com sucesso". Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Ativar Firewall (UC_18) Descrição: Este caso de uso descreve a funcionalidade de ativação do firewall. Ator: Administrador Pré-condição: É necessário que o script de firewall tenha sido previamente gerado. Fluxo Principal: I. O ator acessa a opção Executar; II. O sistema executa o script de firewall; III. O sistema emite a mensagem "Firewall iniciado com sucesso". Fluxo de Exceção: Não há fluxo de exceção para este caso de uso.

55 Desativar Firewall (UC_19) Descrição: Este caso de uso descreve a funcionalidade de desativação do firewall. Ator: Administrador Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal: I. O ator acessa a opção Parar; II. O sistema emite os comandos de parada do firewall; III. O sistema emite a mensagem "Firewall agora parado". Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Monitorar o Estado do Firewall (UC_20) Descrição: Este caso de uso descreve a funcionalidade de monitoramento do firewall. Ator: Administrador

56 55 Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal: I. O ator acessa a opção Estado; II. O sistema mostra a janela de monitoramento do estado do firewall. Fluxo Alternativo: I. Caso o ator deseje analisar estaticamente as regras de firewall, deverá congelar a visualização dinâmica, selecionando a opção Parar a atualização; II. Caso o ator tenha congelado a visualização das regras de firewall e deseje voltar ao modo de visualização dinâmica, deverá selecionar a opção Iniciar a atualização. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Monitorar Eventos do Firewall (UC_21) Descrição: Este caso de uso descreve a funcionalidade de monitoramento dos eventos de firewall. Ator: Administrador Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal:

57 56 I. O ator acessa a opção Mensagens de Log do Firewall; II. O sistema mostra as janelas de monitoramento de eventos do firewall (LogViewer: Raw Mode e Easy View). Fluxo de Exceção: Não há fluxo de exceção para este caso de uso Forçar Backup (UC_22) Descrição: Este caso de uso descreve a funcionalidade de geração forçada de backup de todas as configurações do sistema. Ator: Administrador Pré-condição: Não há pré-condição para este caso de uso. Fluxo Principal: I. O ator acessa a opção Backup; II. O sistema apresenta a tela com opções de backup, bem como, a visualização da lista de arquivos de backup existentes; III. O ator acessa a opção Forçar Backup; IV. O sistema realiza o backup de todas as suas configurações e atualiza a lista de backups disponíveis; V. O sistema apresenta a mensagem "Backup salvo com sucesso". Fluxo de Exceção: Não há fluxo de exceção para este caso de uso.

58 Restaurar Backup (UC_23) Descrição: Este caso de uso descreve a funcionalidade de restauração de backup de todas as configurações do sistema. Ator: Administrador Pré-condição: Para restaurar um backup, é necessário que exista pelo menos um arquivo de backup no diretório de backup do sistema (RN_08). Fluxo Principal: I. O ator acessa a opção Backup; II. O sistema apresenta a tela com opções de backup, bem como, a visualização da lista de arquivos de backup existentes; III. O ator seleciona o arquivo de backup a ser restaurado a partir da lista exibida; IV. O ator acessa a opção Restaurar Backup; V. O sistema restaura todas as suas configurações a partir do arquivo selecionado; VI. O sistema apresenta a mensagem "Backup recuperado com sucesso". Fluxo de Exceção: Não há fluxo de exceção para este caso de uso.

59 Apagar Backup (UC_24) Descrição: Este caso de uso descreve a funcionalidade de deleção de arquivo de backup do sistema. Ator: Administrador Pré-condição: Para excluir um backup, é necessário que exista pelo menos um arquivo de backup no diretório de backup do sistema (RN_08). Fluxo Principal: I. O ator acessa a opção Backup; II. O sistema apresenta a tela com opções de backup, bem como, a visualização da lista de arquivos de backup existentes; III. O ator seleciona o arquivo de backup a ser apagado a partir da lista exibida; IV. O ator acessa a opção Apagar Backup; V. O sistema solicitação confirmação de deleção de backup; VI. O ator confirma a operação; VII. O sistema apresenta a mensagem "Arquivo apagado com sucesso"; VIII. O sistema atualiza a lista de backups disponíveis. Fluxo de Exceção: Não há fluxo de exceção para este caso de uso.

60 DIAGRAMA DE FLUXO DE DADOS (DFD) O DFD é usado para desenvolver modelos do domínio de informação e domínio funcional. Um diagrama de fluxo de dados, quando bem detalhado, dá uma visão geral sobre o sistema, com suas principais entradas, processamentos e saídas. É um artefato de engenharia de software fundamental para dar a noção de como funciona o sistema como um todo integrado pelas suas redes de processos. O DFD adota uma visão entrada-processo-saída de um sistema. Isto é, os objetos de dados entram no software, são transformados por elementos de processamento e os objetos de dados resultantes saem do software. Os objetos de dados são representados por setas rotuladas e as transformações, por círculos 2 (também chamados bolhas) [...] (PRESSMAN, 2011, p.669); O diagrama de fluxo de dados do software XFwall mostra os principais processos do sistema, bem como, suas inter-relações, facilitando, de uma forma macro, o entendimento das principais funcionalidade do software. 2 Apesar dessa referência mencionar círculos para representar processos, outra possibilidade são retângulos, conforme usado no DFD aqui elaborado, e que está de acordo com funcionalidade disponível na ferramenta SmartDraw 2010 usada para construir o DFD deste trabalho.

61 FIGURA 15 - Diagrama de Fluxo de Dados (DFD) 60

62 MODELO ENTIDADE RELACIONAMENTO (MER) O MER (Modelo Entidade Relacionamento) é um modelo conceitual com alto grau de abstração, que representa a forma como os dados do sistema estão relacionados. Representa as tabelas do sistema e seus atributos, bem como, os relacionamentos entre essas tabelas. O Modelo de Entidades e Relacionamentos é um modelo abstrato cuja finalidade é descrever, de maneira conceitual, os dados a serem utilizados em um sistema de informações ou que pertencem a um domínio. A principal ferramenta do modelo é sua representação gráfica, o Diagrama Entidade Relacionamento. Normalmente, o modelo e o diagrama são conhecidos por suas siglas: MER e DER. O modelo E-R é chamado de modelagem conceitual, cujo objetivo é representar de uma forma abstrata, independente de implementação em computador, os dados que serão armazenados no banco de dados. O Diagrama Entidade Relacionamento é um modelo diagramático que descreve o modelo de dados de um sistema com alto nível de abstração. Ele é a principal representação do Modelo de Entidades e Relacionamentos. Sua maior aplicação é para visualizar o relacionamento entre tabelas de um banco de dados, no qual as relações são construídas através da associação de um ou mais atributos destas tabelas. (http://nati57.wordpress.com/2009/01/14/mer-modelo-de-entidades-erelacionamentos-e-der-diagrama-entidade-relacionamento/). O Modelo Entidade Relacionamento não representa como os dados serão armazenados no computador, nem qual tecnologia será usada para esse fim. Não especifica se serão usados bancos de dados relacionais ou arquivos para armazenamento físico das tabelas do sistema. No caso do XFwall, observou-se que a persistência dos dados é feita através de arquivos texto plano (ASCII). Não houve a utilização de servidor de banco de dados para armazenar as configurações do sistema.

63 FIGURA 16 - Modelo Entidade Relacionamento (MER) 62

64 63 5. CONCLUSÃO A inspeção do código-fonte do software XFwall, no processo de engenharia reversa do sistema, para a elaboração deste trabalho, resultou na observação dos seguintes aspectos concernentes aos métodos e técnicas usados no processo de desenvolvimento da ferramenta: O software XFwall é uma mescla de linguagens de programação, sendo estas: C padrão, C++ e scripts Bash. No entanto, apesar de usar uma linguagem orientada a objetos, o C++, não foram adotados os modernos padrões de projeto (design patterns), nem as modernas IDEs (interfaces gráficas integradas para desenvolvimento de sistemas); A versão mais recente do software (1.4-43), disponível em acessado em 24/10/2011, adota interface gráfica estilo desktop KDE/Linux, o que está a um passo atrás das modernas interfaces web 2.0, que permitem acesso remoto via Internet, através do uso de navegadores Internet (browsers); Arquivos em formato texto puro (ASCII) são adotados como repositório de dados, ao invés de um servidor de banco de dados relacional; O XFwall é um software especialista na geração e gerenciamento de scripts de firewall IPtables, não dando suporte a recursos de proxy HTTP e FTP, nem a gateway de s com recursos de antivírus e antispam, o que o tornaria uma suíte mais completa no que se refere a uma ferramenta avançada de segurança de redes TCP/IP. Diante do exposto acima, conclui-se este trabalho sugerindo as seguintes melhorias para o software XFwall - Firewall Software For Linux: a. A refatoração do código-fonte, adotando-se os modernos padrões de desenvolvimento de software, seguindo os atuais padrões de projeto (design patterns), com a adoção de modularidade e nomenclatura de classes e métodos

65 64 mais compatíveis com os processos atuais de desenvolvimento de sistemas. Isto facilitaria a intervenção de novos desenvolvedores no código-fonte do software; b. A adoção da linguagem de programação orientada a objetos Java, com interface web, usando JSF e Primefaces para interface rica (RIA), por exemplo. Isto não apenas tornaria o sistema mais portável entre plataformas (pelo menos a interface de administração do sistema, já que scripts de firewall IPtables só rodam em Linux), como também facilitaria a entrada de novos desenvolvedores para a equipe de desenvolvimento, pela adoção de uma linguagem mais popular na Internet; c. A adoção de um servidor de banco de dados relacional, como o PostgreSQL ou o MySQL, por exemplo, como repositório principal de dados do sistema; d. O lançamento de uma versão do XFwall com novas características, que o elevem à categoria de suíte de segurança, através da adição de recursos como serviço de proxy HTTP e FTP, bem como o serviço de gateway de , com os recursos de antivírus e antispam. Vale ressaltar que este trabalho não teve a pretensão de realizar uma engenharia reversa completa do software XFwall, já que trata-se de um sistema complexo e que o tempo para a realização desta empreitada não permitiu aprofundar-se nos meandros de um trabalho completo dessa natureza. Portanto, somente os principais processos foram documentados, o que já dá uma boa visão sistêmica, bem como a visão dos principais pontos de acesso no código-fonte, servindo como um bom ponto de partida para os desenvolvedores que se propuserem a contribuir com a atualização e aprimoramento da ferramenta.

66 65 REFERÊNCIAS DATE, C. J. Introdução a Sistemas de Bancos de Dados; tradução: Daniel Vieira. Rio de Janeiro: Elsevier, Disponível em Acesso em 21/10/2011. Disponível em Acesso em 13/10/2011. Disponível em Acesso em 18/09/2011. Disponível em Acesso em 21/10/2011. PRESSMANN, Roger S. Engenharia de Software: uma abordagem profissional / Roger S. Pressmann; tradução Ariosvaldo Griesi, Mario Moro Fecchio. 7. ed. Porto Alegre: AMGH, SBROCCO, José Henrique Teixeira de Carvalho. UML 2.3: teoria e prática / José Henrique Teixeira de carvalho Sbrocco. 1. ed. São Paulo: Érica, SOMMERVILLE, Ian. Engenharia de Software; tradução: Selma Shin Shimizu Melnikoff, Reginaldo Arakaki, Edílson de Andrade Barbosa. 8. ed. São Paulo: Pearson Addison - Wesley, 2007.

67 66 GLOSSÁRIO Aide ASCII Ataque de Root Kit Backup Biblioteca Newt Cheops Daemon DNS Dsniff Echo Ethereal Finger Firewall FTP Hacker Ferramenta de verificação de integridade do sistema de arquivos. O AIDE usa criptografia MD5 para gerar e validar os arquivos do sistema Acrônimo para American Standard Code for Information Interchange, que em português significa "Código Padrão Americano para o Intercâmbio de Informação") é uma codificação de caracteres de oito bits baseada no alfabeto inglês. É o ataque através de arquivos capazes de esconder-se nos sistemas operacionais para que usuários mal intencionados possam fazer o que quiserem quando bem entender sem serem percebidos. Cópia dos dados de um dispositivo de armazenamento para outro, para que possam ser restaurados em caso da perda dos dados originais. Biblioteca de programação para modo texto colorido, com interface com usuário baseada em controles. Combinação de uma variedade de ferramentas de rede para prover uma interface simples aos usuários e administradores de sistemas para um gerenciamento e acesso da sua rede. Programa que roda em segundo plano na memória do sistema operacional. Espécie de sistema para a tradução de endereços de IP para nomes de domínios. Sniffer de rede para o sistema operacional GNU/Linux. Instrução que envia para a saída qualquer informação, podendo conter texto, números ou variáveis. Programa que fareja o que trafega pela rede. Usado frequentemente por administradores de rede para identificarem pacotes estranhos passeando pela rede ou por pessoas mal intencionadas para tentar descobrir informações importantes, especialmente senhas. É um protocolo e comando de troca de informação sobre utilizadores. Espécie de sistema que tem a função de controlar o fluxo de pacotes enviados e recebidos de um host ou redes, normalmente com o intuito de evitar o acesso nocivo a estes. Protocolo de Transferência de Arquivos. São os indivíduos que estudam, elaboram e/ou modificam software e hardware de computadores, seja desenvolvendo funcionalidades novas, seja adaptando as antigas.

68 67 Host Ipchains Ipfwadm Iptables Iptraf Kernel Máscara de Rede MySQL NAT Nessus Nmap Endereço de qualquer dispositivo ou computador conectado a uma rede. Ferramenta para filtragem de pacotes para versões anteriores ao kernel 2.4 do Linux. Uma das primeiras ferramentas de adminsitração de firewall do Linux, que suporta regras apenas com leitura de cabeçalhos de pacotes. Foi substituída pelo IPchains, que posteriormente foi substituído pelo IPtables. É, atualmente, a ferramenta mais completa para administrar regras de filtragem de pacotes, embutida no kernel do Linux. É um utilitário monitorador de tráfego de rede, baseado em console, para Linux. É o componente central do sistema operativo da maioria dos computadores. É um número de 32 bits usado para separar em um IP a parte correspondente à rede pública, à subrede e aos hosts. Sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL. Network Address Translation, é um protocolo que faz a tradução dos endereços Ip e portas TCP da rede local para a Internet e virce-versa. É um software de verificação de falhas/vulnerabilidades de segurança. É um escaneador de hosts que usa recursos avançados para verificar o estado do seu alvo. PostgreSQL Sistema gerenciador de banco de dados objeto relacional, desenvolvido como projeto software livre. Proxy Radius rlogin Root É um servidor que atende a requisições internas, processando-as e devolvendo o resultado para o host que a solicitou, intermediando os acessos externos. Remote Authentication Dial In User Service - é um protocolo para aplicações para acesso à rede de computadores e mobilidade através de rede IP. É um serviço de login remoto que conecta a máquina cliente na máquina servidora de forma que a sua utilização é transparente para o usuário. Também chamado de super usuário, é o nome dado ao usuário que pode controlar tudo em todo a máquina local (usuário administrador do sistema operacional).

69 68 Root Kit Security Focus Servidor DNS SMTP Sniffit Snort Scripts POP3 TcpDump Telnet TripWire UML Webspy Pacotes para a substituição dos principais binários de diversos sistemas operacionais. Foco de segurança. É um host com uma base de dados que traduz domínios de nomes para endereços IP na Internet e virce-versa. Simple Mail Transfer Protocol é o protocolo padrão utilizado para transfência de correspondências eletrônicas entre hosts. Ferramenta de sniffer do Linux que permite passar parâmetros que especifiquem melhor o que monitorar e gravar do tráfego da rede. Muito eficiente para gravar dados de protocolos não criptografados, em busca de contas de usuários e senhas. É um sistema de IDS (Intrusion Detect System Sistema de Detecção de Intrusão) que funciona tanto pra manter a segurança como para monitorar o que se passa pela sua rede. Uma sequência de comandos e tarefas a serem executadas linha após linhas. É um protocolo utilizado no acesso remoto a uma caixa de correio eletrônico, para baixar as mensagens. É uma ferramenta utilizada para monitorar os pacotes que trafegam em uma rede de computadores. É um protocolo de conexão remota a hosts de rede, a fim de se obter um interpretador de comando para operar o sistema à distância. Ferramenta para verificação da integridade de arquivos, detectando mudanças não autorizadas ou não esperadas nos principais arquivos do sistema. É uma linguagem que permite que desenvolvedores visualizem os produtos de seus trabalhos de forma diagramática e textual padronizada. Ferramenta para monitoramento em tempo real de acessos à Internet e uso de .

70 69 APÊNDICE A - A HISTÓRIA DO XFWALL A idéia do XFwall surgiu quando, em um certo dia do ano de 2000, o diretor de soluções da empresa StarLink Conectividade Ltda encontrou-se tentando descobrir o que estava acontecendo com o servidor GNU/Linux da empresa. Havia uma intensa atividade de disco suspeita, causada por um tráfego Internet que não era parte das operações normais daquela máquina. Além do mais, comandos como ps, top, netstat e lsof não respondiam de maneira convincente ou coerente, o que levou à conclusão de que uma invasão estava em andamento. Ou seja, um ataque de root kit estava em curso. Vários comandos de administração do servidor foram substituídos pelos do hacker mal intencionado, fazendo crer que, a despeito da atividade anormal do disco rígido (HD) da máquina, tudo estava normal. Naquele momento, soube-se que não se podia confiar em qualquer informação que aquela máquina fornecesse, e que alguém lá fora estava controlando aquele servidor. Mais tarde, descobriu-se que a base de dados de clientes da empresa desapareceu. Tudo o que foi encontrado foi um arquivo, colocado no diretório raíz, com o nome "internet", cujo conteúdo era a senha do usuário root (a conta que tem poderes de administrador do sistema). O intruso queria certificar-se de que o arquivo seria encontrado, passando uma mensagem desmoralizadora. Daquele dia em diante, o diretor da StarLink decidiu ter uma visão mais aprofundada das ameaças à segurança da pilha de protocolos TCP/IP, através da leitura de vários livros sobre segurança, arquivos README e HOWTOs, o monitoramento de listas de sobre segurança (como as listas da SecurityFocus) e assim por diante. Desta forma, entrou em contato com ferramentas como: iptraf, nmap, tcpdump, ethereal, sniffit, dsniff, nessus, cheops, aide, tripwire, ipfwadm, ipchains, iptables, scripts de firewall espalhados pela Internet, arquivos do diretório /proc/sys/net/ipv4/, netcat, root kits, webspy, e uma série de outros recursos. Como resultado, aprendeu-se que uma máquina Linux segura repousa sobre vários pontos estratégicos, como: Múltiplas partições de disco com direitos de montagem apropriados a cada uma delas; restrições de recursos tais como: cota de disco, limites de uso de memória e limites de número (quantidade) de processos; Um kernel compilado apenas com o que realmente se precisa; Uma instalação de pacotes com seleção criteriosa (somente o mínimo possível, sem softwares supérfluos instalados);

71 70 Atualizações constantes de pacotes de software; Somente contas de usuários e de sistema realmente necessários, com a adoção de senhas fortes; O mínimo possível de permissões para contas de usuários e de sistema; Somente portas TCP/UDP realmente necessárias devem ser abertas (nenhum serviço fraco ou sem utilidade, como telnet, ftp, rlogin, echo, finger, etc); Regras rígidas de filtragem de pacotes; Uma ferramenta de verificação de integridade, como a aide ou tripwire, deve ser executada periodicamente a partir de uma mídia confiável; Uma ferramenta de IDS - Intrusion Detection System (Sistema de Detecção de Intrusão), como o Snort reduz grandemente os riscos à segurança; Serviços Internet devem ser distribuídos por entre várias máquinas (embora seja caro, somente um serviço por máquina deveria ser executado sempre que possível); Etc; Desta forma, objetivando construir uma ferramenta de firewall intuitiva para o sistema operacional GNU/Linux, começando com uma versão de linha de comandos, depois evoluindo para um software orientado a menu, e finalmente chegando a uma solução GUI - Graphics User Interface (Interface Gráfica de Usuário), padrão KDE (um dos mais completos gerenciadores de janelas em GNU/Linux), de apontar e clicar com o mouse, foi decidido iniciar um projeto de desenvolvimento de software de firewall, na empresa StarLink, com o nome original de fwall, que teve o seu desenvolvimento iniciado em agosto de 2000, sendo inicialmente uma ferramenta de linha de comando, escrita em linguagem de programação C padrão, sendo mais tarde estendida para uma versão com interface RedHat Newt (toolkit para criação de sistemas orientados a menus coloridos e janelas, em modo texto). Então, a partir de agosto de 2002, a solução evoluiu para o XFwall, um front-end C++/Qt para a antiga versão fwall, que estendeu as funcionalidades deste último. NAT - Network Address Translation (Tradução de Endereços de Rede) e controle de banda foram adicionados somente na versão nomeada XFwall. Todo esse processo levou em torno de 3 (três) anos para ser completamente cumprido, já que havia restrições de tempo que impediam dedicação integral ao projeto. Considerando-se a sequência evolutiva da ferramenta, a primeira versão nasceu como um utilitário de linha de comando, o fwall, que, dependendo dos parâmetros passados, gerava scripts de firewall para a proteção da própria máquina onde rodava. No entanto, com o objetivo de tornar mais intuitiva a ferramenta, criou-se uma outra versão do software orientada a menu, onde foram adicionados recursos de janelas e menus

72 71 da biblioteca Newt da RedHat Inc, uma empresa americana líder em GNU/Linux. A partir desse ponto, a ferramenta ganhou navegação mais intuitiva por meio de janelas e menus de configuração (em modo texto), e ainda chamava-se fwall. Porém, embora a ferramenta de firewall tivesse recursos de filtragem de pacotes, duas melhorias essenciais ainda precisavam ser feitas: uma interface gráfica orientada à mouse e as funcionalidades de NAT - Network Address Translation (Tradução de Endereços de Rede), para compartilhamento de endereços IP e redirecionamento de IP e porta. Assim, a ferramenta ganhou uma interface gráfica padrão Linux/KDE, passando a chamar-se, finalmente, XFwall - Firewall Software For Linux. Após a implantação desse sistema em mais de 40 (quarenta) empresas de médio à grande porte (além da própria StarLink), dentre elas vários órgãos do governo, optou-se por liberá-la como Software Livre, sob a licença GNU General Public License (GPL), através do site de projetos Open Source, Essa liberação para o público ocorreu em julho de A partir de então, o software vem ganhando versões para várias distribuições Linux, como RedHat, Conectiva, Suse, Debian, Ubuntu, Slackware, bem como, um versão inicial do manual, nos idiomas inglês, francês e espanhol, recebendo intervenções significativas em seu código-fonte até janeiro de 2007, e pequenas atualizações apenas para acompanhar a evolução das distribuições Linux, até os dias atuais (setembro de 2011).

73 72 APÊNDICE B - TUTORIAL - BAIXANDO E COMPILANDO O CÓDIGO-FONTE DO XFWALL NO UBUNTU LINUX Ambiente: Distribuição Linux: Ubuntu Kernel: generic Origem do repositório: 1) Instalar o software de controle de versão (svn) no Ubuntu: # apt-get install subversion 2) Instalar o ambiente de desenvolvimento (leia o arquivo INSTALL para detalhes): # apt-get install libqt3-mt-dev g++ automake autoconf libnewt-dev debhelper 3) Criar diretório para cópía do repositório SVN # mkdir /svn # cd /svn 4) Fazer download do repositório do código-fonte do XFwall (checkout) svn# svn co https://xfwall.svn.sourceforge.net/svnroot/xfwall xfwall 5) Visualizando a árvore principal de diretórios svn# tree -L 3

74 73 6) Visualizando o diretório principal svn# cd xfwall/trunk/xfwall svn/xfwall/trunk/xfwall# ls -la 7) Acessando o código-fonte svn/xfwall/trunk/xfwall# cd src svn/xfwall/trunk/xfwall/src# ls -la total 1740 drwxr-xr-x 3 root root :01. drwxr-xr-x 16 root root :04.. -rw-r--r-- 1 root root :01 caddr.cc -rw-r--r-- 1 root root :01 caddr.h -rw-r--r-- 1 root root :01 caddr_popup.cc -rw-r--r-- 1 root root :01 caddr_popup.h -rw-r--r-- 1 root root :01 cbackup.cc -rw-r--r-- 1 root root :01 cbackup.h -rw-r--r-- 1 root root :01 cblist.cc -rw-r--r-- 1 root root :01 cblist.h -rw-r--r-- 1 root root :01 cbwc.cc -rw-r--r-- 1 root root :01 cbwc.h -rw-r--r-- 1 root root :01 cconf.cc -rw-r--r-- 1 root root :01 cconf.h -rw-r--r-- 1 root root :01 cdft_iface.cc -rw-r--r-- 1 root root :01 cdft_iface.h -rw-r--r-- 1 root root :01 cdft_protocol.cc -rw-r--r-- 1 root root :01 cdft_protocol.h

75 74 -rw-r--r-- 1 root root :01 cdft_rate.cc -rw-r--r-- 1 root root :01 cdft_rate.h -rw-r--r-- 1 root root :01 cdft_urate.cc -rw-r--r-- 1 root root :01 cdft_urate.h -rw-r--r-- 1 root root :01 cdistro.cc -rw-r--r-- 1 root root :01 cdistro_desc.cc -rw-r--r-- 1 root root :01 cdistro_desc.h -rw-r--r-- 1 root root :01 cdistro.h -rw-r--r-- 1 root root :01 cfilter.cc -rw-r--r-- 1 root root :01 cfilter.h -rw-r--r-- 1 root root :01 cgroup.cc -rw-r--r-- 1 root root :01 cgroup.h -rw-r--r-- 1 root root :01 chost.cc -rw-r--r-- 1 root root :01 chost.h -rw-r--r-- 1 root root :01 cicheck.cc -rw-r--r-- 1 root root :01 cicheck.h -rw-r--r-- 1 root root :01 ciface.cc -rw-r--r-- 1 root root :01 ciface.h -rw-r--r-- 1 root root :01 clog.cc -rw-r--r-- 1 root root :01 clogconf.cc -rw-r--r-- 1 root root :01 clogconf.h -rw-r--r-- 1 root root :01 clog.h -rw-r--r-- 1 root root :01 cmodule.cc -rw-r--r-- 1 root root :01 cmodule.h -rw-r--r-- 1 root root :01 cnat.cc -rw-r--r-- 1 root root :01 cnat.h -rw-r--r-- 1 root root :01 cprofile.cc -rw-r--r-- 1 root root :01 cprofile.h -rw-r--r-- 1 root root :01 cserv.cc -rw-r--r-- 1 root root :01 cserv.h -rw-r--r-- 1 root root :01 cuser.cc -rw-r--r-- 1 root root :01 cuser.h -rw-r--r-- 1 root root :01 cutil.cc -rw-r--r-- 1 root root :01 cutil.h -rw-r--r-- 1 root root :01 declare.h -rw-r--r-- 1 root root :01 fwall_addr.c -rw-r--r-- 1 root root :01 fwall.c -rw-r--r-- 1 root root :01 fwall.h -rw-r--r-- 1 root root :01 fwall_lmon.c -rw-r--r-- 1 root root :01 fwall_lmon.h -rw-r--r-- 1 root root :01 fwall_mon.c -rw-r--r-- 1 root root :01 fwall_mon.h -rw-r--r-- 1 root root :01 icons.h -rw-r--r-- 1 root root :01 interface.c -rw-r--r-- 1 root root :01 interface.h -rw-r--r-- 1 root root :01 Makefile.am drwxr-xr-x 6 root root :11.svn -rw-r--r-- 1 root root :01 xfwall.cc -rw-r--r-- 1 root root :01 xfwall_distro.cc -rw-r--r-- 1 root root :01 xfwall_distro.h -rw-r--r-- 1 root root :01 xfwall_mon.cc 8) Gerando o script de configuração configure do ambiente svn/xfwall/trunk/xfwall/src# cd..

76 75 svn/xfwall/trunk/xfwall#./bootstrap 9) Executando o script de configuração do ambiente de compilação svn/xfwall/trunk/xfwall#./configure 10) Compilar sistema: # make 11) Instalar o XFwall compilado # make install

77 76 12) Se desejar, criar pacote Debian: # make deb 13) Listando o resultado da construção do pacote: # cd.. # ls -l

78 77 14) Instalando o pacote.deb: # dpkg -i xfwall_ _amd64.deb 15) Fazendo a execução do XFwall: # xfwall

79 78 APÊNDICE C - TUTORIAL - USO DO SOFTWARE XFWALL Cenário Neste tutorial será mostrado como usar o software XFwall para configurar uma máquina de firewall para o seguinte cenário, considerando a figura 1 (Topologia de rede segura usando o XFwall) mostrada abaixo: FIGURA 1 - Topologia de rede segura usando o XFwall Máquina de firewall interno, usada como gateway entre 3 (três) segmentos de rede IP, sendo os segmentos distribuídos da seguinte forma: segmento 2 (interface eth0) voltado para a Internet, com endereço IP , segmento 3 (interface eth2) para as estações de trabalho internas, com endereço de rede IP /24 e segmento 4 (interface eth1) somente para servidores internos da empresa, com endereço do servidor de banco dados sendo o IP Os servidores Internet terão os seguintes endereços IP: IP : Servidor POP3/SMTP; IP : Servidor DNS e Proxy HTTP, HTTPS e FTP; IP : Servidor HTTP (site da empresa).

80 79 Para a configuração acima, o firewall interno deverá implementar as seguintes regras de NAT e de filtro de pacotes: 1. Bloquear todos os acessos entrantes e saintes (técnica bloqueia tudo e libera apenas o necessário); 2. Compartilhar o endereço IP externo (eth0) (válido na Internet), da máquina de firewall interno, com as estações de trabalho (eth2), que estão usando uma faixa de endereços inválidos na Internet (de a ), através de regra de NAT por mascaramento de IP; 3. Permitir que as estações de trabalho acessem sites na Internet (HTTP e HTTPS), bem como façam downloads de arquivos via FTP. Esses acessos só deverão ser permitidos através do servidor proxy, que estará funcionando no IP , porta As estações só poderão fazer consultas ao servidor DNS da empresa no mesmo endereço do servidor proxy; 4. Permitir que as estações de trabalho somente possam enviar (SMTP) e receber s (POP3) através do servidor da empresa, no IP Os acessos a serviços de webmail já estarão liberados pela regra do item 3 acima. As regras acima não exploram todos os recursos de segurança possíveis com a topologia de rede proposta na figura 1 deste tutorial. Servem apenas para demonstrar parcialmente a interação com o software XFwall e o nível de complexidade e flexibilidade do sistema. Não é pretensão deste texto, explorar todas as potencialidades da ferramenta por exigüidade de tempo pelo que se propõe este trabalho. Porém, pode-se ter um bom ponto de partida no uso da ferramenta, a partir dos exemplos aqui demonstrados.

81 80 Executando o XFwall Considerando que o software já esteja instalado, conforme o tutorial do Apêndice B deste trabalho (Tutorial - Baixando e compilando o XFwall), execute o XFwall na linha de comando do Linux, conforme abaixo: # xfwall Você deverá ver a seguinte tela: Figura 16 - Tela principal do XFwall FIGURA 2 - Tela principal do XFwall

82 81 Configuração inicial do sistema Para podermos dar início à personalização do nosso firewall, primeiramente temos de fazer a configuração inicial do sistema, informando: A interface externa do firewall e seu endereço IP; A interface interna e seu endereço IP; A indicação se a máquina será ou não gateway. A tela de configuração inicial do sistema pode ser acessada ou através da opção Configuração / Setup / Configuração Inicial ou clicando na opção Config da barra lateral de opções, ou ainda através da tecla de atalho Ctrl-C. FIGURA 3 - Configuração inicial De acordo com o cenário proposto, a configuração inicial do sistema deverá ser feita conforme mostrado na figura acima. A indicação da máquina como gateway, significa que o kernel do Linux permitirá que os pacotes sejam repassados entre as interfaces de rede. Sem isso, nenhuma regra de NAT ou de filtro de pacotes funcionará. Este é um ponto muito importante.

83 82 Cadastrando as interfaces de rede Para que se possa cadastrar os endereços de host e de rede envolvidos nas regras, bem como as próprias regras, é necessário primeiramente cadastrar as interfaces de rede (dispositivos) envolvidos em tais regras. Para isso, acesse as seguintes opções de menu: Configuração / Personalizado / Interfaces ou use a tecla de atalho Ctrl-I. Feito isso, cadastre as interfaces conforme demonstrado na figura abaixo: FIGURA 4 - Cadastro de interfaces Observe que os nomes de dispositivos, bem como suas velocidades, são préselecionáveis. Ou seja, já fazem parte dos cadastros default do sistema. Porém, os nomes dados às interfaces são digitados pelo usuário. No entanto, não utilize espaços em branco, nem caracteres especiais, pois isso pode causar problemas no software. Procure usar nomes simples e intuitivos, conforme mostrado na figura acima.

84 83 Cadastrando os endereços IP O próximo passo é o cadastramento de todos os endereços que farão parte das regras de NAT e de filtragem de pacotes IP. Para isso, acesse as seguintes opções de menu: Configuração / Personalizado / Endereços ou use a tecla de atalho Ctrl-A. Então, cadastre os endereços envolvidos no cenário descrito anteriormente, conforme mostra a figura abaixo: FIGURA 17 - Cadastro de endereços Alguns pontos importantes devem ser observados na figura acima: Quando trata-se de um único endereço IP, o XFwall mostra um ícone de host. Quando o número IP representa uma faixa de endereços, como é o caso do /24 e do any/0, o sistema mostra um ícone de rede de computadores. Observe que quando não podemos informar um IP específico ou uma faixa de IPs, usa-se any/0, significando qualquer IP com qualquer máscara de rede; Observe que a coluna Tipo só aceita o valor ip na versão atual do XFwall, que é a versão A outra opção seria mac (endereço físico da interface de rede), mas este recurso ainda não está disponível no sistema;

85 84 Observe que houve coincidência de nomes de interface de rede com nomes de endereços, como foi o caso de Estacoes e Internet. Isso não é problema, pois trata-se de campos distintos; Observe que o endereço IpExterno, na coluna Local, foi marcado com um ícone na cor verde (verdadeiro), indicando que o IP é um endereço IP atribuído à interface eth0 da própria máquina de firewall (por isso a indicação Local = verdadeiro). Sem isso, as regras de NAT por mascaramento, para compartilhamento do IP com a rede interna não serão geradas corretamente, resultando em bloqueio de todos os acessos da rede interna, não importando que regras de filtro tenham sido definidas.

86 85 Visualizando a tabela de serviços Embora, para o exemplo aqui proposto, não precisemos cadastrar nenhum serviço novo que já não faça parte da tabela default de serviços do sistema, mostramos abaixo a referida tabela: FIGURA 6 - Cadastro de serviços de rede Para visualizar o cadastro de serviços acima, acesse as seguintes opções de menu: Configuração / Personalizado / Serviços ou use a tecla de atalho Ctrl-S. A tabela de serviços de rede do XFwall já vem pré-configurada com a maioria dos serviços mais comuns, como navegação em páginas Internet (http e https), download de arquivos via FTP ativo e passivo (ftp_data, ftp_ctrl e ftp_pasv), consultas simples a servidores DNS (dns_query), transferência de zonas DNS (dns_xfer), repasse de consultas entre servidores DNS (dns2dns), MSN (msn), envio e recebimento de s (smtp e pop-3), servidor proxy SQUID (squid), e vários outros. Observe, ainda, que cada serviço default do sistema, na primeira coluna, vem com um ícone circular cuja cor dá uma idéia de quão perigoso o serviço pode ser. Assim, temos a cor verde para serviços mais seguros (https, por exemplo), a cor amarela para serviços

87 86 que devem ser usados com cuidado (http e smtp, por exemplo) e a cor vermelha para serviços normalmente perigosos (ftp_data, ftp_ctrl e ftp_pasv, por exemplo). Também pode ocorrer (e isso de fato é normal que ocorra) de ser necessário criar um serviço novo nessa tabela, como por exemplo um serviço para transmissão das declarações anuais de Imposto de Renda para a Receita Federal. Neste caso, normalmente a Receita Federal disponibiliza em seu site as informações necessárias para a configuração do firewall.

88 87 Cadastrando a regra de NAT Após termos cadastrado todas as interfaces de rede e todos os endereços IP de host e de rede, já podemos partir para o cadastramento das regras de NAT e de filtro. Agora, vamos definir a única regra de NAT necessária para o nosso cenário, conforme especificado anteriormente. Para isso, clique na opção NAT na barra lateral de opções do sistema e cadastre a regra, conforme mostrado na figura abaixo: FIGURA 18 - Regra de NAT por mascaramento de IP A regra de NAT acima define que as estações de trabalho da rede interna, cujos endereços IP são inválidos na Internet ( /24), ao cruzarem a máquina de firewall interno, recebam o endereço IP da placa externa (eth0) do firewall (IP ). Ou seja, todas as estações de trabalho serão mascaradas com o endereço IP externo do firewall. Isso apresenta duas vantagens: Qualquer número de estações de trabalho poderá compartilhar um único endereço IP válido na Internet e navegar sem problemas. Isso economiza IP ou viabiliza o uso de IPs escassos por um grande número de computadores; Como as estações estarão escondidas atrás do endereço válido (mascaramento de IP), isso dificulta um ataque direto às estações de trabalho da rede interna, já que o atacante não sabe qual o endereço real e,mesmo que saiba, não conseguirá rotear pacotes para os IPs inválidos da rede interna. Ou seja, temos aqui uma proteção básica contra ataques diretos vindos da Internet,

89 88 embora isso não substitua a proteção por filtro de pacotes, que será implementado no passo seguinte. Observe que cada linha de regra pode ser ativada ou desativada, através da coluna Estado, sem a necessidade de excluir e re-incluir regras.

90 89 Cadastrando as regras de filtro As regras de filtro de pacotes geralmente são conhecidas como regras de firewall. São essas regras que efetivamente bloqueiam ou permitem os acessos. As regras de NAT apenas convertem determinados endereços IP em outros (mascaramento ou SNAT) ou fazem o redirecionamento de IPs e portas (DNAT). Para cadastrar as regras de filtro de pacotes, clique na opção Filtro na barra lateral de opções do sistema e cadastre as regras, conforme mostrado na figura abaixo: FIGURA 8 - Regras de filtragem de pacotes IP Observe que com apenas duas linhas de regra de filtro conseguimos cumprir o que foi determinado no cenário anteriormente definido, pois (regra 0001) as estações de trabalho terão que cadastrar o endereço do proxy e sua porta ( :3128) em seus navegadores Internet (browsers) para conseguirem navegar pela Internet e baixar arquivos por FTP via browser. Também, a regra 0001 determina que somente o servidor DNS (mesmo endereço do proxy) poderá ser usado para consultar nomes de domínio Internet. A regra 0002 determina que as estações de trabalho só conseguirão usar os serviços SMTP e POP-3 (envio e recebimento de s, respectivamente) do servidor Envio e recebimento de s via webmail está liberado através da regra 0001 pelo proxy.

91 90 Observe que cada linha de regra pode ser ativada ou desativada, através da coluna Estado, sem a necessidade de excluir e re-incluir regras.

92 91 Gerando o script de firewall Agora, finalmente, podemos gerar nosso script de firewall. Para tanto, basta clicar na opção Refazer, na barra lateral de opções do sistema. Com isso, nosso firewall está pronto para ser ativado. A tela abaixo confirma que o script foi gerado com sucesso. FIGURA 9 - Geração do script de firewall Observe que logo após você comandar a geração do script de firewall, é mostrada a janela de status de comando do sistema, conforme mostrado abaixo: FIGURA 10 - Estado dos comandos A figura 10 mostra não apenas que o script de firewall foi gerado, mas também que o script foi registrado como serviço para inicialização automática pelo Linux, no momento do boot da máquina de firewall.

93 92 Visualizando o script gerado A figura abaixo mostra um pequeno trecho do script de firewall gerado pelo sistema (apenas a regra de filtragem 0001). Para analisá-la, é necessário ter conhecimento de iptables do Linux. O acesso à visualização do script pode ser feito através da opção Controle / Script de Firewall ou pela tecla de atalho Ctrl-Alt-P. Figura 20 - Trecho do script de firewall gerado FIGURA 11 - Trecho do script de firewall gerado Observe que o XFwall coloca uma legenda no módulo de script, visando facilitar a localização visual do trecho de interesse: # Rule: 0001 Estacoes -> DnsProxyServer ( dns_query squid) ACCEPT O trecho acima pode ser lido assim: quando as Estações se dirigirem ao servidor DnsProxyServer, na portas (serviços de rede) dns_quey e squid, aceite e libere o acesso.

94 93 Ativando o firewall Neste ponto, podemos finalmente ativar o firewall com todas as suas proteções default, acrescentado com nossas regras personalizadas. Para isso, basta clicar na opção Executar na barra lateral de opções do sistema. Com isso, nosso firewall será imediatamente ativado. A tela abaixo confirma o sucesso da ativação: FIGURA 12 - Ativação do firewall O script de firewall também pode ser ativado através no pronto de comando do Linux, conforme mostrado abaixo: # fwall -R

95 94 Desativando o firewall Para desativar o firewall, basta clicar na opção Parar na barra lateral de opções do sistema. Com isso, nosso firewall será imediatamente desativado. A tela abaixo confirma o sucesso da desativação: FIGURA 13 - Desativação do firewall O script de firewall também pode ser desativado através no pronto de comando do Linux, conforme mostrado abaixo: # fwall -S

96 95 Monitorando o estado do firewall Para verificar o estado do firewall, basta clicar na opção Estado na barra lateral de opções do sistema. Quando o firewall estiver ativado, a seguinte tela aparecerá: FIGURA 14 - Firewall desativado Observe que você tem a opção de parar a atualização dinâmica da janela que mostra as regras ativas, com o objetivo de inspecionar cada linha de regra, usando para isso a barra de rolagem na lateral direita.

97 96 Quando o firewall estiver desativado, a seguinte tela aparecerá: FIGURA 15 - Firewall desativado Observe que você tem a opção de parar a atualização dinâmica da janela que mostra as regras ativas, com o objetivo de inspecionar cada linha de regra, usando para isso a barra de rolagem na lateral direita. Neste caso, essa opção faz sentido porque algum outro processo no sistema poderia ativar o firewall novamente e, caso a atualização estivesse parada, você continuaria vendo como se o firewall estivesse desativado, o que não seria verdadeiro. Para evitar isso, mantenha a atualização dinâmica sempre ativa.

98 97 Outras opções O software XFwall tem várias outras opções não exploradas neste tutorial básico de uso do sistema. Porém, não é pretensão deste trabalho, se aprofundar em todas as complexidades do software. No entanto, o que foi visto até este ponto já permite que um bom administrador de sistemas, com um bom conhecimento sobre firewalls em plataforma GNU/Linux, perceba as funcionalidades e facilidades do XFwall, como um software para uso corporativo, em empresas de médio e grande portes. Contudo, para proporcionar uma visão um pouco mais além do básico, a seguir passamos a mostrar algumas telas de configuração do sistema.

99 98 Seleção de distribuição Linux O software XFwall faz a detecção automática do perfil de distribuição Linux durante a primeira execução do sistema. Porém, você pode verificar o perfil de distribuição selecionado e alterá-lo, se desejar. Para tal, acesse a opção Configuração / Perfil, aba Linux Distro, ou use a tecla de atalho Ctrl-P. FIGURA 16 - Seleção de distribuição Linux

100 99 Perfil da máquina O XFwall permite selecionar uma lista de itens de perfil da máquina, além de permitir ativar e desativar funcionalidades, como: Comandos de usuário; LAN como zona desmilitarizada (LAN DMZ); Lista negra de endereços IP. Regras de NAT; Regras de filtro; Regras de controle de banda (CBQ). Execução do script de firewall como serviço da máquina, no momento do boot do sistema operacional. Para tal, acesse a opção Configuração / Perfil, aba Perfil da Máquina, ou use a tecla de atalho Ctrl-P. FIGURA 17 - Perfil da máquina

101 100 Módulos do sistema O software XFwall permite a criação, edição, apagamento e cópia de cada módulo do sistema (trechos de script que farão parte do script de firewall final). Para essa funcionalidade, acesse a opção Configuração / Perfil, aba Módulos, ou use a tecla de atalho Ctrl-P. FIGURA 18 - Módulos do sistema

102 101 Embora não seja algo aconselhável de ser feito, a tela abaixo mostra a edição do módulo pop_client selecionado na tela anterior. O módulo abaixo refere-se ao cliente padrão do sistema para a funcionalidade de cliente POP-3 (recebimento de ). Este é o tipo de módulo iptables para uso quando a máquina é uma estação de trabalho Linux, usando o XFwall como firewall para proteção da própria estação. Ou seja, a máquina normalmente não tem várias interfaces de rede e, portanto, não é um gateway. Este é um caso específico que não foi abordado neste tutorial. FIGURA 19 - Edição do módulo pop_client

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

Controlando o tráfego de saída no firewall Netdeep

Controlando o tráfego de saída no firewall Netdeep Controlando o tráfego de saída no firewall Netdeep 1. Introdução Firewall é um quesito de segurança com cada vez mais importância no mundo da computação. À medida que o uso de informações e sistemas é

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Este artigo demonstra como configurar uma rede virtual para ser usada em testes e estudos. Será usado o VirtualBox

Leia mais

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus Segurança de redes com Linux Everson Scherrer Borges Willen Borges de Deus Segurança de Redes com Linux Protocolo TCP/UDP Portas Endereçamento IP Firewall Objetivos Firewall Tipos de Firewall Iptables

Leia mais

01 - Entendendo um Firewall. Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com

01 - Entendendo um Firewall. Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com 01 - Entendendo um Firewall. Prof. Armando Martins de Souza E-mail: armandomartins.souza@gmail.com O que são Firewalls? São dispositivos constituídos por componentes de hardware (roteador capaz de filtrar

Leia mais

INTERNET = ARQUITETURA TCP/IP

INTERNET = ARQUITETURA TCP/IP Arquitetura TCP/IP Arquitetura TCP/IP INTERNET = ARQUITETURA TCP/IP gatewa y internet internet REDE REDE REDE REDE Arquitetura TCP/IP (Resumo) É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada

Leia mais

11 - Q34826 ( FCC - 2010 - DPE - SP - Oficial de Defensoria Pública / Noções de Informática / Internet e intranet; )

11 - Q34826 ( FCC - 2010 - DPE - SP - Oficial de Defensoria Pública / Noções de Informática / Internet e intranet; ) 11 - Q34826 ( FCC - 2010 - DPE - SP - Oficial de Defensoria Pública / Noções de Informática / Internet e intranet; ) Algumas Regras Gerais de Uso do Computador I. Sempre feche todas as aplicações abertas

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO PROTOCOLOS DA INTERNET FAMÍLIA TCP/IP INTRODUÇÃO É muito comum confundir o TCP/IP como um único protocolo, uma vez que, TCP e IP são dois protocolos distintos, ao mesmo tempo que, também os mais importantes

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

INSTALAÇÃO PRINTERTUX Tutorial

INSTALAÇÃO PRINTERTUX Tutorial INSTALAÇÃO PRINTERTUX Tutorial 2 1. O Sistema PrinterTux O Printertux é um sistema para gerenciamento e controle de impressões. O Produto consiste em uma interface web onde o administrador efetua o cadastro

Leia mais

Pós Graduação Tecnologia da Informação UNESP Firewall

Pós Graduação Tecnologia da Informação UNESP Firewall Pós Graduação Tecnologia da Informação UNESP Firewall Douglas Costa Fábio Pirani Fernando Watanabe Jefferson Inoue Firewall O que é? Para que serve? É um programa usado para filtrar e dar segurança em

Leia mais

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Protocolo O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Máquina: Definem os formatos, a ordem das mensagens enviadas e recebidas pelas entidades de rede e as ações a serem tomadas

Leia mais

Iptables. Adailton Saraiva Sérgio Nery Simões

Iptables. Adailton Saraiva Sérgio Nery Simões Iptables Adailton Saraiva Sérgio Nery Simões Sumário Histórico Definições Tabelas Chains Opções do Iptables Tabela NAT Outros Módulos Histórico Histórico Ipfwadm Ferramenta padrão para o Kernel anterior

Leia mais

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Regras de exclusão são grupos de condições que o Kaspersky Endpoint Security utiliza para omitir um objeto durante uma varredura (scan)

Leia mais

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V 1- Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do seu firewall Netdeep

Leia mais

Cisco ASA Firewall Guia Prático

Cisco ASA Firewall Guia Prático Cisco ASA Firewall Guia Prático 2014 v1.0 Renato Pesca 1 Sumário 2 Topologia... 3 3 Preparação do Appliance... 3 3.1 Configurações de Rede... 7 3.2 Configurações de Rotas... 8 3.3 Root Básico... 9 3.4

Leia mais

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços Italo Valcy - italo@dcc.ufba.br Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação Universidade Federal

Leia mais

Firewall - IPTABLES. Conceitos e Prática. Tópicos em Sistemas de Computação 2014. Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.

Firewall - IPTABLES. Conceitos e Prática. Tópicos em Sistemas de Computação 2014. Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity. Firewall - IPTABLES Conceitos e Prática Tópicos em Sistemas de Computação 2014 Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org Estagiário Docente: Vinícius Oliveira viniciusoliveira@acmesecurity.org

Leia mais

GUIA DE INSTALAÇÃO NETDEEP SECURE COM VIRTUAL BOX

GUIA DE INSTALAÇÃO NETDEEP SECURE COM VIRTUAL BOX GUIA DE INSTALAÇÃO NETDEEP SECURE COM VIRTUAL BOX NETDEEP SECURE COM VIRTUAL BOX 1- Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do seu firewall Netdeep Secure em um

Leia mais

Técnico de Informática. Modulo II Segurança de Redes. Profª. Vanessa Rodrigues. Firewall

Técnico de Informática. Modulo II Segurança de Redes. Profª. Vanessa Rodrigues. Firewall Técnico de Informática Modulo II Segurança de Redes Profª. Vanessa Rodrigues Firewall Introdução Mesmo as pessoas menos familiarizadas com a tecnologia sabem que a internet não é um "território" livre

Leia mais

GUIA DE INSTALAÇÃO NETDEEP SECURE COM VMWARE WORKSTATION

GUIA DE INSTALAÇÃO NETDEEP SECURE COM VMWARE WORKSTATION GUIA DE INSTALAÇÃO NETDEEP SECURE COM VMWARE WORKSTATION GUIA DE INSTALAÇÃO NETDEEP SECURE COM VMWARE WORKSTATION 1- Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização Manual do Nscontrol Principal Senha Admin Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização Aqui, você poderá selecionar quais programas você quer que

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

O que temos pra hoje?

O que temos pra hoje? O que temos pra hoje? Temas de Hoje: Firewall Conceito Firewall de Software Firewall de Softwares Pagos Firewall de Softwares Grátis Firewall de Hardware Sistemas para Appliances Grátis UTM: Conceito Mão

Leia mais

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática Firewall Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Campus Cachoeiro Curso Técnico em Informática Firewall (definições) Por que do nome firewall? Antigamente, quando as casas

Leia mais

Servidor de email VMware Zimbra

Servidor de email VMware Zimbra Servidor de email VMware Zimbra Instalação, Configuração e Administração Leandro Ferreira Canhada 1 1 Faculdade de Tecnologia SENAC Pelotas Rua Gonçalves Chaves, 602 96.015-560 Pelotas RS Brasil {leandrocanhada@gmail.com}

Leia mais

FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO. Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi

FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO. Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi ENDIAN FIREWALL COMMUNITY 2.5.1 OURINHOS-SP 2012 HOW-TO

Leia mais

Orientador de Curso: Rodrigo Caetano Filgueira

Orientador de Curso: Rodrigo Caetano Filgueira Orientador de Curso: Rodrigo Caetano Filgueira Definição O Firewal é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SEGURANÇA DA INFORMAÇÃO Aula N : 09 Tema:

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

MANUAL DO USUÁRIO BRASQUID

MANUAL DO USUÁRIO BRASQUID MANUAL DO USUÁRIO BRASQUID Saulo Marques FATEC FACULDADE DE TECNOLOGIA DE CARAPICUIBA Sumário 1 Instalação... 4 2 Configuração inicial... 6 2.1 Scripts e Arquivos Auxiliares... 10 2.2 O Squid e suas configurações...

Leia mais

Instalação e Configuração Iptables ( Firewall)

Instalação e Configuração Iptables ( Firewall) Instalação e Configuração Iptables ( Firewall) Pág - 1 Instalação e Configuração Iptables - Firewall Desde o primeiro tutorial da sequencia dos passo a passo, aprendemos a configurar duas placas de rede,

Leia mais

Guia de Prática. Windows 7 Ubuntu 12.04

Guia de Prática. Windows 7 Ubuntu 12.04 Guia de Prática Windows 7 Ubuntu 12.04 Virtual Box e suas interfaces de rede Temos 04 interfaces de rede Cada interface pode operar nos modos: NÃO CONECTADO, que representa o cabo de rede desconectado.

Leia mais

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 Protocolo de rede... 3 Protocolo TCP/IP... 3 Máscara de sub-rede... 3 Hostname... 3

Leia mais

Capítulo 5 Noções sobre TCP/IP

Capítulo 5 Noções sobre TCP/IP Capítulo 5 Noções sobre TCP/IP Endereços IP Arquitetura TCP/IP DHCP Redes classe A, B e C Protocolos TCP/IP Estudos complementares 3 Estudos complementares Consulte os capítulos 5 e 12 do livro: Capítulo

Leia mais

leitejuniorbr@yahoo.com.br 1 GESTOR AMBIENTAL - FUNCAB

leitejuniorbr@yahoo.com.br 1 GESTOR AMBIENTAL - FUNCAB CONCURSO: SEMACE CARGO: GESTOR AMBIENTAL G01 - X DATA: 29/11/2009 QUESTÃO 11 - Qual das alternativas a seguir contém a sigla de uma tecnologia de transmissão digital de dados que permite conectar um computador

Leia mais

Manual de configurações do Conectividade Social Empregador

Manual de configurações do Conectividade Social Empregador Manual de configurações do Conectividade Social Empregador Índice 1. Condições para acesso 2 2. Requisitos para conexão 2 3. Pré-requisitos para utilização do Applet Java com Internet Explorer versão 5.01

Leia mais

Winco Edge Security Instant Messaging Filter Manual do Usuário

Winco Edge Security Instant Messaging Filter Manual do Usuário Winco Edge Security Instant Messaging Filter Manual do Usuário Sumário I. Introdução...3 I.1. Principais características...3 I.2. Exemplos de Uso...4 II. Instalação...6 II.1. Pré-Requisitos...6 II.2. Requisitos

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Autor: Armando Martins de Souza Data: 12/04/2010

Autor: Armando Martins de Souza <armandomartins.souza at gmail.com> Data: 12/04/2010 http://wwwvivaolinuxcombr/artigos/impressoraphp?codig 1 de 12 19-06-2012 17:42 Desvendando as regras de Firewall Linux Iptables Autor: Armando Martins de Souza Data: 12/04/2010

Leia mais

LABORATÓRIO V. NAT E FIREWALL Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #5634135

LABORATÓRIO V. NAT E FIREWALL Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #5634135 LABORATÓRIO V NAT E FIREWALL Documento versão 0.1 Aluno: Paulo Henrique Moreira Gurgel #5634135 Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Julho / 2010 Laboratório V NAT e Firewall

Leia mais

Tutorial Eclipse (IDE)

Tutorial Eclipse (IDE) www.dejavuxteam.wordpress.com Tutorial Eclipse (IDE) (Start) Sumário Introdução O que é o Eclipse? Característica e Ferramentas Download Preparando Ambiente de Trabalho Iniciando o Eclipse Criando um Projeto

Leia mais

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta.

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. Prof. Júlio César S. Ramos P á g i n a 1 INTERNET OUTLOOK 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. A O Outlook Express permite criar grupo de pessoas

Leia mais

Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações

Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações Sistema para diminuir a probabilidade de falhas nas conexões Internet e possibilitar controle de fluxo com base em hosts e aplicações Marcelo Rios Kwecko 1, Raphael Lucas Moita 1, Jorge Guedes Silveira

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

Manual de Instalação LOCKSS IBICT Instituto Brasileiro de Informação em Ciência e Tecnologia

Manual de Instalação LOCKSS IBICT Instituto Brasileiro de Informação em Ciência e Tecnologia Manual de Instalação LOCKSS IBICT Instituto Brasileiro de Informação em Ciência e Tecnologia Elaborado por: Alexandre Faria de Oliveira Março de 2013 1 P á g i n a Sumário 1. Introdução... 3 2. Visão Geral...

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

Documento: Treinamentos pfsense Versão do documento: 2014. Treinamentos pfsense. Página 1 de 10

Documento: Treinamentos pfsense Versão do documento: 2014. Treinamentos pfsense. Página 1 de 10 Treinamentos pfsense Página 1 de 10 Definições, Acrônimos e Abreviações Abreviação / Sigla WAN LAN UTM pfsense BGP Descrição Wide Area Network - Rede de longa distância (interface de rede para links de

Leia mais

Roteador de Perímetro DMZ Hosts de Segurança Gateway de Aplicativo

Roteador de Perímetro DMZ Hosts de Segurança Gateway de Aplicativo Roteador de Perímetro DMZ Hosts de Segurança Gateway de Aplicativo Conectando-se à Internet com Segurança Soluções mais simples. Sistemas de Segurança de Perímetro Zona Desmilitarizada (DMZ) Roteador de

Leia mais

Winconnection 6. Internet Gateway

Winconnection 6. Internet Gateway Winconnection 6 Internet Gateway Descrição Geral O Winconnection 6 é um gateway de acesso à internet desenvolvido dentro da filosofia UTM (Unified Threat Management). Assim centraliza as configurações

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Manual de referência do HP Web Jetadmin Database Connector Plug-in

Manual de referência do HP Web Jetadmin Database Connector Plug-in Manual de referência do HP Web Jetadmin Database Connector Plug-in Aviso sobre direitos autorais 2004 Copyright Hewlett-Packard Development Company, L.P. A reprodução, adaptação ou tradução sem permissão

Leia mais

CA Nimsoft Monitor. Guia do Probe Monitoramento de conectividade de rede. net_connect série 3.0

CA Nimsoft Monitor. Guia do Probe Monitoramento de conectividade de rede. net_connect série 3.0 CA Nimsoft Monitor Guia do Probe Monitoramento de conectividade de rede net_connect série 3.0 Aviso de copyright do CA Nimsoft Monitor Este sistema de ajuda online (o Sistema ) destina-se somente para

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Professor Claudio Silva

Professor Claudio Silva Filtragem caso o pacote não seja permitido, ele é destruído caso seja permitido, ele é roteado para o destino Além das informações contidas nos pacotes o filtro sabe em que interface o pacote chegou e

Leia mais

ISP Redundancy e IPS Utilizando Check Point Security Gateway. Resumo

ISP Redundancy e IPS Utilizando Check Point Security Gateway. Resumo ISP Redundancy e IPS Utilizando Check Point Security Gateway Radamés Bett Curso de Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, outubro de 2010 Resumo

Leia mais

Sérgio Cabrera Professor Informática 1

Sérgio Cabrera Professor Informática 1 1. A tecnologia que utiliza uma rede pública, como a Internet, em substituição às linhas privadas para implementar redes corporativas é denominada. (A) VPN. (B) LAN. (C) 1OBaseT. (D) 1OBase2. (E) 100BaseT.

Leia mais

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO Competências Analista 1. Administração de recursos de infra-estrutura de tecnologia da informação 2.

Leia mais

Firewalls. O que é um firewall?

Firewalls. O que é um firewall? Tópico 13 Firewall Ferramentas de defesa - Firewall. Princípios de projeto de firewall. Sistemas confiáveis. Critérios comuns para avaliação de segurança da tecnologia da informação. 2 Firewalls O que

Leia mais

MANUAL DO ADMINISTRADOR

MANUAL DO ADMINISTRADOR WinShare Proxy admin MANUAL DO ADMINISTRADOR Instalação do WinShare Índice 1. Instalação 2. Licenciamento 3. Atribuindo uma senha de acesso ao sistema. 4. Configurações de rede 5. Configurações do SMTP

Leia mais

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Redes de computadores e telecomunicação Objetivos da Unidade III Apresentar as camadas de Transporte (Nível 4) e Rede (Nível 3) do

Leia mais

Segurança de Redes. Firewall. Filipe Raulino filipe.raulino@ifrn.edu.br

Segurança de Redes. Firewall. Filipe Raulino filipe.raulino@ifrn.edu.br Segurança de Redes Firewall Filipe Raulino filipe.raulino@ifrn.edu.br Introdução! O firewall é uma combinação de hardware e software que isola a rede local de uma organização da internet; Com ele é possível

Leia mais

SISGEP SISTEMA GERENCIADOR PEDAGÓGICO

SISGEP SISTEMA GERENCIADOR PEDAGÓGICO FACSENAC SISTEMA GERENCIADOR PEDAGÓGICO Projeto Lógico de Rede Versão: 1.2 Data: 25/11/2011 Identificador do documento: Documento de Visão V. 1.7 Histórico de revisões Versão Data Autor Descrição 1.0 10/10/2011

Leia mais

Oficina de ferramentas de Gerência para Redes em Linux

Oficina de ferramentas de Gerência para Redes em Linux Oficina de ferramentas de Gerência para Redes em Linux Introdução Mesmo as pessoas menos familiarizadas com a tecnologia sabem que a internet não é um "território" livre de perigos. É por esta razão que

Leia mais

Guia do Usuário do Servidor do Avigilon Control Center

Guia do Usuário do Servidor do Avigilon Control Center Guia do Usuário do Servidor do Avigilon Control Center Versão 5.0.2 PDF-SERVER5-A-Rev2_PT Copyright 2013 Avigilon. Todos os direitos reservados. A informação apresentada está sujeita a alteração sem aviso

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II INTERNET Protocolos de Aplicação Intranet Prof: Ricardo Luís R. Peres As aplicações na arquitetura Internet, são implementadas de forma independente, ou seja, não existe um padrão

Leia mais

Tutorial para Instalação do Ubuntu Server 10.04

Tutorial para Instalação do Ubuntu Server 10.04 Tutorial para Instalação do Ubuntu Server 10.04 Autor: Alexandre F. Ultrago E-mail: ultrago@hotmail.com 1 Infraestrutura da rede Instalação Ativando o usuário root Instalação do Webmin Acessando o Webmin

Leia mais

Guia do Usuário do Servidor do Avigilon Control Center

Guia do Usuário do Servidor do Avigilon Control Center Guia do Usuário do Servidor do Avigilon Control Center Versão 5.2 PDF-SERVER5-B-Rev1_PT 2006 2014 Avigilon Corporation. Todos os direitos reservados. A menos que expressamente concedida por escrito, nenhuma

Leia mais

ATA - Exercícios Informática Carlos Viana. 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor.

ATA - Exercícios Informática Carlos Viana. 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor. ATA - Exercícios Informática Carlos Viana 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor. ATA EXERCÍCIOS CARLOS VIANA 01 -Existem vários tipos de vírus de computadores, dentre

Leia mais

Manual de Transferência de Arquivos

Manual de Transferência de Arquivos O Manual de Transferência de Arquivos apresenta a ferramenta WebEDI que será utilizada entre FGC/IMS e as Instituições Financeiras para troca de arquivos. Manual de Transferência de Arquivos WebEDI Versão

Leia mais

Confrontada com o gabarito oficial e comentada. 75. A denominada licença GPL (já traduzida pra o português: Licença Pública Geral)

Confrontada com o gabarito oficial e comentada. 75. A denominada licença GPL (já traduzida pra o português: Licença Pública Geral) Prova Preambular Delegado São Paulo 2011 Módulo VI - Informática Confrontada com o gabarito oficial e comentada 75. A denominada licença GPL (já traduzida pra o português: Licença Pública Geral) a) Garante

Leia mais

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama Manual do Remote Desktop Connection Brad Hards Urs Wolfer Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Remote Desktop

Leia mais

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação 1 Introdução à Camada de Transporte Camada de Transporte: transporta e regula o fluxo de informações da origem até o destino, de forma confiável.

Leia mais

Conectividade Social

Conectividade Social Conectividade Social Manual de configurações do Conectividade Social Empregador REROP/RJ Versão 1.0 Rio de Janeiro Outubro / 2004 REVISÕES Versão Data Propósito 1.0 19/10/2004 Criação do documento 2 Índice

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação 1 - Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do seu firewall Netdeep Secure. O Netdeep Secure é uma distribuição Linux, isto é, um pacote já

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Projeto e Instalação de Servidores Introdução a Servidores

Projeto e Instalação de Servidores Introdução a Servidores Projeto e Instalação de Servidores Introdução a Servidores Prof.: Roberto Franciscatto Introdução Perguntas iniciais O que você precisa colocar para funcionar? Entender a necessidade Tens servidor específico

Leia mais

1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4

1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4 TCP/IP Brito INDICE 1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4 1.1.1.1 Camada de Transporte... 4 1.1.1.2 TCP (Transmission Control Protocol)... 4 1.1.1.3 UDP (User Datagram Protocol)...

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Í n d i c e Considerações Iniciais...2 Rede TCP/IP...3 Produtos para conectividade...5 Diagnosticando problemas na Rede...8 Firewall...10 Proxy...12

Leia mais

Configurando o DDNS Management System

Configurando o DDNS Management System Configurando o DDNS Management System Solução 1: Com o desenvolvimento de sistemas de vigilância, cada vez mais usuários querem usar a conexão ADSL para realizar vigilância de vídeo através da rede. Porém

Leia mais

PROJETO DE IMPLEMENTAÇÃO DE UM SERVIDOR FIREWALL LIVRE UTILIZANDO IPTABLES

PROJETO DE IMPLEMENTAÇÃO DE UM SERVIDOR FIREWALL LIVRE UTILIZANDO IPTABLES PROJETO DE IMPLEMENTAÇÃO DE UM SERVIDOR FIREWALL LIVRE UTILIZANDO IPTABLES 1. Introdução O IPTABLES é um software usado para analisar os pacotes que passam entre redes. A partir desse princípio podemos

Leia mais

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF REDES ESAF 01 - (ESAF - Auditor-Fiscal da Previdência Social - AFPS - 2002) Um protocolo é um conjunto de regras e convenções precisamente definidas que possibilitam a comunicação através de uma rede.

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Leia mais

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores 1 Pós Graduação em Projeto e Gerencia de Redes de Computadores Sistemas Operacionais de Redes I - Linux Prof.: Nelson Monnerat Instalação e Configuração 1 Sistemas Operacionais de Redes I - Linux Módulo

Leia mais

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br Aula 15 (Revisão prova B2): Conteúdo programático Teórica Conteúdo da Aula 12 até a

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

Gerenciador Financeiro CITi. Gerenciador Financeiro CITi

Gerenciador Financeiro CITi. Gerenciador Financeiro CITi (Sistema de Gerenciamento Financeiro) Especificação dos Requisitos do Software Gerenciador Financeiro CITi Versão 1.0 Autores: Bruno Medeiros de Oliveira Igor Rafael Medeiros Pedro Araújo de Melo Tiago

Leia mais

CPE Soft Manual. 125/400mW 2.4GHz. CPE Soft

CPE Soft Manual. 125/400mW 2.4GHz. CPE Soft CPE Soft Manual 125/400mW 2.4GHz CPE Soft Campinas - SP 2010 Indice 1.1 Acessando as configurações. 2 1.2 Opções de configuração... 3 1.3 Wireless... 4 1.4 TCP/IP 5 1.5 Firewall 6 7 1.6 Sistema 8 1.7 Assistente...

Leia mais