-- CURSO TÉCNICO DE INFORMÁTICA -- MÓDULO II SISTEMAS OPERACIONAIS DE REDE



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

Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

Firewall. Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta

Administração de Sistemas Operacionais

Segurança de Redes. Firewall. Filipe Raulino

IPTABLES. Helder Nunes

5/7/2010. Apresentação. Web Proxy. Proxies: Visão Geral. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Lógica de Programação

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

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

Entendendo como funciona o NAT

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Instalando software MÉDICO Online no servidor

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

Procedimentos para Reinstalação do Sisloc

Atualizaça o do Maker

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

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

Manual Captura S_Line

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Projeto e Instalação de Servidores Servidores Linux Aula 6 Firewall e Proxy

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Segurança em Sistemas de Informação

Depois que instalamos o Squid vamos renomear o arquivo de configuração para criarmos um do zero.

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

NetEye Guia de Instalação

Elaboração de Script de Firewall de Fácil administração

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

Considerações a serem feitas antes da implantação.

Firewall. Qual a utilidade em instalar um firewall pessoal?

Desenvolvendo Websites com PHP

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Uso do iptables como ferramenta de firewall.

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

Simulador ITIL Exame de Certificação da EXIM

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Operador de Computador. Informática Básica

Google Drive. Passos. Configurando o Google Drive

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Manual do usuário. Mobile Auto Download

Iniciação à Informática

Procedimento para instalação do OMNE-Smartweb em Raio-X

OneDrive: saiba como usar a nuvem da Microsoft

Roteiro 3: Sistemas Linux arquivos e diretórios

Administração do Windows Server 2003

Tutorial de Active Directory Parte 3

Troubleshooting Versão 1.0

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Atualizado em 9 de outubro de 2007

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

MULTIACERVO - VERSÃO 17.*

Arquitetura de Rede de Computadores

Prática NAT/Proxy. Edgard Jamhour. Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.

BH PARK Software de Estacionamento

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Atualização do seu computador com Windows 8 da Philco para o Windows 8.1

Manual do Teclado de Satisfação Online WebOpinião

APOSTILA LINUX EDUCACIONAL

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

Introdução ao Active Directory AD

Manual Administrador - Mídia System

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Configurando o IIS no Server 2003

MANUAL DE UTILIZAÇÃO

Manual do Visualizador NF e KEY BEST

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

Laboratório de Redes. Professora Marcela Santos

MANUAL EXPORTAÇÃO IMPORTAÇÃO

gladiador INTERNET CONTROLADA

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Manual de Instalação ProJuris8

Guia Sphinx: instalação, reposição e renovação

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Manual de operação. BS Ponto Versão 5.1

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Escritório Virtual Administrativo

EMULADOR 3270 VIA WEB BROWSER

PROJETO INFORMÁTICA NA ESCOLA

MicrovixPOS Requisitos, Instalação e Execução

Fox Gerenciador de Sistemas

Aplicação Prática de Lua para Web

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Como instalar uma impressora?

III WTR do POP-BA III Workshop de Tecnologias de Redes Ponto de Presença da RNP na Bahia Instrutor: Ibirisol Fontes Monitor: Jundaí Abdon.

Permissões de compartilhamento e NTFS - Parte 1

Transcrição:

-- CURSO TÉCNICO DE INFORMÁTICA -- MÓDULO II SISTEMAS OPERACIONAIS DE REDE Bem vindo! Estamos no segundo módulo de nosso curso, na disciplina de Sistemas Operacionais de Rede, onde iremos estudar os sistemas operacionais voltados para servidores, objetivando o controle da rede, gerenciamento de usuários, distribuição de cotas de disco, organização no armazenamento de arquivos, gerenciamento de impressão, entre muitas outras funções. A disciplina contém 60 horas de duração, divididas em 7 capítulos, como dispostos nesta apostila. PRÉ-REQUISITOS É fundamental conhecer os comandos básicos em sistemas Linux como copiar, colar, mover, renomear, apagar e criar diretórios/arquivos. Ao final desta apostila, há um apêndice com estes comandos, para consulta. É também de suma importância que você possua acesso de administrador à máquina utilizada, pois os comandos e ações realizadas alteram ou interferem diretamente em arquivos cruciais, onde um usuário comum não poderia operar. SOFTWARES A apostila foi produzida com base nos Sistemas Operacionais Linux Debian 6.0, Linux Ubuntu 9.04 e Windows Server 2003, sendo portanto, os comandos apresentados voltados a essas versões, podendo, obviamente, sofrer alterações em outras versões. Bons estudos!

2 1. INTRODUÇÃO Sistemas operacionais constituem uma camada importante nos ambientes computacionais. Eles fazem o papel de intercomunicação entre os hardwares e os usuários, através de um ambiente (quase sempre) gráfico. Num cenário dominado pelas plataformas Windows, Linux e Mac OS, onde cada sistema traz características marcantes, a preferência esteve, na maior parte do tempo, dividida entre usuários. Nesta briga intensa e constante, adicionamos os servidores. Os sistemas operacionais de rede (SOR) procuram elevar ou estender a experiência de uso dos sistemas operacionais locais (SOL). Eles adicionam funções de gerenciamento para os diversos tipos de serviços onde é possível ter um servidor, sempre com intuito de facilitar o compartilhamento de recursos. Além disso, ainda contém diversas ferramentas de segurança e correção de erros. Por estes e outros motivos, alguns usuários experientes tem optado por utilizar um sistema operacional de rede em ambiente doméstico. A maioria das plataformas de SOL contém distribuições para servidores. A plataforma Windows apresenta as distribuições Server 2000, 2003, 2008 e 2012. Seu uso ainda é justificado pela facilidade do ambiente gráfico e o grande poder de gerenciamento do Active Directory, o qual estudaremos nos capítulos adiante. A plataforma Linux oferece versões para servidores em várias distribuições como Debian e SUSE, justificando seu uso na robustez e segurança, mas dificultando por seu modo texto controlado exclusivamente por comandos via código. E para Mac OS temos as versões Server identificadas por nomes de felinos (Tiger, Leopard, Puma, etc), com funcionalidades comuns, mas usado em menor escala por ser considerado um sistema muito fechado com relação a compatibilidades. 1.1. Ponto a Ponto x Cliente-Servidor Em ambientes de rede, podemos ter arquiteturas Ponto a Ponto ou Cliente -Servidor. A escolha do modo de trabalho influencia no custo, desempenho e manutenção da rede como um todo. Em ambientes Ponto a Ponto (Peer-to-Peer ou P2P), todas as máquinas componentes da rede contém aplicações de servidor integradas onde elas são interligadas. Isso significa que arquivos e funções de gerenciamento estarão presentes em todos os computadores. Positivamente, significa que a estrutura de rede não possui um ponto central, minimizando impactos de

