Implementação de Servidor Linux Ubuntu Server

4,636 views

Published on

Published in: Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,636
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
570
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Implementação de Servidor Linux Ubuntu Server

  1. 1. CENTRO PAULA SOUZA FACULDADE DE TECNOLOGIA DE TAQUARITINGA TECNOLOGIA EM PROCESSAMENTO DE DADOSIMPLEMENTAÇÃO DE SERVIDOR LINUX UBUNTU SERVER: FIREWALL, PROXY E FILE SERVER TIAGO BEZERRA DOS SANTOS Orientador: MARCO ANTONIO ALVES PEREIRA Taquaritinga 2009
  2. 2. IMPLEMENTAÇÃO DE SERVIDOR LINUX UBUNTU SERVER: FIREWALL, PROXY E FILE SERVER TIAGO BEZERRA DOS SANTOS Monografia apresentada à Faculdade de Tecnologia de Taquaritinga, como parte dos requisitos para a obtenção do título de Tecnólogo em Processamento de Dados. Orientador: Marco Antonio Alves Pereira Taquaritinga 2009
  3. 3. Ninguém chega ao seu paraíso sem antes lutar. Neil Peart (Rush) – Armor And Sword
  4. 4. Dedico, Aos meus pais Ivanildo e Lili,e a minha irmã Talita, que sempre me incentivaram.
  5. 5. AGRADECIMENTOS Ao Prof. Ramílio Ramalho Reis Filho e sua família, por terem acreditado em mim. Ao Prof. Marco Antonio Alves Pereira, por sua competência, dedicação edisponibilidade como orientador. Aos Professores da Fatec, pelos valiosos ensinamentos e experiências. À minha amiga Josy Diniz, pelo apoio e palavras de incentivo em diversosmomentos. À minha família e amigos, pelo apoio, paciência e amor. A Deus, por ter colocado pessoas especiais em minha vida.
  6. 6. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - vSUMÁRIOLISTA DE FIGURAS...............................................................................................................viiLISTA DE QUADROS ............................................................................................................. ixLISTA DE ABREVIATURAS E SIGLAS ................................................................................ xRESUMO................................................................................................................................... xiABSTRACT .............................................................................................................................xiiINTRODUÇÃO ........................................................................................................................ 131. INSTALAÇÃO DO UBUNTU SERVER ............................................................................ 15 1.1 Ubuntu Desktop x Ubuntu Server ................................................................................... 15 1.2 Instalação do Sistema ...................................................................................................... 16 1.2.1 Configuração inicial de rede ..................................................................................... 16 1.2.2 Particionamento ........................................................................................................ 18 1.2.3 Instalação do Sistema Básico .................................................................................... 202. FIREWALL IPTABLES E CONFIGURAÇÃO DE REDE ................................................ 23 2.1 Interfaces ......................................................................................................................... 23 2.2 Firewall Iptables .............................................................................................................. 25 2.2.1 Regras de compartilhamento..................................................................................... 25 2.2.2 Configuração de Portas ............................................................................................. 27 2.2.3 Regras de Segurança ................................................................................................. 28 2.3 Servidor DHCP................................................................................................................ 29 2.3.1 Instalação e configuração do servidor....................................................................... 293. SERVIDOR PROXY SQUID............................................................................................... 32 3.1 Tipos de Proxy................................................................................................................. 32 3.1.1 Tradicional ................................................................................................................ 32 3.1.2 Transparente.............................................................................................................. 33 3.1.3 Com Autenticação..................................................................................................... 33 3.1.4 PAC ........................................................................................................................... 33 3.1.5 WPAD ....................................................................................................................... 34 3.2 Instalação do Squid.......................................................................................................... 34 3.3 Configuração básica como Proxy Transparente .............................................................. 35 3.4 Definindo o Cache do servidor Proxy ............................................................................. 37 3.5 Regras para Políticas de Acesso (ACLs) ......................................................................... 39 3.5.1 Bloqueio de sites ....................................................................................................... 39
  7. 7. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - vi 3.5.2 Controle de acesso de máquinas ............................................................................... 40 3.6 SquidGuard ...................................................................................................................... 43 3.6.1 Instalação e Configuração ......................................................................................... 43 3.6.2 Ajustando as permissões de acesso e alterando o Squid ........................................... 45 3.7 Monitorando os acessos com o Sarg ............................................................................... 464. SERVIDOR DE ARQUIVOS SAMBA ............................................................................... 48 4.1 Instalação do Samba ........................................................................................................ 48 4.2 Usuários ........................................................................................................................... 48 4.2.1 Cadastro de usuários no sistema ............................................................................... 49 4.2.2 Cadastro de usuários no Samba ................................................................................ 50 4.3 Configuração usando o smb.conf .................................................................................... 51 4.3.1 Configuração global .................................................................................................. 51 4.3.2 Criação dos compartilhamentos ................................................................................ 55 4.4 Ajustes de permissões no sistema.................................................................................... 57 4.4.1 Grupos de usuários.................................................................................................... 58 4.4.2 Permissões de acesso ................................................................................................ 585. ACESSO REMOTO ............................................................................................................. 62 5.1 Servidor OpenSSH .......................................................................................................... 62 5.1.1 Instalação e configuração no servidor....................................................................... 63 5.2 Administração remota ..................................................................................................... 65 5.2.1 Usando o no- ip como DNS dinâmico ....................................................................... 65 5.2.2 PuTTY....................................................................................................................... 66 5.2.3 Webmin ..................................................................................................................... 69CONCLUSÃO .......................................................................................................................... 74REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 75BIBLIOGRAFIA ...................................................................................................................... 76
  8. 8. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - viiLISTA DE FIGURASFigura 1 – Gerenciador de boot egrub. ..................................................................................... 16Figura 2 – Seleção de qual interface de rede será a primária. .................................................. 17Figura 3 – Configuração da rede adiada. .................................................................................. 17Figura 4 – Particionamento do Disco Rígido. .......................................................................... 18Figura 5 – Escolha de um espaço livre ou partição a ser usada. ............................................... 19Figura 6 – Esquema de particionamento utilizado. .................................................................. 20Figura 7 – Configuração de usuário e senha............................................................................. 21Figura 8 – Instalação de pacotes de softwares. ......................................................................... 21Figura 9 – Finalização da instalação......................................................................................... 22Figura 10 – Terminal. ............................................................................................................... 22Figura 11 – Edição das configurações de rede usando o editor nano. ...................................... 24Figura 12 – Atualização da lista de pacotes dos repositórios. .................................................. 24Figura 13 – Atualização dos pacotes já instalados. .................................................................. 25Figura 14 – Regras para compartilhamento de Internet no Iptables. ........................................ 26Figura 15 – Regras para portas no Iptables. ............................................................................. 27Figura 16 – Regras de segurança no Iptables. .......................................................................... 28Figura 17 – Arquivo dhcpd.conf............................................................................................... 30Figura 18 – Instalação do Squid. .............................................................................................. 34Figura 19 – Configuração inicial do squid.conf. ...................................................................... 35Figura 20 – Configuração parcial do squid.conf. ..................................................................... 38Figura 21 – Arquivo com lista de endereços bloqueados. ........................................................ 40Figura 22 – Arquivo com lista de palavras bloqueadas. ........................................................... 40Figura 23 – Arquivo com lista de endereços MAC de máquinas. ............................................ 41Figura 24 – Arquivo squid.conf configurado com ACLs. ........................................................ 42Figura 25 – Acesso negado pelo Squid..................................................................................... 43Figura 26 – Diretório blacklists. ............................................................................................... 44Figura 27 – Arquivo squidGuard.conf. ..................................................................................... 45Figura 28 – Adicionando usuários ao sistema. ......................................................................... 49Figura 29 – Adicionando usuários ao servidor Samba. ............................................................ 50Figura 30 – Configuração da seção [global] no smb.conf. ....................................................... 52Figura 31 – Adicionando endereço do servidor WINS no DHCP. ........................................... 53Figura 32 – Verificação do smb.conf usando o testparm. ........................................................ 54
  9. 9. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - viiiFigura 33 – Visualizando o servidor nos Meus locais de rede da estação. ............................... 54Figura 34 – Criação dos diretórios publico e arquivos. ............................................................ 55Figura 35 – Seções de compartilhamento no smb.conf. ........................................................... 56Figura 36 – Visualizando os compartilhamentos nas estações Windows. ................................ 57Figura 37 – Inclusão de usuários em grupos. ........................................................................... 58Figura 38 – Gravação negada no compartilhamento. ............................................................... 59Figura 39 – Alteração da propriedade dos diretórios share. ..................................................... 59Figura 40 – Gravação autorizada no compartilhamento. .......................................................... 60Figura 41 – Ajustes de permissões para os grupos e seus diretórios. ....................................... 60Figura 42 – Acesso aos compartilhamentos “arquivos” e “publico”. ....................................... 61Figura 43 – Arquivo sshd_config original. ............................................................................... 63Figura 44 – Arquivo sshd_config configurado. ........................................................................ 64Figura 45 – Gerenciador de Hosts do serviço DDNS no- ip. .................................................... 66Figura 46 – Assistente de configuração do no- ip. .................................................................... 66Figura 47 – Configuração do PuTTY. ...................................................................................... 67Figura 48 – Alerta sobre a chave e autorização de acesso ao servidor. .................................... 68Figura 49 – Acesso remoto ao servidor via SSH pelo PuTTY. ................................................ 68Figura 50 – Tentativa de instalação do pacote “.deb” do Webmin. ......................................... 69Figura 51 – Resolução de dependências e instalação usando o “apt-get install - f”.................. 70Figura 52 – Primeiro acesso ao Webmin pelo Firefox. ............................................................ 71Figura 53 – Adicionando uma exceção de segurança no Firefox. ............................................ 71Figura 54 – Tela de login do Webmin. ..................................................................................... 72Figura 55 – Tela inicial do gerenciador Webmin. .................................................................... 72Figura 56 – Webmin listando relatórios do Sarg. ..................................................................... 73
  10. 10. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - ixLISTA DE QUADROSQuadro 1 – Script de compartilhamento no Iptables. ............................................................... 26Quadro 2 – Regras para portas no Iptables. .............................................................................. 27Quadro 3 – Regras de segurança no Iptables. ........................................................................... 29Quadro 4 – Arquivo dhcpd.conf. .............................................................................................. 30Quadro 5 – Configuração inicial do squid.conf. ....................................................................... 35Quadro 6 – Configuração parcial do squid.conf. ...................................................................... 38Quadro 7 – Configuração da seção [global] do smb.conf. ....................................................... 52Quadro 8 – Configuração das seções de compartilhamento no smb.conf. ............................... 56Quadro 9 – Configuração do arquivo sshd_config. .................................................................. 64
  11. 11. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - xLISTA DE ABREVIATURAS E SIGLASACL – Access Control ListAPT-GET – Advanced Packaging ToolDHCP – Dynamic Host Configuration ProtocolDDNS – Dynamic Domain Name SystemDNS – Domain Name SystemEXT3 – Third Extended File SystemGB – GigaByteGNOME – GNU Network Object Model EnvironmentHD – Hard DiskHTTP – Hypertext Transfer ProtocolHTTPS – HyperText Transfer Protocol SecureIP – Internet ProtocolKDE – K Desktop EnvironmentLTS – Long Term SupportMB – MegaByteMHz – MegaHertzNAT – Network Address TranslationPAC – Proxy Auto-ConfigurationPDC – Primary Domain ControllerRAM – Random Access MemorySAS – Serial Attached SCSISSH – Secure ShellTCP – Transmission Control Protocol)UDP – User Datagram ProtocolWINS – Windows Internet Name ServicesWPAD – Web Proxy Auto-Discovery protocolWWW – World Wide WebXFCE – XForms Common Environment
  12. 12. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - xi RESUMO O presente trabalho tem como objetivo demonstrar os procedimentos necessários paraa implementação de um servidor Linux com funções de Firewall, Proxy e File Server,utilizando a distribuição Ubuntu Server. Utilizando o software de virtualização VMware, foisimulado um ambiente de rede de computadores com um servidor virtual com o UbuntuServer instalado e estações Windows também virtuais. O servidor foi configurado comfunções de roteador e Firewall Iptables, possibilitando um acesso compartilhado e seguro àInternet a partir das estações. Por meio de um serviço DHCP, o servidor também ficouresponsável por distribuir de forma automática os endereços IP que cada estação deveria ter,além de filtrar o conteúdo acessado através do Proxy Squid. Adicionalmente, o servidor foiconfigurado como um File Server, disponibilizando arquivos por meio de compartilhamentosconfigurados no servidor Samba. A administração remota do servidor foi definida através daconfiguração do servidor OpenSSH, acessível utilizando o cliente PuTTY a partir de qualquermáquina conectada à rede local ou mesmo à Internet. De forma complementar, o software degerenciamento web Webmin também foi instalado e configurado, possibilitando aadministração do servidor através de uma interface gráfica com acesso a partir de qualquernavegador. Palavras-Chaves: Servidores; Linux; Ubuntu; Firewall; Proxy; File.
  13. 13. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - xii ABSTRACT This work aims to demonstrate the necessary procedures for the implementation of aLinux server with functions of Firewall, Proxy and File Server, using the Ubuntu Serverdistribution. Using VMware virtualization software, was a simulated network environme nt forcomputers with a virtual server with Ubuntu Server installed and Windows virtual stations.The server was configured with Iptables Firewall and router functions, allowing a shared andsecure access to the Internet from the stations. Through a DHCP service, the server was alsoresponsible for automatically distributing the IP addresses that each station should have, andfilter the content accessed through the Squid Proxy. Additionally, the server was configuredas a File Server, providing files via Samba shares configured on the server. The remoteadministration was defined by the configuration of the OpenSSH server, accessible using thePuTTY client on any machine connected to the LAN or the Internet. In addition, the Webminweb management software was installed and configured, allowing the administration of theserver via a graphical interface to access from any browser. Keywords: Servers; Linux; Ubuntu; Firewall; Proxy; File.
  14. 14. INTRODUÇÃO É cada vez mais comum a utilização de uma rede de computadores em qualquerempresa, independentemente de seu porte ou ramo de atuação. Isso contribui de maneirasignificativa na crescente necessidade de se obter um controle e gerenciamento dos recursoscomputacionais disponíveis. Este tipo de gerenciamento é possível com a utilização de umcomputador servidor. Basicamente, qualquer máquina com um mínimo de características e funcionalidadespode ser utilizada como servidor de uma rede de computadores. É possível, por exemplo,aproveitar uma máquina antiga com 64 MB de memória RAM, processador de 500 MHz eduas placas de rede rodando (sem ambiente gráfico) qualquer distribuição Linux para executarfunções de roteador e firewall em uma rede de pequeno porte. Ou ainda, utilizar uma máquinacom uma configuração mais completa, com 8 GB de RAM (ou mais), processador dual ouquad core, um ou vários discos rígidos SAS, placas de rede Gigabit, suporte a redundância ediversos outros recursos; para funções mais críticas, como um servidor de Banco de Dados dealta demanda, um servidor de máquinas virtuais, dentre outras aplicações que exijam umconjunto mais robusto. Além do hardware da máquina também há a necessidade de se escolher qual sistemaoperacional será utilizado no servidor, escolha essa que invariavelmente recai na eternadiscussão: Windows ou Linux? A grande popularidade do Windows é conhecida por todos que eventualmente usam oujá usaram um computador, principalmente nos ambientes doméstico e corporativo, onde seusam computadores comuns (desktops). Sua principal característica é a união de facilidade epraticidade de uso mesmo por usuários com conhecimento básico em informática. No entanto, há muitos aspectos que favorecem a escolha de um sistema operacionalLinux para utilização em servidores. O Linux é conhecido originalmente por sua alta
  15. 15. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 14estabilidade e segurança, sendo imune a ameaças comuns ao ambiente Windows (como vírus espywares) devido ao seu sistema de permissões e privilégios de acesso. Pode-se dizer que, sobo ponto de vista teórico, um servidor rodando o Linux com programas e serviços atualizados econfigurados corretamente, atinge um nível quase que perfeito de confiabilidade e segurançano que se refere a software. Por características como estas, foi escolhido como foco deste trabalho demonstrarcomo implementar e configurar um Servidor Linux com as funções de Proxy, Firewall eservidor de Arquivos utilizando a distribuição Ubuntu Server. Estas são algumas das funçõesmais comuns encontradas em servidores de muitas empresas. O desenvolvimento do trabalho foi feito com o software de virtualização VMwareServer, utilizando para o servidor uma máquina virtual configurada inicialmente com 128 MBde memória RAM, disco rígido com 7,5 GB e duas placas de rede, além de máquinas virtuaiscom 256 MB de RAM e disco rígido com 4 GB para estações com Windows XP Professional,simulando virtualmente as características reais de uma rede de computadores. Com exceçãodo espaço definido inicialmente para os HDs, praticamente todas as outras configurações dehardware virtual podem ser modificadas posteriormente através da interface web degerenciamento do VMware Server. Neste trabalho são abordados todos os procedimentos inerentes a instalação damáquina na rede, como a instalação do Sistema Operacional Ubuntu Server, configuração dasinterfaces de rede e do servidor DHCP necessário para distribuição de endereços IP para asestações, definição de regras para uso de Internet através do Proxy Squid, instalação econfiguração do servidor OpenSSH para acesso remoto, criação de compartilhamentos noSamba, além de definições de regras de segurança no firewall Iptables e métodos deadministração remota usando os utilitários PuTTY e Webmin.
  16. 16. 1. INSTALAÇÃO DO UBUNTU SERVER É durante a instalação do Sistema Operacional que algumas pré-configurações básicasdeverão ser definidas, determinando a forma como recursos do servidor poderão ser mais bemutilizados. Neste capítulo serão abordadas as diferenças entre a versão Desktop e Server doUbuntu, além de sua instalação e configuração iniciais. 1.1 Ubuntu Desktop x Ubuntu Server Para Paula Júnior (2007, p.4) “o Ubuntu é um sistema operacional livre e de códigoaberto, feito em volta do Kernel do Linux, baseado na distribuição chamada Debian”. A empresa Canonical apóia o desenvolvimento do Ubuntu, e a lém de versões comdiferentes tipos de ambientes de trabalho (Kubuntu/KDE e Xubuntu/XFCE, por exemplo),também disponibiliza uma versão destinada a servidores, conhecida como Ubuntu Server. Atualmente na versão 9.04, o Ubuntu Server é, essencialmente, idêntico ao UbuntuDesktop. No entanto, seu ambiente de trabalho GNOME não é instalado por padrão, tornandoseu uso possível mesmo em máquinas com características mais modestas de hardware;também inclui um conjunto de pacotes específicos para servidores. O Ubuntu Server, assim como as versões desktop, utiliza repositórios derivados dorepositório unstable do Debian, sendo que as versões LTS (Long Term Support) são as maissemelhantes às versões estáveis do Debian (MORIMOTO, 2008, p. 38). Para este trabalho foiutilizada a versão 8.04 LTS. A terminologia LTS indica que seu período de suporte eatualizações é maior em comparação às versões regulares (como a 9.04). A partir da versão8.04 LTS, a Canonical estendeu esse período de 18 meses para 5 anos.
  17. 17. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 16 1.2 Instalação do Sistema Antes de proceder com a instalação do Ubuntu Server, algumas configurações comoidioma e layout do teclado podem ser necessárias e feitas por meio do gerenciador de bootegrub (Figura 1). Figura 1 – Gerenciador de boot egrub. FONTE: Arquivo do autor. Na parte inferior da tela há informações sobre quais teclas utilizar para acessardeterminadas configurações do gerenciador, como por exemplo, F2 para idioma e F3 para olayout do teclado. Após a definição dos ajustes iniciais, basta escolher a opção “Install Ubuntu Server” epressionar “Enter” para iniciar a instalação. 1.2.1 Configuração inicial de rede A máquina virtual utilizada possui duas interfaces de rede (eth0 e eth1), característicaidentificada automaticamente pelo instalador e onde se deve escolher qual será a interfaceprimária (Figura 2).
  18. 18. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 17 Figura 2 – Seleção de qual interface de rede será a primária. FONTE: Arquivo do autor. Após a escolha da interface “eth0” como primária, o instalador prossegue com aconfiguração de rede tentando obtê-la automaticamente através de um servidor DHCP. Estaconfiguração pode ser cancelada neste momento e efetuada manualmente mais tarde (Figura3). Figura 3 – Configuração da rede adiada. FONTE: Arquivo do autor.
  19. 19. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 18 Posteriormente o instalador pede a definição de um nome para identificação doservidor na rede, além de configurações de fuso horário. 1.2.2 Particionamento Particionamento é a tarefa de preparação do disco rígido (HD) e m uma ou mais partes(partições) que receberão um sistema de arquivos para armazenamento de dados. Existemdiversos tipos de sistema de arquivos para partições Linux, sendo o sistema EXT3 um dosmais utilizados em diversas distribuições. O EXT3 caracteriza-se por possuir suporte aorecurso de journaling, responsável por manter registros das operações realizadas no sistemade arquivos da partição. Após os ajustes inicias da instalação, é necessário executar o particionamento do discorígido, escolhendo a opção “Manual” para personalizar a definição das partições (Figura 4). Figura 4 – Particionamento do Disco Rígido. FONTE: Arquivo do autor. Após a escolha do espaço vazio o particionador solicita a criação de uma nova tabelade partições, responsável pela definição das características das partições. Assim o disco rígidofica pronto para definição de uma ou mais partições a partir de um espaço livre (Figura 5).
  20. 20. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 19 Figura 5 – Escolha de um espaço livre ou partição a ser usada. FONTE: Arquivo do autor. O Ubuntu Server possui como requisito mínimo de instalação pelo menos 1 GB deespaço em disco. Neste servidor virtual com disco rígido de 7.5 GB, sua instalação foi feitausando a partição 1 (primária) com espaço de 3 GB para armazenar o diretório raíz (/) e toda aestrutura do sistema operacional. O diretório “/home”, local onde ficam os arquivos dos usuários, foi instalado napartição 2 (lógica) com cerca de 4 GB. Este diretório tende a ter seu espaço ocupado commais rapidez, já que armazena tudo relacionado aos arquivos e configurações dos usuárioscadastrados no sistema. Já a partição 3 é utilizada como uma memória virtual para o sistema, chamada deSWAP, aproveitando o restante (500 MB) dos 7.5 GB do disco rígido do servidor. Sendo assim, as partições serão criadas com a seguinte configuração (Figura 6):
  21. 21. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 20 Figura 6 – Esquema de particionamento utilizado. FONTE: Arquivo do autor. Após a definição do esquema para as partições, a opção “Finalizar o particionamento egravar as mudanças no disco” é escolhida e o instalador prossegue com a instalação dosistema. 1.2.3 Instalação do Sistema Básico Durante o processo de instalação do sistema básico, algumas configurações sãosolicitadas pelo instalador como, por exemplo, a definição de uma conta de usuário e senha deacesso (Figura 7).
  22. 22. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 21 Figura 7 – Configuração de usuário e senha. FONTE: Arquivo do autor. O usuário criado aqui será utilizado para configuração do sistema após o término dainstalação, evitando o uso da conta “root”. Também é dada a opção de instalar alguns dos pacotes de softwares mais comunsusados em servidores (Figura 8). Figura 8 – Instalação de pacotes de softwares. FONTE: Arquivo do autor. No entanto, a instalação dos pacotes necessários ao Servidor Proxy (Squid), Firewall(Iptables), File Server (Samba) e OpenSSH para acesso remoto será feita posteriormenteatravés da ferramenta APT-GET, o que possibilita a utilização de versões mais recentes.
  23. 23. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 22 A instalação prossegue e alguns minutos depois é finalizada (Figura 9). Figura 9 – Finalização da instalação. FONTE: Arquivo do autor. O instalador reinicia a máquina e o Ubuntu Server é iniciado, solicitando em seguida onome de usuário e senha para login. Após preencher os dados, o terminal é apresentado e asconfigurações do servidor já podem ser feitas (Figura 10). Figura 10 – Terminal. FONTE: Arquivo do autor.
  24. 24. 2. FIREWALL IP TABLES E CONFIGURAÇÃO DE REDE Neste capítulo as interfaces de rede do servidor serão configuradas de acordo com otipo de conexão à Internet existente e das características da rede onde o servidor seráutilizado. Também será ativado o compartilhamento da Internet usando regras no firewallIptables, juntamente com regras de segurança. Por fim, será instalado e configurado umservidor DHCP, responsável pela distribuição automática das configurações de rede que cadaestação deverá possuir. 2.1 Interfaces A configuração das interfaces de rede é feita no arquivo “/etc/network/interfaces”,usando um editor de textos como o nano. Neste arquivo é possível definir as configurações de endereço IP, máscara, rede,broadcast e gateway que cada interface ethernet do servidor possui. Para este trabalho, com um servidor virtual conectado a uma conexão de Internet comIP dinâmico, foi definida a configuração representada na imagem abaixo (Figura 11).
  25. 25. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 24 Figura 11 – Edição das configurações de rede usando o editor nano. FONTE: Arquivo do autor. Para que as configurações entrem em funcionamento, o conteúdo do arquivo“/etc/network/interfaces” precisa ser recarregado reiniciando o daemon (serviço) responsávelpelas configurações de rede: “sudo /etc/init.d/networking restart”. Antes de executar outras tarefas de configuração dos serviços do servidor, érecomendável atualizar a lista de pacotes dos repositórios do Ubuntu Server através docomando “sudo apt-get update” (Figura 12), além de efetuar a atualização dos pacotes jáinstalados por padrão, utilizando o comando “sudo apt-get upgrade” (Figura 13). Figura 12 – Atualização da lista de pacotes dos repositórios. FONTE: Arquivo do autor.
  26. 26. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 25 Figura 13 – Atualização dos pacotes já instalados. FONTE: Arquivo do autor. 2.2 Firewall Iptables Para von Hagen (2007, p. 727) “Firewall é um termo usado para descrever um sistemaque fica entre um ou mais sistemas de computadores, e monitora e gerencia o tráfego darede”. O Iptables (também conhecido como netfilter) é um firewall embutido no Kernel doLinux, caracterizado por ser muito estável e confiável, permitindo grande flexibilidade nadefinição de regras. Seu funcionamento é baseado na comparação de regras para saber se umpacote tem ou não permissão para passar; podendo também ser utilizado para modificar emonitorar o tráfego da rede, roteamento, compartilhamento (NAT), e proteção contra diversasformas de ataque. O Iptables ainda pode ter diversas funções adicionadas através de módulos,o que possibilita inúmeras formas de uso do firewall (SILVA, 2007, p. 107). 2.2.1 Regras de compartilhamento Após a configuração das interfaces de rede do servidor, é necessário fazer aconfiguração que permitirá o compartilhamento da Internet (ligada à eth0) com a rede local(eth1) através de regras no Iptables. Os comandos listados na Figura 14 constituem as regras necessárias para ocompartilhamento e para uma proteção básica contra ataques vindos da Internet. Estescomandos serão colocados em um arquivo chamado “firewall” dentro do diretório
  27. 27. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 26“/usr/local/bin”, e este arquivo será transformado em um script executável (“sudo chmod +x/usr/local/bin/firewall”). Desta forma, adicionando sua localização ao final do arquivo“/etc/rc.local” (antes da linha exit0), o script será sempre carregado mesmo que o servidorseja reiniciado. Figura 14 – Regras para compartilhamento de Internet no Iptables. FONTE: Arquivo do autor. O Quadro 1 apresenta a descrição dos comandos usados no script, sem referência aoscomentários: Quadro 1 – Script de compartilhamento no Iptables. Comando Funçãoconexinternet=“eth0” Variável que identifica a interface de rede conectada à Internet (eth0).conexlocal=“eth1” Variável que identifica a interface de rede conectada à rede local (eth1).modprobe iptable_nat Ativa o módulo iptable_nat para suporte a roteamento de pacotes por NAT.echo 1 > /proc/sys/net/ipv4/ip_forward Ativa o módulo ip_forward que possibilita o encaminhamento de pacotes.iptables –t nat –A POSTROUTING –o Regra que faz efetivamente o$conexinternet –j MASQUERADE compartilhamento.iptables –A INPUT –p tcp –synn –j DROP Regra geral de segurança, bloqueando o acesso a partir de conexões externas (Internet).
  28. 28. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 27 2.2.2 Configuração de Portas As regras definidas anteriormente são suficientes apenas para o compartilhamento daInternet com o restante das estações da rede e uma proteção geral contra acessos provenientesda Internet. No entanto, também é possível no Iptables definir regras para determinadas portasno servidor. A relação de portas que devem ser abertas ou fechadas no firewall dependeinicialmente de se ter em mente quais serão as principais atribuições do servidor. Porexemplo, para um servidor web são necessárias pelo menos as portas TCP 80 e 443(protocolos HTTP e HTTPS respectivamente), TCP 53 e UDP 53 (ambas para DNS,responsável pela resolução de nomes de endereços). Para o servidor desenvolvido neste trabalho, serão abertas no firewall as portas TCP22, TCP 10000, UDP 137 e 138 e TCP 139 e 445, e fechada a porta 1863 utilizada peloprograma de mensagens MSN/Windows Live Messenger (Figura 15). Figura 15 – Regras para portas no Iptables. FONTE: Arquivo do autor. O Quadro 2 apresenta a descrição dos comandos adicionados ao script do firewall: Quadro 2 – Regras para portas no Iptables. Comando Funçãoiptables -A INPUT -p tcp --dport 22 -j ACCEPT Condição para pacotes de entrada destinados à porta TCP 22, usada pelo servidor OpenSSH.iptables -A FORWARD -p tcp --dport 1863 -j Condição que bloqueia o acesso aREJECT conexão proveniente do programa MSN.iptables -A INPUT -p tcp --dport 10000 -j Condição para pacotes de entradaACCEPT destinados à porta TCP 10000, usada
  29. 29. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 28 pelo software Webmin para acesso remoto via web.iptables -A INPUT -p udp --dport 137 -j ACCEPT Condições para pacotes de entradaiptables -A INPUT -p udp --dport 138 -j ACCEPT destinados às portas UDP 137 e 138, eiptables -A INPUT -p tcp --dport 139 -j ACCEPT TCP 139 e 445, usadas pelo servidoriptables -A INPUT -p tcp --dport 445 -j ACCEPT Samba para navegação na rede e resolução de nomes das máquinas da rede. Estas portas são necessárias para os serviços que posteriormente serão configuradosneste servidor. 2.2.3 Regras de Segurança Muitos dos problemas relacionados à segurança de uma rede de computadores podemser evitados (ou pelo menos minimizados) com um conjunto de regras definidas no firewallIptables. Quando combinadas com a atualização dos serviços instalados no servidor,juntamente a uma política eficiente e clara sobre as condições de uso da rede e da Internetpelos usuários, estas regras auxiliam o Administrador a ter um controle sobre praticamentetudo o que deve ocorrer em relação ao acesso à rede e a Internet. No script configurado anteriormente, foram definidas regras relacionadas aocompartilhamento e a determinadas portas que são usadas por programas previstos nasfuncionalidades do servidor. Mas, além disso, também é válido adicionar mais algumas regrasvisando justamente evitar possíveis brechas de segurança no servidor e na rede (Figura 16). Figura 16 – Regras de segurança no Iptables. FONTE: Arquivo do autor. O Quadro 3 apresenta a descrição dos comandos usados no script :
  30. 30. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 29 Quadro 3 – Regras de segurança no Iptables. Comando Funçãoiptables –A INPUT –i $conexlocal –j ACCEPT Condição que aceita os pacotes provenientes da rede local.iptables –A INPUT –p icmp –icmp-type echo- Condição que ignora ping, dificultandorequest –j DROP ao invasor saber se o servidor está online.echo 1 > /proc/sys/net/ipv4/conf/default/rp_filteriptables –A INPUT –m state –state INVALID –j Regras para ignorar pacotes inválidos.DROPiptables –A INPUT –i lo –j ACCEPT Pacotes vindos do próprio servidor são aceitos.2.3 Servidor DHCP O servidor DHCP (Dynamic Host Configuration Protocol) é o serviço responsável pordistribuir para as estações as configurações de endereçamento IP que cada uma deverá possuirna rede de forma automática. Isto é especialmente útil em redes com uma grande quantidadede computadores, evitando a necessidade de se configurar manualmente cada uma dasmáquinas pertencentes à rede. O funcionamento do DHCP é baseado em pacotes de broadcast, onde uma estaçãoconfigurada para receber um endereço IP automaticamente, envia um pacote de broadcasttentando encontrar um servidor DHCP na rede que forneça uma configuração válida de IP(VAN VUGT, 2008, p. 279). Além do endereço IP a estação também recebe as configuraçõesde máscara de rede, gateway e DNS utilizados na rede. 2.3.1 Instalação e configuração do servidor A instalação do servidor DHCP no Ubuntu é feita através do pacote “dhcp3-server”usando o comando “sudo apt-get install dhcp3-server”. Sua configuração é definida no arquivo “/etc/dhcp3/dhcpd.conf”. Este arquivo é ummodelo de configuração com comentários, o que o deixa bastante extenso. Para simplificar oprocedimento de configuração do servidor, o arquivo original “dhcpd.conf” é renomeado para“dhcpd.conf.old”, e então é criado um novo arquivo “dhcpd.conf” com apenas asconfigurações necessárias para o servidor que está sendo implementado (Figura 17).
  31. 31. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 30 Figura 17 – Arquivo dhcpd.conf. FONTE: Arquivo do autor. O Quadro 4 apresenta a descrição das linhas utilizadas na configuração do arquivodhcpd.conf: Quadro 4 – Arquivo dhcpd.conf. Linha Funçãoddns- update-style none; Define que o DHCP não tentará interagir com um servidor de nomes (DNS).default- lease-time 600; Controla o tempo (em segundos) de renovação dos endereços IP disponibilizados.max-lease-time 7200; Tempo máximo que uma estação pode ficar com um endereço IP.authoritative; Determina que este seja o principal servidor DHCP da rede local.subnet 192.168.0.0 netmask 255.255.255.0 { Define que faixa de endereços e máscara a rede local utilizará.range 192.168.0.1 192.168.0.100; Faixa de endereços que serão distribuídos automaticamente entre as estações.option routers 192.168.0.250; Roteador (Gateway) da rede.option domain- name-servers Endereços dos servidores DNS (neste caso,208.67.222.222,208.67.220.220; usando endereços dos servidores públicos OpenDNS)option broadcast-address 192.168.0.255; Endereço para pacotes broadcast.
  32. 32. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 31 host micro1 { hardware ethernet 00:0C:29:A1:78:DA; fixed-address 192.168.0.101; Seção que possibilita relacionar um endereço } IP fixo ao endereço físico (MAC Address) da host micro2 { placa de rede de uma estação. hardware ethernet 00:50:56:C0:00:01; fixed-address 192.168.0.102; }} Finaliza as configurações do arquivo dhcpd.conf. Fora a configuração do dhcpd.conf, como o servidor possui duas placas de redetambém é importante configurar o DHCP para escutar somente a placa da rede local, já que ésomente às estações conectadas a esta interface que o servidor DHCP deverá responder. Estaconfiguração é feita no arquivo “/etc/default/dhcp3-server”, alterando a linhaINTERFACES=“” por INTERFACES=“eth1” (MORIMOTO, 2008, p. 129). Para que as alterações entrem em funcionamento, o serviço dhcp3-server é reiniciadocom o comando “sudo /etc/init.d/dhcp3-server restart”.
  33. 33. 3. SERVIDOR PROXY SQUID Um servidor Proxy como o Squid tem como principal finalidade servir como umintermediário entre as máquinas da rede local e a Internet. É através dele que podemos definirrestrições baseadas em políticas de acesso (chamadas de ACLs) e um uso mais racional econtrolado da Internet; tendo também a vantagem de funcionar como um cache de páginas earquivos já acessados, economizando assim o uso da banda disponível e melhorando avelocidade de acesso. Neste capítulo será demonstrado como implementar um servidor Proxytransparente com o Squid. 3.1 Tipos de Proxy O Squid pode ser configurado para atuar de diferentes formas de acordo com anecessidade de uso da Internet na rede local. É possível usá- lo como um Proxy Tradicional,configurando manualmente cada estação da rede; como um Proxy Transparente, comredirecionamento automático de pacotes para o Squid; como Proxy com Autenticação,exigindo usuário e senha para acesso; como um Proxy com Configuração Automática (PAC),baseado em um script disponível em um servidor Web; e como Proxy WPAD, possibilitandoque os clientes localizem o script de configuração automaticamente. 3.1.1 Tradicional O Proxy dito como tradicional ou comum é o tipo mais básico de configuração de umProxy como o Squid. Neste tipo de uso há a necessidade obrigatória de se configurarmanualmente cada uma das máquinas da rede, alterando as configurações dos navegadoresutilizados (como o Internet Explorer e Mozilla Firefox) para que acessem a Internet somente
  34. 34. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 33pelo endereço do servidor Proxy. Sua principal desvantagem é justamente a pouca praticidadede implementação. 3.1.2 Transparente O Proxy Transparente atua a partir de uma regra de firewall, onde é configurado ocompartilhamento via NAT de modo que os acessos destinados à porta 80 possam serinterceptados e direcionados ao Squid. Desta forma tudo passa obrigatoriamente por suasregras de controle. Uma grande vantagem no uso de um Proxy Transparente reside no fato deque as estações passam a receber esta configuração automaticamente a partir do gateway darede. No entanto, esta solução também possui algumas restrições como, por exemplo, aimpossibilidade de se utilizar um sistema de autenticação juntamente com o ProxyTransparente. Além disso, somente os dados trafegados na porta 80 são controlados. 3.1.3 Com Autenticação Nesta modalidade de configuração é possível utilizar um sistema de autenticação paraque o usuário possa acessar a Internet com base em alguns critérios. O Squid passa a utilizarum módulo de autenticação baseado em um arquivo de senhas para definição de quaisusuários poderão acessar a Internet. Também é possível fazer com que o Squid se autentiqueem um servidor configurado como PDC (como o Samba ou mesmo o Active Directory). 3.1.4 PAC Neste tipo de aplicação é utilizado um script PAC (Proxy Auto Configuration)disponibilizado na rede local por meio de um servidor web como o Apache. Este arquivo écriado em “/var/www/wpad.dat” com um pequeno conteúdo escrito em Javascript :Function FindProxyForUrl(url, host){Return “PROXY 192.168.0.250:3128”;}
  35. 35. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 34 Este método ainda exige a configuração manual em cada estação para que o script sejarecebido e processado, fazendo com que utilizem o endereço do Proxy como forma de saídapara a Internet. No entanto, caso seja necessário efetuar alguma mudança na configuração deProxy nas estações, bastará mudar o script. 3.1.5 WPAD O WPAD (Web Proxy Auto Discovery protocol) é uma forma de implementação queusa como base o Proxy com script PAC juntamente com configurações nos servidores DHCPe DNS da rede. Assim as estações são orientadas a buscar de forma automática o arquivo como script, bastando ativar nos navegadores das máquinas a opção que permita detectarautomaticamente as configurações de Proxy e Rede. 3.2 Instalação do Squid Definido o tipo de Proxy que será utilizado na rede, é hora de iniciar suaimplementação no servidor Ubuntu Server. A instalação do Squid segue o padrão comum a outros pacotes instalados no Ubuntu,usando o comando “sudo apt-get install squid” (Figura 18). Figura 18 – Instalação do Squid. FONTE: Arquivo do autor.
  36. 36. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 35 Sua configuração é feita no arquivo “/etc/squid/squid.conf”, que originalmente possuiuma série de comentários e exemplos para diversas configurações e é interpretadosequencialmente pelo aplicativo. 3.3 Configuração básica como Proxy Transparente Para simplificar o procedimento de configuração do Squid, o arquivo original“squid.conf” é renomeado para “squid.conf.old”, e então é criado um novo arquivo“/etc/squid/squid.conf”. O novo arquivo terá inicialmente a configuração demonstrada na Figura 19: Figura 19 – Configuração inicial do squid.conf. FONTE: Arquivo do autor. O Quadro 5 apresenta a descrição das linhas utilizadas na configuração inicial doarquivo squid.conf: Quadro 5 – Configuração inicial do squid.conf. Linha Funçãohttp_port 3128 transparent Porta padrão utilizada pelo Squid e parâmetro que define o Proxy como
  37. 37. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 36 transparente.visible_hostname konoha Nome do servidor.acl all src 0.0.0.0/0.0.0.0 ACL com todos os endereços de rede possíveis.acl manager proto cache_object ACL para o protocolo cache_object (protocolo pertencente ao Squid).acl localhost src 127.0.0.1/255.255.255.255 ACL para o endereço localhost do próprio servidor.acl SSL_ports port 443 563 ACLs para portas que podem seracl Safe_ports port 21 80 443 563 70 210 280 488 59 utilizadas pelo Proxy.777 901 1025-65535acl purge method PURGE ACL para o método PURGE (responsável por limpar objetos do cache).acl CONNECT method CONNECT ACL para o método CONNECT.http_access allow manager localhost Regra que libera o acesso das ACLs manager e localhost combinadas.http_access deny manager Regra que nega a ACL manager.http_access allow purge localhost Regra que libera o acesso das ACLs purge e localhost combinadas.http_access deny purge Regra que nega a ACL purge.http_access deny !Safe_ports Regra que nega as portas não especificadas na ACL Safe_ports.http_access deny CONNECT !SSL_ports Regra que nega conectividade às portas não especificadas na ACL SSL_ports.acl redelocal src 192.168.0.0/24 ACL para os endereços da rede localhttp_access allow localhost Regra que libera o acesso vindo do localhost (servidor).http_access allow redelocal Regra que libera o acesso vindo da rede local.http_access deny all Regra geral que nega o acesso a tudo que não foi especificado nas regras anteriores. Como o Proxy será usado de forma transparente, também é necessário adicionar aofirewall Iptables (logo após a regra de compartilhamento NAT) uma regra que intercepte edirecione o tráfego da porta 80 para o Squid:iptables -t nat -A PREROUTING -i $conexlocal -p tcp --dport 80 -j REDIRECT --to- port 3128 Após estas configurações, as regras do Iptables são limpas (“sudo iptables -F”) e oscript do firewall é carregado novamente (“sudo firewall”). As novas configurações do Squidtambém precisam ser carregadas usando o comando “sudo /etc/init.d/squid restart”.
  38. 38. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 37 Estas configurações são suficientes para que o Proxy funcione com um conjuntomínimo de restrições de portas e de acesso local, permitindo que as estações já tenham acessoà Internet. 3.4 Definindo o Cache do servidor Proxy Depois de ativar o Squid com algumas funções básicas, é possível definir suasconfigurações mais avançadas, como ajustes relacionados ao Cache. O Squid utiliza as formas de cache em memória RAM (com pouco espaço evelocidade maior) e em disco (com grande espaço de armazenamento, mas com acesso maislento). A quantidade de espaço reservado na memória RAM e no disco rígido dependeprincipalmente do quanto de capacidade estes dispositivos de hardware possuem no servidor.Para Morimoto (2008, p. 140) “como regra geral, você pode reservar 32 ou 64 MB para ocache em um servidor dedicado, que atende a apenas alguns micros, e até 1/3 da memóriaRAM total em um servidor Proxy dedicado, que atende a um volume maior de usuários”. Em relação ao espaço reservado em disco, pode-se usar um valor alto caso hajabastante espaço no disco rígido do servidor e se quiser que o Squid armazene os downloadspor um longo período (MORIMOTO, 2008, p. 141). Considerando o servidor virtual implementado neste trabalho, uma máquina com 128MB de memória RAM e HD de 7,5 GB, podem ser usados os seguintes ajustes para o Cachedo servidor: Cache em memória RAM: 50 MB Cache em disco (HD): 2 GB Tamanho máximo de objeto na memória: 64 KB Tamanho máximo de objeto no disco: 512 MB Tamanho mínimo de objeto no disco: 0 KB Também são especificados o arquivo que armazenará os logs de acesso do Squid e odiretório que contém as páginas de erro em Português. Posteriormente, o Sarg (utilitário pararelatórios) utilizará o arquivo de log para gerar relatórios com informações sobre as páginasacessadas pelas estações. Depois de feitas as alterações, destacadas na imagem, o arquivo squid.conf terá aconfiguração demonstrada na Figura 20:
  39. 39. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 38 Figura 20 – Configuração parcial do squid.conf. FONTE: Arquivo do autor. O Quadro 6 apresenta a descrição das linhas acrescentadas na configuração parcial doarquivo squid.conf: Quadro 6 – Configuração parcial do squid.conf. Linha Funçãocache_mem 50 MB Quantidade reservada para o cache na memória RAM.maximum_object_size_in_memory 64 KB Tamanho máximo dos arquivos armazenados no cache em memória.maximum_object_size 512 MB Tamanho máximo dos arquivos armazenados no cache em disco.minimum_object_size 0 KB Tamanho mínimo dos arquivos armazenados no cache em disco.cache_dir ufs /var/spool/squid 2048 16 256 Diretório onde o Squid armazenará os arquivos, espaço reservado no disco rígido em MB, quantidade de pastas e subpastas que serão criadas dentro do diretório.cache_access_log /var/log/squid/access.log Diretório e arquivo onde os logs do Squid
  40. 40. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 39 serão armazenados.error_directory Diretório de páginas de erro (em português)/usr/share/squid/errors/Portuguese usadas pelo Squid. 3.5 Regras para Políticas de Acesso (ACLs) Além de funcionar como um cache para armazenar as páginas e arquivos já acessados,o Squid também é normalmente utilizado como um meio de organizar e restringir o uso daInternet de acordo com determinar regras. Estas regras são definidas através de um conjunto de ACLs (Access Control List),onde por meio de regras e parâmetros é possível criar configurações que restrinjam ou liberemo acesso a domínios, palavras e IPs; que impeçam o download de arquivos com determinadasextensões; dentre outras possibilidades. Para este trabalho, serão criadas políticas de acesso baseadas em: Bloqueio de sites (de acordo com domínios e palavras na URL); Acesso livre para determinadas máquinas (de acordo com o MAC Address). 3.5.1 Bloqueio de sites O bloqueio de sites no Squid é feito usando ACLs com as seguintes regras: dstdomain: verifica os domínios, necessitando que se especifique os endereços com e sem “www”; url_regex: verifica os domínios, mas não bloqueia endereços dinâmicos passados como parâmetro da URL; dstdom_regex: verifica todas as palavras existentes na URL. Estas regras podem ser combinadas ao mesmo tempo nas ACLs para obter um melhorresultado no controle de acesso. Sendo assim, o bloqueio dos domínios restritos será especificado com o auxílio deuma lista de endereços num arquivo de texto comum, armazenado em um diretório como, porexemplo, “/etc/squid/controle-de-acesso/sites-bloqueados”. O conteúdo do arquivo segue ummodelo simples, com cada endereço em uma linha como demonstrado na Figura 21:
  41. 41. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 40 Figura 21 – Arquivo com lista de endereços bloqueados. FONTE: Arquivo do autor. Com a lista definida, basta apenas escrever a ACL usando “url_regex” e a referênciaao arquivo, além da regra “http_access deny” para negar o acesso.acl bloqueados url_regex -i “/etc/squid/controle-de-acesso/sites-bloqueados”http_access deny bloqueados De forma complementar, também é possível utilizar uma lista (“/etc/squid/controle-de-acesso/palavras”) com palavras que serão verificadas pela regra “dstdom_regex” (Figura 22). Figura 22 – Arquivo com lista de palavras bloqueadas. FONTE: Arquivo do autor. Em seguida, definimos a ACL:acl palavras dstdom_regex “/etc/squid/controle-de-acesso/palavras”http_access deny palavras 3.5.2 Controle de acesso de máquinas As ACLs podem ser usadas também para definir o controle de acesso de determinadasestações da rede local. É possível definir uma lista dos MAC Addresses das máquinas que poderão ter acessoirrestrito (Figura 23):
  42. 42. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 41 Figura 23 – Arquivo com lista de endereços MAC de máquinas. FONTE: Arquivo do autor. Com o parâmetro “arp” e a regra “http_access allow” configuramos a ACL parapermitir o acesso destes endereços MAC:acl diretoria arp “/etc/squid/admin/diretoria”http_access allow diretoria Como o squid.conf é lido sequencialmente pelo Squid, as regras que abrem o acessodevem vir antes de regras de restrição para que funcionem corretamente. Depois de definir as ACLs, o arquivo squid.conf estará com as configuraçõesmostradas na Figura 24:
  43. 43. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 42 Figura 24 – Arquivo squid.conf configurado com ACLs. FONTE: Arquivo do autor. Para que as regras entrem em funcionamento, é necessário que o Squid recarregue asnovas configurações, tarefa que pode ser feita com o comando “sudo /etc/init.d/squid reload”. Feito isso, ao tentar acessar uma dos domínios bloqueados ou endereços com algumapalavra proibida na URL, o usuário encontra uma página de erro informando q ue o acesso foinegado (Figura 25).
  44. 44. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 43 Figura 25 – Acesso negado pelo Squid. FONTE: Arquivo do autor. 3.6 SquidGuard O SquidGuard é um aplicativo que permite usar longas listas com milhões de URLs desites impróprios (pornográficos, downloads ilegais, cracks, drogas etc), auxiliando o Squid natarefa de bloquear o acesso a estes endereços sem com isso prejudicar o desempenho do Proxy(MORIMOTO, 2008, p. 168). Regras como “url_regex” e “dstdom_regex” são úteis na tarefa de bloquear endereçosou termos específicos. No entanto, para bloquear a maior parte dos milhões de endereços desites impróprios existentes na Internet, há a necessidade de se utilizar uma grande lista deURLs mantida por grupos como o MESD Blacklists e Shalla’s Blacklists. O uso de listas apartir do SquidGuard torna as tarefas de restrição muito mais eficientes e práticas para oSquid, já que a necessidade de ficar constantemente atualizando as listas originalmente usadaspelo squid.conf acaba sendo drasticamente reduzida. 3.6.1 Instalação e Configuração A instalação do SquidGuard é feita usando o comando “sudo apt-get installsquidguard”.
  45. 45. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 44 Também é necessário baixar pelo menos uma das listas que será usada pelo programa.No servidor implementado neste trabalho, será utilizada a lista do MESD que pode serbaixada usando o comando “wget –c http://squidguard.mesd.k12.or.us/blacklists.tgz”. Usando agora o usuário root do sistema, após o download a lista é copiada com ocomando “cp blacklists.tgz /var/lib/squidguard/db” para o diretório “/var/lib/squidguard/db” eem seguida é descompactada usando o comando “tar - zxvf blacklists.tgz”. Ao acessar o diretório “/var/lib/squidguard/db/blacklists” é possível visualizar umalista de diretórios divididos por assuntos (Figura 26). Figura 26 – Diretório blacklists. FONTE: Arquivo do autor. O conteúdo da lista inclui domínios e URLs relacionadas a sites de entretenimentocomo o Youtube e MSN Web Messenger, passando por sites inerentes a redes sociais (comoOrkut), sites com endereços de servidores Proxy públicos, rádios online, além de sitespornográficos e muitos outros. Com o SquidGuard instalado e a lista MESD disponível, é necessário editar o arquivo“/etc/squid/squidGuard.conf” para especificar as seções da lista que serão usadas. Para o bloqueio de sites com conteúdo pornográfico, drogas, violência, softwarespiratas e servidores de Proxy público, o arquivo pode ser configurado da forma mostrada naFigura 27:
  46. 46. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 45 Figura 27 – Arquivo squidGuard.conf. FONTE: Arquivo do autor. As classes “dest” indicam o nome da seção e a localização dos endereços de domínio(domainlist) e das URLs (urllist) da blacklist. A última ACL, por meio do parâmetro “pass”,indica a forma como as classes “dest” serão tratadas, sendo que os itens com o sinal deexclamação (“!”) antes do nome terão o acesso bloqueado com redirecionamento (redirect)automático para uma outra página ou site (no caso o site Google, na configuraçãodemonstrada na figura anterior). Por fim, é necessário também converter a lista para o formato Berkeley DB usando ocomando “squidGuard -C all”. Esta conversão possibilita que o acesso ao conteúdo da listaseja feito de forma mais rápida do que como um arquivo de texto comum. 3.6.2 Ajustando as permissões de acesso e alterando o Squid Após a instalação e configuração inicial do SquidGuard, há ainda a necessidade deajustar as permissões de acesso aos arquivos do aplicativo para que o Squid possa acessá- los. O ajuste de permissões é feito em três etapas:
  47. 47. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 46 chown -R proxy:proxy /var/lib/squidguard/db/*: com este comando, o usuário e grupo proxy (pertencentes ao Squid) passam a ter acesso aos arquivos do diretório do SquidGuard; find /var/lib/squidguard/db –type f | xargs chmod 644: usando o comando “find” e o parâmetro “-type f”, todos os arquivos do diretório /var/lib/squidguard/db são localizados. Logo em seguida são direcionados pelo “xargs” como parâmetros para o comando “chmod 644”. find /var/lib/s quidguard/db –type d | xargs chmod 755: novamente usando o “find” com o parâmetro “-type d”, todos os diretórios do diretório /var/lib/squidguard/db são localizados e em seguida direcionados pelo “xargs” como parâmetros para o comando “chmod 755”. Com todos os ajustes de permissões feitos, agora é necessário adicionar a linha“redirect_program /usr/bin/squidGuard” antes das regras que liberam o acesso da rede local(http_access allow localhost e http_access allow redelocal). Com esta linha o SquidGuardpassa a ser ativado fazendo com que as requisições passem por ele. Para que todas as alterações entrem em funcionamento, basta apenas reiniciar o Squidcom o comando “/etc/init.d/squid restart”. 3.7 Monitorando os acessos com o Sarg O Sarg (Squid Analysis Report Generator) é um aplicativo que interpreta os logs doSquid e gera relatórios com informações sobre as páginas acessadas a partir de qualquermáquina da rede. Com esses relatórios é possível monitorar quais sites estão sendo acessadospelos usuários e, gradativamente, ir adaptando os filtros do Squid. A instalação do pacote é feita usando o comando “sudo apt-get install sarg”, e suaconfiguração principal é definida no arquivo “/etc/squid/sarg.conf”. Usando o nano para editá-lo, as seguintes configurações serão feitas: Idioma – Language Portuguese Formato de data (dd- mm- yy): date_format e Para usar o Sarg basta chamá-lo com o comando “sudo sarg”, e os relatórios serãogerados e gravados automaticamente no diretório “/var/www/squid-reports”. Caso sejanecessário gerar um relatório de algum período específico, pode-se usar o comando “sudosarg -d dd/mm/yyyy-dd/mm/yyyy”. Exemplo: “sudo sarg –d 20/02/2009-28/02/2009”.
  48. 48. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 47 Com o tempo os relatórios vão ocupando muito espaço em disco, sendo necessárioeventualmente movê- los para outra mídia ou apagá- los conforme ficam antigos. Posteriormente, estes relatórios poderão ser visualizados em qualquer navegador narede local com a utilização de um gerenciador web, como Webmin, que será abordado nocapítulo 5 deste trabalho.
  49. 49. 4. SERVIDOR DE ARQUIVOS SAMBA Um servidor de arquivos (File Server) como o Samba possibilita aos usuáriosarmazenar seus arquivos em um local centralizado na rede, podendo compartilhá- losfacilmente com outros usuários e acessá- los a partir de outras máquinas da rede comsegurança e praticidade (VAN VUGT, 2008, p. 299). Para Morimoto (2008, p. 245) “hoje, além de ser quase 100% compatível com osrecursos de rede do Windows 98, NT, 2000 e XP, o Samba é reconhecido por ser mais rápidoque o próprio Windows na tarefa de servidor de arquivos”. Neste capítulo será demonstrada a implementação do Samba como servidor dearquivos, desde sua instalação, cadastro de usuários, configuração dos compartilhamentos dediretórios editando o arquivo smb.conf, além de ajustes de permissão para acesso. 4.1 Instalação do Samba O Samba possui originalmente os módulos de instalação como servidor e como cliente(smbclient). O módulo cliente tem somente a finalidade de permitir o acesso acompartilhamentos em outras máquinas ou servidores. Já o módulo servidor, é o necessáriopara configuração do Samba como um servidor de arquivos na rede. O pacote do servidor Samba com módulo servidor é instalado no Ubuntu Serverutilizando o comando “sudo apt-get install samba”. 4.2 Usuários Após instalar o Samba, é necessário cadastrar os usuários (login e senha) que farãoacesso aos compartilhamentos do servidor. Como o Samba roda sobre o sistema operacional,
  50. 50. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 49os usuários que irão acessar o servidor precisam estar necessariamente cadastrados nosistema. A quantidade de usuários que devem ser cadastrados no sistema e no Samba, além dascaracterísticas e privilégios que cada um deve ter, varia de acordo com o que foi planejado emrelação ao uso do Servidor na rede. Para o servidor virtual desenvolvido neste trabalho, serãocadastrados no sistema (e depois no Samba) mais três usuários: “neil”, “geddy”, e “alex”. Ousuário administrativo “tiago” já existe no sistema e posteriormente também será adicionadoao servidor Samba. 4.2.1 Cadastro de usuários no sistema O cadastro de usuários no Ubuntu Server é feito através do comando “sudo addusernomedousuario”, especificando obrigatoriamente pelo menos o nome de usuário (login) quese deseja criar e uma senha (password). Os usuários “tiago”, “neil”, “geddy” e “alex” terão acesso livre aos seus própriosdiretórios compartilhados, além de acesso controlado à outros que serão definidos em seguidaconfigurando as seções de compartilhamento do “smb.conf”. Ao usar o comando “sudo adduser neil” o utilitário solicita as informações que serãocadastradas para o novo usuário chamado “neil”, (Figura 28). Figura 28 – Adicionando usuários ao sistema. FONTE: Arquivo do autor.
  51. 51. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 50 Os usuários “geddy” e “alex” também devem ser adicionados ao sistema usando omesmo comando utilizado para adicionar o usuário “neil”. Usando o comando “sudo adduser nomedousuario” sem nenhum parâmetro é criadoum usuário real no sistema, ou seja, um usuário que realmente pode acessar o servidor epossui seu próprio diretório de arquivos e configurações, o que de certa forma pode darmargem a alguma brecha de segurança. Uma alternativa é criar o usuário sem permissão de acesso ao servidor (com o logindesabilitado) e sem o diretório “/home” (que possui seus arquivos e configurações). Porexemplo, para criar um usuário chamado teste, seria utilizado o comando “sudo adduser --disabled- login --no-create-home teste”. Este usuário passaria a ter acesso somente aocompartilhamento configurado no Samba pelo Administrador, sem qualquer possibilidade deacessar o terminal do servidor. 4.2.2 Cadastro de usuários no Samba Com os usuários cadastrados no sistema operacional, agora é necessário adicioná- losao servidor Samba. Esta tarefa é executada para cada usuário usando o comando “sudosmbpasswd -a nomedousuario”, especificando em seguida uma senha (que não precisa sernecessariamente a mesma senha usada no sistema) para acesso ao servidor Samba. Desta forma, para adicionar o usuário “tiago” se utiliza o comando na forma mostradana Figura 29. Figura 29 – Adicionando usuários ao servidor Samba. FONTE: Arquivo do autor. Os usuários “neil”, “geddy” e “alex” usados no desenvolvimento deste trabalhotambém são adicionados usando o mesmo comando utilizado para adicionar o usuário “tiago”. O comando smbpasswd também pode ser utilizado com outros parâmetros, como“smbpasswd -d nomedousuario” para desativar um usuário cadastrado no Samba,“smbpasswd -e nomedousuario” para habilitar um usuário inativo e “smbpasswd -x
  52. 52. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 51nomedousuario” para remover um usuário do servidor Samba, sendo esta última opçãonormalmente combinada posteriormente com o uso do comando “deluser nomedousuario”para removê-lo também do sistema. 4.3 Configuração usando o smb.conf A configuração do servidor Samba pode ser feita editando diretamente o arquivo“/etc/samba/smb.conf” ou com o auxílio de aplicativos de administração via web, como oSwat e o Webmin. Para o servidor de Arquivos desenvolvido neste trabalho, será demonstradaa configuração feita manualmente no smb.conf usando um editor de texto como o nano. O arquivo “smb.conf” disponível após a instalação do pacote samba é bastanteextenso, possuindo dezenas de linhas comentadas com explicações sobre seus parâmetros.Assim como feito em relação ao “squid.conf” (arquivo de configuração do Squid), érecomendável renomear o arquivo original “smb.conf” para “smb.conf.old” usando ocomando “sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.old”, e então criar um novoarquivo “smb.conf” usando o comando “sudo nano /etc/samba/smb.conf” e escrever suaconfiguração desde o início. Desta forma, é possível configurar um arquivo mais simples contendo somente asopções e parâmetros necessários para o funcionamento do servidor de Arquivos. 4.3.1 Configuração global O arquivo “smb.conf” é dividido em seções, sendo que a primeira seção deconfiguração é a [global]. Nesta seção é definida a configuração geral do servidor, ondepodemos especificar diversas opções tais como nome do servidor, grupo de trabalho, nível desegurança, faixa de endereços que terão ou não acesso aos compartilhamentos, definição dainterface de rede que o servidor usará, dentre outras opções. Para o desenvolvimento do servidor Samba deste trabalho, usando o comando “sudonano /etc/samba/smb.conf”, a seção [global] será configurada com as opções e parâmetrosmostrados na Figura 30:
  53. 53. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 52 Figura 30 – Configuração da seção [global] no smb.conf. FONTE: Arquivo do autor. Muitas opções possíveis no “smb.conf” são o padrão nativo de configuração doSamba. Por exemplo, a opção “security = user”, que define o nível de segurança do Sambacomo sendo baseado em usuário, não precisa ser colocada no arquivo, já que ela é umaconfiguração padrão global para o servidor. O Quadro 7 apresenta a descrição das linhas utilizadas na configuração da seção[global] do arquivo smb.conf: Quadro 7 – Configuração da seção [global] do smb.conf. Linha Funçãonetbios name = Konoha Opção que define o nome do servidor Samba.server string = Samba Server Opção que define uma descrição para o servidor.workgroup = REDELOCAL Grupo de trabalho no qual o servidor aparecerá.username level = 2 Opção que verifica em até dois níveis as possíveis combinações entre letras maiúsculas e minúsculas digitadas em nomes de logins.preserve case = no Opções que fazem com que o Samba salva todos os arquivosdefault case = lower em letras minúsculas, evitando possíveis problemas ao localizar arquivos.interfaces = eth1 Opções que orientam o Samba a utilizar somente a interfacebind interfaces only = yes conectada à rede local (no caso, a eth1).local master = yes Opção que possibilita ao Samba convocar (quando necessário) uma eleição para manter-se como servidor preferencial na rede.os level = 100 Opção para credenciar o Samba como servidor preferencial da rede, utilizando para isso um nível (de 0 a 255). Usando qualquer valor alto (acima de 32), o Samba vence a eleição
  54. 54. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 53 se utilizado em uma rede com outros servidores Windows.preferred master = yes Com esta opção ativada, o servidor terá preferência caso exista outra máquina com o mesmo nível (“os level”) na rede.wins support = yes Opção que faz o Samba atuar também como um servidor WINS, auxiliando as estações Windows em tarefas como navegação na rede e listagem de compartilhamentos. Com o servidor WINS ativado, é necessário que as estações sejam configuradas parautilizá- lo. Esta tarefa pode ser automatizada adicionando a linha “option netbios- name-servers192.168.0.250;” às configurações de rede do servidor DHCP através do arquivo“/etc/dhcp3/dhcpd.conf” (Figura 31), e em seguida reiniciando-o. Figura 31 – Adicionando endereço do servidor WINS no DHCP. FONTE: Arquivo do autor. O Samba possui um utilitário chamado “testparm” utilizado para analisar o arquivosmb.conf. Digitando “sudo testparm” o programa é iniciado e começa a analisar o arquivo,verificando se há alguma configuração incorreta, informando ao Administrador os parâmetrosa serem corrigidos (caso existam) no “smb.conf” (Figura 32).
  55. 55. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 54 Figura 32 – Verificação do smb.conf usando o testparm. FONTE: Arquivo do autor. A linha “Loaded services file OK” indica que a configuração não possui erros. Após verificar o “smb.conf”, é necessário reiniciar o Samba usando o comando “sudo/etc/init.d/samba restart” para que as configurações entrem em funcionamento. Ainda não hácompartilhamentos, mas esta configuração é suficiente para que o Samba fique disponívelatravés dos “Meus locais de rede” nas estações Windows (Figura 33): Figura 33 – Visualizando o servidor nos Meus locais de rede da estação. FONTE: Arquivo do autor.
  56. 56. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 55 4.3.2 Criação dos compartilhamentos A criação dos compartilhamentos é feita por meio de seções com o nome docompartilhamento que se deseja criar configuradas logo após a seção [global] do “smb.conf”. Neste servidor, serão criadas seções de compartilhamento para o diretório de cadausuário cadastrado no sistema e no Samba (no caso, os usuários “tiago”, “neil”, “geddy”, e“alex”), além de compartilhamentos para acesso geral e restrito, chamados respectivamente de“publico” e “arquivos”. Os diretórios para estes dois compartilhamentos são criados usando ocomando “sudo mkdir /home/publico /home/arquivos” (Figura 34). Figura 34 – Criação dos diretórios publico e arquivos. FONTE: Arquivo do autor. Antes de definir as seções de compartilhamento no “smb.conf”, é possível criar umdiretório vazio dentro do “/home” de cada usuário e usá- lo como diretório decompartilhamento. Esta prática evita que, ao compartilhar o diretório “/home” inteiro dousuário, os arquivos e diretórios de configuração de programas fiquem expostos ao acessar ocompartilhamento na rede, o que pode dificultar a organização e visualização dos arquivosrealmente importantes daquele usuário. Sendo assim, após acessar o diretório /home, criaremos um diretório chamado “share”dentro dos diretórios dos usuários “tiago”, “neil”, “geddy”, e “alex”, utilizando o comando“sudo mkdir tiago/share neil/share geddy/share alex/share”. Para que o diretório “share” sejacriado automaticamente caso outros usuários sejam cadastrados no sistema, basta adicioná- loao diretório modelo “/etc/skel” com o comando “sudo mkdir /etc/skel/share”. Após a definição dos diretórios, as seções de compartilhamentos são configuradas no“smb.conf”, como mostrado na Figura 35:
  57. 57. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 56 Figura 35 – Seções de compartilhamento no smb.conf. FONTE: Arquivo do autor. O Quadro 8 apresenta a descrição das linhas acrescentadas para a configuração dasseções de compartilhamento no arquivo “smb.conf”: Quadro 8 – Configuração das seções de compartilhamento no smb.conf. Linha Função[homes] Usando “homes” como nome de seção, o Samba faz o compartilhamento de todos os usuários cadastrados no sistema de forma automática.path = /home/%u/share Caminho para o diretório que será compartilhado.valid users = %S Usuários válidos. Configurado com a variável %S, faz com que a pasta fique disponível somente para o próprio usuário.writable = yes Define que o compartilhamento possui permissão de escrita.create mask = 0700 As duas opções definem o padrão para criação edirectory mask = 0700 remoção de arquivos e diretórios no compartilhamento, neste caso, restringindo estas tarefas a somente o próprio usuário.browseable = no O compartilhamento não será visível por outros usuários.[arquivos] Nome do compartilhamento.path = /home/arquivos/ Caminho para o diretório que será compartilhado.valid users = +arquivos, +publico Usuários válidos, podendo ser especificado uma lista de nomes de usuários e/ou um ou vários nomes de grupos de usuários do sistema precedidos do sinal “+”. Neste caso, os grupos “arquivos” e “publico” podem acessar o compartilhamento [arquivos].writable = yes Define que o compartilhamento possui permissão de escrita.
  58. 58. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 57read list = +publico Opção que define que os usuários participantes do grupo “publico” poderão somente ler o conteúdo do compartilhamento [arquivos].[publico] Nome do compartilhamento.path = /home/publico/ Caminho para o diretório que será compartilhado.valid users = +publico, +arquivos Usuários válidos. Neste caso, todos os usuários dos grupos “publico” e “arquivos”.writable = yes Define que o compartilhamento possui permissão de escrita.read list = +arquivos Os usuários participantes do grupo “arquivos” poderão somente ler o conteúdo do compartilhamento [publico]. Com as configurações feitas, o Samba deve ser reiniciado (“sudo /etc/init.d/sambarestart”) e em seguida já será possível visualizar os compartilhamentos nos “Meus locais derede” das estações Windows (Figura 36): Figura 36 – Visualizando os compartilhamentos nas estações Windows. FONTE: Arquivo do autor. 4.4 Ajustes de permissões no sistema A organização dos privilégios de acesso aos compartilhamentos pode ser facilitadacom o uso de grupos de usuários no sistema e com a definição de permissões para estesgrupos. Utilizando este método é possível fazer a administração sobre quais usuários poderãoacessar os compartilhamentos definidos no Samba de uma fo rma prática e centralizada.
  59. 59. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 58 4.4.1 Grupos de usuários Para os usuários utilizados neste servidor serão criados dois grupos, chamados de“arquivos” e “publico”. Os usuários pertencentes ao grupo “arquivos” terão acesso livre paraleitura e escrita ao compartilhamento “arquivos”, e acesso para somente leitura nocompartilhamento “publico”. Já os usuários que pertencem ao grupo “publico”, terão acessolivre a somente este compartilhamento, no entanto, poderão visualizar o conteúdo docompartilhamento “arquivos”. A criação dos grupos é feita utilizando os comandos “sudogroupadd arquivos” e “sudo groupadd publico”. A inclusão dos usuários é feita utilizando ocomando “sudo adduser nomedousuario nomedogrupo”. A Figura 37 mostra a inclusão dos usuários “tiago” e “neil” ao grupo “arquivos”; e dosusuários “geddy” e “alex” ao grupo “publico”. Figura 37 – Inclusão de usuários em grupos. FONTE: Arquivo do autor. 4.4.2 Permissões de acesso Depois de cadastrar os usuários no sistema e no Samba, configurar oscompartilhamentos no “smb.conf” e gerenciar os grupos de usuários, ainda há a necessidadede ajustar as permissões de acesso dos diretórios utilizados pelos usuários cadastrados, alémdos grupos “arquivos” e “publico” e de seus diretórios. Sem estes ajustes, os usuários poderãoacessar os compartilhamentos, mas as permissões definidas somente pelo Samba não serãosuficientes para autorizar a escrita nos diretórios onde possuem acesso (Figura 38).
  60. 60. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 59 Figura 38 – Gravação negada no compartilhamento. FONTE: Arquivo do autor. Mesmo que nas configurações do Samba exista a permissão de escrita noscompartilhamentos, se os diretórios foram criados como root (usando o comando sudo) entãoo padrão é que apenas ele possa gravar arquivos no diretório. (MORIMOTO, 2008, p. 267). A Figura 39 mostra como alterar a propriedade dos diretórios “share” dos usuáriosconfigurados no servidor utilizando o comando “sudo chown -R”, fazendo com que cadausuário seja dono de seu respectivo diretório. Figura 39 – Alteração da propriedade dos diretórios share. FONTE: Arquivo do autor. Após as alterações, os usuários já podem gravar em seus próprios compartilhamentos(Figura 40).
  61. 61. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 60 Figura 40 – Gravação autorizada no compartilhamento. FONTE: Arquivo do autor. Quanto aos compartilhamentos “arquivos” e “publico”, também é necessário permitiro acesso aos diretórios “/home/arquivos” e “/home/publico” a partir dos grupos “arquivos” e“publico”, respectivamente, utilizando para isso os comandos “sudo chgrp -R”, responsávelpor trocar o grupo dono do diretório e “sudo chmod 775”, que permite o acesso irrestrito dodono do diretório e do grupo (Figura 41). Figura 41 – Ajustes de permissões para os grupos e seus diretórios. FONTE: Arquivo do autor. Depois dos ajustes, os usuários já podem acessar corretamente os compartilhamentos“arquivos” e “publico”, podendo ler e/ou escrever de acordo com suas permissões de acessocontroladas pelo servidor Samba (Figura 42).
  62. 62. Implementação de Serv idor Linu x Ubuntu Server: Firewall, Pro xy e File Server - 61Figura 42 – Acesso aos compartilhamentos “arquivos” e “publico”.FONTE: Arquivo do autor.

×