UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) CARLOS EDUARDO SILVA MONITORAMENTO DE REDES WINDOWS COM SERVIDOR LINUX UTILIZANDO O SAMBA LAGES (SC) 2010 CARLOS EDUARDO SILVA MONITORAMENTO DE REDES WINDOWS COM SERVIDOR LINUX UTILIZANDO O SAMBA Trabalho de Conclusão de Curso submetido à Universidade do Planalto Catarinense para obtenção dos créditos de disciplina com nome equivalente no curso de Sistemas de Informação Bacharelado. Orientação: Prof. Rafael Gattino Furtado, Esp. LAGES (SC) 2010 MONITORAMENTO DE REDES WINDOWS COM SERVIDOR LINUX UTILIZANDO O SAMBA CARLOS EDUARDO SILVA ESTE RELATÓRIO, DO TRABALHO DE CONCLUSÃO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENÇÃO DOS CRÉDITOS DA DISCIPLINA DE TRABALHO DE CONCLUSÃO DE CURSO DO VIII SEMESTRE, OBRIGATÓRIA PARA OBTENÇÃO DO TÍTULO DE: BACHAREL EM SISTEMAS DE INFORMAÇÃO Prof. Rafael Gattino Furtado, Esp Orientador BANCA EXAMINADORA: Prof. Sabrina Bet Koerich, Msc. UNIPLAC Prof. Claiton Camargo de Souza, Esp. UNIPLAC Prof. Alexandre Perin de Souza, M. Sc. Professor de TCC Prof. Sabrina Bet Koerich, Msc. Coordenador de Curso Lages, 08 de dezembro de 2010. Dedico este trabalho a meus pais, pelo exemplo de vida e família e por sempre me auxiliarem e incentivarem a concretizar meus sonhos. E a minha namorada Luana Comin, pelo carinho, compreensão e companheirismo durante toda esta jornada. Agradeço a minha família por absolutamente tudo que sempre fizeram e fazem por mim, e todo apoio durante esta caminhada, fazendo ser a pessoa que sou hoje. Agradeço a minha namorada por esses anos de carinho, apoio, companheirismo e felicidade juntos. Agradeço a meu orientador, prof. Rafael Gattino, por todo suporte, dedicação e paciência durante a execução deste projeto. Por fim, agradeço aquele que permitiu tudo isso ao longo de toda minha vida, obrigado Deus! LISTA DE ILUSTRAÇÕES FIGURA 1 FIGURA 2 FIGURA 3 FIGURA 4 FIGURA 5 FIGURA 6 FIGURA 7 FIGURA 8 FIGURA 9 FIGURA 10 FIGURA 11 FIGURA 12 FIGURA 13 FIGURA 14 - Ilustração da interação Linux/Windows ...............................................26 Etapa de teste do sistema. .....................................................................30 Tela de particionamento. .......................................................................30 Tela de seleção dos programas disponíveis. .........................................31 Área de trabalho do sistema. .................................................................31 Gerenciador YaST.................................................................................32 Gerenciador de pacotes de software do YaST. .....................................33 Arquivo de configuração smb.conf. ......................................................35 Tela do terminal apresentando as permissões. ......................................36 Parâmetros de configuração do arquivo smb.conf. .............................39 Estruturação dos diretórios no Samba. ...............................................41 Exemplo de Relatório gerado pelo SARG. .........................................43 Exemplo de acesso negado. ................................................................44 Resultado da execução do comando smbstatus. .................................44 QUADRO 1 QUADRO 2 QUADRO 3 QUADRO 4 QUADRO 5 QUADRO 6 - Exemplos de sintaxes. .........................................................................33 Significado das siglas ..........................................................................36 Exemplo de sintaxe CHOWN. ............................................................36 Alguns dos principais parâmetros de configuração do Samba ...........40 Exemplo de configuração de acesso a um diretório. ..........................41 Parâmetros de execução do comando smbstatus. ...............................42 TABELA 1 - Tamanho máximo da partição e dos arquivos ......................................22 LISTA DE SIGLAS CIFS EXT FAT FTP HD HPFS HTTP NBNS NBT NETBEUI NETBIOS NTFS SMB SSL WINS - Common Internet File System - Extend File System - File Allocation Table - File Transfer Protocol - Hard Disk - High Performance File System - Hyper Text Transfer Protocol - NetBios Name Service - NetBIOS over TCP/IP - NetBIOS Extended User Interface - Network Basic Input Output System - Technology File System - Server Message Block - Secure Socket Layer - Windows Internet Name Service RESUMO A presença de um ambiente de monitoramento de rede é algo fundamental em pequenas, médias e grandes empresas, porém, é algo que em boa parte das vezes não recebem a devida atenção, e infelizmente, só é pensado em uma solução de monitoramento após o ambiente sofrer com algum grande problema. Pensando em evitar problemas desse tipo, se dá a utilização de servidores que realizam o monitoramento e controle desses ambientes, onde uma das opções é a utilização de um servidor de arquivos Samba, que neste trabalho, foi projetado para prover um sistema de arquivos em rede em um ambiente com sistemas Linux e Windows, pelo fato de serem os mais utilizados atualmente. A fim de mostrar os benefícios da utilização deste serviço, foram realizados estudos e diversos testes que simularam o funcionamento de um ambiente real de trabalho, apresentando resultados consideráveis, que interferiram de forma positiva no funcionamento e desempenho da rede, tornando-a muito mais segura e confiável, requisitos fundamentais dentro de uma corporação. O trabalho que se apresenta, relata de forma detalhada as etapas para implantação deste ambiente. Palavras-chave: Monitoramento; Rede; Samba; Linux; Servidor de Arquivos. ABSTRACT The presence of an environmental monitoring network is fundamental in small, medium and large companies, however, is something that in most of often do not receive adequate attention, and unfortunately, only thought of one monitoring solution after suffering with a great environment problem. Thinking about such issues, takes the use of servers that perform the monitoring and control of these environments, where one of the options is to use a Samba file server, which in this work was designed to provide a network file system in a environment with Linux and Windows, because they are the most used today. In order to show the benefits of using this service, studies and several tests that simulated the operation of a real working environment, presenting results considerable, which interfered positively in operation and network performance, making it much safer and more reliable, requirements core within a corporation. The work presented, recounts in detail the steps for implementation of this environment. Keywords: Monitoring; Network; Samba; Linux; File server; SUMÁRIO 1 INTRODUÇÃO ........................................................................................................14 1.1 Apresentação ...........................................................................................................14 1.2 Descrição do problema ............................................................................................15 1.3 Justificativa ..............................................................................................................15 1.4 Objetivo geral ..........................................................................................................16 1.5 Objetivos específicos ...............................................................................................16 1.6 Metodologia .............................................................................................................16 2 GERENCIAMENTO DE REDES...........................................................................18 2.1 Conceito ...................................................................................................................18 2.2 Sistemas de Arquivos ..............................................................................................19 2.2.1 Sistema FAT..................................................................................................................... 19 2.2.2 Sistema NTFS .................................................................................................................. 21 2.2.3 Sistema EXT..................................................................................................................... 21 2.3 Sistema Operacional OpenSuse ...............................................................................23 2.4 Servidor Samba .......................................................................................................24 2.4.1 História ............................................................................................................................ 24 2.4.2 Principais funções e benefícios ....................................................................................... 25 2.4.3 Funcionamento e Administração ..................................................................................... 26 2.4 Conclusão ................................................................................................................28 3 PROJETO DE SERVIDOR DE DADOS EM REDE ...........................................29 3.1 Sistema Operacional OpenSuse ...............................................................................29 3.1.1 Instalação e configuração ............................................................................................... 29 3.1.2 YaST ................................................................................................................................. 32 3.1.3 Zypper .............................................................................................................................. 33 3.2 Samba ......................................................................................................................34 3.2.1 Instalação ........................................................................................................................ 34 3.2.2 Configuração do samba .................................................................................................. 34 3.3 Controle de acessos .................................................................................................35 3.3.1 Permissões de arquivos e diretórios................................................................................ 35 3.3.2 Controle de usuários ....................................................................................................... 36 3.4 Apache .....................................................................................................................37 3.5 Conclusão ................................................................................................................37 4 IMPLANTAÇÃO E MONITORAMENTO DO SERVIDOR SAMBA ..............39 4.1 Implantação .............................................................................................................39 4.1.1 Configurações.................................................................................................................. 39 4.1.2 Estruturação dos controles de acesso ............................................................................. 40 4.2 Monitoramento ........................................................................................................41 4.2.1 Ferramentas de monitoramento ...................................................................................... 41 4.2.2 Testes de desempenho e segurança e resultados ............................................................. 43 4.3 Conclusão ................................................................................................................45 5 CONSIDERAÇÕES FINAIS ...................................................................................46 REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................48 BIBLIOGRAFIA COMPLEMENTAR .....................................................................50 APÊNDICE - IMPLANTAÇÃO DE UM SERVIDOR DE ARQUIVOS SAMBA EM UM AMBIENTE WINDOWS.............................................................................51 1 INTRODUÇÃO 1.1 Apresentação A Tecnologia da Informação está cada vez mais presente dentro de empresas dos mais diversos ramos de atuação, o que a torna hoje algo indispensável em qualquer tipo de negócio por motivos como a economia de tempo em diversas atividades, confiabilidade, facilidade de armazenamento de informações importantes de uma organização, e ao mesmo tempo, a comodidade de acesso as mesmas. Justamente pelo fato de estar tratando de informações importantes, muitas vezes preciosas para determinadas empresas, torna-se necessário prover uma forma segura de armazenamento, mantendo a integridade e disponibilidade desses arquivos, sempre que necessário o acesso a eles. E para que isso seja possível, é necessário um completo e rígido sistema de gerenciamento da rede e dessas informações. A informação é um patrimônio, é algo de valor. Não se trata de um monte de bytes aglomerados, mas sim de um conjunto de dados classificados e organizados de forma que uma pessoa ou uma empresa possa tirar proveito. A informação é inclusive um fator que pode determinar a sobrevivência ou a descontinuidade das atividades de um negócio. E isso não é difícil de ser entendido. Basta imaginar o que aconteceria se uma instituição financeira perdesse todas as informações de seus clientes. (ALECRIM, 2008). A não utilização de soluções para a centralização dos dados corporativos acaba gerando duplicidade de dados e até mesmo desencontro de informações. Estes problemas ocorrem, por algumas organizações não conhecerem os reais benefícios da utilização de servidores de arquivos e monitoramento de redes. Para solução dos problemas supracitados, grandes empresas têm adotado o uso de servidores de arquivos, onde as informações ficam centralizadas, facilitando rotinas de manutenção e backup1. Além disso, uma correta administração da rede de dados e do tráfego de informações auxilia neste processo de monitoramento de redes. Dentre as soluções mais utilizadas estão os servidores de arquivos baseados no sistema operacional Linux, que tem apresentado grande eficácia e confiabilidade na gerência dos dados que trafegam pela rede de uma corporação. 1.2 Descrição do problema Tanto pequenas quanto grandes empresas sofrem sérios problemas devido à lentidão de suas redes de computadores, gerados pela descentralização das informações, falta de segurança e confiabilidade, e a ausência de um ambiente de monitoramento de dados. 1.3 Justificativa É cada vez mais comum as empresas utilizarem servidores para armazenar as informações que trafegam por sua rede local, com o intuito de centralizá-las, trazendo assim diversos benefícios para a organização, tornando seus arquivos mais organizados e facilitando o acesso de seus usuários, diminuindo significativamente o tráfego da rede. Empresas que, por exemplo, trabalham com manutenção de computadores, tem o trabalho facilitado e mais eficiente, centralizando os softwares e arquivos necessários, assim como backups de clientes, em um único servidor, além de tornar ainda mais seguras e íntegras tais informações. Como solução para estes problemas, propõe-se a implantação de um servidor de arquivos gerenciado pelo serviço Samba, com o sistema operacional Open Suse de plataforma Unix/Linux, com a proposta de aumentar ainda mais o aproveitamento e eficiência dos servidores e serviços de uma rede, além de proporcionar maior segurança aos dados que trafegam pela mesma, seja relacionado a malwares (softwares 1 Backup: cópia de segurança dos dados. mal intencionados), falha humana ou problemas físicos em estações de trabalho. Segundo Alecrim (2005), com o servidor Samba, é possível compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede com igual ou maior eficiência que servidores baseados em sistemas operacionais da Microsoft. Mas, neste caso, o sistema operacional utilizado é o Linux. 1.4 Objetivo geral O objetivo principal deste trabalho é a implantação de um servidor de arquivos Samba em um ambiente Linux, como solução para problemas de desempenho e segurança dos dados que trafegam pela rede. 1.5 Objetivos específicos a) Realizar estudos sobre os serviços a serem disponibilizados no sistema; b) Elaborar e implantar o projeto para implementação de um servidor de dados para redes corporativas; c) Efetuar testes a fim de verificar o desempenho e a segurança dos dados que trafegam pela rede. 1.6 Metodologia Inicialmente, foi realizada uma pesquisa bibliográfica acerca da ferramenta que foi utilizada para a elaboração do trabalho proposto, a partir de sua documentação e também artigos e livros sobre o assunto, além da busca de informações em servidores que já utilizam um sistema semelhante. Após a conclusão dos estudos sobre a ferramenta, foi dado início ao desenvolvimento do projeto, seguindo na ordem as seguintes etapas: problema, objetivo, justificativa, metodologia e cronograma. Na sequência, foi definida a melhor forma de como implantar o sistema e quais serão as reais funções do servidor, realizando testes que simulam o funcionamento em um caso real, colhendo as informações necessárias e fazendo as alterações para que possam ser realizados os testes em uma situação real. Após todas as definições obtidas nas simulações, o sistema foi implantado em um ambiente real de trabalho, então foram gerados logs2 de desempenho, que logo após foram analisados, para que fossem feitas as mudanças ainda necessárias no sistema. Finalizadas as demais etapas e a implantação do sistema, foram feitas as considerações finais do projeto, apresentando os resultados, pontos positivos e negativos de tal implantação, além de sugestões para trabalhos futuros. 2 Logs: registro de atividades gerado por programas de um computador. 2 GERENCIAMENTO DE REDES Este capítulo aborda conceitos básicos de rede e gerenciamento de redes, e a importância do monitoramento do tráfego de dados na rede. Além disso, também são abordados os principais sistemas de arquivos utilizados, bem como suas características mais importantes. 2.1 Conceito As redes foram criadas, inicialmente, como um meio de compartilhar dispositivos periféricos mais caros como impressoras, modems de alta velocidade, etc. Porém, à medida que as redes crescem e tornam-se integradas às organizações, o compartilhamento dos dispositivos toma aspecto secundário em comparação às outras vantagens oferecidas (SZTAJNBERG, 1996). Conforme o autor, as redes passaram a fazer parte do cotidiano dos usuários como uma ferramenta que oferece recursos e serviços que permitem a interação e o aumento de produtividade, tornando-se cada vez mais necessárias para manter os ambientes funcionando de maneira eficiente. A gerência em redes de computadores se torna uma tarefa complexa em grande parte dos casos, por conseqüência do crescimento acelerado das mesmas e tanto em desempenho e suporte a um grande conjunto de serviços. As informações que circulam em uma rede de computadores devem ser transportadas de modo confiável e rápido. Para que isso aconteça é importante que os dados sejam monitorados de maneira que os problemas que porventura possam existir sejam resolvidos na medida do possível. Uma rede sem mecanismos de gerência pode apresentar problemas como congestionamento do tráfego, recursos mal utilizados, recursos sobrecarregados, problemas com segurança e outros (SZTAJNBERG, 1996). Esta gerência está diretamente associada ao controle de atividades e ao monitoramento do uso de recursos da rede. As tarefas mais básicas da gerência em redes, de forma simplificada, são obter informações da rede, tratar estas informações, possibilitando um diagnóstico, e encaminhar as soluções dos problemas. Para cumprir estes objetivos, funções de gerência devem ser acopladas nos diversos componentes de uma rede, possibilitando descobrir, prever e reagir a problemas. 2.2 Sistemas de Arquivos Sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso aos arquivos do disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos (MORINOTO, 2007). Conforme cresce a capacidade dos discos e aumenta o volume de arquivos e acessos, esta tarefa torna-se mais e mais complicada, exigindo o uso de sistemas de arquivos cada vez mais complexos e robustos. Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples como o FAT16, que utilizamos em cartões de memória, até sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avançados (MORINOTO, 2002). No Windows, existem apenas três sistemas de arquivos: FAT16, FAT32 e NTFS. O FAT16 é o mais antigo dentre os citados, usado desde os tempos do MSDOS, enquanto o NTFS é o mais complexo e utilizado atualmente. Apesar disso, se tem uma grande variedade de sistemas de arquivos diferentes no Linux (e outros sistemas Unix), que incluem o EXT2, EXT3, ReiserFS, XFS, JFS e vários outros. Para quem utiliza somente o Windows, estes sistemas podem parecer exóticos, mas eles são bastante conhecidos por quem trabalha com servidores, já que nestes o Linux é o sistema mais utilizado. 2.2.1 Sistema FAT FAT é a sigla para File Allocation Table (tabela de alocação de arquivos). A primeira versão do FAT (FAT 16) surgiu em 1977, para funcionar com a primeira versão do DOS. De acordo com ALECRIM (2003), trata-se de um sistema que funciona através de uma espécie de tabela que contém indicações para onde estão as informações de cada arquivo. Quando um arquivo é salvo num disquete por exemplo, o FAT divide a área do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vários blocos, mas eles não precisam estar numa seqüência. Os blocos de determinados arquivos podem estar em várias posições diferentes. Daí a necessidade de uma tabela para indicar cada bloco. Com o surgimento de dispositivos de armazenamento com mais capacidade e mais sofisticados, o sistema FAT foi ganhando alterações (identificadas pelos nomes FAT12 e FAT16). Isso foi necessário porque o FAT era limitado a determinada capacidade de armazenamento. Por exemplo, ele só operava com tamanho máximo de 2 GB. Assim, num disco de 5 GB, seria necessário dividi-lo em 3 partições. Fora o fato de que o FAT apresentava problemas com informações acima de 512 MB. Diante de tantos problemas, em 1996, a Microsoft lançou um novo FAT: o FAT32, que é compatível com os Windows 9x/Me/2000 e XP (apesar destes dois últimos terem um sistema de arquivos mais avançado, o NTFS). O sistema de arquivos FAT não trabalha diretamente com cada setor, mas sim com um grupo de setores. Esse grupo é chamado de cluster 3(ou unidade de alocação). Se por exemplo, um disco com setor de 512 bytes, tiver 5 KB de tamanho, ele terá 10 setores e 5 clusters, se cada cluster ocupar dois setores. Sendo assim, quando o FAT precisar acessar um determinado setor, primeiro ele descobre em qual cluster ele se encontra. É válido citar que tanto o FAT quanto o FAT32 trabalham de acordo com este princípio (ALECRIM, 2003). Já no caso do sistema FAT32, o tamanho dos clusters é determinado com base na relação entre os comandos FDISK e FORMAT, apesar de que é possível determinar o tamanho do cluster do FAT32 também por programas de terceiros. O tamanho máximo da partição em FAT32 é de 2TB. O FAT32 também é considerado mais confiável do que as demais versões, por conseguir posicionar o diretório principal do sistema, em qualquer lugar do disco. Além do fato de que este tipo de partição pode 3 Cluster: é a menor parte do HD que pode ser acessada pelo sistema operacional. ter seu tamanho alterado sem a perda dos dados contidos no disco. 2.2.2 Sistema NTFS NTFS é a sigla para New Technology File System. Desde os tempos do DOS, a Microsoft utilizava o sistema de arquivos FAT, que teve diversas variações e mudanças ao longo dos anos, porém, já apresentava várias limitações, principalmente em relação a segurança. Então, viu-se a necessidade de criar um novo sistema, este, o NTFS, que inicialmente foi utilizado em versões do Windows destinadas para servidores. Apesar de desenvolvido pela Microsoft, boa parte do NTFS foi herdada do sistema HPFS (High Performance File System). O NTFS possui características importantes, que o fez ser considerado um bom sistema de arquivos. Entre essas qualidades estão: confiança, pois permite que o sistema operacional se recupere de problemas sem perder informações, fazendo-o ser tolerante a falhas; segurança, onde é possível ter um controle de acesso preciso e ter aplicações que rodem em rede, fazendo com que seja possível o gerenciamento de usuários, incluindo suas permissões de acesso e escrita de dados; armazenamento, onde é possível trabalhar com uma grande quantidade de dados, permitindo inclusive o uso de arrays RAID; rede, fazendo do sistema plenamente funcional para o trabalho e o fluxo de dados em rede (ALECRIM, 2003). Segundo o autor, o NTFS mantém um log de todas operações realizadas pelo sistema, então, por exemplo, mesmo que o sistema seja desligado durante uma atualização, na próxima vez que for ligado esse log é analisado pelo sistema e recupera do ponto onde parou, corrigindo automaticamente eventuais falhas, tornando o sistema mais tolerante a falhas do que seus antecessores. 2.2.3 Sistema EXT O sistema de arquivos EXT, sigla para Extend File System, foi lançado em Abril de 1992, a fim de substituir o já defasado sistema utilizado pela plataforma Unix, o MinixFS. Em sua primeira versão, o EXT permitia a criação de partições de até 2Gb e dava suporte a nomes de arquivos de até 255 caracteres. Sem dúvidas este sistema foi um grande avanço, se comparado ao seu antecessor, porém, ainda estava longe do ideal, pois seu desempenho era muito baixo, e era tão suscetível a fragmentação dados quanto o FAT. Diante desses problemas e do surgimento de discos rígidos de mais de 2Gb, a primeira grande atualização do sistema já ocorreu em 1993, com o então chamado EXT2. A grande evolução do EXT2 em relação ao EXT, foi o suporte a partições com até 32Tb. O maior problema do EXT2 é que ele não inclui nenhum sistema de tolerância a falhas. Sempre que o sistema é desligado incorretamente, é necessário utilizar o fsck, um utilitário similar ao scandisk do Windows, que verifica todos os blocos do sistema de arquivos, procurando por inconsistências entre as estruturas e descrições e os dados efetivamente armazenados. O teste do fsck demora bastante (bem mais que o scandisk) e o tempo cresce proporcionalmente de acordo com o tamanho da partição. Em um HD atual, o teste pode, literalmente, demorar horas (MORINOTO, 2007). Estes e outros problemas foram corrigidos no EXT3, lançado em 1999, que trouxe como principal característica o recurso journaling, similar ao LFS do sistema NTFS, que mantém um diário das alterações realizadas no sistema. O EXT3, sistema que será utilizado neste trabalho, trabalha com endereços de 32 bits e blocos de até 8Kb, que determina tanto o tamanho máximo da partição, quanto o tamanho máximo dos arquivos, que são determinados durante a formatação da unidade de armazenamento, que pode ter até 32Tb de capacidade. TABELA 1 Tamanho dos blocos 1 KB 2 KB 4 KB 8 KB Tamanho máximo da partição e dos arquivos Tamanho máximo da partição 2 TB 8TB 16 TB 32 TB Tamanho máximo dos arquivos 16 GB 256 GB 2TB 2TB (FONTE: CARLOS E. MORINOTO, 2007) Por padrão, o tamanho dos blocos é determinado de forma automática com base no tamanho da partição, porém, este pode ser customizado utilizando parâmetros do comando que gerencia a criação de partições EXT3 no Linux. Nos dias de hoje o limite de 32Tb para partições ainda não é um problema, mas já prevendo o rápido crescimento de capacidade dos Discos Rígidos (Hard Disks – HDs), o EXT3 já tem seu sucessor, o sistema EXT4, que utiliza endereços de 48 bits, o que permite criar partições de até 1024 petabytes4, além de não limitar mais o tamanho dos arquivos em 2Tb, contribuindo para o armazenamento de bases de dados gigantescas e arquivos que ultrapassem este número. Apesar de existirem vários outros sistemas de arquivos disponíveis para plataformas Linux, o EXT3 é hoje o mais utilizado e já vem sendo substituído pelo EXT4. 2.3 Sistema Operacional OpenSuse O sistema operacional OpenSUSE é uma distribuição Linux, desenvolvida pela OpenSUSE, que teve sua primeira versão lançada em março de 1994. Em 2004 a SUSE foi adquirida pela empresa norte-americana Novell, que logo lançou a versão SUSE Linux 10.0, e que atualmente, desde novembro de 2009, tem como versão a openSUSE 11.2, um sistema open source5 que pode ser baixado diretamente de seu site oficial, e traz junto dele diversos aplicativos de código aberto. O sistema utiliza a última versão do kernel6 Linux, e já utiliza como sistema de arquivos padrão o EXT4. De acordo com Monqueiro (2009), apesar de não ser muito comum sua utilização no Brasil, o OpenSuse é largamente utilizado no exterior, possuindo uma vasta documentação em diversas línguas. No seu site oficial é possível encontrar todos repositórios disponíveis, além de diversos textos e arquivos de ajuda sobre o sistema, que auxiliam o usuário na instalação e configuração do sistema. Uma das características do OpenSUSE é o Yast, um aplicativo de gerenciamento que traz a possibilidade de configurar de forma gráfica vários elementos do sistema operacional, o que torna o manuseio do sistema muito mais simples e amigável, tanto para o uso comum quanto para o uso mais avançado do 4 Petabytes: é uma unidade de medida de armazenamento, equivalente a 1024 Terabytes. Open source: termo para “código aberto”, que faz referência a software livre. 6 Kernel: série de arquivos que constituem um sistema operacional. 5 sistema, suas configurações e gerenciamento. O sistema se destaca pela facilidade e eficiência em tarefas como gerenciamento e bloqueio de pacotes e gerenciamento de repositórios, através de ferramentas como o Zypper que já é integrada ao sistema. Por ser um sistema que apresenta diversas vantagens, como algumas citadas acima, apresentar um bom desempenho e ter muitas outras características a serem exploradas, já que ainda não é um sistema com grande popularidade, o OpenSUSE foi o sistema optado para se trabalhar junto ao Samba neste trabalho. 2.4 Servidor Samba O Samba é um servidor com um conjunto de ferramentas que auxiliam a comunicação entre máquinas Linux e Windows, fazendo o compartilhamento de vários serviços, como arquivos e impressoras em uma rede. As soluções disponíveis no Samba são as mais utilizadas para interligar redes com diferentes sistemas, de forma heterogênea, facilitando a administração e centralização do ambiente, com a grande vantagem de seu custo ser praticamente zero. 2.4.1 História O Samba tem como seu criador, Andrew Tridgell, que criou o sistema a partir da sua necessidade de montar um volume Unix em uma máquina que utilizava DOS, escrevendo um código que auxiliasse a interpretar o tráfego Network Basic Input Output System (NetBIOS) da rede. Tridgell escreveu o primeiro código que fez o servidor Unix aparecer como um servidor de arquivos Windows para sua máquina DOS que foi publicado mais ou menos em meados de 1992 quando também começou a receber patches7. Satisfeito com o funcionamento de seu trabalho, deixou seu trabalho de lado por quase 2 anos. Um dia, ele resolveu testar a máquina Windows de sua esposa com sua máquina Linux, e ficou maravilhado com o funcionamento do programa que criou e veio a descobrir que o protocolo era documentado e resolveu levar este trabalho a fundo melhorando e 7 Patch: atualização que corrige pequenos problemas ou falhas no sistema. implementando novas funções (SILVA, 2007). A partir daí, o projeto se desenvolveu rapidamente. Surgiu o nome Samba e novos integrantes se juntaram a equipe de desenvolvimento do sistema, lançando a primeira versão do sistema, a 1.6.05. O software foi desenvolvido a ponto de executar com qualidade e estabilidade todas as funções de gerenciamento propostas, ganhando bastante destaque sobre as demais alternativas disponíveis. Segundo Morinoto (2008), o projeto começou a se tornar popular a partir da versão 1.6.09 (lançada pouco depois), que foi a primeira a trazer suporte ao controle de acesso com base nos logins8 de usuário (assim como o Windows NT), enquanto as versões anteriores suportavam apenas o controle de acesso com base no compartilhamento (assim como no Windows 3.11 e 95), onde a única opção de segurança era usar uma senha de acesso para os compartilhamentos. Desde então, o serviço tem atraído cada vez mais usuários e desenvolvedores, consagrando o eficiente sistema. 2.4.2 Principais funções e benefícios O Samba tem como base dois programas chave, o smbd que é o próprio servidor, e o nmbd, que é o servidor de nomes NetBIOS. Ambos têm como função fornecer de forma eficiente os serviços básicos do Samba, que segundo Décio (2000), são: • Compartilhamento de arquivos e impressão; • Autenticação e autorização de acesso; • Resolução de nomes; • Anúncio de tráfego e browsing (visualização dos recursos disponíveis na rede). Há suporte para a utilização de arquivos com nomes longos; as contas de usuários ou grupos, arquivos e impressoras podem ser visualizados como se fossem 8 Login: conjunto de caracteres utilizado pelo usuário para acessar um sistema. pastas e arquivos no Windows Explorer (Décio, 2000). Assim, o Samba tem o comportamento como de qualquer outro servidor desenvolvido para redes com sistemas Microsoft, porém, agregando todas as vantagens de um servidor Linux. 2.4.3 Funcionamento e Administração O Samba consiste em dois daemons9, diversos programas e um arquivo de configuração (smb.conf). Os daemons são acessados pelos clientes utilizando os protocolos TCP/UDP (Décio, 2000). A figura 1 apresenta um esquema de um servidor Samba realizando a integração de redes Windows e Linux, juntamente com periféricos compartilhados na rede. FIGURA 1 - Ilustração da interação Linux/Windows (FONTE: DÉCIO JR., 2000) 2.4.3.1 SMBD: servidor Samba Serviços de compartilhamento de arquivos e impressão fazem parte do conjunto CIFS (Common Internet File System) e são fornecidos pelo daemon SMB smbd. O smbd também controla o sistema de autenticação e autorização de acesso de usuários por meio dos modos: modo compartilhado e modo usuário (Décio, 2000). O modo compartilhado é o mais simples, nele uma senha pode ser atribuída a 9 Daemon: processo que roda num sistema operacional em nível não perceptível pelo usuário. um diretório ou impressora compartilhada na rede, e uma única senha é fornecida aos diversos usuários autorizados, o que torna este modo o menos recomendado. Já no modo usuário, cada usuário terá seu próprio login e senha para autenticação, assim, o administrador da rede pode liberar ou negar acessos individualmente aos usuários. 2.4.3.2 NMBD: servidor de resolução de nomes NetBIOS Os serviços de resolução de nomes e browsing, que também fazem parte do CIFS, são controlados pelo daemon nmbd e envolvem basicamente o gerenciamento e a distribuição da lista de nomes NetBIOS. A resolução de nomes pode ser realizada de duas formas: por meio de broadcast10 ou ponto-a-ponto (JÚNIOR, 2000). Dependendo da configuração utilizada, uma máquina pode utilizar ambas as formas. A resolução por broadcast é a mais próxima do sistema NetBIOS original. Quando um cliente procurar por um serviço na rede, irá solicitar se determinado recurso está disponível no momento e irá aguardar até que a máquina referente ao nome solicitado e o serviço responda com o endereço IP. Isso pode gerar um pouco de tráfego na rede (broadcast), mas será restrito a rede local e não causará maiores problemas. No modo ponto-a-ponto é utilizado o servidor NBNS (NetBios Name Service), mais conhecido no Windows como WINS (Windows Internet Name Service). Diferentemente da forma anterior, são disponibilizados na rede o nome e o endereço IP das máquinas, para que possam ser consultadas por outras. Segundo DÉCIO (2000), quando um cliente quiser se comunicar com outro cliente, apenas envia o nome para o servidor NBNS. Caso o nome conste na lista, o NBNS retorna o endereço IP. 2.4.3.3 Protocolos envolvidos A interface NetBIOS inicialmente era utilizada apenas para redes locais, ela 10 Broadcast: processo pelo qual se transmite determinada informação. permite que aplicações se comuniquem com o hardware de rede. NetBIOS Extended User Interface (NetBEUI) é utilizada para compartilhamento de arquivos em redes locais, porém, o Samba não utiliza mais esta interface. Um protocolo de grande importância para a criação do Samba foi a NBT (NetBIOS over TCP/IP), que é capaz de emular redes locais (NetBIOS) sobre redes TCP/IP roteadas. A interface NBNS, conhecida como resolução WINS, atua como uma lista ordenada de endereços. Os clientes NetBIOS enviam seus nomes e endereços para encontrarem outros endereços na rede, então, é feita uma busca pelo nome na lista do NBNS. No Samba, essa resolução é controlada pelo daemon nmbd. Por fim, o protocolo utilizado em plataformas Windows para fazer a comunicação e compartilhamento de arquivos e impressoras em servidores Linux por meio de uma rede TCP/IP, é o SMB, chamado também de CIFS (Common Internet File System). 2.4 Conclusão Nesse capítulo foram abordados aspectos do gerenciamento de rede, bem como a importância deste processo para o desempenho das redes. Também foram vistos os principais sistemas de arquivos, com ênfase nos que serão utilizados neste trabalho, além dos sistemas que serão utilizados no decorrer do trabalho para auxiliar no gerenciamento de redes. Este capítulo foi importante, pois é o referencial teórico e parte conceitual que serve de embasamento para os capítulos posteriores. 3 PROJETO DE SERVIDOR DE DADOS EM REDE Este capítulo aborda os principais componentes necessários para a execução do projeto em questão, explicando sobre o sistema operacional utilizado e o sistema Samba, desde a instalação, até a sua configuração e de seus demais componentes que foram importantes neste projeto. 3.1 Sistema Operacional OpenSuse O OpenSUSE é o sistema utilizado neste trabalho para auxiliar nas tarefas de gerenciamento de rede, devido ao fato de ser um sistema de fácil controle e por dispor diversas ferramentas a serem exploradas, que irão contribuir no desenvolvimento do projeto. 3.1.1 Instalação e configuração O OpenSUSE está disponível para download11 de forma livre e íntegra em seu site oficial, nas versões de 32 e 64 bits, em formato de imagem para ser gravada em um DVD que irá fazer o boot12 no computador para iniciar a instalação. Todo processo de instalação é executado através de uma prática e completa interface gráfica, na linguagem escolhida pelo usuário no início da instalação, como pode ser visualizado na figura 2, em que são realizados os testes de requisitos do sistema: 11 12 Download: transferência de dados de um computador remoto para um computador local. Boot: processo de inicialização do computador. FIGURA 2 - Etapa de teste do sistema. Após, o usuário escolhe o método de instalação e tem opção de cinco layouts para área de trabalho diferentes, sendo a KDE a padrão. Na etapa de particionamento (figura 3), automaticamente o sistema sugere os tamanhos das partições que serão por ele utilizadas de acordo com o tamanho do disco rígido, mas que podem ser livremente editadas pelo usuário. FIGURA 3 - Tela de particionamento. Após esta etapa, inicia-se a configuração do sistema, definindo os logins e senhas dos usuários do sistema, e em seguida é possível selecionar os programas que deverão ser ou não instalados junto ao sistema, conforme mostra a figura 4. FIGURA 4 - Tela de seleção dos programas disponíveis. Então, após serem definidas todas as configurações básicas do sistema, é finalizada a instalação do mesmo, e no próximo boot o sistema operacional já inicializará a partir do disco rígido. Na figura 5 é apresentada a tela da área de trabalho do sistema. FIGURA 5 - Área de trabalho do sistema. 3.1.2 YaST Segundo Martins (2009), YaST é a ferramenta de instalação e configuração para OpenSUSE, SUSE Linux Enterprise e o antigo SuSE Linux. Possui uma atraente interface gráfica capaz de personalizar o seu sistema rapidamente durante e após a instalação, podendo também ser utilizada em modo texto. O YaST é uma interface gráfica, que tem como finalidade facilitar o uso do zypper, permitindo atualizar o sistema, instalar e remover programas, configurar periféricos, ver detalhes sobre cada pacote entre outras funções, tudo dentro de uma interface gráfica relativamente simples de se utilizar. O YaST tem funcionalidades semelhantes ao Synaptic, utilizado em sistemas como o Ubuntu e o Mandriva. O YaST é um projeto open source patrocinado pela Novell, que teve no ano de 1995 o início de seu desenvolvimento, e é todo escrito na linguagem C++. Ao abrir a tela do YaST, o usuário se depara com uma uma interface toda dividida em categorias, o que torna ainda mais simples seu uso, como exemplo da figura 6. FIGURA 6 - Gerenciador YaST. O YaST oferece também um mecanismo de busca para o usuário encontrar determinado pacote que esteja procurando, seja pelo nome do pacote, versão ou dependências do mesmo. Também podem ser alteradas as fontes de busca dos pacotes, alterando, excluindo ou incluindo o endereço de um repositório de informações, como mostra a figura 7. FIGURA 7 - Gerenciador de pacotes de software do YaST. 3.1.3 Zypper O Zypper é um gerenciador de pacotes em linha de comando que foi introduzido no OpenSUSE 10.2 Beta 1, ele é relativamente fácil de usar e não deixa a desejar se comparado a outros gerenciadores comuns em sistemas Linux, como por exemplo, apt-get, realizando as principais funções como instalação, configuração, desinstalação e procura de novas atualizações. No quadro 1, pode-se ver alguns exemplos de sintaxes. 1 QUADRO 1 zypper in <nome do pacote> Instala o pacote. Exemplos de sintaxes. 2 zypper rm <nome do pacote> Remove o pacote. 3 zypper lu Verifica se há atualizações nos repositórios. (Fonte: GOMES, 2010) 3.2 Samba O Samba é o aplicativo responsável por tornar possível o compartilhamento de recursos entre máquinas Linux e Windows, e será o servidor de dados utilizado neste projeto para auxiliar nas tarefas referentes ao gerenciamento da rede, sendo responsável pelas principais configurações de monitoramento e compartilhamento dos recursos da rede. 3.2.1 Instalação Dentre as várias formas de instalação possíveis, são citadas apenas as mais relevantes, a instalação pelo YaST e através do comando zypper, respeitando as dependências. No modo de instalação pelo YaST, todo processo é realizado por interface gráfica, por isso é considerado o modo mais simples. Acessando o YaST, já é apresentada uma lista com todos pacotes de programas disponíveis, localizado o Samba, autoriza o sistema a iniciar a instalação que é feita de forma praticamente automática, sem a necessidade de intervenção do usuário, finalizado o processo, o programa já pode ser utilizado. A segunda forma de instalação é realizada por meio do comando zypper, esta, um pouco mais complexa, pois é toda feita através do terminal. Acessando o terminal, o usuário deve fazer o login no sistema como root (administrador do sistema), feito isso, é executado o comando para instalação do Samba, que basicamente é “zypper samba”, então o sistema irá baixar o pacote referente a solicitação, e iniciará a instalação do mesmo. 3.2.2 Configuração do samba Depois de finalizada a instalação do Samba, é necessário realizar a configuração do arquivo smb.conf, onde são configurados parâmetros básicos da rede, como o IP, grupo de trabalho, localização do arquivo de log, entre outros, como apresentado na figura 8. FIGURA 8 - Arquivo de configuração smb.conf. 3.3 Controle de acessos As permissões para controle de acesso são um dos aspectos de maior importância em sistemas Linux, elas servem para diversas finalidades, mas a principal é proteger o sistema e os arquivos dos usuários. Como na maioria dos sistemas, apenas o usuário administrador (root) tem acesso a estes recursos de controle de acesso, cabe a ele determinar o que cada usuário pode acessar, modificar, criar e executar, o que é um dos pontos fortes do sistema, pois o mesmo é bastante flexível para tal controle, que pode ser feito tanto para arquivos e diretórios quanto para usuários ou grupos. 3.3.1 Permissões de arquivos e diretórios A alteração de permissões de arquivos e diretórios no Linux é feita através do comando chmod, que pode ser utilizado de duas formas, com letras ou no modo numérico. A figura 9 mostra um exemplo de tela do terminal Linux, após o comando “ls –la” que apresenta as permissões de alguns arquivos, onde se tem informações como nome, data, usuário, e na primeira coluna as configurações de permissões. FIGURA 9 - Tela do terminal apresentando as permissões. Os caracteres da primeira coluna de permissões, são divididos da seguinte forma, como mostra o quadro 2. QUADRO 2 - Significado das siglas 3.3.2 Controle de usuários O controle de usuários no Samba é realizado através do comando executado pelo root, o chown, que permite alterar o dono ou grupo de um arquivo ou diretório, que é apresentado da forma que mostra o quadro 3. 1 QUADRO 3 - Exemplo de sintaxe CHOWN. # ls –l Comando que mostra quem é o usuário proprietário dos diretórios. 2 # chown <usuário> /diretório Comando que altera o proprietário de determinado diretório. 3 # chown –c –R <usuário> /diretório Comando que altera o proprietário de um diretório e seus subdiretórios. 4 # chown <usuário>:<grupo> /diretório Comando que altera o grupo que pertence o diretório 3.4 Apache O Apache é um servidor web que processa solicitações Hyper Text Transfer Protocol (HTTP), que é o protocolo padrão da web. Além de processar outros protocolos como Secure Socket Layer (SSL), e File Transfer Protocol (FTP). O servidor Apache (ou Apache Server) surgiu no National Center of Supercomputing Applications (NCSA) através do trabalho de Rob McCool. Ao sair da NCSA, McCool parou de trabalhar no software (que nessa época recebia justamente a denominação NCSA) e então várias pessoas e grupos passaram a adaptar o servidor Web às suas necessidades. No entanto, foram Brian Behlendorf e Cliff Skolnick os principais responsáveis pela retomada do projeto, contando logo em seguida com o apoio de Brandon Long e Beth Frank. Estes últimos tinham a tarefa de continuar com o desenvolvimento do servidor, mas pela NCSA. Não demorou muito para que eles se juntassem ao Apache Group (ALECRIM, 2006). Segundo Tibet (2001), Apache HTTP Server é o servidor web mais conhecido no mundo se tratando de software livre, usado em 60% dos casos,onde éresponsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos. O que leva o Apache a ser o mais utilizado e conhecido servidor web, é o fato de oferecer um ótimo desempenho, segurança e ser compatível com as mais diversas plataformas, como Windows, Linux e OS/2. Neste trabalho, o Apache será o servidor web responsável por apresentar os relatórios do Sarg. 3.5 Conclusão Neste capítulo foram abordados quesitos referentes à instalação do sistema operacional do servidor, nesse caso o sistema OpenSUSE Linux, bem como o servidor de arquivos a ser utilizado que é o Samba. Além da instalação e configuração do samba, também foram abordados assuntos referentes às permissões de acesso aos arquivos e o controle de usuários, que juntos formam o Controle de Acessos. Nesse ponto verifica-se a importância do controle de acesso num servidor de arquivos. Como ferramentas utilizadas no projeto do servidor, o servidor Web Apache tem grande importância, pois os resultados dos testes podem ser visualizados no navegador. Maiores detalhes das configurações de permissões de arquivos e controle de acesso de usuários do presente servidor de arquivos são abordados no capítulo 4. 4 IMPLANTAÇÃO E MONITORAMENTO DO SERVIDOR SAMBA 4.1 Implantação Este capítulo aborda de forma detalhada as formas e possibilidades de configuração do Samba, e apresenta quais as principais funções e parâmetros foram utilizados na implantação do servidor. 4.1.1 Configurações Como já descrito anteriormente, toda configuração do Samba está no arquivo “smb.conf”, localizado no diretório “/etc”, é nele que ficam armazenados todos os parâmetros utilizados na configuração, onde ficam descritos os compartilhamentos, permissões de acessos e impressoras, conforme apresentado na figura 10. FIGURA 10 - Parâmetros de configuração do arquivo smb.conf. Como há muitos parâmetros de configuração disponíveis no Samba, apenas alguns são necessários para que o mesmo opere em condições normais. Muitos destes parâmetros são utilizados apenas em redes com particularidades e peculiaridades. No quadro 4 são apresentados os principais parâmetros que foram configurados na implantação do servidor. QUADRO 4 Workgroup Netbios name Server string Username map Log file Max log size Usershare max shares Veto file Null passwords Valid users Alguns dos principais parâmetros de configuração do Samba Grupo de trabalho que as estações devem estar configuradas Nome do servidor apresentado as máquinas cliente Nome do servidor Local onde são gravados os usuários do Samba Local onde são gravados os arquivos de log do Samba Tamanho máximo do arquivo de log do Samba Número máximo de conexões simultâneas ao servidor Formato de arquivos vetados do servidor Define permissões para contas de usuário sem senha Onde são informados os usuários que tem permissão de acessar tal compartilhamento 4.1.2 Estruturação dos controles de acesso Etapa em fase de desenvolvimento, pois é estruturada de acordo com as necessidades da rede em que estão sendo realizados os testes. Então inicialmente, foi definida a hierarquia dos diretórios e grupos de usuários oferecidos e monitorados pelo servidor, lembrando que esta é uma estrutura fictícia de um ambiente de trabalho padrão para empresas, que foi estruturada apenas para efeitos de testes. Foram então criados os seguintes diretórios, divididos por setor, como é mostrado na figura 11: • Diretoria; • Administrativo; • Financeiro; • Vendas; • Pós Venda; • Público (diretório com acesso liberado a todos os grupos para troca de arquivos entre setores distintos); FIGURA 11 - Estruturação dos diretórios no Samba. Sendo assim, os grupos foram divididos na mesma estrutura e nomenclatura dos diretórios, onde os funcionários possuem permissão de acesso apenas ao diretório compatível ao seu setor, com exceção dos usuários do grupo diretoria, que possuem acesso a todos os demais diretórios. No quadro 5 pode ser visto um exemplo de configuração de acesso a um diretório. 1 QUADRO 5 - Exemplo de configuração de acesso a um diretório. [financeiro] path = /home/financeiro writable = yes valid users = +financeiro, +diretoria, Carlos invalid users = Maria read list = Joao No exemplo do quadro 5, são definidos os acessos do diretório financeiro, que ficou da seguinte forma, os grupos financeiro e diretoria e o usuário Carlos, possuem acesso de escrita, já a usuária Maria não possui acesso liberado, e o usuário Joao tem permissão de leitura dos arquivos. 4.2 Monitoramento 4.2.1 Ferramentas de monitoramento Para realizar o monitoramento de todo tráfego da rede no Samba, pode ser utilizada a ferramenta nativa smbstatus, que apresenta tudo que está trafegando pela rede naquele momento. Porém, para realizar um monitoramento ainda mais completo, pode-se utilizar diversas ferramentas extras totalmente compatíveis com o sistema, que apresentam os resultados de forma ainda mais detalhada, como o SARG, que serão melhor explicado a seguir. 4.2.1.1 Smbstatus A ferramenta smbstatus, nativa do Samba, exibe de forma simplificada diversas situações e estados do sistema, de acordo com o parâmetro junto a ele executado, como pode ser visto no quadro 6 alguns exemplos. 1 QUADRO 6 - Parâmetros de execução do comando smbstatus. # smbstatus Mostra as conexões ativas e alguns dados dos usuários, e também indica se o Samba está rodando ou não. 2 # smbstatus –u <usuário> Mostra o que um determinado usuário está utilizando no Samba. 4.2.1.2 SARG Segundo Morinoto (2009), o Sarg é um interpretador de logs para o Samba, assim como para o Webalizer e o Apache. Sempre que executado ele cria um conjunto de páginas, divididas por dia, com uma lista de todas as máquinas que foram acessadas e a partir de que máquina da rede veio cada acesso. Ele também mostra os usuários, caso esteja configurado para exigir autenticação. A partir daí, e possível acompanhar os acessos de cada usuário na web, mesmo que não exista nenhum filtro de conteúdo e tomar as medidas cabíveis em casos de abuso por parte dos usuários, como mostra a figura 12. FIGURA 12 - Exemplo de Relatório gerado pelo SARG. 4.2.2 Testes de desempenho e segurança e resultados A implementação de um ambiente deste porte envolve diretamente a estrutura de arquivos de uma empresa, e a instalação e configuração do mesmo pode gerar problemas para os usuários, como interrupção do serviço de compartilhamento de rede e funcionamento dos recursos da mesma. Para contornar tais problemas o ambiente foi instalado e configurado em rede doméstica. Uma rede doméstica pode possuir uma mesma estrutura física e lógica de uma rede empresarial, no entanto, o fluxo de informações dificilmente poderá ser simulado, haja vista que numa rede empresarial, vários recursos oferecidos são utilizados por vários usuários. Depois de realizada a implantação da estrutura de rede, não foi possível instalá-la em um ambiente de rede empresarial por falta de tempo e recursos. Sendo assim, com base no exposto acima, os testes de desempenho não puderam ser realizados de forma efetiva. No quesito segurança, foram implementados controles de acesso, onde somente usuários de um determinado departamento poderiam acessar os referidos diretórios. A figura 13 apresenta um exemplo de acesso negado, onde um usuário de um departamento tenta acessar o diretório de outro departamento. FIGURA 13 - Exemplo de acesso negado. Dessa forma, a mesma estrutura proposta e implementada neste trabalho pode ser implantada em uma rede empresarial, bastando apenas adaptar à realidade de departamentos da empresa. 4.2.2.1 Testes com o comando smbstatus Nos testes realizados com o smbstatus, o sistema apresentou seus resultados com êxito, como mostra a figura 14, apresentando a versão do Samba utilizado e as máquinas conectadas a ele no momento, mostrando o usuário utilizado para o acesso e também o endereço IP da estação. FIGURA 14 - Resultado da execução do comando smbstatus. 4.3 Conclusão Neste capítulo foi realizada a etapa mais importante do trabalho, onde foi efetuada a instalação e configuração do servidor de arquivos, bem como os testes de funcionamento das principais funções disponíveis no sistema. Porém, nesta etapa foi encontrada a maior dificuldade do trabalho, pois não foi possível implantá-lo em um ambiente real de trabalho. Após a finalização da implantação e dos testes em rede doméstica, já não havia mais tempo hábil para implantar o mesmo em um ambiente corporativo, visto que tal tarefa afetaria diretamente o funcionamento dos serviços computacionais da empresa, pois necessitaria por exemplo, a interrupção de alguns serviços de rede do local. De qualquer forma, mesmo sem a implantação do servidor em um ambiente real de trabalho, foi bastante válida a implantação em rede doméstica, pois foi possível realizar todas as configurações e testes do servidor, simulando como seria seu funcionamento em um ambiente corporativo, porém com um fluxo de informações bastante reduzido, mas deixando visível que a implantação em um ambiente real necessitaria apenas da adaptação das configurações de acordo com a rede onde seria implantado o servidor para ter seu funcionamento correto efetuando suas principais tarefas de maneira efetiva. 5 CONSIDERAÇÕES FINAIS O trabalho apresentado teve como principal objetivo a implantação de um ambiente de monitoramento dos dados que trafegam pela rede, utilizando um servidor de arquivos Samba, em um ambiente de trabalho Windows a fim de otimizar o desempenho, segurança e controle das informações que trafegam pela rede. Este é um grande problema encontrado em diversas redes corporativas hoje em dia, que pela falta de um adequado monitoramento de seus dados, acabam sofrendo com lentidão, perda de dados e até ataques externos de pessoas e softwares mal intencionados. Em um primeiro momento, foi realizada uma pesquisa sobre as ferramentas disponíveis para execução deste trabalho, que após definidas quais seriam as utilizadas, foram estudadas mais profundamente e testadas para ter um maior conhecimento de suas funções e quais teriam maior valia no desenvolvimento do trabalho, assim, concluindo o primeiro objetivo proposto, para que então após isso, os esforços fossem concentrados no objetivo seguinte, de projetar e implantar este servidor. Para se alcançar o maior realismo possível de um ambiente de trabalho, a implantação do sistema foi simulada em laboratório, utilizando máquinas físicas e virtuais que tiveram suma importância nos testes de implantação. Durante esta fase foram definidas as configurações e parâmetros principais do sistema, para que se adequassem da melhor forma ao monitoramento de um ambiente de trabalho real. A partir daí, foram realizados diversos testes de segurança e desempenho para se ter a noção exata de como seria o comportamento deste servidor dentro de uma empresa. Neste ponto foi encontrada dificuldade na simulação da rede, pois mesmo utilizando algumas máquinas em laboratório, ainda não é possível simular um ambiente real de rede. O último e principal objetivo proposto para a conclusão deste trabalho, o desenvolvimento do ambiente de monitoramento, foi concluído com êxito com a implantação em rede doméstica, onde foram realizados os testes de funcionamento do servidor. Dessa forma, fica mais fácil presumir como seria o funcionamento em um ambiente real de trabalho. Outra dificuldade foi encontrada durante a fase de testes e simulação de implantação, pois não houve tempo hábil para implantar o servidor em um ambiente empresarial, a fim de avaliar de forma ainda mais profunda os benefícios deste servidor em um meio corporativo ativo, finalidade a qual este trabalho foi proposto. Como sugestão de trabalhos futuros sugere-se o desenvolvimento de um ambiente Web mais completo, integrando demais serviços de servidores de rede, como serviços Web, Email entre outros. Dentro dessa proposta Web, poderia ser contemplado um controle de acesso de usuários com autenticação ao próprio ambiente Web, onde diversos funcionários do departamento de Tecnologia poderiam acessar os recursos do ambiente com perfis diferenciados. REFERÊNCIAS BIBLIOGRÁFICAS ALECRIM, Emerson. Conhecendo o Servidor Apache (HTTP Server Project). Disponível em: < http://www.infowester.com/servapach.php>. Maio, 2006. Acessado em: 07 out. 2010. ALECRIM, Emerson. O que é Tecnologia da Informação? Disponível em: <http://www.infowester.com/col150804.php>. Agosto, 2008. ALECRIM, Emerson. Servidor Samba. Disponível em: <http://www.infowester.com/linuxsamba.php>. Setembro, 2005. ALECRIM, Emerson. Sistemas de Arquivos NTFS. Disponível em: <http://www.infowester.com/ntfs.php>. Julho, 2003. Acessado em 20 nov. 2009. DÉCIO JÚNIOR. Guia de consulta rápida: Samba. São Paulo: Novatec, 2000. 128 p. FARIAS, Fábio. Instalando o OpenSUSE 11.2. Disponível em: <http://www.vivaolinux.com.br/artigo/Instalando-o-OpenSuSE-11.2?pagina=3>. Dezembro, 2009. GONÇALVES, Bruno. Synaptic. Disponível em: http://programaslinux.com.br/html/modules/smartsection/print.php?itemid=43. Janeiro, 2006. MARTINS, Ronnie Peterson Bacelar. O Centro de Controle YaST. Disponível em: < http://vivaolinux.com.br/artigo/O-Centro-de-Controle-YaST>. Março, 2009. Acessado em 07 out. 2010. MONQUEIRO, Júlio César Bessa. OpenSuse 10.2. Disponível em: < http://www.guiadohardware.net/analises/opensuse-10>. Junho, 2009. MORINOTO, Carlos E. Hardware Manual Completo: Manual Completo 5. ed. 2002. Disponível em: <http://www.gdhpress.com.br/hmc/#indice>. MORINOTO, Carlos E. Hardware, o Guia Definitivo. Disponível em: <http://www.gdhpress.com.br/hardware>. GDH Press e Sul Editores, 2007. 848 p. RUSSO, Bruno. Configurando o Samba. Disponível em: www.brunorusso.eti.br/documentacao/samba_v_1_1.pdf. Acessado em 27/08/2010. SILVA, Gleydson Mazioli. Guia Foca/GNU Linux. Disponível em: <http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm>. Novembro, 2007. Acessado em: 26 nov. 2009. SZTAJNBERG, Alexandre. Conceitos básicos sobre os protocolos SNMP e CMIP. Disponível em: <http://www.gta.ufrj.br/~alexszt/ger/snmpcmip.html>. Abril, 1996. TIBET, Chuck V. Linux : Administração e suporte. São Paulo: Nova Aguilar, 2001. 379 p. BIBLIOGRAFIA COMPLEMENTAR DOMINIO PÚBLICO. Entendendo e Dominando o Linux 4 edição. Disponível em: <http://www.dominiopublico.gov.br/download/texto/hd000002.pdf> 2010. Acessado em 28 mai. 2010. Documentação OpenSUSE. In OpenSuse.org. Disponível em: http://pt.opensuse.org/Documentação. Acessado em: 09 jun. 2010. OpenSUSE. In Wikipedia. Disponível em: http://pt.wikipedia.org/wiki/OpenSUSE. Acessado em: 28 mai. 2010. APÊNDICE - IMPLANTAÇÃO DE UM SERVIDOR DE ARQUIVOS SAMBA EM UM AMBIENTE WINDOWS Carlos Eduardo Silva1, Rafael Gattino Furtado1 1 Departamento de Ciências Exatas e Tecnológicas da Universidade do Planalto Catarinense (UNIPLAC) – Lages – SC – Brasil [email protected], [email protected] Abstract. The presence of a file server environment is something essential in a company, but unfortunately in most cases this only receives attention and is thought of a solution when you have a large problem. The avoid this problem, takes the use of servers realize the control of these environments, where one of the options is to use of a Samba file server, designed to provide a system files on the network in an environment with Windows and Linux systems, because being the most widely used. With the aim of presenting the benefits of using this service, studies and tests simulating the operation in a working environment, and are reported throughout this article. Resumo. A presença de um ambiente um servidor de arquivos é algo essencial em uma empresa, mas infelizmente na maioria dos casos isto só recebe atenção e é pensado em uma solução quando se tem um problema de grandes dimensões. A fim de evitar este tipo de problema, se dá a utilização de servidores que realizam o controle desses ambientes, onde uma das opções é a utilização de um servidor de arquivos Samba, projetado para prover um sistema de arquivos em rede em um ambiente com sistemas Linux e Windows, pelo fato de serem os mais utilizados atualmente. Com o propósito de apresentar os benefícios da utilização deste serviço, foram realizados estudos e testes que simulam o funcionamento em um ambiente de trabalho, e são relatados no decorrer deste artigo. 1. Introdução A presença cada vez mais ativa da Tecnologia da Informação dentro das empresas dos mais diversos setores, pela comodidade, segurança, organização e facilidade no armazenamento de informações importantes, exige cada vez mais de estruturas lógicas bem projetadas para oferecer todos estes benefícios. A não utilização de soluções para a centralização dos dados corporativos acaba gerando duplicidade de dados e até mesmo desencontro de informações. Estes problemas ocorrem, por algumas organizações não conhecerem os reais benefícios da utilização de servidores de arquivos e monitoramento de redes. Para solução destes problemas, grandes empresas tem adotado o uso de servidores de arquivos, que centralizam as informações de forma íntegra e segura, onde uma das soluções mais utilizadas são os servidores baseados no sistema operacional Linux, apresentando grande eficácia na gerência dos dados que trafegam por uma rede. 2. Servidor de Arquivos Samba O Samba é um servidor com um conjunto de ferramentas que auxiliam a comunicação entre máquinas Linux e Windows, fazendo o compartilhamento de vários serviços, como arquivos e impressoras em uma rede. Para Morinoto (2006), o Samba é o servidor que permite compartilhar arquivos e acessar compartilhamentos em máquinas Windows. Ele é dividido em dois módulos, o servidor Samba propriamente dito e o "smbclient", o cliente que permite acessar compartilhamentos em outras máquinas. Usando o Samba, o servidor Linux se comporta exatamente da mesma forma que uma máquina Windows, compartilhando arquivos e impressoras e executando outras funções, como autenticação de usuários. Você pode configurar o Samba até mesmo para tornar-se um controlador de domínio. Dentre as principais funções do Samba, podemos citar: • Compartilhamento de arquivos e impressão; • Autenticação e autorização de acesso; • Resolução de nomes; 3. Desenvolvimento e Estrutura Para o desenvolvimento deste projeto, foram utilizados diversos componentes que auxiliaram e tiveram suma importância na execução do mesmo, que serão melhor descritos a seguir. 3.1. Sistema Operacional OpenSuse O sistema operacional utilizado neste projeto, foi o OpenSuse, uma distribuição Linux que teve sua primeira versão lançada em 1994. O OpenSuse possui um poderoso aplicativo de gerenciamento, o YaST, que foi bastante utilizado durante o desenvolvimento deste projeto, tornando a instalação de pacotes e configuração do sistema ainda mais simplificada. A figura 1 exibe a interface gráfica do OpenSuse, com o aplicativo YaST sendo executado. Figura 1. Interface gráfica do OpenSuse 3.2. Configuração do Samba Praticamente todas as configurações do Samba são feitas dentro do arquivo smb.conf, onde são configurados desde os parâmetros básicos do sistema, até os mais avançados que auxiliam no controle do servidor. 3.2.1. Controles de acesso As permissões e controles de acesso são um dos pontos mais importantes deste projeto, pois os quesitos segurança e integridade dos dados dependem bastante da forma com que as permissões são dadas. Para fazer o controle de acesso a diretórios e arquivos, é utilizado o comando chmod. Já para realizar o controle de grupos e usuários, utiliza-se o comando chown para configuração dos parâmetros. As divisões de acesso foram subdivididas por setores, onde cada setor possui seu diretório onde ficam armazenados e apenas os usuários ou grupos com permissões de acesso podem ter acesso, seja apenas para leitura ou para alteração dos arquivos. 3.3. Sarg Sarg é um utilitário gerador de relatórios sobre os arquivos de log, gera os relatórios em HTML e qualquer estação da rede ou mesmo via web tem acesso aos relatórios em um servidor web, são relatórios e gráficos ricos em detalhes. Com isso, é possível fazer um acompanhamento de tudo que está sendo acessado pelos usuários da rede, apresentando informações como endereço IP da máquina e quantidade de dados transferidos. 4. Testes do servidor No quesito segurança, foram implementados controles de acesso, onde somente usuários de um determinado departamento poderiam acessar os referidos diretórios. A figura 2 apresenta um exemplo de acesso negado, onde um usuário de um departamento tenta acessar o diretório de outro departamento. Figura 2. Exemplo de acesso negado Dessa forma, a mesma estrutura proposta e implementada neste trabalho pode ser implantada em uma rede empresarial, bastando apenas adaptar à realidade de departamentos da empresa. 5. Considerações Finais O presente artigo teve como principal objetivo a implantação de um ambiente de controle dos dados que trafegam por uma rede corporativa, utilizando um servidor de arquivos Samba, pelo fato de hoje em dia a falta de um ambiente de monitoramento adequado, acabar prejudicando o desempenho e confiabilidade de diversas redes. Inicialmente foi realizado um estudo acerca das ferramentas disponíveis para fazer tal implantação, que, após definidas, foram estudadas de forma ainda mais profunda para que fossem avaliadas quais as principais funções seriam utilizadas neste projeto. A implantação do sistema foi realizada em laboratório, utilizando tanto máquinas virtuais quanto máquinas físicas. Durante esta fase foram definidas as configurações e parâmetros do sistema, a fim de que o sistema se adequasse da melhor maneira possível em um ambiente de trabalho real. A partir desse momento, foram realizados os teste de desempenho e segurança, para se ter a máxima noção de como o servidor se comportaria dentro de uma empresa. A última fase deste artigo encontra-se em fase de finalização, pois a implantação do servidor foi realizada com êxito, restando apenas coletar todos os resultados necessários para se fazer a análise de eficiência do servidor implantado. Durante a fase de testes e simulação foi encontrada a maior dificuldade desta implantação, pois não houve tempo hábil para implantar o servidor em um real ambiente corporativo, para que se pudesse avaliar de forma ainda mais profunda os benefícios conseguidos com o servidor. 6. Referências bibliográficas Morinoto, Carlos E. Redes e Servidores Linux. 2006. Disponível em: <http://www.gdhpress.com.br/redeseservidores/leia/index.php?p=cap6-2>. Acessado em: 08 nov. 2010. Sarg, gerador de relatórios do Squid – tutoriais, dicas e indicações. 2006. Disponível em: http://www.zago.eti.br/squid/A-menu-squid.html. Acessado em: 08 nov. 2010.