3 ataques à rede. Negativamente representa risco de inconsistência e redundância de dados, além do grande desafio de sincronismo das informações. Arquiteturas Cliente-Servidor (Client-Server) são as mais utilizadas em sistemas operacionais de rede, principalmente em ambiente corporativo, onde todas as aplicações ficam em uma única máquina. As demais máquinas componentes da rede atuam como cliente da máquina principal, realizando requisições para acessar os serviços da rede. É uma arquitetura centralizadora, de modo a eliminar duplicidade de dados, porém de alto risco por criar uma dependência quase plena da máquina central. 1.2. Servidores Dedicados x Servidores Não Dedicados Em arquiteturas Cliente-Servidor, podemos ainda classificar o servidor em dois tipos. Um servidor não dedicado representa uma maquina da rede executando aplicações de cliente de modo simultâneo com as aplicações de servidor, isto é, pode ser utilizada por um usuário para realizar tarefas comuns (como digitação de textos, por exemplo) ao mesmo tempo em que desempenha as funções de servidor. Servidores não dedicados representam, obviamente, um grande risco para a segurança e integridade dos dados, uma vez que a máquina não é logicamente isolada, participando do ambiente de rede como um computador comum. Já os servidores dedicados contêm exclusivamente aplicações de servidor. Em geral, são máquinas com estrutura de hardware avançada e isoladas da rede, física e logicamente. É comum também os servidores dedicados não possuírem mouse ou monitor, driver de CD/DVD ou USB, permitindo apenas acesso remoto ou em casos extremos acesso físico controlado (manutenção ou troca de peças, por exemplo). 1.3. Serviços de Rede Já aprendemos que servidores são máquinas que gerenciam a rede de um modo geral, com a função de atender os computadores clientes em suas requisições. Uma rede pode ter mais de um servidor, subordinados ou não, de modo a criar subgerentes para partes específicas da estrutura, remetendo sempre ao objetivo principal de compartilhar recursos. Vejamos alguns desses recursos e as finalidades do servidor. 1.3.1. Servidor de Arquivos É talvez o tipo mais comum de servidor, consistindo em uma máquina com grande capacidade de armazenamento, de modo a reter e distribuir arquivos pela rede. O armazenamento pode ser inclusive para cópias de segurança de

4 arquivos contidos localmente nas máquinas cliente. O grande desafio de um servidor de arquivos é o controle de versão, envolvendo questões gravação e edição simultânea, onde a solução atual está em softwares comerciais específicos. 1.3.2. Servidor de Aplicação Como o nome sugere, armazena a instalação de uma aplicação, por exemplo, um software comercial de controle financeiro ou gestão escolar. Nestes casos, as máquinas clientes podem possuir uma arquitetura chamada diskless, onde não há discos rígidos ou há um com pouquíssima capacidade, já que estas máquinas irão acessar a aplicação instala da diretamente no servidor. Geralmente, servidores de aplicação são dedicados a executar especificamente aquela aplicação, contendo um ambiente preparado e configurado para isso (por exemplo os servidores Java que contém a JVM - Java Virtual Machine instalada). 1.3.3. Servidor de Banco de Dados Largamente usado em aplicações comerciais, tem a função de responder às consultas e realizar cadastros. É importante ressaltar que as máquinas cliente geralmente não acessam diretamente o banco de dados (em alguns casos, estes estão remotos). Ao invés disso, o acesso é feito pela própria aplicação (uma tela gráfica), seja por uma interface local ou via web. Haja vista uma base de dados ser o coração de uma aplicação comercial, é comum dele ser espelhado para mais de um servidor, para garantir redundância e alta disponibilidade das informações. Neste caso, a sincronização entre as várias bases de dados de um sistema é o grande desafio. A maioria das grandes corporações do setor possuem os chamados SGBD (Sistema Gerenciados de Banco de Dados), dos quais podemos destacar o Oracle (considerado o maior banco de dados empresarial do mundo), o MySQL (gratuito e um dos mais populares), o Firebird (amplamente utilizado no Brasil, Rússia e Europa, compatível com Windows, Linux e Mac OS) e o SQL Server (desenvolvido pela Microsoft, inicialmente para caixas eletrônicos). 1.3.4. Servidor de Impressão Uma das grandes aplicações de servidor, trata-se de máquinas espalhadas pela rede conectadas diretamente a uma impressora. Representa grande economia financeira, pois, desta forma, podemos ter vários computadores com ac esso impressão, sem necessariamente estarem ligados fisicamente a uma impressora. As principais plataformas de sistemas operacionais de rede possuem ferramentas para gerenciar desde uma simples fila de documentos para impressão até um controle de cotas de papel por usuário em determinado período de tempo.

5 1.3.5. Servidor Web Também referenciado como um servidor de comunicação, o servidor web pode ter diversas finalidades, dentre as quais, podemos citar a distribuição de Internet/intranet para as máquinas cliente, armazenamento de correio eletrônico e hospedagem de páginas web (seja um website interno ou externo). Pode também hospedar aplicações comerciais em versões web, acessíveis diretamente pelo navegador da máquina cliente (seja esse acesso interno, por intranet, ou externo, pela Internet). Dentre os principais servidores web, destacamos o Apache, servidor gratuito com suporte a diversas funcionalidades (estudaremos mais adiante) e o Internet Information Service, desenvolvido pela Microsoft para concorrer com o Apache. Temos ainda alguns servidores de aplicação web, como o Web Logic (desenvolvido pela Oracle), o Tomcat, o Glassfish e o JBoss (ambos para aplicações web em Java). 1.3.6. Servidor de Gerenciamento Definição genérica para máquinas cujos objetivos é auxiliar na administração e suporte da rede, através de ferramentas providas pelo próprio sistema operacional de rede ou por softwares vendidos comercialmente. De um modo geral, a administração é feita com a exibição de dados estatísticos ou gráficos que mostram tráfego de rede, consumo de disco, usuários ativos, eventos ou incidentes de rede, estados dos equipamentos, etc. Gerenciam também a segurança, através de monitoramento das portas, firewalls, antivírus, acesso e remoto e outros. Entre os exemplos, podemos citar o Nagios (um dos mais populares) e o MRTG (com geração de gráficos).

6 2. PROCESSAMENTO DE DADOS DISTRIBUÍDOS O modelo de computação utilizado na maioria dos ambientes de rede, seja doméstico ou corporativo, é o modelo centralizado onde as tarefas ou requisições das máquinas cliente são processadas por apenas uma máquina ou estrutura. Este período histórico da informática é conhecido como a Era dos mainframes, em referência aos grandes computadores de alto poder de processamento, advindos principalmente da empresa IBM (International Business Machine). Ainda há vários mainframes em operação espalhados no mundo, por se tratar de um cenário relativamente simples e pouco custoso, porém, de grande risco pela grande dependência da máquina servidora. Tempos depois, vieram os modelos chamados de computação paralela, porém ainda eram centralizados. Estes modelos permitiam acondicionar vários processadores e memórias (compartilhadas ou não) em único computador, distribuindo, deste modo, a tarefa entre vários processadores para execução. Mas a dependência ainda continuava, isto é, o sistema continuava intolerante a falhas. É proposto então um novo modelo, também paralelo, mas descentralizado. A estrutura consistia em uma coleção de computadores interligados e independentes operando de modo a aparentar ser uma única máquina [TANENBAUM]. Este modelo permitia que a tarefa fosse distribuída e executada de modo independente em cada núcleo, sem que haja um ponto central. A computação distribuída apoia-se ainda em outras características como: Escalabilidade Permite adicionar um novo recurso (equipamento, software ou usuário) mantendo um desempenho satisfatório e sem grandes mudanças estruturais. Heterogeneidade Dentro do sistema, encontram-se diversos recursos de diferentes características, operando perfeitamente como um único sistema.

