Manual ETFW Eurotux Informática, S.A. 24 de Julho de 2012 Rua Irmãs Missionárias do Espírito Santo, 27 4715-340 Braga Portugal Tel: +351 253 680 300 Fax:+351 253 680 319 Registo de Alterações 2011-02-07 – Carlos Rodrigues <[email protected]> Sub-Capítulo sobre Configuração Pound 2010-11-23 – Fernando Gomes/Carlos Rodrigues <[email protected]> Sub-Capítulo sobre Servidor de OpenVPN 2009-05-17 – Fernando Gomes <[email protected]> Sub-Capítulo sobre Servidor de Spamassassin 2009-03-10 – Fernando Gomes <[email protected]> Sub-Capítulo sobre Servidor de Proxy 2007-05-23 – Rui Lameiro <[email protected]> Sub-Capítulo sobre Estatísticas de Rede 2007-02-06 – Fernando Gomes <[email protected]> Sub-Capítulo sobre Servidor VPN PPTP. 2006-04-11 – Fernando Gomes <[email protected]> Capítulo sobre Rede. 2006-03-11 – Fernando Gomes <[email protected]> Capítulo sobre Hardware. 2006-03-01 – Fernando Gomes <[email protected]> Introduzida a versão 4. 2005-06-27 – Fernando Gomes <[email protected]> Versão 3 finalizada. 2004-11-18 – Fernando Gomes <[email protected]> Versão inicial. Conteúdo Conteúdo 1. ETFW 1.1. Descrição . . . . . . . . . . . . . . . 1.1.1. Configuração . . . . . . . . . 1.1.2. Licenciamento . . . . . . . . . 1.1.3. Hardware para Sistema ETFW 1.2. Login no site de administração . . . . 1.3. Vista geral do site de administração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 8 9 10 11 2. Módulos da ETFW 2.1. Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Wizard de Configuração de Rede passo a passo . 2.2. Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Configuração de Rede . . . . . . . . . . . . . . . 2.2.2. OpenVPN . . . . . . . . . . . . . . . . . . . . . . 2.2.3. Servidor VPN PPTP . . . . . . . . . . . . . . . . . 2.2.4. Estatísticas de Rede . . . . . . . . . . . . . . . . 2.3. Serviços . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. ET Proxy . . . . . . . . . . . . . . . . . . . . . . . 2.3.2. Serviço de Proxy – Squid . . . . . . . . . . . . . . 2.3.3. Serviço de Filtragem de Conteúdo – Dansguardian 2.3.4. Servidor de DHCP . . . . . . . . . . . . . . . . . . 2.3.5. Serviço Anti-Spam – Spamassassin . . . . . . . . 2.3.6. Pound . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1. Estado de Dispositivos SMART . . . . . . . . . . . 2.4.2. Partições em Discos Locais . . . . . . . . . . . . . 2.5. Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1. Estado do Sistema e do Servidor . . . . . . . . . . 2.6. Avançado . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6.1. Linux Firewall . . . . . . . . . . . . . . . . . . . . 2.6.2. Administrador de Ficheiros . . . . . . . . . . . . . 2.6.3. Comandos Personalizados . . . . . . . . . . . . . 2.6.4. Comandos de Shell . . . . . . . . . . . . . . . . . 2.6.5. Login via SSH/Telnet . . . . . . . . . . . . . . . . 2.6.6. Upload e Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 20 20 26 43 48 53 53 54 67 70 73 76 83 83 84 85 85 87 87 104 105 107 109 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pág. 3/111 Lista de Figuras Lista de Figuras 1.1. Endereço URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2. Página de autenticação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3. Opções Gerais do Site de Administração1 . . . . . . . . . . . . . . . . . . . . 11 2.1. Vista Geral do Módulo Módulo de wizards de configuração . . . . . . . . . . . 2.2. Vista Geral do Wizard Wizards de configuração de rede passo-a-passo . . . . 2.3. Opções de Topologia de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Opções de Interfaces de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Opções de Routing e Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 2.6. Opções de Clientes DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7. Opções de Endereços do Anfitrião . . . . . . . . . . . . . . . . . . . . . . . . 2.8. Opções de Eliminar Anfitrião . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9. Opções de Criar um Anfitrião . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10.Vista Geral do Módulo Configuração de Rede . . . . . . . . . . . . . . . . . . 2.11.Opções de Interfaces de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.Opções de Routing e Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 2.13.Opções de Cliente DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14.Opções de Endereços do Anfitrião . . . . . . . . . . . . . . . . . . . . . . . . 2.15.Configuração OpenVPN:Configuração . . . . . . . . . . . . . . . . . . . . . . 2.16.Configuração OpenVPN:Configuração de Servidor . . . . . . . . . . . . . . . 2.17.Configuração OpenVPN:Certificado CA . . . . . . . . . . . . . . . . . . . . . 2.18.Configuração OpenVPN:Certificado Servidor . . . . . . . . . . . . . . . . . . 2.19.Configuração OpenVPN: Endereço Servidor . . . . . . . . . . . . . . . . . . 2.20.Configuração OpenVPN: Edição Manual . . . . . . . . . . . . . . . . . . . . . 2.21.Configuração OpenVPN: Iniciar Servidor . . . . . . . . . . . . . . . . . . . . 2.22.Configuração OpenVPN: Parar e reiniciar serviço . . . . . . . . . . . . . . . . 2.23.Configuração OpenVPN: Configuração de Clientes . . . . . . . . . . . . . . . 2.24.Configuração OpenVPN: Certificado de Cliente . . . . . . . . . . . . . . . . . 2.25.Configuração OpenVPN: Configuração clientes com autenticação por password 2.26.Configuração OpenVPN: Clientes com autenticação por password . . . . . . 2.27.Configuração OpenVPN: Novo cliente com autenticação por password . . . . 2.28.Configuração OpenVPN: Conexões . . . . . . . . . . . . . . . . . . . . . . . 2.29.Cliente Windows para OpenVPN: Wizzard passo 1 . . . . . . . . . . . . . . . 2.30.Cliente Windows para OpenVPN: Wizzard passo 2 . . . . . . . . . . . . . . . 2.31.Cliente Windows para OpenVPN: Wizzard passo 3 . . . . . . . . . . . . . . . 12 13 14 15 16 17 18 18 19 20 21 22 24 25 26 27 28 29 29 30 30 31 31 32 32 33 33 34 35 36 36 Pág. 4/111 Lista de Figuras 2.32.Cliente Windows para OpenVPN: Wizzard passo 4 . . . . . . . . . 2.33.Cliente Windows para OpenVPN: Wizzard passo 5 . . . . . . . . . 2.34.Cliente Windows para OpenVPN: Colocação de Certificados . . . . 2.35.Cliente Windows para OpenVPN: Inicialização . . . . . . . . . . . 2.36.Cliente Windows para OpenVPN: Conexão . . . . . . . . . . . . . 2.37.Cliente Windows para OpenVPN: Password . . . . . . . . . . . . . 2.38.Cliente Windows para OpenVPN: Final . . . . . . . . . . . . . . . 2.39.Vista Geral do Módulo Servidor VPN PPTP . . . . . . . . . . . . . 2.40.Opções do Servidor PPTP . . . . . . . . . . . . . . . . . . . . . . 2.41.Opções PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.42.Contas PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.43.Contas PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.44.Vista Geral do Módulo Estatísticas de Rede . . . . . . . . . . . . . 2.45.Distribuição temporal do volume de dados . . . . . . . . . . . . . . 2.46.Distribuição por Host da largura de banda utilizada . . . . . . . . . 2.47.Distribuição por Host e por protocolo da largura de banda utilizada 2.48.Diagrama Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.49.Administração do Proxy . . . . . . . . . . . . . . . . . . . . . . . . 2.50.Acl do Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.51.Acls do Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.52.Criar URL Regexp . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.53.Adicionar uma restrição de proxy . . . . . . . . . . . . . . . . . . . 2.54.Adicionar uma restrição de proxy - Guardar . . . . . . . . . . . . . 2.55.Adicionar uma restrição de proxy - Menu . . . . . . . . . . . . . . 2.56.Vista Geral do Módulo Servidor de DHCP . . . . . . . . . . . . . . 2.57.Vista de Editar sub-rede . . . . . . . . . . . . . . . . . . . . . . . 2.58.Opções de Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 2.59.Opções do ficheiro de configuração ConfigFile . . . . . . . . . . . 2.60.Lista das Concessões Activas . . . . . . . . . . . . . . . . . . . . 2.61.Configuração do SpamAssassin . . . . . . . . . . . . . . . . . . . 2.62.Whitelist e blacklist . . . . . . . . . . . . . . . . . . . . . . . . . . 2.63.Nível de spam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.64.Configuração Pound: edição global . . . . . . . . . . . . . . . . . 2.65.Configuração Pound: editar Listeners . . . . . . . . . . . . . . . . 2.66.Configuração Pound: editar Serviços . . . . . . . . . . . . . . . . 2.67.Configuração Pound: editar Listener HTTP . . . . . . . . . . . . . 2.68.Configuração Pound: editar Listener HTTPS . . . . . . . . . . . . 2.69.Configuração Pound: editar Serviço . . . . . . . . . . . . . . . . . 2.70.Opções do Módulo Estado de Dispositivos SMART . . . . . . . . . 2.71.Opções do Módulo Partições em Discos Locais . . . . . . . . . . . 2.72.Opções do Módulo Estado do Sistema e do Servidor . . . . . . . . 2.73.Exemplo Criar Monitorização . . . . . . . . . . . . . . . . . . . . . 2.74.Esquema da firewall iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 38 39 40 41 41 42 43 44 45 46 47 48 50 51 52 53 64 64 65 65 65 66 66 70 71 71 72 72 73 74 75 76 77 78 78 80 81 83 84 85 86 88 Pág. 5/111 Lista de Figuras 2.75.Vista Geral do Módulo Linux Firewall . . . . . . . . . . . . . 2.76.Alterar a Tabela a Visualizar . . . . . . . . . . . . . . . . . 2.77.Esquema da tabela filter . . . . . . . . . . . . . . . . . . . 2.78.Opções comuns I (filter) . . . . . . . . . . . . . . . . . . . 2.79.Opções comuns II (filter) . . . . . . . . . . . . . . . . . . . 2.80.Opções comuns III (filter) . . . . . . . . . . . . . . . . . . . 2.81.Opções comuns IV (filter) . . . . . . . . . . . . . . . . . . . 2.82.Opções comuns V (filter) . . . . . . . . . . . . . . . . . . . 2.83.Opções comuns VI (filter) . . . . . . . . . . . . . . . . . . . 2.84.Opções comuns VII (filter) . . . . . . . . . . . . . . . . . . 2.85.Criação de uma regra na tabela filter I . . . . . . . . . . . . 2.86.Criação de uma regra na tabela filter II . . . . . . . . . . . 2.87.Criação de uma regra na tabela filter III . . . . . . . . . . . 2.88.Esquema da tabela NAT . . . . . . . . . . . . . . . . . . . 2.89.Opções da tabela NAT . . . . . . . . . . . . . . . . . . . . 2.90.Criação de uma regra na tabela SNAT I . . . . . . . . . . . 2.91.Criação de uma regra na tabela SNAT II . . . . . . . . . . . 2.92.Criação de uma regra na tabela SNAT III . . . . . . . . . . 2.93.Criação de uma regra na tabela DNAT I . . . . . . . . . . . 2.94.Criação de uma regra na tabela DNAT II . . . . . . . . . . . 2.95.Vista geral do módulo Administrador de Ficheiros . . . . . . 2.96.Exemplo Vista Geral do Módulo Comandos Personalizados 2.97.Exemplo de Adicionar um Comando Personalizado . . . . . 2.98.Vista geral do módulo Comandos de Shell . . . . . . . . . . 2.99.Resultado da execução do comando ls . . . . . . . . . . . 2.100.Vista Geral do Módulo Login via SSH/Telnet . . . . . . . . 2.101.Login via SSH/Telnet . . . . . . . . . . . . . . . . . . . . . 2.102.jnettop Através do Módulo Login via SSH/Telnet . . . . . . 2.103.Opções do Módulo Upload e Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 90 91 92 92 93 93 93 94 94 95 96 97 99 100 100 101 101 102 103 104 105 106 107 108 109 109 110 111 Pág. 6/111 Capítulo 1. ETFW 1. ETFW 1.1. Descrição Um dos factores mais importantes no mundo empresarial é a segurança informática. Proteger os recursos da empresa de utilizadores indevidos e monitorizar a sua utilização pelos funcionários é um factor de aumento de produtividade. Este manual descreve o sistema ETFW que acabou de adquirir bem como a sua configuração. O sistema ETFW consiste numa máquina a correr o sistema operativo Linux, em configuração específica, num CD-ROM e distingue-se por ser um dos mais seguros, fiáveis e com menos exigência em termos de recursos de hardware. Relativamente à segurança, a única maneira de entrar remotamente na máquina é através do protocolo SSH. Mesmo assim, é possível filtrar as entradas limitando-as a certas máquinas ou interfaces de rede (caso se queira, por exemplo, deixar entrar unicamente do interface vindo da rede interna) ou mesmo desactivar a entrada remota neste. Quanto à fiabilidade, graças à pequena dependência de hardware, este sistema está pouco sujeito a avarias. Além disso, foi introduzido o suporte para o dispositivo watchdog, que não evitando estados menos propícios do sistema, resolve-os fazendo um reiniciar forçado à máquina, não deixando esta bloquear e ficar num estado inacessível. Após o reiniciar, tudo tende a voltar ao normal, sem nenhum problema, pois num CD-ROM não há problema de perdas de dados que possam prejudicar o arranque. A configuração da ETFW está acessível através de uma ferramenta própria, onde é possível modificar as regras de acesso e configurar aspectos de rede relativos ao servidor. As alterações ficam imediatamente activas, mas como o servidor está a correr num meio apenas de leitura, deve ser criado um novo CD para que a configuração fique definitiva ou gravar as mesmas numa disquete/disco/PEN. Um sistema escalável, dinâmico, de fácil utilização é uma mais valia para a empresa. 1.1.1. Configuração O sistema ETFW é um elemento crítico, porque caso falhe a infra-estrutura ficará impedida de comunicar com o exterior. Nesse sentido, este sistema deverá ser implementando numa Pág. 7/111 Capítulo 1. ETFW plataforma de hardware que dê todas as garantias de fiabilidade. Idealmente o sistema deveria ser configurado recorrendo à utilização de duas máquinas, em fail over, de forma a implementar um sistema redundante que aumentasse as probabilidades de um funcionamento contínuo. Com esta configuração, caso ocorresse um problema com a máquina de ETFW activa, a máquina de reserva entraria imediatamente em funcionamento. No entanto, o sistema ETFW, tem a segurança adicional de ser facilmente transferível (porque funciona em CD) para outra máquina. Assim sendo, poderá ser criado um plano de contingência onde estarão definidos os procedimentos a efectuar em caso de falha total do sistema, tentando-se assim que em poucos minutos tudo possa voltar à normalidade. Se o problema for de hardware e a sua resolução for complicada e/ou demorada poderá ser usada uma outra máquina que esteja definida no plano de contingência. É possível implementar as seguintes funcionalidades num sistema ETFW: • Mecanismos de filtragem (função de firewall) • Routing entre redes internas, externas e DMZ • NAT de redes internas para o exterior • Acesso remoto (configurável) para administração via Web • Acesso SNMP para monitorização • Envio de registos de sistema para servidor de monitorização • Ferramentas de geração de alarmes • Serviço de primário DNS • Servidor DHCP • Serviço de caching-DNS • Suporte para VPNs por IPSEC, PPTP e SSH (autenticação de VPNs em ficheiro local e/ou serviço Radius e/ou Active Directory) • Traffic Shapping • Advanced routing • Serviço de Proxy com a possibilidade de filtro de conteúdos • Serviço de Relay de Mail com a possibilidade de Anti-SPAM 1.1.2. Licenciamento Este produto é baseado em tecnologias open source e não exige a aquisição de qualquer licença de software comercial. Pág. 8/111 Capítulo 1. ETFW 1.1.3. Hardware para Sistema ETFW É necessário que a escolha da plataforma de hardware ofereça garantias de fiabilidade que minimizem a possibilidade de falha do sistema. O processador e a quantidade de memória mínima para o bom funcionamento da solução estão dependentes dos serviços instalados bem como do uso efectivo da solução. A necessidade de um meio de escrita (disquete, disco) dependerá da necessidade de guardar informação diversa (logs, cache, alteração de configurações, etc.). Pág. 9/111 Capítulo 1. ETFW 1.2. Login no site de administração Abra o browser e coloque o endereço https://ip_da_sua_ etfw:12345 tal como pode ver Figura 1.1. Figura 1.1.: Endereço URL Será apresentada uma página Web onde poderá introduzir o Nome do Utilizador e a respectiva Palavra-Chave que lhe foi entregue e carregar no botão Entrar. ✡ ✡✣ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ ✡ Figura 1.2.: Página de autenticação ✡ ✡ ✡ ✡ Seleccionar caso queira que não lhe seja apresentada novamente esta página. Pág. 10/111 Capítulo 1. ETFW 1.3. Vista geral do site de administração Após autenticado no site será apresentada a página Web que se pode ver na Figura 1.3. Aqui poderá escolher qual o módulo que deseja configurar. No topo da página possui um menu rápido de acesso aos módulos. Figura 1.3.: Opções Gerais do Site de Administração1 Esta interface está dividida em diferentes secções: Webmin: permite gerir e configurar os acessos à interface de administração. Wizards: permite utilizar wizards de configuração passo a passo para a etfw. Sistema: permite configurar parâmetros globais da ETFW. Servidores: permite gerir os servidores que a ETFW disponibiliza. Rede: permite gerir os serviços que a ETFW disponibiliza - está mais vocacionada para os serviços de rede. Hardware: permite visualizar e gerir o hardware da ETFW. Avançado: modulos de configuração avançada da ETFW. Outros: contém os módulos de gestão e utilitários que não estão associados às secções anteriores. 1 As opções apresentadas dependem do número de módulos opcionais instalados na sua ETFW. Pág. 11/111 Capítulo 2. Módulos da ETFW 2. Módulos da ETFW 2.1. Wizards 2.1.1. Wizard de Configuração de Rede passo a passo Figura 2.1.: Vista Geral do Módulo Módulo de wizards de configuração O módulo de wizards (Figura 2.1) permite utilizar wizards para efetuar determinadas tarefas de configuração da etfw de uma forma simples e rápida. Pág. 12/111 Capítulo 2. Módulos da ETFW Vista Geral Figura 2.2.: Vista Geral do Wizard Wizards de configuração de rede passo-a-passo O wizard de configuraçãode rede passo a passo (Figura 2.2) permite ao utilizador configurar a rede de forma simples e rápida seguindo um wizard de cinco passos. Em cada desses passos pode adicionar e configurar interfaces de rede, criar regras de encaminhamento, configurar cliente de DNS e criar hosts respetivamente. Pág. 13/111 Capítulo 2. Módulos da ETFW Topologia de Rede Figura 2.3.: Opções de Topologia de Rede No primeiro passo (Figura 2.3) podemos definir a topogia de rede. Pág. 14/111 Capítulo 2. Módulos da ETFW Interfaces de Rede Figura 2.4.: Opções de Interfaces de Rede No segundo passo (Figura 2.4) temos a possibilidade de adicionar e configurar interfaces de rede. Pág. 15/111 Capítulo 2. Módulos da ETFW Routing e Gateways Figura 2.5.: Opções de Routing e Gateways No terceiro passo (Figura 2.5) podemos definir rotas. Pág. 16/111 Capítulo 2. Módulos da ETFW Clientes DNS Figura 2.6.: Opções de Clientes DNS No quarto passo (Figura 2.6) procedemos à configuração do cliente de nomes, ou seja, define o nome que a ETFW terá localmente e os seus servidores de nomes. Pág. 17/111 Capítulo 2. Módulos da ETFW Endereços do Anfitrião Figura 2.7.: Opções de Endereços do Anfitrião Este ultimo passo (Figura 2.7) permite atribuir estaticamente vários nomes fixos e locais (ou mesmo da Internet) a IPs. Figura 2.8.: Opções de Eliminar Anfitrião Podemos eliminar um anfitrião (Figura 2.8). Pág. 18/111 Capítulo 2. Módulos da ETFW Figura 2.9.: Opções de Criar um Anfitrião Criar um novo anfitrião (Figura 2.9). Pág. 19/111 Capítulo 2. Módulos da ETFW 2.2. Rede 2.2.1. Configuração de Rede Figura 2.10.: Vista Geral do Módulo Configuração de Rede Neste módulo (Figura 2.10) podemos configurar tudo relacionado com a rede. Permite-nos adicionar e configurar interfaces de rede, regras de encaminhamento, configurar o cliente de DNS e criar hosts na ETFW. Será realizada, de seguida, uma descrição com maior detalhe. Pág. 20/111 Capítulo 2. Módulos da ETFW Interfaces de Rede Para se configurar os interfaces de rede, novos IPs ou aliases a opção a escolher será a Interfaces de Rede. Após escolher essa opção a página que lhe aparecerá (Figura 2.11) permitirá ver os interfaces de rede que estão configurados actualmente e que estão activos no iniciar da máquina, os IPs que lhe correspondem e associar IPs aos interfaces existentes. No caso de querer adicionar um novo interface terá simplesmente que seleccionar a opção Adicionar nova interface e preencher os campos pedidos. Figura 2.11.: Opções de Interfaces de Rede No caso de querer definir um alias de rede para uma interface de rede, terá que escolher qual a interface desejada e após abrir a página deste deverá escolher a opção Adicionar interface virtual, preenchendo os campos disponibilizados. Pág. 21/111 Capítulo 2. Módulos da ETFW Routing e Gateways Para consultar ou definir rotas que existam na ETFW poderá fazê-lo na opção Routing e Gateways. Quando seleccionar essa opção será apresentada a seguinte página: Figura 2.12.: Opções de Routing e Gateways Pág. 22/111 Capítulo 2. Módulos da ETFW Nesta página poderá escolher a gateway por omissão ou deixar que seja atribuída por DHCP e definir rotas estáticas para outras redes e/ou máquinas. Na parte inferior da página são apresentadas as rotas existentes e activas no momento. Pág. 23/111 Capítulo 2. Módulos da ETFW Cliente DNS Esta opção (Figura 2.13) permite a configuração do cliente de nomes, ou seja, define o nome que a ETFW terá localmente e os seus servidores de nomes, estabelecendo também a ordem de procura de nomes. Figura 2.13.: Opções de Cliente DNS Pág. 24/111 Capítulo 2. Módulos da ETFW Endereços do Anfitrião Esta opção (Figura 2.14) permite atribuir estaticamente vários nomes fixos e locais (ou mesmo da Internet) a IPs, para diminuir o tempo de resposta do servidor de nomes. Figura 2.14.: Opções de Endereços do Anfitrião Pág. 25/111 Capítulo 2. Módulos da ETFW 2.2.2. OpenVPN Descrição do módulo OpenVPN para ETFW. Configuração de Administrador Figura 2.15.: Configuração OpenVPN:Configuração A configuração do serviços de OpenVPN pode ser feita a partir da interface da ETFW no menu Rede, em Configuração OpenVPN. Pág. 26/111 Capítulo 2. Módulos da ETFW Figura 2.16.: Configuração OpenVPN:Configuração de Servidor Autenticação por Certificado Para definir os parâmetros de configuração do servidor, acedemos à opção Configuração Servidor e podemos definir a porta de escuta do servidor, protocolo de comunicação, certificado do servidor, entre outros. É assumindo que já existe pré-definido na directoria de configuração do OpenVPN, os ficheiros com o certificado da CA e dos parâmetros Diffie Hellman: /etc/openvpn/certs/dh1024.pem /etc/openvpn/certs/ca.crt Se o certificado da CA estiver presente, é apresentando na configuração do servidor. Pág. 27/111 Capítulo 2. Módulos da ETFW Figura 2.17.: Configuração OpenVPN:Certificado CA Para definir o certificado do servidor, deve-se usar o campo para o efeito, podendo ser feito upload do ficheiro do formato PEM ou PKCS12. No primeiro caso, será necessário adicionar o conteúdo da chave dos servidor ao ficheiro da seguinte forma: -----BEGIN CERTIFICATE----... -----END CERTIFICATE---------BEGIN RSA PRIVATE KEY----... -----END RSA PRIVATE KEY----- Pág. 28/111 Capítulo 2. Módulos da ETFW Figura 2.18.: Configuração OpenVPN:Certificado Servidor Por fim, para que a configuração do servidor esteja correcta, é necessário definir o endereço e máscara de rede do servidor. Figura 2.19.: Configuração OpenVPN: Endereço Servidor Adicional, é possível definir outros parâmetros que a interface não suporte, em Edição Manual. Pág. 29/111 Capítulo 2. Módulos da ETFW Figura 2.20.: Configuração OpenVPN: Edição Manual Para iniciar o serviço, basta aceder à página de configuração principal, e usar o botão Iniciar Servidor. Se a chave do servidor necessitar de password deverá ser definida a mesma no campo ao lado. Por fim, para que a configuração do servidor esteja correcta, é necessário definir o endereço e máscara de rede do servidor. Figura 2.21.: Configuração OpenVPN: Iniciar Servidor Posteriormente, é sempre possível para e reiniciar o serviço na mesma interface. Pág. 30/111 Capítulo 2. Módulos da ETFW Figura 2.22.: Configuração OpenVPN: Parar e reiniciar serviço É possível definir configuração associada a cada cliente que acede ao servidor ou, globalmente, a todos os clientes. Para isso podemos aceder à interface a partir da opção Configuração Clientes. Figura 2.23.: Configuração OpenVPN: Configuração de Clientes Podemos definir os endereços de DNS e WINS a serem atribuídos globalmente aos clientes que estabeleçam ligação e/ou definir rotas de encaminhamento. Pág. 31/111 Capítulo 2. Módulos da ETFW Individualmente, podemos definir esse mesmos parâmetros, para cada caso em específico. Figura 2.24.: Configuração OpenVPN: Certificado de Cliente Opcionalmente, podemos restringir a conexão de clientes que tenham configuração definida do lado do servidor, utilizado para o efeito a opção Configuração cliente obrigatória na interface de Configuração Clientes. Autenticação Login/Password Em alternativa, podemos definir autenticação de utilizador por password através da opção Autenticação cliente por username/password. Figura 2.25.: Configuração OpenVPN: Configuração clientes com autenticação por password Pág. 32/111 Capítulo 2. Módulos da ETFW Com essa opção activa é possível aceder à lista de utilizadores com autenticação de password. Figura 2.26.: Configuração OpenVPN: Clientes com autenticação por password E aí, adicionar novo utilizador, eliminar utilizador, activa e/ou desactivar utilizador. Figura 2.27.: Configuração OpenVPN: Novo cliente com autenticação por password Pág. 33/111 Capítulo 2. Módulos da ETFW Configuração Cliente Linux Instalar o pacote DEB ou RPM conforme as distribuições: sudo dpkg -i gnome-client-openvpn.deb sudo rpm -ihv gnome-client-openvpn-0.1-1.noarch.rpm Reiniciar o gestor de janelas: /etc/init.d/gdm start A partir daqui deve ser possível ligar-se à VPN a partir do widget de rede: Figura 2.28.: Configuração OpenVPN: Conexões KDE Instalar o pacote DEB ou RPM conforme as distribuições: sudo dpkg -i kde-client-openvpn.deb sudo rpm -ihv kde-client-openvpn-0.1-1.noarch.rpm Iniciar o kvpnc para efectuar a ligação: /usr/bin/kvpnc Pág. 34/111 Capítulo 2. Módulos da ETFW Texto Instalar o pacote DEB ou RPM conforme as distribuições: sudo dpkg -i text-client-openvpn.deb sudo rpm -ihv text-client-openvpn-0.1-1.noarch.rpm E activar a ligação com o seguinte script: /etc/init.d/openvpnclient start Windows Correr o programa de instalação openvpn-x.x.x-install.exe e seguir os seguintes passos: Figura 2.29.: Cliente Windows para OpenVPN: Wizzard passo 1 Pág. 35/111 Capítulo 2. Módulos da ETFW Figura 2.30.: Cliente Windows para OpenVPN: Wizzard passo 2 Figura 2.31.: Cliente Windows para OpenVPN: Wizzard passo 3 Pág. 36/111 Capítulo 2. Módulos da ETFW Figura 2.32.: Cliente Windows para OpenVPN: Wizzard passo 4 Pág. 37/111 Capítulo 2. Módulos da ETFW Figura 2.33.: Cliente Windows para OpenVPN: Wizzard passo 5 Após o processo de instalação, será necessário colocar os ficheiros com o certificado do cliente em: Pág. 38/111 Capítulo 2. Módulos da ETFW Figura 2.34.: Cliente Windows para OpenVPN: Colocação de Certificados Finalmente, será necessário arrancar a aplicação gráfica para efectuar a conexão: Pág. 39/111 Capítulo 2. Módulos da ETFW Figura 2.35.: Cliente Windows para OpenVPN: Inicialização Pág. 40/111 Capítulo 2. Módulos da ETFW Figura 2.36.: Cliente Windows para OpenVPN: Conexão Figura 2.37.: Cliente Windows para OpenVPN: Password Pág. 41/111 Capítulo 2. Módulos da ETFW Figura 2.38.: Cliente Windows para OpenVPN: Final Pág. 42/111 Capítulo 2. Módulos da ETFW 2.2.3. Servidor VPN PPTP Figura 2.39.: Vista Geral do Módulo Servidor VPN PPTP Neste módulo (Figura 2.39) podemos configurar uma VPN 1 do tipo PPTP 2 . Permite-nos adicionar, remover, activar e desactivar utilizadores de VPN, alterar as configurações do servidor PPTP e ver quais os utilizadores de VPN activos actualmente. Será realizada, de seguida, uma descrição com maior detalhe. 1 Uma Rede Privada Virtual (Virtual Private Network - VPN) é uma rede de comunicações privada normalmente utilizada por uma empresa ou um conjunto de empresas e/ou instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a Internet). 2 (Point-to-Point Tunneling Protocol) inicialmente desenvolvido pela Microsoft, permite que o tráfego IP, IPX e NetBEUI sejam cifrados e encapsulados para serem enviados através de redes IP privadas ou públicas como a Internet. Pág. 43/111 Capítulo 2. Módulos da ETFW Opções do Servidor PPTP Nestas opções podemos modificar o comportamento do próprio servidor de PPTP, como por exemplo alterar o endereço que este serviço deverá responder (em Escutar no endereço). Podemos também, alterar o mapeamento de IPs que o servidor de PPTP tem configurado para os seus clientes, deveremos alterar o campo Endereço IP para alocar para os clientes, colocando ai um intervalo de IPs que desejemos que sejam atribuidos. Por exemplo, alocar três clientes: (Figura 2.40) 10.10.10.30-32. Assim atribuimos aos clientes de VPN PPTP os IPs 10.10.10.30, 10.10.10.31 e 10.10.10.32 Figura 2.40.: Opções do Servidor PPTP Pág. 44/111 Capítulo 2. Módulos da ETFW Opções PPP Caso desejemos modificar as opções de autenticação do servidor PPTP, estas poderão ser efectuadas neste módulo (Figura 2.41). Figura 2.41.: Opções PPP Pág. 45/111 Capítulo 2. Módulos da ETFW Contas PPP Esta opção, permite-nos criar/remover utilizadores de VPN PPTP que tenham como base de autenticação a própria ETFW. Permite-nos ainda activar/desactivar temporariamente um utilizador sem remover a sua configuração. Figura 2.42.: Contas PPP Para adicionar novos utilizadores e alterar utilizadores existentes não é necessário reiniciar o serviço de VPN. Pág. 46/111 Capítulo 2. Módulos da ETFW Ligações Activas Aqui poderemos consultar as ligações de VPN PPTP que estão activas e podemos terminalas clicando sobre o link Interface PPP. Figura 2.43.: Contas PPP Pág. 47/111 Capítulo 2. Módulos da ETFW 2.2.4. Estatísticas de Rede Figura 2.44.: Vista Geral do Módulo Estatísticas de Rede Neste módulo (Figura 2.44) podemos obter estatísticas relacionadas com a utilização da rede por interface (física ou virtual caso existam VLANs). Será realizada, de seguida, uma descrição com maior detalhe. Pág. 48/111 Capítulo 2. Módulos da ETFW Resumo do Tráfego Esta é á página inicial já referida na Fig. 2.44, disponível no Menu Summary → Traffic. Aqui obtemos a distribuição do volume de dados por interface, estatísticas sobre os pacotes que circulam por interface, bem como a sua distribuição temporal se seguirmos o link Historical Data (ver Fig. 2.45). Pág. 49/111 Capítulo 2. Módulos da ETFW Figura 2.45.: Distribuição temporal do volume de dados Pág. 50/111 Capítulo 2. Módulos da ETFW Resumo por Host No Menu Summary → Hosts obtemos a utilização (por Host) da largura de banda (ver Fig. 2.46). Figura 2.46.: Distribuição por Host da largura de banda utilizada No Menu All Protocols → Traffic, essa informação um pouco mais detalhada por tipo de tráfego (ver Fig. 2.47). Pág. 51/111 Capítulo 2. Módulos da ETFW Figura 2.47.: Distribuição por Host e por protocolo da largura de banda utilizada Outras Estatísticas Outras estatísticas estão disponíveis para consulta nos Menus Summary, All Protocols e IP. Pág. 52/111 Capítulo 2. Módulos da ETFW 2.3. Serviços 2.3.1. ET Proxy • Proxy de Entrada (squid): O proxy de entrada tem a função de autenticar utilizadores, gerir os acessos e encaminhar os pedidos para o sistema de filtragem de conteúdos ou então para o proxy de saída. • Filtro de Conteúdos (dansguardian): O filtro de conteúdos tem a funcção de verificar se os conteúdos pedidos pelo utilizador respeitam as normas definidas ou não. • Proxy de Saída (squidsaida): O proxy de saída tem a função apenas de guardar uma cache, ou seja, armazenar páginas ou partes das mesmas para acelerar a visualização aos utilizadores. A configuração do proxy está acessível através da interface Web de gestão. Este acesso permite modificar as regras de proxy e configurar aspectos de rede relativos ao servidor. Todas as configurações do Proxy podem ser encontradas em /etc/squid e /etc/dansguardian e futuras referências a ficheiros de configuração vão partir deste pressuposto. De modo a implementar as políticas definidas na definição de requisitos foi criado um sistema com o seguinte esquema: Figura 2.48.: Diagrama Proxy O funcionamento global da solução é o seguinte: quando um utilizador faz um pedido ao proxy é validada a sua autenticação e seguindo as regras definidas vai encaminhar o pedido ou para a filtragem ou para o proxy de saída. No caso de ser encaminhado para a filtragem o Pág. 53/111 Capítulo 2. Módulos da ETFW conteúdo é filtrado de acordo com as regras definidas no programa. Os pedidos são sempre feitos para a servidor destino utilizando o proxy de saída. Deste modo faz-se a cache de conteúdo. Uma vez que a filtragem necessita que o conteúdo esteja todo acessível leva a que o browser tenha um aumento no tempo de resposta inicial mas que posteriormente se tornará mais rápido à medida que o proxy de saída vai armazenando informação. 2.3.2. Serviço de Proxy – Squid O serviço de proxy tem a função de encaminhar os pedidos para a Internet e guardar uma cache dos conteúdos de forma a acelerar a visualização dos mesmos quando forem novamente consultados pelos utilizadores. O ficheiro que define o modo de funcionamento do proxy é o /etc/squid/squid.conf que está dividido nas seguintes áreas: • Configurações globais: contém definições globais de funcionamento • Autenticação: define os programas de autenticação (para o browser) • ACLs: define que tipos de condicionantes são passíveis de utilizar • External ACLs: define condicionantes utilizando programas externos ao proxy • Parents: indicação de quais os proxies em cadeia a utilizar e quais os condicionantes • Acessos: define as combinações de acls de modo a filtrar o tráfego Configurações globais A secção de configurações globais permite mudar parametrizações de funcionamento do servidor nomeadamente onde são guardados os logs do proxy, o utilizador com o qual o proxy vai a ser executado, a porta onde está à espera dos pedidos dos utilizadores, etc. De seguida são apresentadas algumas das opções possíveis de configurar nesta secção bem como uma breve descrição. http_port Utilização http_port port hostname: port 1.2.3.4 : port Descrição Esta directiva é usada para especificar o socket onde o proxy vai escutar os pedidos dos browsers. Vários sockets podem ser especificados. Pág. 54/111 Capítulo 2. Módulos da ETFW Existem três formas de utilizar esta directiva: porta apenas, nome da máquina e porta, e endereço IP e porta. Se for definido o nome da máquina ou o endereço IP, o proxy vai apenas escutar nesse interface de rede. Default http_port 3128 Exemplo http_port 8080 Deste modo vai escutar na porta 8080 reescrevendo a configuração por omissão. visible_hostname Utilização visible_hostname anyhostname Descrição Define o nome da máquina visível nas mensagens de erro. Default – Exemplo visible_hostname proxy.eurotux.com cache_effective_user Utilização cache_effective_user userid Descrição Se o proxy é executado como root vai mudar o seu userid para o especificado. O valor usado por omissão é nobody. Default cache_effective_user nobody Exemplo cache_effective_user squid error_directory Utilização error_directory directorypath/directoryname Descrição Define a localização das mensagens de erro. Pág. 55/111 Capítulo 2. Módulos da ETFW Default Normalmente em /etc/squid/errors. Exemplo error_directory /etc/errors icon_directory Utilização icon_directory directorypath/directoryname Descrição Esta opção define onde os icons estão guardados. Default Normalmente em /etc/squid/icons. Exemplo icon_directory /etc/icons Autenticação A secção de Autenticação define quais os programas de autenticação, ou seja, os programas que perguntam ao browser/utilizador qual os seus dados de autenticação. Estão definidos dois modelos de autenticação: basic (quando o browser não suporta autenticação transparente aparece um popup para introdução de dados) ou ntlmssp (autenticação transparente do utilizador). auth_param Utilização auth_param type params [options] Descrição dos parâmetros suportados (params): program Especifica o programa utilizado para autenticação. Tal programa irá ler uma linha contendo “utilizador password” e responder ao squid com um “OK” para sucesso ou um “ERR” para falha. Para utilizar um autenticador, é necessário uma acl do tipo proxy_auth. Por norma utiliza-se o sistema de autenticação básico. auth_param basic program /path/do/programa /path/do/arquivo/senhas children Número de processos filhos que o programa de autenticação poderá conter auth_param basic children número Pág. 56/111 Capítulo 2. Módulos da ETFW realm Texto que irá aparecer na caixa de diálogo de login. Não é necessário configurar, mas confere uma certa personalização ao servidor. auth_param basic realm Texto de login credentials_ttl Especifica por quanto tempo o Squid irá assumir que uma autenticação bem sucedida continuará válida. auth_param basic credentialsttl tempo Default – Exemplo auth_param auth_param auth_param auth_param auth_param auth_param auth_param auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp ntlm children 5 ntlm max_challenge_reuses 0 ntlm max_challenge_lifetime 20 minutes basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic basic children 5 basic realm Squid proxy-caching web server basic credentialsttl 2 hours ACLs A secção de ACLs permite definir quais os modelos de filtragem passíveis de serem utilizados posteriormente na secção de acessos. acl Utilização acl aclname acltype string1 ... | file Descrição Esta tag é utilizada para definir uma lista de acessos. Quando “file” é usado deve conter um item por linha. Normalmente, as expressões são case-sensitive, para as tornar case-insensitive, use a opção -i. A acltype pode ser: • src Descrição Vai verificar o endereço ip de origem. Utilização acl aclname src ip-address/netmask Exemplo acl aclname src 172.16.1.0/24 – Refere a rede 172.16.1.0 acl aclname src 172.16.1.25/32 – Refere apenas um endereço de origem Pág. 57/111 Capítulo 2. Módulos da ETFW • dst Descrição Tem a mesma funcionalidade que o src mas refere o endereço ip destino. Utilização acl aclname dst ip-address/netmask Exemplo acl localhost src 127.0.0.0/255.255.255.0 External ACLs ACLs externas permitem expandir as funcionalidades do proxy utilizando para isso programas externos ao mesmo para gerir acessos. Este tipo de acls permite então, por exemplo, perguntar a um servidor Active Directory se um determinado utilizador pertence a um grupo, se um determinado endereço de origem pode fazer pedidos para a internet com base numa base de dados SQL, etc. A especificação deste comando é a seguinte: external_acl_type Utilização external_acl_type aclname field command Descrição Esta tag permite definir uma acl que será validada utilizando o programa definido e passando no input o campo definido. Default – Exemplo external_acl_type checkuser %LOGIN /etc/squid/check_group.pl squidguard external_acl_type checkwhite %LOGIN /etc/squid/check_group.pl white A criação de uma acl externa pressupõe posteriormente a criação de uma acl interna com a referência ao nome da acl externa. A título de exemplo, a seguinte acl externa: external_acl_type checkwhite %LOGIN /etc/squid/check_group.pl white pressupõe a existência posterior da seguinte acl: acl whiteuser external checkwhite Neste momento usar-se-ia a acl whiteuser. Pág. 58/111 Capítulo 2. Módulos da ETFW Parents Esta secção especifica quais os proxies em cadeia que serão utilizados pelo proxy de entrada para download de informação. cache_peer Utilização cache_peer hostname type http_port icp_port options Descrição Esta tag é usada para especificar outros proxies na hierarquia e está dividida em cinco campos. O primeiro campo é no nome ou IP do proxy que vai ser utilizado. O segundo indica o tipo de relação com o proxy seguinte. O terceiro campo indica a porta HTTP onde o proxy destino vai escutar os pedidos, e o quarto a porta de ICP. O quinto campo pode existir ou não e especifica as opções. hostname Hostname (FQDN) ou endereço IP da cache a ser utilizada. Por exemplo, cache_peer a.eurotux.com sibling 3128 3130 [proxy-only] cache_peer 172.16.1.100 sibling 3128 3130 [proxy-only] type Tipo de hierarquia a utilizar entre os proxies. • parent • sibling • multicast http_port A porta onde o proxy seguinte está à espera dos pedidos. icp_port Usada para perguntar aos vizinhos sobre os objectos que as caches possam ter ou não. option proxy-only Indica que o conteúdo pedido a este proxy não é para guardar localmente. Weight=n Especifica o peso na escolha do proxy. Por omissão é 1 e quanto maior for, mais “favorecido” será este proxy. ttl=n Especifica o Time To Live (ttl). Apenas utilizado em multicast. Pág. 59/111 Capítulo 2. Módulos da ETFW no-query Usado para proxies que não usam ICP, ou seja, que não indicam se contêm um objecto ou não. default Quando o proxy é o último na linha hierárquica usa-se esta opção. round-robin Para usar proxies em modo round-robin. Default – Exemplo cache_peer proxy.visolve.com parent 3128 3130 default cache_peer 172.16.1.100 sibling 3128 3130 proxy-only cache_peer 172.16.1.123 sibling 3129 5500 weight=2 cache_peer_access Utilização cache_peer_access cache-host allow|deny [!]aclname ... Descrição Usa acls para escolher qual o proxy parent a usar. Default – Example O seguinte exemplo envia todos os pedidos vindos da rede 10.0.1.0 pelo proxy. acl myNet src 10.0.0.0/255.255.255.0 acl cusNet src 10.0.1.0/255.255.255.0 acl all src 0.0.0.0/0.0.0.0 cache_peer a.eurotux.com parent 3128 3130 cache_peer_access a.eurotux.com allow custNet cache_peer_access a.eurotux.com deny all Acessos Esta secção especifica quais as combinações das acls a aplicar a cada situação e qual a acção a fazer: negar ou aceitar. É de salientar que estas regras são interpretadas de cima para baixo e caso uma regra seja correspondida a acção é efectuada. É importante salientar que caso não exista no final a opção http_access deny todos os pedidos que chegarem a esse ponto são aceites. A título de exemplo, este funcionamento é o inverso das acls da Cisco onde a acção por omissão é negar. Pág. 60/111 Capítulo 2. Módulos da ETFW http_access Utilização http_access allow|deny [!]aclname ... Descrição Permitir ou negar o acesso http baseado em acls. Default http_access http_access http_access http_access http_access allow manager localhost deny manager deny !Safe_ports deny CONNECT !SSL_ports deny all cache_dir Utilização cache_dir Type Directory-Name Mbytes Level-1 Level2 [..] DISKD : cache_dir diskd Directory-Name MB L1 L2 Q1 Q2 Descrição O campo Type especifica que tipo de sistema de armazenamento vai utilizar. Directory especifica a directoria onde o proxy vai armazenar os dados. A directoria tem de existir e tem de ter permissões de escrita para o utilizador com o qual o proxy está a ser executado. Mbytes é o espaço em MB alocado para armazenamento. Level-1 é o número de directorias de primeiro nível criadas dentro da directoria principal de armazenamento. Level-2 especifica o número de directorias de segundo nível a serem criadas dentro das de primeiro nível. Default cache_dir ufs /usr/local/squid/cache 100 16 256 Exemplo cache_dir ufs /cache1 5000 16 256 cache_dir ufs /cache2 7000 16 256 Exemplos de configurações O seguinte capítulo vai incluir alguns exemplos de configurações. Pág. 61/111 Capítulo 2. Módulos da ETFW Restringir acessos por tempo Podem ser criadas ACLs baseadas em parâmetros temporais. Aqui ficam alguns exemplos. É necessário reniciar o squid para as alterações ficarem activas Aceitar acessos da rede interna em horas de trabalho: # Adicionar o seguinte no final da secção das acls acl home_network src 192.168.1.0/24 acl business_hours time M T W H F 9:00-17:00 # Adicionar o seguinte no início da secção de http_access http\_access allow home_network business_hours Aceitar acessos apenas de manhã: # Adicionar o seguinte no final da zona de acls acl mornings time 08:00-12:00 # Adicionar o seguinte no início da zona de http_access http\_access allow mornings Restringir acessos pelo endereço IP Podemos restringir os acessos à internet baseado nos endereços de origem. Neste caso estamos a criar uma ACL que define a nossa rede como 192.168.1.0. # Adicionar no final da zona de acls acl home_network src 192.168.1.0/255.255.255.0 É também necessário adicionar o correspondente http_access para permitir tráfego que corresponde à ACL. # Adicionar no início da zona de http_access http_access allow home_network Proxy Transparente Um proxy transparente permite ter um sistema de cache totalmente invisível dos browsers. Para tal é necessária a colaboração do router de saída que encaminhe todos os pedidos web vindos da rede interna para o proxy. É importante salientar que não é possível criar um proxy transparente para o protocolo https, pelas garantias de confidencialidade que são inerentes ao próprio protocolo, bem como não é possível ter autenticação de utilizadores. A configuração do proxy é então a seguinte a acrescentar na zona de configuração global: httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on É ainda necessário reencaminhar no router todos os pedidos web para o ip do proxy na porta 80. Pág. 62/111 Capítulo 2. Módulos da ETFW Operações sobre o serviço As operações sobre este serviço são: • Iniciar /etc/init.d/squid start • Desligar /etc/init.d/squid stop • Reiniciar /etc/init.d/squid restart Exemplos de utilização Nesta sub-secção vamos abordar alguns exemplos de configurações mais comuns de modo a que possa facilmente efectuar qualquer alteração no seu serviço. Embora tenhamos anteriormente especificadas as opções que o servidor permite, necessitaria de aceder ao servidor via SSH, alterar o ficheiro de configuração do squid (/etc/squid/squid.conf) e reiniciar o serviço para que as alterações fossem activadas. Embora este acesso seja o preferêncial para utilizadores com conhecimentos de Linux, é disponibilizado um acesso web de administração para gerir o seu proxy. No primeiro exemplo vamos abordar a negação do acesso a determinadas páginas com URLs baseados em padrões. Negar acesso baseado em RegEXP no URL Para negar o acesso a determinados endereços web (URLs) baseado num qualquer texto que faça parte do mesmo devemos aceder à interface web de administração do seu proxy (tipicamente em http://XXX.XXX.XXX.XXX:12345/ ou http://XXX.XXX.XXX.XXX:10000/ onde XXX.XXX.XXX.XXX é o endereço ip do seu servidor de proxy). Depois de inserir as credenciais deverá escolher na árvore do lado esquerdo, na secção "Servers", o item "Squid Proxy Server". Deverá ver algo como a seguinte imagem: Pág. 63/111 Capítulo 2. Módulos da ETFW Figura 2.49.: Administração do Proxy Deverá posteriormente escolher a opção "Access Control"e deverá ver algo como a seguinte imagem: Figura 2.50.: Acl do Proxy De seguida deverá escolher a opção "URL Regexp"e carregar no botão "Create New ACL". Pág. 64/111 Capítulo 2. Módulos da ETFW Figura 2.51.: Acls do Proxy Deverá de seguida ser apresentada uma página como a seguinte: Figura 2.52.: Criar URL Regexp Após carregar em "Save"voltará à página inicial das ACLs. Vamos agora aplicar este filtro para negar o acesso a estes sites. Para tal deverá escolher o link "Add proxy restriction"que é apresentado abaixo de "Proxy restrictions". Figura 2.53.: Adicionar uma restrição de proxy Pág. 65/111 Capítulo 2. Módulos da ETFW Vamos então escolher a acção que será despoletada quando alguém aceder a estes sites. Neste caso vamos escolher a acção "Deny"e vamos de seguida definir o padrão que criámos anteriormente (sitios_bloqueados). Figura 2.54.: Adicionar uma restrição de proxy - Guardar Após gravarmos a alteração, voltaremos à interface de acls onde podemos encontrar a nova acl. Figura 2.55.: Adicionar uma restrição de proxy - Menu Devemos de seguida colocar a acl acima na cadeia de verificações carregando na seta amarela para cima. Deverá ficar antes da directiva "Allow rede PASSWD checkgroup whiteuser". Após esta modificação deverá aplicar as alterações carregando no link "Apply Changes"que se encontra no canto superior direito. Pág. 66/111 Capítulo 2. Módulos da ETFW 2.3.3. Serviço de Filtragem de Conteúdo – Dansguardian Configuração O servidor de filtragem de conteúdo tem a sua configuração em /etc/dansguardian pelo que futuras referências farão uso desta mesma informação. dansguardian.conf O principal ficheiro de configuração é o dansguardian.conf e contém as características principais de funcionamento nomeadamente as portas onde está à espera de pedidos, para que servidor envia os pedidos e quais os ficheiros que especificam as regras de filtragem. É possível também definir qual o número máximo e mínimo de processos de filtragem usando as directivas maxchildren, minchildren, minsparechildren, maxsparechildren e maxagechildren tal como estão comentadas no ficheiro em questão. De seguida são apresentados alguns parâmetros de configuração: Reporting Level Permite modificar o nível de verbosidade quando uma página é negada. Pode dizer apenas Access Denied, ou explicar porquê, ou então qual a frase negada. Logging Settings Permite configurar o nível de logging. Log File Format Permite mudar o formato de como o dansguardian guarda os logs. Network Settings Permite modificar a porta onde o dansguardian está à espera de pedidos, o endereço IP do servidor que tem o squid bem como a respectiva porta. Permite configurar a página que irá ser mostrada no caso de o acesso for negado. Content Filtering Settings Permite mudar o local onde estão os ficheiros com conteúdos filtrados. Naughtyness limit Esta directiva permite definir o limite a partir do qual um conteúdo irá ser bloqueado. Cada palavra ou conjunto de palavras poderá ter um peso positivo (ou seja, vai levar a que o conteúdo seja mais rapidamente bloqueado) ou um peso negativo. O ficheiro weightedphraselist contém alguns exemplos. Os seguintes valores são usados frequentemente, 50 para crianças, 100 para jovens e 160 para adultos. Show weighted phrases found Se ligado, as palavras ou frases encontradas que levam a que a pontuação exceda o limite vão ser registadas e, caso o reporting level seja suficiente, reportadas. Pág. 67/111 Capítulo 2. Módulos da ETFW Outros ficheiros De seguida são apresentados outros ficheiros de configuração do dansguardian com as respectivas finalidades: exceptionsitelist Este ficheiro contém uma lista de domínios para os quais o dansguardian não vai fazer filtragem de conteúdo. De notar que não se deve colocar o http:// ou o www início de cada entrada. exceptioniplist Contém uma lista de ips de origem que não serão filtrados, por exemplo, o ip de um administrador. De notar que este ficheiro só tem relevância caso o dansguardian receba directamente os pedidos dos browsers ou caso o proxy anterior envie o X-ForwardFor. exceptionuserlist Utilizadores que não vão ser filtrados (só funciona com autenticação básica ou ident). exceptionphraselist Se alguma destas palavras aparecer no conteúdo de uma página, a filtragem vai ser desactivada para este conteúdo. Como tal é preciso algum cuidado ao adicionar entradas novas neste ficheiro. Uma melhor solução poderia ser colocar um valor negativo no weightedphraselist. exceptionurllist URL’s colocados nesta página não vão ser alvo de filtragem. bannediplist Endereços IP de clientes a negar o acesso Web. Só devem ser aqui colocados ips e não hostnames. bannedphraselist Os conteúdos a negar na filtragem podem ser modificados no ficheiro bannedphraselist. Este ficheiro já inclui alguns tipos de palavras como se pode ver pelo extracto: .Include</etc/dansguardian/phraselists/pornography/banned> .Include</etc/dansguardian/phraselists/illegaldrugs/banned> .Include</etc/dansguardian/phraselists/gambling/banned> banneduserlist Nomes de utilizadores que, caso a autenticação básica esteja activada, lhes será negado o acesso ao exterior. Funcionalidades relativas a ips de origem e utilizadores apenas fazem sentido quando o dansguardian é o proxy de entrada em vez do squid. bannedmimetypelist Contém uma lista de MIME-types banidos. Pág. 68/111 Capítulo 2. Módulos da ETFW Se um pedido a um URL retornar um MIME-type que esteja nesta lista vai ser bloqueado pelo DansGuardian. Permite, por exemplo, bloquear filmes, ficheiros de música, etc. É aconselhável não banir os MIME-types text/html ou image/*. bannedextensionlist Contém uma lista de extensões de ficheiros banidos. Se um URL termina com uma extensão desta lista vai ser bloqueado pelo DansGuardian. bannedregexpurllist Permite banir determinados endereços baseado em expressões regulares. Operações sobre o serviço • Iniciar /etc/init.d/dansguardian start • Desligar /etc/init.d/dansguardian stop • Reiniciar /etc/init.d/dansguardian restart Para que o serviço se inicie correctamente é necessário que o proxy de saída esteja a funcionar. Todas estas alterações podem ser realizadas no frontend da ETFW. Pág. 69/111 Capítulo 2. Módulos da ETFW 2.3.4. Servidor de DHCP Figura 2.56.: Vista Geral do Módulo Servidor de DHCP Neste módulo (Figura 2.56) podemos configurar tudo relacionado com o servidor de DHCP. Permite-nos configurar o IP de rede, o endereço do encaminhador, o endereço do servidor de DNS, o número de IPs para alocar hosts, visualizar concessões activas, iniciar/parar o servidor. Será realizada, de seguida, uma descrição com maior detalhe. Pág. 70/111 Capítulo 2. Módulos da ETFW Editar sub-rede Figura 2.57.: Vista de Editar sub-rede Esta é uma configuração por defeito. Poderá alterar da forma que entender conforme as suas necessidades. Seleccionando a nossa rede 10.10.10.0 irá abrir nova janela onde constam as seguintes opções: Endereço de Rede, Máscara de Rede, Alcance dos Endereços, entre outros. Após inserir todos os dados correctamente, carregar em Guardar. Figura 2.58.: Opções de Interface De volta à página inicial (Figura 2.56) seleccionamos Edit Network Interfaces e seleccionamos o pretendido. No caso da (Figura 2.58) foi escolhido Eth1. Não esquecer ccarregar em Pág. 71/111 Capítulo 2. Módulos da ETFW Guardar. Após este passo já podemos iniciar o nosso servidor carregando em Iniciar Servidor. Nota: Poderá ser necessário parar o servidor. Neste caso, abrir a consola e digitar: "service dhcpd stop". De seguida, "service dhcpd start". Figura 2.59.: Opções do ficheiro de configuração ConfigFile Aqui temos uma visão geral do que é o nosso ficheiro de configuraçãoConfigFile do nosso servidor DCHP. O ficheiro pode ser editado e alterado. Figura 2.60.: Lista das Concessões Activas Podemos visualizar todos os IPs atribuídos carregando em Listar Concessões Activas. Nesta página (Figura 2.60) mostra quais os IPs atribuídos e IPs expirados. Pág. 72/111 Capítulo 2. Módulos da ETFW 2.3.5. Serviço Anti-Spam – Spamassassin O serviço de detecção de spam3 utilizado no servidor é o Spamassassin. O ficheiro de configuração deste serviço é: /etc/mail/spamassassin/local.cf O existem vários comandos para controlar este serviço: • Iniciar /etc/init.d/spamassassin start • Desligar /etc/init.d/spamassassin stop • Reiniciar /etc/init.d/spamassassin restart O serviço anti-spam também poderá ser gerido utilizando a interface web disponibilidada para o efeito. Para tal, deverá aceder à secção Servers->SpamAssassin Mail Filter na árvore de acessos do lado esquerdo. Posteriormente deverá encontrar uma página semelhante à seguinte: Figura 2.61.: Configuração do SpamAssassin Relembramos que o mecanismo anti-spam apenas marca o correio electrónico como possível de ser spam. É no entanto possível excluír determinados endereços e/ou domínios de email desta marcação (o que denominamos de whitelist) e marcar outros endereços e/ou domínios como spam (o que denominamos blacklist ou lista-negra). Para que possa gerir estas listas, deverá escolher a opção "Allowed and Denied Addresses"e deverá encontrar uma página semelhante à seguinte: 3 Spam é uma mensagem electrónica não-solicitada enviada em grande escala. Pág. 73/111 Capítulo 2. Módulos da ETFW Figura 2.62.: Whitelist e blacklist Para adicionar endereços à whitelist deverá preencher a caixa intitulada "From: addresses to never classify as spam". Deste modo todos os emails cujo rementente estiver nesta lista não serão marcados como correio não solicitado vulgo spam. A título exemplificativo, se adicionássemos *.eurotux.com nesta caixa, todo o correio cujo rementente é da eurotux não será marcado como spam. Para adicionar endereços à blacklist deverá preencher a caixa intitulada "From: addresses to always classify as spam". O modelo de funcionamento é análogo à whitelist. Posteriormente a qualquer alteração deverá carregar no botão "Guardar"para gravar as alterações. A marcação de spam é efectuada utilizando heurísticas que pontuam determinados padrões. Quando essa pontuação atinge um determinado valor o email é considerado spam e marcado de acordo. Este limite de pontuação poderá ser modificado. Para tal deverá utilizar o icon "Spam Classification"no ecrã de configuração do spamassassin. Pág. 74/111 Capítulo 2. Módulos da ETFW Figura 2.63.: Nível de spam No primeiro item ("Hits above which a message is considered spam") é definido o valor a partir do qual o email é considerado spam. O valor por omissão é 5 pontos. Pág. 75/111 Capítulo 2. Módulos da ETFW 2.3.6. Pound O Pound é programa de reverse proxy, load balancer e front-end HTTPs para servidores Web. Configuração A configuração do serviço de Pound pode ser efectuada a partir do menu Servidores, em Configuração Pound. Figura 2.64.: Configuração Pound: edição global Na primeira página é possível definir os parâmetros globais de configuração Pound, nomeadamente: • User - utilizador de sistema com que corre o processo • Group - grupo com que corre o processo • LogLevel - nível de verbosidade do log ( 0 - desactivo, 1 - 5 ) • LogFacility - parâmetro para especificar uma das syslog facilities • TimeOut - tempo de resposta do Back-End (em segundos) esperado • Daemon - correr processo como daemon • RootJail - directoria usada para chroot Pág. 76/111 Capítulo 2. Módulos da ETFW • DynScale - parâmetro que activa o dynamic rescaling, ou seja, o Pound verifica e modifica periodicamente as prioridades dos Back-Ends de forma a igualar os tempos de resposta dos vários Back-Ends • Alive - tempo ( em segundos ) em que será feita nova verificação de actividade dos Back-Ends • Client - tempo de espera de um pedido do cliente • Grace - tempo ( em segundos ) em que são mantidas as conexões após ter recebido um sinal INT ou HUP • SSLEngine - hardware de aceleração para OpenSSL • Control - caminho para socket de controlo a ser usado pelo poundctl Figura 2.65.: Configuração Pound: editar Listeners Em Listeners é possível definir as directivas para pedidos HTTP e/ou HTTPS que vão ser tratados pelo Pound. Pág. 77/111 Capítulo 2. Módulos da ETFW Figura 2.66.: Configuração Pound: editar Serviços É também possível definir os serviços que globalmente vão ser processados pelo Pound. Figura 2.67.: Configuração Pound: editar Listener HTTP Ao seleccionar um Listener HTTP é possível editar os parâmetros associados a este listener, nomeadamente: • Address: endereço Pág. 78/111 Capítulo 2. Módulos da ETFW • Port: porta • xHTTP: tipo de pedidos • HTTP para pedidos HTTP (GET, POST, HEAD) • xHTTP para pedidos HTTP extendidos (PUT, DELETE) • WebDav para pedidos WebDav (LOCK, UNLOCK, PROPFIND, PROPPATCH, SE- ARCH, MKCOL, MOVE, COPY, OPTIONS, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT) • MSWebDav para pedidos da extensão MS Webdav (SUBSCRIBE, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT) • MSRPC para pedidos MS RPC (RPC_IN_DATA, RPC_OUT_DATA) • HeadRemove: remoção de directivas do Header de pedidos do cliente • AddHeader: adiciona directivas ao Header para serem passadas ao servidor de BackEnd • MaxRequest: tamanho máximo do pedido • CheckURL : padrão de verificação de cada pedido enviado • Client: parâmetro que se sobrepõe ao parâmetro global • RewriteDestination: altera Destination no Header do pedido para ser envidado para o servidor de Back-End • RewriteLocation: para opção 1 altera Location e Content-location do Header da resposta; • LogLevel: nível de verbosidade do log • outros: ficheiros de erros para Err414, Err500, Err501, Err503. Pág. 79/111 Capítulo 2. Módulos da ETFW Figura 2.68.: Configuração Pound: editar Listener HTTPS Para o Listener HTTPS é possível editar adicionalmente, os seguintes parâmetros: • Cert ficheiro do certificado do servidor • CAlist ficheiro do certificado da CA • VerifyList ficheiro com os certificados da CA de raiz • ClientCert verificar o certificado do cliente e a profundidade: – – – – 0 - não solicita certificado 1 - solicita e verifica certificado 2 - solicita e falha no caso de não estar presente 3 - solicita mas não verifica • Ciphers cifras aceitas para conexões SSL. O parâmetro deve ser no formato OpenSSL ( OpenSSL ciphers e SSL_CTX_set_cipher_list ) • CRLlist ficheiro com a CRL (Certificate Revocation List) • NoHTTPS11 opção para comportamento como servidor HTTP/1.0 para pedidos HTTPS de clientes – Disable - desactiva o comportamento – Any - activa o comportamento para qualquer tipo de cliente – IE_Only - activa comportamento para clientes MS IE apenas Pág. 80/111 Capítulo 2. Módulos da ETFW Figura 2.69.: Configuração Pound: editar Serviço Para cada listener é possível definir vários serviços que podem ser tratados, e para cada caso especificar os seguintes parâmetros: • URL - padrão de URL para filtragem dos pedidos • HeadRequire - padrão de uma ou mais directivas do Header do pedido • HeadDeny - padrão de rejeição de pedidos com uma das directivas no Header • DynScale - parâmetro que se sobrepõe à opção global • Redirect - parâmetro para definir um redireccionamento com um código e url Para cada serviço é necessário definir os servidores de Back-End e opcionalmente o servidor de emergência e adicionalmente uma directiva para a sessão. No servidor de Back-End, podemos especificar os seguintes parâmetros: • Address - endereço • Port - porta • Priority - prioridade do back-end de 1-9 ( por omissão 5) • TimeOut - valor de timeout (sobrepõe-se ao valor global) • HAPort - porta ( e adicionalmente endereço ) para verificar se o servidor se encontra activo. Caso contrário a verificação será feita através da mesma porta do back-end Para o servidor de emergência apenas é necessário definir o endereço e a porta. Para a sessão podemos definir os parâmetros para tratar as sessões: Pág. 81/111 Capítulo 2. Módulos da ETFW • Type - tipo de sessão que pode ser um destes valores: IP - endereço do cliente, BASIC - autenticação básica, URL - parâmetro no url, PARM - parâmetro no uri, COOKIE determinado cookie, ou HEADER - determinada directiva no Header do pedido • TTL - ttl em segundos de validade da sessão • ID - identificador da sessão. Nota: As sessões permitem que os pedidos de determinada sessão sejam enviadas para o mesmo servidor de Back-End. Pág. 82/111 Capítulo 2. Módulos da ETFW 2.4. Hardware Os módulos descritos nesta secção, apenas estão disponíveis para o caso da ETFW possuir um ou mais discos. 2.4.1. Estado de Dispositivos SMART Figura 2.70.: Opções do Módulo Estado de Dispositivos SMART Este módulo poderá ser útil para verificar o estado dos discos do sistema e fazer testes de SMART aos mesmos, a fim de verificar a sua fiabilidade. Pág. 83/111 Capítulo 2. Módulos da ETFW 2.4.2. Partições em Discos Locais Figura 2.71.: Opções do Módulo Partições em Discos Locais Através deste módulo poderá gerir as partições existentes e/ou criar novas partições. As partições que estejam actualmente em uso, não poderão ser modificadas, nem apagadas. Pág. 84/111 Capítulo 2. Módulos da ETFW 2.5. Sistema 2.5.1. Estado do Sistema e do Servidor Aqui pode visualizar o estado geral do sistema, sendo possível configurar vários serviços para poder ter mais informação numa única página, serviços disponíveis noutros servidores. Figura 2.72.: Opções do Módulo Estado do Sistema e do Servidor Para configurar um serviço adicional, escolhe-se na caixa de selecção (Figura 2.72) o serviço pretendido (caso seja noutra máquina, este deverá começar por Remote) e carrega-se no botão Adicionar verificação do tipo. Após esta operação a página Web exemplificada na Figura 2.73 será apresentada. Pág. 85/111 Capítulo 2. Módulos da ETFW Figura 2.73.: Exemplo Criar Monitorização Nesta página, dependendo do serviço de monitorização que escolheu, serão apresentadas duas secções: • uma geral, onde pode definir comandos a executar caso o serviço mude do estado activo para inactivo ou vice-versa • uma particular dependendo do serviço que escolheu adicionar. Neste caso Figura 2.73, como o serviço era Remote Ping a única coisa que teríamos que preencher era o nome do host a verificar e o tempo máximo de resposta do ping Pág. 86/111 Capítulo 2. Módulos da ETFW 2.6. Avançado 2.6.1. Linux Firewall Conceitos Gerais A firewall existente na ETFW é baseada em iptables, sendo esta composta por três “objectos” básicos: 1. Regras 2. Chains (Cadeias) 3. Tabelas Pág. 87/111 Capítulo 2. Módulos da ETFW Figura 2.74.: Esquema da firewall iptables Regras: São os objectos de nível mais baixo que efectuam a filtragem ou manipulação de pacotes. Uma regra é composta por várias partes: • A tabela a que esta regra será adicionada • A chain a que esta regra será adicionada • As instruções de filtragem ou manipulação Chains: As regras organizam-se em chains, que são listas ordenadas simples de regras. Uma chain é como uma lista de verificação de regras. Tabelas: Devido à grande quantidade de possibilidades de regras que poderão existir para filtrar e/ou manipular os pacotes, as próprias chains estão organizadas em tabelas. Pág. 88/111 Capítulo 2. Módulos da ETFW O funcionamento processa-se da seguinte forma: se o cabeçalho do pacote atender aos requisitos da regra, o pacote seguirá o destino imposto pela regra, caso contrário, passará adiante e será avaliada pela próxima regra, até que não haja mais regras para consultar. Nesta situação será aplicado ao pacote a regra por omissão ou padrão que estiver definida. Pág. 89/111 Capítulo 2. Módulos da ETFW Vista Geral Figura 2.75.: Vista Geral do Módulo Linux Firewall Quando entramos neste módulo a primeira página apresenta-nos a lista geral de regras existentes no nosso sistema na tabela de filter (Figura 2.75). Caso se queira consultar as regras existentes no nosso sistema, em outras tabelas, bastará escolher a tabela (clicar em Mostrar a Iptable, tal como mostra a Figura 2.76). Figura 2.76.: Alterar a Tabela a Visualizar Pág. 90/111 Capítulo 2. Módulos da ETFW Tabela FILTER (Packet Filtering) A tabela filter é a tabela que o utilizador deverá usar para filtrar pacotes que passem através da firewall. Apresenta três chains pré-definidas: INPUT - filtra pacotes cujo destino seja a própria firewall OUTPUT - filtra pacotes cuja origem seja a firewall FORWARD - filtra os pacotes que passam pela firewall (nem a origem, nem o destino são a firewall) Figura 2.77.: Esquema da tabela filter O esquema da Figura 2.77 representa as três chains pré-definidas e o percurso de um pacote na tabela filter. As opções mais comuns e utilizadas nas várias chains da tabela filter são as seguintes: Pág. 91/111 Capítulo 2. Módulos da ETFW Figura 2.78.: Opções comuns I (filter) Comentários da regra: permite escrever um pequeno comentário para identificar a regra que irá ser criada Acção a ser tomada: decide o que deverá ser feito com o pacote se este corresponder à regra. As acções mais importantes são: Negar: elimina o pacote sem fazer mais nada. Aceitar: a firewall deixa o pacote passar e os dados são enviados para o destinatário. Rejeitar: funciona da mesma forma que o Negar mas é enviado um erro ICMP de volta ao emissor do pacote. Userspace: se esta opção estiver activa é feito, pelo kernel, o multicast do pacote para um socket na qual pode estar à escuta um processo. Figura 2.79.: Opções comuns II (filter) Endereço de Origem ou rede: Estabelece a origem do pacote. Geralmente é uma combinação do endereço IP com a máscara de subrede, separadas por uma barra. Ex: 192.168.1.0/255.255.255.0 ou 192.168.1.0/24. Endereço de Destino ou rede: Estabelece o destino do pacote. Tem a mesma combinação que o anterior. Interface de Entrada: Especifica o interface de entrada do pacote. Interface de Saída: Especifica o interface de saída do pacote. Fragmentação: Algumas vezes um pacote é muito grande para ser enviado de uma só vez. Quando isso acontece, o pacote é dividido em fragmentos e enviados como múltiplos Pág. 92/111 Capítulo 2. Módulos da ETFW pacotes. No destino estes fragmentos são reconstruídos, formando o pacote original. Assim podemos fazer com que uma regra faça correspondência através de pacotes fragmentados ou não. Protocolo de Rede: Especifica a correspondência ao protocolo escolhido. Figura 2.80.: Opções comuns III (filter) Origem TCP ou porta UDP: Define a correspondência por porta de entrada, podendo ser facultado um intervalo de portas (exemplo: 1000:1050) ou uma lista de portas separadas por vírgulas. Destino TCP ou porta UDP: Define a correspondência por porta de saída, podendo facultarse um intervalo de portas (exemplo: 1000:1050) ou uma lista de portas separadas por vírgulas. Porta(s) de origem e destino: Define a correspondência pela porta, tanto de entrada como de saída, podendo ser indicado um intervalo de portas ou uma lista de portas separadas por vírgulas. Figura 2.81.: Opções comuns IV (filter) Tipo de pacote ICMP: Tipo de pacote ICMP que vai fazer correspondência. Endereço ethernet: Identifica um endereço físico de rede que servirá para fazer correspondência com a regra. Figura 2.82.: Opções comuns V (filter) Taxa de fluxo do pacote: Define o volume de pacotes com que a regra passará a fazer correspondência. Pág. 93/111 Capítulo 2. Módulos da ETFW Taxa de burst do pacote: Define o limite a partir do qual os pacotes começarão a fazer correspondência com a regra. Figura 2.83.: Opções comuns VI (filter) Estado da Conexão: Especifica o estado da ligação que vai fazer correspondência. Tipo de Serviço: Define o tipo de serviço, para o qual desejamos que a regra faça correspondência. Figura 2.84.: Opções comuns VII (filter) Módulos adicionais Iptables: Especifica directamente qual o módulo onde a regra será inserida. Parâmetros adicionais: Especifica parâmetros adicionais, que vão ser passados directamente para a linha da firewall a ser executada. Pág. 94/111 Capítulo 2. Módulos da ETFW Figura 2.85.: Criação de uma regra na tabela filter I Adicionando uma regra de exemplo, no frontend da ETFW, para aceitar unicamente as ligações para a porta 12345 do endereço IP 192.168.16.23 será necessário clicar em Adicionar Regra da chain de INPUT (Figura 2.75) e preencher os campos indicados (exemplo Figura 2.85). Seguidamente, ao seleccionar Criar a regra será gravada para o ficheiro de regras e a Figura 2.86 será apresentada. Pág. 95/111 Capítulo 2. Módulos da ETFW Figura 2.86.: Criação de uma regra na tabela filter II Por fim seria necessário acrescentar uma regra equivalente à anterior negando tudo que tivesse como destino a porta 12345. A Figura 2.87 representa o estado final deste exemplo. Pág. 96/111 Capítulo 2. Módulos da ETFW Figura 2.87.: Criação de uma regra na tabela filter III Seleccionando Aplicar configuração as regras serão activadas (atenção que as regras só serão activadas após clicar nesta opção). Dependendo das regras introduzidas, o acesso ao frontend da ETFW poderá ser perdido (incluindo o seu acesso total), em caso de erro na configuração. Nesse sentido é necessário estar consciente da sensibilidade deste tipo de configurações. Pág. 97/111 Capítulo 2. Módulos da ETFW Tabela MANGLE (Packet Alteration) Esta tabela não será abordada nesta versão do manual. Pág. 98/111 Capítulo 2. Módulos da ETFW Tabela NAT (Network Address Translation) Esta tabela é usada para tradução do endereço de rede (Network Address Translaction). A sua utilização é necessária quando se pretende traduzir um pacote com um determinado campo de origem ou destino. De notar que apenas o primeiro pacote será atingido por esta chain. Após isto, ao resto dos pacotes, serão aplicados as mesmas acções do primeiro (esquema na Figura 2.88). Esta tabela apresenta três chains pré-definidas (Figura 2.92): PREROUNTING - aplica alterações aos pacotes quando o destino do pacote necessita de ser alterado POSTROUTING - aplica alterações aos pacotes quando a origem do pacote necessita de ser alterada OUTPUT - aplica alterações aos pacotes originados pela firewall Figura 2.88.: Esquema da tabela NAT Os alvos actuais desta tabela são: DNAT - usado nos casos em que se tem um endereço IP público na firewall e se quer redireccionar o acesso para outro host (numa DMZ por exemplo). Permite encaminhar tráfego. SNAT - usado quando se quer alterar a origem do pacote, normalmente para esconder os endereços locais da rede ou DMZ. Pág. 99/111 Capítulo 2. Módulos da ETFW MASQUERADE - usado da mesma forma que o SNAT e para o mesmo motivo, mas o endereço IP de saída não é especificado, sendo utilizado o endereço de origem da interface de saída do pacote. Esta regra é usada principalmente para endereços IP’s dinâmicos, pois se o link cair, o endereço de origem que estava a ser utilizado é descartado, dando lugar ao novo endereço de origem da interface quando o link for restabelecido. As opções utilizadas na tabela de NAT são idênticas às da tabela de filter, possuindo também a mesma funcionalidade. A principal diferença é a primeira tabela de opções (Figura 2.89). Figura 2.89.: Opções da tabela NAT Acção a ser tomada : tem a mesma funcionalidade descrita na secção anterior (tabela filter), mas possui duas opções diferentes. São elas: Masquerade : Re-escreve o endereço IP de saída, quando se trata de endereços IP’s dinâmicos. Origem NAT/Destino NAT : Dependendo da chain (PREROUTING, POSTROUTING ou OUTPUT) a opção disponível, poderá variar entre Origem e Destino. Reescrevem os endereços IP’s de entrada e saída respectivamente. Adicionando uma regra de exemplo, no frontend da ETFW, para re-escrever o endereço IP de saída de uma máquina com o endereço 192.168.4.1 para o endereço externo 194.56.23.45, será necessário seleccionar a tabela de NAT na página principal, e clicar em Mostrar IPtable, tal como é mostrado na Figura 2.90. Figura 2.90.: Criação de uma regra na tabela SNAT I Depois será necessário seleccionar a opção Adicionar Regra da chain POSTROUTING e preencher as opções indicadas na Figura 2.91. Pág. 100/111 Capítulo 2. Módulos da ETFW Figura 2.91.: Criação de uma regra na tabela SNAT II Após carregar em Criar a regra será gravada para o ficheiro de regras e a página da Figura 2.92 será apresentada. Tal como no exemplo da tabela filter, será necessário seleccionar a opção Aplicar configuração para as as regras serem activadas. Figura 2.92.: Criação de uma regra na tabela SNAT III Pág. 101/111 Capítulo 2. Módulos da ETFW Outro exemplo será criar o inverso da regra acima exemplificada, ou seja, re-escrever o endereço IP de entrada existente na ETFW (ex. 194.56.23.45) para a máquina com o endereço 192.168.4.1. Para isso selecciona-se a opção Adicionar Regra da chain PREROUTING e preenche-se as opções indicadas na Figura 2.93. Seleccionando Criar a regra será gravada para o ficheiro de regras apresentando a página ilustrada na Figura 2.94. Quando se seleccionar Aplicar configuração as regras visualizadas serão activadas e o endereço IP utilizado para exemplo (194.56.23.45) será mapeado no endereço IP interno 192.168.4.1. Normalmente quando se faz uma configuração deste estilo, usa-se a tabela filter na chain de forward para filtrar as ligações não desejadas, ou não necessárias. Figura 2.93.: Criação de uma regra na tabela DNAT I Pág. 102/111 Capítulo 2. Módulos da ETFW Figura 2.94.: Criação de uma regra na tabela DNAT II Pág. 103/111 Capítulo 2. Módulos da ETFW 2.6.2. Administrador de Ficheiros Este módulo permite navegar no sistema de ficheiros da ETFW, permitindo actuar como um gestor de ficheiros. Figura 2.95.: Vista geral do módulo Administrador de Ficheiros Pág. 104/111 Capítulo 2. Módulos da ETFW 2.6.3. Comandos Personalizados Este módulo serve para ajudar, de uma forma mais simples, a execução de comandos complexos e que sejam várias vezes executados. Numa primeira abordagem, ao abrir o módulo, a seguinte página é apresentada: Figura 2.96.: Exemplo Vista Geral do Módulo Comandos Personalizados Como neste exemplo (Figura 2.96) não existe nenhum comando definido, clicando no Criar novo comando personalizado temos uma vasta série de opções que podemos definir ao criar um comando (Figura 2.97). As opções básicas e aconselhadas a preencher, quando se adiciona um comando, são: Descrição: para saber de que comando se trata, antes de o executar Comando: o comando que se pretende executar Executar na directoria: directoria onde o comando será executado Executar como utilizador: o utilizador de sistema com o qual o comando será executado Pág. 105/111 Capítulo 2. Módulos da ETFW Figura 2.97.: Exemplo de Adicionar um Comando Personalizado As restantes opções permitem-nos ter maior flexibilidade na execução de comandos que possam ser mais elaborados e complicados. Pág. 106/111 Capítulo 2. Módulos da ETFW 2.6.4. Comandos de Shell O módulo Comandos de Shell é bastante simples e serve apenas para executar comandos na ETFW, via Web, emulando um terminal remoto. Para isso, bastará colocar o comando a executar na caixa de texto e de seguida premir o botão Executar comando (Figura 2.98). Após isso o resultado do comando aparecerá na página seguinte, com opções para o poder repetir. Caso se executem vários comandos o resultado destes será sempre visível até que seja eliminado, carregando no botão Limpar histórico. Pode-se ver o exemplo de uma execução na Figura 2.99. Figura 2.98.: Vista geral do módulo Comandos de Shell Pág. 107/111 Capítulo 2. Módulos da ETFW Figura 2.99.: Resultado da execução do comando ls É importante salientar que os comandos inseridos não devem ser interactivos, ou seja, depois de executados não devem esperar qualquer introdução de dados do utilizador. Pág. 108/111 Capítulo 2. Módulos da ETFW 2.6.5. Login via SSH/Telnet Através deste módulo é possível aceder ao sistema ETFW introduzindo para isso um Login e Password, tal como mostra a Figura 2.100 Figura 2.100.: Vista Geral do Módulo Login via SSH/Telnet Figura 2.101.: Login via SSH/Telnet Após introduzir correctamente a autenticação (Figura 2.101), poderá correr comandos Linux. Como exemplo, podemos ver na Figura 2.102 o resultado da execução do comando jnettop 4 . 4 Na Figura 2.102, o comando executado foi o seguinte comando: # TERM=vt100 jnettop Pág. 109/111 Capítulo 2. Módulos da ETFW Figura 2.102.: jnettop Através do Módulo Login via SSH/Telnet Pág. 110/111 Capítulo 2. Módulos da ETFW 2.6.6. Upload e Download Figura 2.103.: Opções do Módulo Upload e Download Este módulo está dividido em duas partes: Descarregar ficheiros para o servidor: permite descarregar ficheiros directamente para uma determinada directoria da ETFW, introduzindo um ou vários URL’s válidos. Esta opção permite, também, calendarizar vários downloads automáticos para a ETFW. Enviar ficheiros para o servidor: permite submeter ficheiros existentes na máquina cliente para uma determinada directoria da ETFW. Pág. 111/111