7 Concorrência Permite que os diversos recursos compartilhados sejam utilizados por vários processos (por exemplo, uma tarefa utilizar vários processadores de máquinas distintas). Transparência É uma característica fundamental em sistemas distribuídos e refere-se ao mascaramento de tudo o que acontece internamente durante a execução de tarefas. O objetivo é não apresentar o funcionamento interno ao usuário, para que o mesmo não perceba que está, de fato, em um sistema distribuído. Veja abaixo os tipos de transparência que podem ocorrer no sistema. Um exemplo de sistema distribuído são as antenas de telefonia celular. As células (área de cobertura local) se interligam para formar uma grande camada geográfica, mas para o usuário é tudo uma coisa só. A mudança de uma célula para outra (celular dentro de um carro em movimento, por exemplo) é praticamente imperceptível (transparência). Outro exemplo são as lojas virtuais, onde por trás da tela do website visualizado pelo usuário, têm-se um grande parque de máquinas dispostas para atender as compras dos milhares de usuários ali presentes (contudo, isso é totalmente transparente para quem está comprando).

8 2.1. Grade Computacional (Grid Computing) A computação em grade é uma das grandes aplicações para sistemas distribuídos. O objetivo é explorar o grande poder computacional já existente, por meios das máquinas domésticas de milhares de usuários, ao invés de produzir novos equipamentos, gerando economia. A ideia parte do princípio de que as máquinas domésticas passam muito tempo ociosas, desperdiçando seu poder de processamento com um simples descanso de tela. A partir de então, a computação em grade surge como meio de aproveitar esses minutos desperdiçado das máquinas para realizar outras tarefas em prol comum. Grandes projetos tem surgido desde então (embora atualmente em menor escala), a maioria com fundo científico como a decodificação de proteínas (possivelmente uma causa para o Parkinson e Alzheimer) ou análise de células-tronco. O primeiro grande projeto foi o SETI (Search for Extraterrestrial Intelligence) onde a tarefa era analisar dados capturados por rádio - telescópios para descoberta de comunicação alienígena inteligente. A maioria desses projetos ainda está ativa, embora grande parte dela não seja persistente, isto é, quando o estudo terminar ou o objetivo for alcançado, o projeto irá desfazer-se. O conceito da grade é relativamente simples. Um projeto criado dispõe de uma interface de conexão (geralmente um website ou software) para agrupar as milhares de estações participantes. Uma das modalidades mais populares é acoplar o descanso de tela da máquina a um software de grade, de modo que quando este entrar em execução, seu computador estará a disposição dos servidores da grade. Poucos minutos são o suficiente para uma participação eficaz na grade, visto que o processamento é dividido entre todos que se conectam ao projeto. 2.2. Nuvem Computacional (Cloud Computing) A nuvem computacional tem várias frentes de propostas. O projeto inicial foi propost o pela Google e a ideia era que o armazenamento de arquivos, que é feito em mídias (CD, DVD, pen drive, etc), passasse a ser feito diretamente na Internet (na nuvem ). Assim teríamos as planilhas eletrônicas, as fotos, os documentos, as músicas e vídeos, tudo armazenado online e acessado através de uma conta com usuário e senha. Desde então, o conceito da nuvem evoluiu, tornando-se mais complexo e desafiador. Passou a englobar a computação em sua plenitude, isto é, tudo que é feito em um computador, passaria a ser feito de modo remoto e online. Isto inclui tarefas simples como assistir um vídeo, instalar programas ou guardar documentos e também tarefas complexas como executar aplicações ricas em recursos como em um servidor. A estrutura da nuvem computacional foi concebida para atender 3 modos de interação.

9 2.2.1. SaaS (Software as a Service) Foi a primeira grande interação alcançada com a nuvem, oferecendo softwares como um serviço e não mais como um produto, seja este serviço pago ou gratuito. O Google Docs foi um expoente importante nesta categoria ao prover aplicações de escritório (semelha nte ao pacote Microsoft Office) inteiramente de maneira online, onde o documento fica armazenado na conta do criador e pode ser compartilhado e editado com múltiplos usuários Outra possibilidade foi o aluguel de software conforme a demanda, cujo valor de pagamento varia com a porcentagem de recursos disponível do software em questão. 2.2.2. IaaS (Infrastructure as a Service) Propõe o uso de infraestrutura computacional como um serviço, onde é possível alugar maquinários de processamento ao invés de comprá-los. É bastante usado no tocante a servidores que hospedam grandes aplicações como as bancárias. Aqui entra o armazenamento de arquivos, onde temos a disposição os chamados discos virtuais com capacidades variadas. Inclui também infraestrutura de rede e tráfego de dados. Serviços gratuitos como o OneDrive da Microsoft, o Google Drive e o Dropbox são populares no oferecimento de armazenamento de arquivos, podendo inclusive oferecer mais capacidade mediante pagamento. 2.2.3. PaaS (Plataform as a Service) A plataforma refere-se resumidamente ao sistema operacional que utilizamos nas máquinas. O conceito é oferecer um sistema operacional online como um serviço, onde seja possível instalar softwares ou desenvolver códigos. Nesta frente, o Windows Azure da Microsoft está em estágios bastante avançados. Em outra abordagem do termo, o PaaS pode englobar toda a estrutura que temos domesticamente, de modo online, sem preocupações com aquisições de licenças de software ou aquisições de hardware. 2.3. Clusters Clusters são coleções de computadores de modo a processar uma tarefa como uma máquina apenas. Tem um conceito semelhante à grade computacional, porém as máquinas estão geralmente em um único ambiente e não remotas. O cluster pode ter uma máquina gerente (como o modelo Beowulf) ou serem baseados em arquitetura ponto-a-ponto. As máquinas podem ser relativamente simples, com configuração doméstica, que somadas resultam em uma estrutura computacional satisfatória para certas tarefas. Implicitamente, o cluster com máquinas simples pode solucionar um grande problema da computação que é o descarte de equipamentos considerados obsoletos. O gerenciamento das tarefas e do cluster é feito por meio de softwares específicos, disponíveis nos principais sistemas operacionais. Baseados em seus objetivos, um cluster pode ser de 3 tipos.

10 2.3.1. Cluster HPC (High Processing Computing) Tipo bastante comum onde as máquinas são somadas de modo a obter um alto desempenho no processamento de tarefas. A estrutura é simples, baseando-se apenas no aproveitamento do processador dos computadores com pouco ou nenhum uso de outro componente. É usado em aplicações pesadas como as científicas, bancárias ou meteorológicas (dados de satélite ou imagens, por exemplo). Para o gerenciamento, o sistema operacional Microsoft HPC Server apresenta-se como uma boa solução para resolver problemas complexos como decodificação de genomas, animação de filmes ou análises financeiras. Um modelo bastante conhecido de cluster HPC é o Beowulf. Foi utilizado pela NASA para cálculos científicos de grandes proporções e também para renderização de animações em 3D. O modelo baseia-se em plataforma Linux e tem como característica utilizar um servidor dedicado para gerenciamento de todo cluster. Os nós, isto é, as máquinas que compõe o cluster, tem arquitetura de hardware básica, comparada as máquinas domésticas, o que ajudou a popularizar o modelo. 2.3.2. Cluster HA (High Availability) A palavra-chave da alta disponibilidade é redundância. A estrutura do cluster é construída de modo a prover caminhos alternativos caso algum recurso venha a falhar (failover). Nestes casos, as aplicações são transferidas para outro recurso, a fim de cont inuar o processo. É um modelo comumente utilizado em centrais telefônicas, serviços de correios e missões consideradas críticas, de grande risco ou impacto. É importante notar que não há intervenção humana nos processos de alta disponibilidade, por exemplo, em uma falha de sistema, o mesmo aciona o caminho alternativo de modo automático e autônomo. A redundância pode-se estender para vários dispositivos como fontes de energia, ares-condicionados, links de internet, etc. A medição da disponibilidade se dá de acordo com o tempo de inatividade (downtime) do sistema no período de 1 ano, variando na porcentagem apresentada.

11 2.3.3. Cluster HS (Horizontal Scaling) São estruturas construídas de modo a realizar o balanceamento do processamento total, onde o objetivo é evitar a sobrecarga de uma ou mais máquinas. A tarefa é escalonada para os servidores por meio de algoritmos especiais. Round-Robin: São algoritmos circulares, distribuindo as tarefas para o próximo servidor disponível, de forma sequencial, até que todos estejam ocupados, voltando então ao primeiro deles. Least Connections: Redirecionam a tarefa baseado no número de conexões ou transações ativas de cada servidor. O que estiver atendendo menos processos naquele determinado momento será o escolhido. Weighted-Fair: Diferentemente do Least Connections, não considera a quantidade de requisições atendidas mas sim a carga dos processos e a capacidade de resposta do servidor. Se um servidor está com 30 transações com tráfego de 100 MB e o outro está com apenas 2 mas com tráfego de 200 MB, a próxima tarefa será enviada para o primeiro servidor, por ter uma carga menor (e se este possuir capacidade para responder mais requisições, é claro). É bastante comum encontrar clusters combinados entre alta disponibilidade e balanceamento de carga (HA+HS). O escalamento horizontal serve, nestes casos, como apoio para a alta disponibilidade, visto que o algoritmo de escalonamento provê uniformidade na realização das tarefas, evitando sobrecarga de alguma máquina es pecífica, garantindo sua disponibilidade.

12 3. SERVIDORES WEB Já conhecemos a estrutura da Internet, com suas operações passando por grandes cabos de dados (backbones). Nosso objeto de estudo agora é o final desses cabos, onde estão os grandes servidores da Web. São equipamentos dedicados a responder requisições vindas dos usuários da Web, seja para acessar sites ou serviços, funcionando como hospedeiros para os arquivos alvo da navegação. Você já parou pra pensar o que acontece nos bastidores da Internet para que um site apareça em sua tela? Vamos conhecer alguns servidores. Apache Tem o nome de Servidor HTTP Apache ou Apache HTTP Server, sendo o servidor Web mais bem sucedido do mundo. É livre e gratuito, sendo mantido pela Apache Software Foundation, fundação responsável por outros projetos na Web. É também multiplataforma, sendo suportado em sistemas Windows, Linux, OS/2 e Novell. Seu nome faz referência a tribo de nativos americanos Apache, resistente e estratégica em combate, com alusão a robustez e segurança do servidor. Tem suporte nativo a linguagem PHP, com alto grau de maturidade entre desenvolvedores, o que justifica em parte sua popularidade. IIS (Internet Information Service) Servidor Web desenvolvido e mantido pela Microsoft Corporation para funcionar nas distribuições Server da plataforma Windows. Trabalha com isolamento de processos o que permite que cada aplicação seja executada por um processo diferente, sem interferência nos demais. Tem suporte nativo a linguagem ASP (Active Server Pages) e ASP.NET (tecnologia oriunda da plataforma.net) Tomcat Estende do servidor Apache, desenvolvido e mantido também da Apache Software Foundation sendo um módulo específico para processar aplicações em Java, endossado pela Sun Microsystems para tecnologias JSP (Java Server Pages). O Tomcat faz parte formalmente do projeto Jakarta da ASF, destinado a desenvolver e manter softwares livres para a plataforma Java. Weblogic Servidor de aplicações Web proprietário da Oracle Inc. destinado a funcionar em ambientes corporativos de larga escala e também em nuvens computacionais para aplicações em Java, sendo atualmente um dos principais servidores para ester mercado.

13 JBoss Outro servidor de aplicações Java gratuito e de código aberto, geralmente com o servidor Apache Tomcat embutido. Glashfish Servidor de aplicações Java também gratuito e de código aberto, concorrente do JBoss Server 3.1. Arquiteturas LAMP e WAMP São as arquiteturas construídas sobre sistemas Linux (L) englobando vários outros serviços Web. Dentre estes, estão o Apache (A), o servidor Web mais popular do mundo, o MySQL (M), servidor de banco de dados gratuito bastante popular e o PHP (P), linguagem de programação Web com grande grau de maturidade. Ainda é possível, embora menos comum, encontrar servidores com o MariaDB, uma ramificação do MySQL e também as linguagens Perl e/ou Python, seja em conjunto ou em substituição ao PHP. Em sistemas Linux (distribuições Debian e Ubuntu), para instalar o Apache, utilize o comando abaixo: INSTALANDO O SERVIDOR APACHE EM SISTEMAS LINUX apt-get install apache2 Para Linux, o banco de dados MySQL possui pacotes de instalação para servidor e cliente, além de ferramentas gráficas que auxiliam no gerenciamento e manipulação das bases de dados. Abaixo, está o comando para instalação completa. É necessário, em alguns casos, especificar a versão do pacote, por exemplo, mysql-server-5.1: INSTALANDO MYSQL EM SISTEMAS LINUX apt-get install mysql-server mysql-client mysql-server-core mysql-common E por fim, temos a instalação do PHP. Assim como o MySQL, também há vários pacotes distintos do PHP. Vamos priorizar por enquanto apenas o cliente e servidor (na versão 5). INSTALANDO PHP EM SISTEMAS LINUX apt-get install php5 php5-cli php5-dev Outros pacotes que podem ser adicionados são os php5-mcrypt, php5-curl, php5-gd e o libapache2-mod-php5. Estes adicionam funções extras à linguagem.

14 Já a arquitetura WAMP é semelhante ao LAMP, mas construído sobre arquitetura Windows, contando com os mesmos serviços Apache, MySQL e o PHP. O software WampServer é bastante popular para construir servidores Web com plataforma Windows e pode ser baixado gratuitamente no site do projeto. 3.1.1. XAMPP O XAMPP é um software gratuito e multiplataforma que realiza a instalação dos pacotes Apache, MySQL e o PHP. Além disso, contém também o PHPMyAdmin, uma ferramenta gráfica (semelhante ao Microsoft Access) para manipulação das bases de dados MySQL. Algumas versões vêm com outros módulos inclusos como o Filezilla (servidor FTP para transferência de arquivos entre o cliente e o servidor), o Mercury (servidor de e-mail) e o Tomcat (servidor de aplicações Java). Após baixar e instalar o XAMPP, abra seu navegador e digite localhost e pressione ENTER. Caso apareça a página do XAMPP, sua máquina está configurada corretamente (na figura abaixo, o exemplo para sistemas Mac OS).

15 4. SERVIDORES DE ARQUIVOS Uma das principais aplicações de servidores é a distribuição e gerenciamento de arquivos pela rede. O objetivo é oferecer um ponto central na estrutura para compartilhamento de arquivos entre os usuários, evitando que o documento seja repassado para cada computador, o que pode gerar confusão no controle de versão do arquivo. O servidor fica então responsável por todo o controle, desde o acesso aos diretórios, passando por versionamento de arquivo e também pelo gerenciamento de cota de disco, onde cada usuário tem um tamanho reservado do disco do servidor para uso próprio e compartilhado. As plataformas mais populares para servidores de arquivos variam entre distribuições Linux e Windows. Vamos conhecer as características de cada um. 4.1. Servidor Samba O Samba é um software servidor popular em sistemas Linux, onde haja máquinas cliente Windows, permitindo o compartilhamento de arquivos entre as duas plataformas, além de gerenciar também outros recursos como impressoras. A aplicação nasceu de uma engenharia reversa do protocolo SMB da Microsoft que tem a função de prover compartilhamento de arquivos pela rede. O protocolo foi estudado e sua especificação foi adaptada para sistemas Linux. Para instalar o samba no sistema Linux utilize a linha abaixo: INSTALANDO O SERVIDOR SAMBA EM SISTEMAS LINUX apt-get install samba Após a instalação, partimos então para a configuração do servidor Samba, o qual é feita pelo arquivo /etc/samba/smb.conf. Este arquivo é todo dividido em seções, identificadas pelo sinal de colchetes (por exemplo, seção [global]). A primeira configuração é permitir que os usuários de sistema Linux acessem o servidor, o que faz com que usuários, necessariamente, tenham que possuir uma conta Linux. Procure na seção [global] pela linha security=user e ative-a (apague o sinal de #, caso haja). Salve e feche o arquivo. Após cada configuração é necessário reiniciar o servidor Samba com a linha abaixo: REINICIANDO O SERVIDOR SAMBA /etc/init.d/smbd restart Vamos agora configurar o acesso as pastas home dos usuários. Numa configuração ideal, cada usuário deve possuir acesso apenas a sua pasta home, sem visualização dos demais

16 usuários. A configuração é feita pela seção [homes]. Abaixo, veremos uma configuração ideal, com explicação das linhas nos parênteses. CONFIGURAÇÃO IDEAL SEÇÃO [HOMES] comment = Diretório Home (Um comentário que identifica cada pasta) browseable = no (Permite que o usuário navegue em sua própria pasta) read only = no (Configura a pasta para não apenas de leitura) create mask = 0700 (Somente o próprio usuário manipulará os arquivos) directory mask = 0700 (Idem ao anterior, mas válidos para as pastas) valid users = %S (Só é permitido acesso ao próprio usuário da pasta) writable = yes (Permite que o usuário altere/crie arquivos na pasta) Com a configuração acima, conseguimos então que apenas os usuários de cada pasta home (isto é, seus donos) consiga trabalhar de modo particular em seu espaço, sem que este seja visualizado ou alterado por outro usuário. Suponha agora que queremos compartilhar uma pasta chamada galera dentro do /home, permitindo acesso apenas aos membros do grupo users (já existente no sistema). É preciso inserir a configuração deste novo compartilhamento no arquivo smb.conf. Crie um nova seção chamada [galera] no arquivo e insira a configuração abaixo: CONFIGURAÇÃO SEÇÃO [GALERA] comment = Pasta da Galera (Um comentário que identifica cada pasta) path = /home/galera (Caminho completo da pasta compartilhada) create mask = 0770 (Permite que o grupo manipule o arquivo) directory mask = 0770 (Idem ao anterior, mas válidos para as pastas) valid users = @users (Só é permitido acesso ao grupo users) force group = users (Força o uso do grupo users nesta pasta) writable = yes (Permite que o usuário altere/crie arquivos na pasta) Para testar, é necessário adicionar um usuário ao Samba, para que este tenha autorização se autenticar no servidor. Vamos criar um usuário jonas com a linha abaixo, adicionando -o ao grupo users (já que apenas este grupo possui acesso a pasta compartilhada no servidor). CRIANDO O USUÁRIO JONAS adduser jonas m G users Escolha uma senha para a conta deste usuário. Agora iremos adicioná-lo ao Samba: ADICIONANDO O USUÁRIO JONAS AO SERVIDOR SAMBA smbpasswd a jonas Escolha uma senha para a autenticação no servidor e pronto!

17 4.2. Compartilhando arquivos no Windows Server O compartilhamento de arquivos e diretórios nas versões Server dos sistemas Windows pode ser feito do mesmo modo das versões Cliente ou através de um assistente gráfico. Para o mais simples, clique com o botão direito do mouse sobre o arquivo/diretório desejado e escolha a opç ão Compartilhamento e Segurança. Na tela seguinte, você deve escolher os usuários que terão acesso ao item compartilhado, bem como as permissões de cada um. Caso algum usuário ou grupo não esteja na lista será necessário adicioná-lo pelo botão Adicionar. Já pelo assistente gráfico, vá ao menu Iniciar Ferramentas Administrativas Assistente para configurar o servidor. Avance as telas e na lista de opções que aparece, escolha Servidor de Arquivos. É importante ativar o gerenciamento de cotas de disco para maior controle no compartilhamento (caso não tenha ativado ainda, o assistente irá solicitar). Para ativar, clique com o botão direito sobre o disco local (C:) e escolha Propriedades. Clique na aba Cota e marque a opção Ativar gerenciamento de cota. Voltando ao assistente, a configuração é semelhante ao Samba, com as opções para o nome de exibição da pasta, caminho completo do item compartilhado, permissões de arquivos e diretórios. Assim como no Samba, recomenda -se que o administrador tenha acesso total e os outros usuários possuam aces so limitado, geralmente leitura e gravação.

18 5. GERENCIAMENTO E CONTROLE Servidores de gerenciamento baseiam-se em monitorar dados estatísticos e estados dos recursos (por exemplo, se estão ativos ou não). São importantes para administradores de redes, funcionando como olhos dentro da estrutura. A gestão de redes faz uso do protocolo SNMP (você sabe o que é um protocolo de rede?) que é capaz de transportar informações como parâmetros de configuração, dados de desempenho ou incidentes com recursos da re de. O funcionamento no SNMP é baseado em dois elementos principais: o supervisor e os agentes. O supervisor é a máquina responsável por requisitar informações aos agentes ( softwares), que por sua vez, reside nos equipamentos de rede, em diferentes níveis e camadas. Assim que ocorre a solicitação, o agente transmite as informações ao supervisor que pode tomar decisões programadas sem interferência humana. Não são todos os equipamentos de rede que podem ser gerenciáveis, sendo obviamente mais caro os que possuem esta funcionalidade. Para os que são gerenciáveis, estes possuem uma base de dados chamada MIB (Management Information Base) contendo as informações de gerenciamento. O trabalho do agente nada mais é do que consultar esta base, coletar os dados e transmitir ao supervisor quando solicitado. 5.1. Gerência com MRTG Para o supervisor, há ferramentas que formatam a exibição de dados de forma amigável, como gráficos coloridos e tabelas. Um exemplo é o MRTG (Multi Router Traffic Graphic ), utilitário multiplataforma que gerencia dispositivos através do SNMP mostrando o tráfego passante através de gráficos. Para instalar o MRTG na plataforma Linux, utilize a linha abaixo: INSTALANDO MRTG EM SISTEMAS LINUX apt-get install mrtg No arquivo de configuração /etc/mrtg.cfg você deve determinar em qual pasta o MRTG irá trabalhar e armazenar os gráficos. Por padrão, é definido o diretório /var/www/mrtg, portanto crie essa pasta dentro do Servidor Apache com o comando abaixo. CRIANDO A PASTA DE TRABALHO DO MRTG EM SISTEMAS LINUX mkdir /var/www/mrtg Para verificar se o serviço está sendo executado, abra o navegador, digite localhost/mrtg e pressione ENTER.

19 5.2. Gerência com NAGIOS Outra ferramenta popular de monitoramento é o Nagios, que, de forma semelhante ao MRTG, gerencia recursos da rede como serviços e equipamentos, notificando o administrador caso haja falhas. Possui uma interface de monitoramento via navegador, o que permite visualizar alertas, obter relatórios e tomar ações preventivas em caso de falhas. Antes da instalação, crie um usuário e um grupo chamado nagios, pois estes serão utilizados pela própria aplicação. Os pacotes do Nagios não estão hospedados em repositórios Linux, mas pode ser baixado diretamente pelo site do projeto com o comando wget. Para instalar o Nagios, utilize a linha abaixo: INSTALANDO NAGIOS EM SISTEMAS LINUX wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.4.tar.gz O pacote está compactado. É necessário descompactá-lo para compilar o arquivo, pois o código ainda é puro. Utilize as linhas abaixo para descompactar e compilar o Nagios. DESCOMPACTANDO O NAGIOS E ENTRANDO NA PASTA tar -xvzf nagios-3.0.4.tar.gz cd nagios-3.0.4 COMPILANDO O NAGIOS./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=/nagios --with-nagiosgrp=/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/lib Agora sim, com o código compilado, podemos fazer a instalação. Executa as linhas abaixo para automatizar as configurações. INSTALANDO NAGIOS E AUTOMATIZANDO CONFIGURAÇÕES make all make install make install-init make install-config make install-commandmode make install-webconf 5.3. Controle com Proxy Um proxy é uma espécie de filtro de redes que permite bloquear ou restringir determinadas operações na rede como downloads, acesso a websites, etc. Ele é comumente instalado no

20 computador diretamente ligado a Internet, onde as demais máquinas da rede passarão a fazer requisições Web através desta. Um exemplo de proxy bastante popular é o Squid. O serviço Squid funciona como bloqueador de endereços de Internet, controlando o acess o da rede interna à Internet. Normalmente um proxy é instalado é configurado em uma máquina com acesso direto a rede externa, passando então a responder por todas as outras máquinas que tentam acessar essas redes. Para instalar o Squid, utilize a linha abaixo. INSTALANDO SQUID apt-get install squid Após a instalação, entre na pasta /etc/squid, onde se encontra o arquivo de configuração do proxy, o squid.conf. O arquivo de configuração é extenso, com quase 5000 linhas, com muitos comentários explicativos. Para tornar a configuração mais funcional, administradores de rede costumam criar um arquivo separado, criando suas próprias configurações. Vamos seguir este exemplo e manter o arquivo original para consultas. Renomeie o arquivo com o comando mv squid.conf squid.conf-original. Agora vamos criar nosso arquivo com o comando nano squid.conf. Dentro deste arquivo, iremos digitar nossas configurações, sendo ideal a separação em blocos para uma melhor visualização do arquivo. Vamos começar com as configurações de autenticação. Acompanhe. CONFIGURANDO O SQUID - AUTENTICAÇÃO auth_param basic program /usr/lib/squid/pam_auth auth_param basic children 10 auth_param basic realm Faça seu login auth_param basic credentialsttl 4 hours auth_param basic casesensitive off Vamos às explicações. A primeira linha especifica qual script será responsável por processar a autenticação, neste caso utilizando as próprias contas de usuários da rede. A configuração children refere-se a quantidade de processos simultâneos serão suportados, a fim de evitar múltiplas autenticações ao mesmo tempo. A terceira linha é uma frase que irá aparecer ao usuário na caixa de autenticação do Squid. A quarta linha especifica o tempo máximo de 4 horas para o usuário permanecer autenticado (ou até ele fechar o navegador). A última linha ignora a diferença entre maiúsculas e minúsculas na autenticação. O proxy Squid funciona por meio de regras chamadas ACL (Access Control List), que pode ser uma lista de endereços IP ou de URL bloqueadas/liberadas para acesso na rede. O próprio Squid já possui na instalação uma grande quantidade de ACL prontas como controle por horários, dia da semana, endereços localhost (pacotes de sua própria máquina), portas TCP, navegadores, etc., o que permite um controle total da rede. Vamos construir algumas ACL:

21 CONFIGURANDO O SQUID - ACL acl all src all acl localhost src 127.0.0.1/32 acl usuarios proxy_auth REQUIRED Essas são três ACL essenciais para o controle. A primeira define todas as regras possíveis para quaisquer situações. É interessante criá-la para quando precisamos liberar plenamente o proxy, por algum motivo (manutenção, testes, etc). A segunda ACL controla os pacotes o riundos da própria máquina onde o Squid está instalado, por exemplo, para testes no servidor Web. A última regra (chamamos hipoteticamente de usuarios ) diz que a autenticação é obrigatória para conseguir passar pelo proxy. Podemos também criar nossas próprias ACL, de acordo com a necessidade de controle. Para exemplo, vamos criar listas de controle para termos ou palavras contidas em endereços de site e também para extensões de arquivos. Acompanhe: CONFIGURANDO O SQUID - ACL acl bloqueados url_regex sexo download ultrasurf acl liberados url_regex sexoesaude acl downloads urlpath_regex \.mp3$ \.avi$ Na primeira regra, criamos uma ACL chamada bloqueados utilizando o comando url_regex para indicar os termos que não serão aceitos pelo proxy, isto é, não poderão estar contidos na URL. A mesma lógica é usada na segunda ACL, onde adicionamos possíveis exceções para a regra anterior. A terceira ACL são para controles de extensões de arquivos, através do comando urlpath_regex. Como geralmente as extensões vêm no final da URL, é necessário colocar o cifrão ($) para indicar o final do arquivo. É possível também indicar um arquivo de texto contendo palavras bloqueadas ou permitidas. Para isto, utilize o comando i para descartar diferenças entre maiúsculas e minúsculas e o caminho c ompleto do arquivo, por exemplo, url_regex i /etc/squid/bloqueados.txt. A ordem em que as ACL são criadas é extremamente importante e indica o que será bloqueado ou não. Isto significa que na ACL liberados, só será liberado o que não foi bloqueado antes, na regra anterior, pois a leitura do Squid ocorre de cima para baixo (como uma estrutura SE/IF em programação). Por isso, é recomendável, na última linha, bloquear tudo o que não foi liberado antes, por alguma regra. Depois de criadas as ACL, iremos controlá-las com o comando http_access, negando (deny) ou permitindo (allow) que elas passem pelo proxy, seguindo uma lógica sequencial. Acompanhe no quadro abaixo:

22 CONFIGURANDO O SQUID HTTP_ACCESS http_access allow liberados http_access deny bloqueados http_access deny downloads http_access allow usuarios http_access allow localhost http_access deny all Nas regras acima, estamos bloqueando ou liberando as listas criadas anteriormente. Note a sequência lógica entre as ações, sobretudo as três últimas regras. Primeiro, liberamos a ACL usuarios, isto é, caso a navegação não tenha sido bloqueada antes, o usuário terá que se autenticar para continuar, pois definimos a autenticação como obrigatória (REQUIRED). Logo após, liberamos a ACL localhost para permitir troca de pacotes dentro de nossa própria rede. E por último, negamos o acesso a tudo que não foi liberado antes. Note que esta última regra, só será executada para caso não acontecidos antes, por isso a razão de sua existência na última linha. Para finalizar o Squid, iremos inserir as configurações gerais do proxy. Essas configurações são necessárias para o bom funcionamento do servidor. CONFIGURANDO O SQUID CONFIGURAÇÕES GERAIS http_port 3128 cache_mem 512 MB maximum_object_size_in_memory 4 MB cache_dir ufs /var/spool/squid 3000 16 256 access_log /var/log/squid/access.log squid cache_mgr jonas@sorjonas.com.br visible_hostname SERVIDOR error_directory /usr/share/squid/errors/portuguese A primeira linha especifica a porta aonde o Squid irá escutar ; a porta padrão é 3128. O cache_mem especifica o tamanho da memória cache do Squid, onde é recomendado utilizar ¼ da memória RAM. A terceira linha limita o tamanho de objetos sendo manipulados na memó ria RAM. O cache_dir regula o funcionamento do cache, com o modo de gravação UFS (Unix File System), o local de gravação, o tamanho em MB do espaço em disco, quantidade de subdiretórios e, dentro destes, mais uma quantidade de subdiretórios. A próxima linha configura o log (o arquivo de registro das ações do usuário), com o local de gravação do log e o formato de gravação padrão do proxy (squid). Logo após vem o e-mail do administrador do proxy, o nome do servidor que ficará visível na rede e o diretório com as páginas de erro do Squid, que podem ser configuradas com linguagem HTML. Vamos reiniciar o Squid para colocálo em operação. Salve o arquivo, feche-o e reinicie o Squid com a linha abaixo. REINICIANDO O SQUID /etc/init.d/squid restart ou service squid restart

23 5.3.1. SARG Os relatórios do Squid costumam gerar grandes quantidades de texto, dificultando sua leitura e consulta. Para facilitar, existe a ferramenta SARG (Squid Analysis Report Generator) que converte os relatórios para páginas HTML. Para instalar o SARG, utilize a linha abaixo: INSTALANDO O SARG apt-get install sarg Após a instalação, abra o arquivo de configuração em /etc/sarg/sarg.conf. Edite a linha language para Portuguese. Edite também a linha access_log para a mesma linha de log do Squid. Desça até a linha output_dir e edite para /var/www/sarg para armazenar as páginas diretamente no servidor web (tenha o Apache instalado!). Salve o arquivo, feche-o e crie o diretório sarg com o comando mkdir p /var/www/sarg. Após isso, digite sarg (sem aspas) para gerar o relatório. Caso queira visualizar o relatório gerado, abra o navegador e digite ipdoservidor/sarg. 5.4. Controle com Firewall Um firewall tem o objetivo de vigiar as portas de rede, verificando dados que entram e saem das interfaces. É uma palavra popularmente utilizada por bombeiros para designar algum mecanismo que ajude a combater ou conter chamas. Pode ser um hardware ou software posicionado na fronteira das redes internas com a Internet. A princípio, pode-se confundir um firewall com um proxy, mas os é importante notar que os proxies trabalham diretamente com as aplicações de rede (navegação, e-mail, downloads, etc), enquanto os firewalls trabalham com os equipamentos de rede (roteadores, switches, etc). O firewall padrão do Linux é o IPtables. Caso ele ainda não esteja instalado, utilize o comando abaixo. INSTALANDO O IPTABLES apt-get install iptables Ao ser instalado, o IPtables ainda não implementa nenhuma regra de controle, aceitando por padrão, qualquer requisição (política ACCEPT). Para ver o status do IPtables, utilize a qualquer momento o comando iptables L. Vamos trabalhar com o cenário de bloqueio total e liberação apenas do que for necessário. Digite os seguintes comandos: IPTABLES BLOQUEIO TOTAL iptables P INPUT DROP iptables P OUTPUT DROP iptables P FORWARD DROP

24 Quer ver o resultado? Tente navegar em algum site e verá que sua requisição será bloqueada, pois com os comandos acima descartamos todos os pacotes que chegam ao servidor web? Vamos entender esses comandos. O IPtables, como o nome sugere, trabalha com tabelas para controle dos pacotes. São 3 tabelas: FILTER, (usada para aceitar ou rejeitar pacotes, filtrando-os), NAT (para tradução, alteração ou mascaramento de endereços IP) e MANGLE (para alterações especiais em pacotes). Em cada tabela, ocorre situações em que é possível interferir com uma ação de firewall. 5.4.1. Tabela Filter Esta é a tabela padrão do IPtables, isto é, se você não indicar qual tabela quer alterar, esta será a tabela adotada como padrão. Aqui temos 3 situações: INPUT (quando um pacote chega ao firewall), FORWARD (quando um pacote chega ao firewall e é encaminhado para outro ponto da rede) e OUTPUT (quando um pacote sai do firewall). 5.4.2. Tabela NAT Na tabela NAT podemos alterar dados dos pacotes que circulam pela rede, implementando funções de roteamento e tradução de endereços IP. Assim como a tabela Filter, temos 3 situações: PREROUTING (altera os dados antes do pacote ser roteado), POSTROUTING (altera os dados depois do pacote ser roteado) e OUTPUT (altera dados após o pacote sair do firewall). 5.4.3. Tabela Mangle De uso pouco comum, faz alterações especiais utilizando informações do TOS (Type of Service), contido no cabeçalho dos pacotes, diferenciando o tipo de pacote a ser transportado e influenciando na prioridade de transmissão. As operações nesta tabela visam realizar uma filtragem dos pacotes ao passarem pelo firewall, alterando informações como custo de roteamento, prioridade de transmissão, espera mínima de tráfego, entre outras. Possui as situações INPUT, OUTPUT e PREROUTING. 5.4.4. Alvos São as ações possíveis para um pacote obedecer a uma regra específica. Há várias ações possíveis, das quais iremos estudas as mais comuns: ACCEPT: aceita um pacote, isto é, permite sua passagem; DROP: rejeita um pacote, isto é, bloqueia sua passagem; REJECT: rejeita um pacote, porém emite um aviso do bloqueio (diferentemente do DROP); REDIRECT: redirecionam portas em c onjunto com a opção --to-port;

25 SNAT: altera o endereço de origem das máquinas antes do pacote ser roteado; DNAT: altera o endereço de destino das máquinas. 5.4.5. Comandos Os comandos informam ao IPtables o que fazer com uma regra. Há vários comandos, dos quais iremos estudas os mais comuns: -A: adiciona uma regra no fim da lista; -D: apaga uma regra da lista; -I: adiciona uma regra no início da lista; -F: apaga todas regras da lista; -L: mostra as regras existentes na lista; -P: altera a política padrão das tabelas (na instalação a política padrão é ACCEPT). 5.4.6. Ações As ações do IPtables são parâmetros de configuração para um regra adicionada e podem especificar protocolos utilizados, portas envolvidas, interface de aplicação da regra, entre outras informações. São diversas configurações aceitas, das quais iremos estudas as mais comuns: -p: especifica o protocolo utilizado na regra; -i: especifica a interface de entrada envolvida (usada em INPUT e FORWARD); -o: especifica a interface de saída envolvida (usada em OUTPUT e FORWARD); -s: origem do pacote; -d: destino do pacote; -j: define o alvo (ACCEPT, DROP, REJECT, etc ); --sport: especifica o número da porta de origem do pacote; --dport: especifica o número da porta de destino do pacote. Vamos exercitar algumas situações simples onde é possível a interferência de um firewall. BLOQUEAR O ENDEREÇO WWWW.FACEBOOK.COM iptables A OUTPUT d www.facebook.com j DROP REDIRECIONAR AS REQUISIÇÕES WEB PARA O PROXY SQUID (portas 80 e 443) iptables t nat A PREROUTING p tcp - dport 80 j REDIRECT - to-port 3128 iptables t nat A PREROUTING p tcp - dport 443 j REDIRECT - to-port 3128 ACEITAR TRÁFEGO DA REDE INTERNA E DO LOOPBACK iptables A INPUT i lo j ACCEPT iptables A INPUT s 192.168.0.1/24 i eth0 j ACCEPT

26 6. SERVIDORES WINDOWS As versões de servidores da plataforma Windows começaram a ser desenvolvidas em 2000, ano em que saiu o Windows 2000 Server, já com um poderoso administrador de redes e um bom sistema de arquivos para compartilhamentos. Trouxe também o acoplamento do Kerberos, um protocolo de rede para autenticação que trouxe mais segurança ao trabalhar com criptografia de chaves mais fortes que os protocolos anteriores. Pouco tempo depois, a Microsoft (empresa responsável pelo desenvolvimento da plataforma Windows) lançou o Windows 2000 Advanced Server, uma melhoria do sistema anterior, com a novidade para gerenciamento de clusters com NLB (Network Load Balance), suporte a até 8GB de RAM (antes eram 4GB) e 8 processadores simétricos (antes eram 4). Três anos mais tarde, lançou o Windows Server 2003, com funcionalidades mais completas que a versão anterior, inclusive suportando redes maiores e clusters de até 8 nós. Havia acoplado ao sistema, um servidor Web, o IIS (Internet Information Service), hospedando principalmente a tecnologia ASP (Active Server Pages) também de propriedade da Microsoft. Outro trunfo é o suporte a impressoras de rede, contendo no sistema cerca de 3.500 drivers dos equipamentos mais comuns do mercado. Outras melhorias implementadas foram o aprimoramento do firewall de rede (que mais tarde tornou-se o Windows Defender), o gerenciamento remoto e o serviço de roteamento de pacotes, além de incluir mais de 60 ferramentas de linha de comando, embora poucas utilizadas. 6.1. Active Directory O Active Directory (AD) é o poderoso módulo de administração de domínios (agrupamento de máquinas gerenciadas por um controlador) dos servidores Windows. Tem a função de manipular dados de usuários e outros recursos, concentrando-os em um banco de dados centralizado. Com ele é possível gerenciar contas, máquinas e grupos de forma simples e eficiente, através de interfaces gráficas amigáveis. Ao instalar o AD, o computador adquire recursos para controlar um domínio composto tanto por máquinas locais quanto por máquinas remotas. Antes de instalar o AD, vamos entender alguns conceitos importantes dessa ferramenta essencial para a administração de redes Windows. 6.1.1. Classe, Objeto e Atributo Tudo no Active Directory é considerado objeto. Cada objeto (por exemplo, um usuário) possui características (nome, descrição, etc) que o identificam e fazem associações com outros objetos; a essas características damos o nome de atributos. A classe é a especificação ou

27 agrupamento dos objetos, por exemplo, computadores pode ser a classe que agrupa objetos computador. Há um tipo de objeto especial no AD chamado de container que pode agrupar outros objetos como numa classe. 6.1.2. Domínio, Árvore, Floresta Os domínios são a unidade principal na estrutura do AD. Entende-se por domínio um agrupamento de máquinas remotas ou locais, controladas por um gerente chamado de controlador de domínio (domain controller). Assim como um proxy, um domínio possui uma ACL (Access Control List) para controlar o acesso aos objetos dentro dele. Uma árvore representa um agrupamento de domínios para compartilhamento de recursos em modo global. É importante notar que as configurações administrativas, de segurança ou permissões da ACL não atravessam de um domínio para outro assim como um administrador só possui poderes plenos em seu próprio domínio. Embora seja uma estrutura complexa, a floresta visa agrupar árvores de domínios distintas. Para instalar o Active Directory, abra a caixa EXECUTAR (RUN) e digite o comando abaixo: INSTALANDO O ACTIVE DIRECTORY dcpromo Pressione ENTER para iniciar a instalação. Avance algumas telas e escolha se deseja criar um novo domínio (e uma nova árvore), um domínio em uma árvore existente ou uma árvore em uma floresta existente. Na próxima tela escolha um nome para o domínio. A seguir, deixe as pastas padrão para o banco de dados e o log do servidor. Faça o mesmo para a pasta SYSVOL. Avance algumas telas e escolha o tipo de permissão, se compatível com sistemas antigos ou somente com as versões Server 2000 e 2003. Avance e defina uma senha para o administrador do AD. Caso esqueça essa senha, não será possível restaurar a partir de backups do AD no futuro. Deve então aparecer a tela de confirmação de dados e de instalação. Avance e conclua. Aguarde alguns minutos e a instalação se encerrará. Reinicie o servidor. Ao retornar, você já deve ser solicitado a fazer autenticação. Utilize sua senha de administrador.

28 6.2. Diretivas de Segurança O Active Directory permite criar diretivas (regras) de segurança específicas para todo o domínio (todo o grupo) e também para o controlador de domínio (somente para o servidor). Para acessar as diretivas siga o caminho descrito abaixo. Lembre-se de possuir acesso administrador para realizar as alterações no domínio. DIRETIVAS DE SEGURANÇA Iniciar Ferramentas Administrativas Diretiva de segurança de domínio Ao abrir a tela, dê duplo clique em Configurações de Segurança. Na próxima tela, temos várias opções, das quais iremos estudar as duas primeiras. Em Diretivas de conta pode-se controlar as regras de senhas (tamanho mínimo, tempo de expiração, complexidade, etc) e bloqueio de contas dos usuários (tempo de bloqueio, número de tentativas, etc). Já em Diretivas locais pode-se permitir ou proibir várias ações dos usuários como desligar o sistema, alterar o relógio, bem como diversas opções de segurança em geral. 6.3. Políticas de grupo Um dos grandes recursos que auxiliam a administração de rede com AD são as GPO ( Group Policy) que permitem aplicar regras para um grupo inteiro (usuários + computadores). Antes de criar um grupo (chamado de Unidade Organizacional), vamos aprender a cadastrar um novo usuário. Siga o caminho abaixo: CADASTRANDO USUÁRIOS NO ACTIVE DIRECTORY Iniciar Ferramentas Administrativas Usuários e Computadores do AD Na tela que se abre, clique com o botão direito em Users, aponte em Novo e clique em Usuário. Preencha os dados, clique em Avançar, escolha uma senha e clique em Concluir (a senha deve obedecer as diretivas de segurança definidas anteriormente ). Dê duplo clique em Users para visualizar o usuário criado. Note também seu grupo padrão (Usuários). Clicando com o botão direito sobre o usuário criado e escolhendo Propriedades, pode-se ter acesso a várias opções de configuração como horário e computadores em que o usuário pode utilizar a rede, evitar que ele altere a senha, desativar sua conta, enviar uma mensagem, etc.