UNIVERSIDADE CATÓLICA DE GOIÁS
DEPARTAMENTO DE COMPUTAÇÃO
GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
WESLEY SOARES PIRES
JUNHO
2007
UNIVERSIDADE CATÓLICA DE GOIÁS
DEPARTAMENTO DE COMPUTAÇÃO
GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS TCP/IP
Trabalho de Projeto Final de Curso apresentado
por Wesley Soares Pires à Universidade
Católica de Goiás, sob a orientação do
Professor Ulisses Afonseca, MSc., como
requisito parcial para obtenção do título de
Bacharel em Engenharia de Computação.
ii
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS TCP/IP
WESLEY SOARES PIRES
Trabalho de Projeto Final de Curso apresentado por Wesley Soares Pires à Universidade
Católica de Goiás – Departamento de Computação, como parte dos requisitos para obtenção do
título de Bacharel em Engenharia de Computação.
____________________________________
____________________________________
Prof. Ulisses Afonseca, MSc
Prof. Olegário Correa da Silva Neto, MSc
Orientador
Coordenador de Projeto Final de Curso
iii
AGRADECIMENTOS
Aos professores e colegas da UCG pelo convívio e amizades marcantes.
Em especial, ao Prof. Ulisses, pela orientação e paciência na elaboração desta
monografia.
iv
RESUMO
Este trabalho busca fazer uma abordagem no uso de software livre e proprietário os
principais serviços IP (serviços de e-mail, serviços Dns, serviços proxy, serviços FTP, serviços
web, serviços de arquivo e autenticação, serviços de diretórios, serviços VPN). Este trabalho
relata um pouco de cada um dos principais serviços IP e dos software livres e proprietários que
implementam estes serviços.
Palavras-chave: licenças de uso de software, software livre, software proprietário, serviços IP,
serviço VPN.
v
ABSTRACT
This work search na approach in the use of software libre and proprietary in the main IP
services (e-mail service, domain service, proxy service, FTP service, web service, file and
authentication services, directory server, VPN service). This work reports a few about every on
of the main IP services and the software libre and proprietary than implement theses services.
Key words: licence to use software, software libre, software proprietary, IP service, service
VPN.
vi
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS TCP/IP
SUMÁRIO
LISTA DE FIGURAS.................................................................................................................9
LISTA DE TABELAS ..............................................................................................................10
LISTA DE ABREVIATURAS E SIGLAS................................................................................11
CAPÍTULO I: INTRODUÇÃO ................................................................................................12
1.1. Justificativa ....................................................................................................................13
1.2. Problemas e Hipótese.....................................................................................................13
1.3. Estrutura do trabalho ......................................................................................................13
CAPÍTULO 2: LICENÇAS DE USO DE SOFTWARE .............................................................14
2.1. Introdução......................................................................................................................14
2.2. Software Proprietário .....................................................................................................14
2.2.1. Graus de liberdade no uso de softwares proprietários...............................................15
2.3. Software Livres ..............................................................................................................17
2.3.1. Licenças GNU (GNU is not Unix) ...........................................................................17
2.3.2 Licenças BSD (Berkeley Software Distribution).......................................................17
2.
– Copyright .................................................................................................................18
CAPÍTULO 3: Serviços IP........................................................................................................19
3.1. Serviços de Correio Eletrônico .......................................................................................19
3.2. Serviços FTP (File Transfer Protocol) ...........................................................................22
3.3. Serviços Proxy ...............................................................................................................24
3.4. Serviços DNS (Domain Name Service) ..........................................................................25
3.5 Serviços Web ..................................................................................................................27
3.5.1. Especificações dos principais Servidores Web.........................................................29
3.5.2. Linguagens de Script ...............................................................................................30
3.6 Servidor de Arquivos e autenticação................................................................................32
3.6.1 SMB (Server Message Block) / CIFS (Common Internet File System )......................33
3.6.1.1 PDC (Primary Domain Controller ) ......................................................................34
3.6.1.2 BDC (Backup Domain Controller ).......................................................................34
3.6.1.5 Samba ..................................................................................................................36
3.6.1.4 Samba TNG..........................................................................................................36
3.6.1.5 Microsoft Windows ..............................................................................................36
3.6.2 NFS (Network File System ) .....................................................................................37
3.6.2.2 Windows Services for Unix ..................................................................................39
2.7 Serviços de Diretórios: ....................................................................................................40
2.7.1 X.500 .......................................................................................................................40
3.7.2 LDAP (Lightweight Directory Access Protocol) .......................................................40
3.7.3 OpenLDAP ..............................................................................................................41
3.7.4 Active Directory (AD) ..............................................................................................43
3.8 Virtual Private Network (VPN) .......................................................................................43
3.8.1 Arquitetura de uma VPN ..........................................................................................44
3.8.2 Criptografia ..............................................................................................................45
3.8.2.1 Criptografia Assimétrica.......................................................................................46
vii
3.8.2.2 Criptografia Simétrica ..........................................................................................46
3.8.2.3 Certificado Digital ................................................................................................46
3.8.3 Tunelamento ............................................................................................................47
3.8.3.1 Protocolos de tunelamento....................................................................................47
3.8.4 Principais Ferramentas VPN.....................................................................................49
3.8.4.1 Freeswan/Openswan .............................................................................................49
3.8.4.2 OpenVPN.............................................................................................................49
3.8.5 Protocolo de Segunranca da Internet (IpSec) ............................................................50
3.8.5.1 Mecanismos de Autenticação................................................................................51
3.8.5.2 Modos de Operação ..............................................................................................52
CAPÍTULO 4: IMPLEMENTANDO VPN USANDO O PROTOCOLO IpSec ........................54
4.1 Implementando entre Gateway Linux ..............................................................................55
4.1.1 Instalação do Opens/Wan .........................................................................................55
4.1.2 Configuração do Opens/Wan....................................................................................56
4.1.3 Implementando entre um Gateway Linux e um Windows 2003 .................................59
CAPÍTULO 5: CONCLUSÃO..................................................................................................61
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................63
8
LISTA DE FIGURAS
Figura 3.4.1: Analogia dos servidores DNS com placas de referência. [27] ..........................26
Figura 3.5.1: Funcionamento de um serviço http [9] ............................................................28
Figura 3.5.2: Quadro comparativo entre HTTP/1.0 e HTTP/1.1[1] .......................................28
Figura 3.7.2: Arvore LDAP [28] ..........................................................................................41
Figura 3.8.1.1: VPN utilizando a configuração Host-to-Host. [3].........................................45
Figura 3.8.1.2: Arquitetura VPN utilizando a configuração Host-to-Network. [3].................45
Figura 3.8.1.3: Arquitetura VPN utilizando a configuração Network-to-Network. [3]...........45
Figura 3.8.5.2.1: Modo transporte [35]................................................................................52
Figura 3.8.5.2.2: Modo túnel [35] ........................................................................................52
Figura 4.1: Modelo VPN ......................................................................................................54
9
LISTA DE TABELAS
Tabela 2.1.1: Especificações das características dos graus de liberdade de uso do software ..15
Tabela 3.1.1: Exemplo de softwares clientes de e-mail:........................................................21
Tabela 3.2.1: Exemplo de ferramentas FTP..........................................................................23
Tabela 3.3.1: Exemplos de Softwares de serviços Proxy.......................................................25
Tabela 3.4.1: Exemplos de softwares Servidores DNS..........................................................27
Tabela 3.5.1: Exemplo de clientes de serviços WEB ............................................................29
Tabela 3.5.1.1: Comparando as Características dos servidores .............................................30
Tabela 3.5.2.1: Característica de licenças das principais ferramentas de script .....................31
Tabela 2.5.2.2: Comparando as características das linguagens:.............................................32
Tabela 3.6.1: Características do protocolo SMB/CIFS..........................................................35
Tabela 3.7.4: Visão Geral do Active Directory .....................................................................43
Tabela 3.8.3.1: Tabela de comparação entre os protocolos [32] ............................................48
Tabela 3.8.5.1: Relação entre protocolos e associações de Segurança...................................53
10
LISTA DE ABREVIATURAS E SIGLAS
ACK
ACKNOWLEDGE
AD
ACTIVE DIRECTORY
BSD
BERKELEY SOFTWARE DISTRIBUTION
DNS
DOMAIN NAME SERVER
FTP
FILE TRANSFER PROTOCOL
GID
GROUP IDENTIFICATION
GNU
GNU IS NOT UNIX
GPL
GENERAL PUBLIC LICENSE
HTML
HYPERTEXT MARKUP LANGUAGE
HTTP
HYPERTEXT TRANSFER PROTOCOL
IMAP
INTERNET MAIL ACCESS PROTOCOL
IP
INTERNET PROTOCOL
IPSEC
IP SECURITY PROTOCOL
LDAP
LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL
NFS
NETWORK FILE SYSTEM
PHP
HYPERTEXT PREPROCESSOR
PID
PROCESS IDENTIFICATION
POP3
POST OFFICE PROTOCOL VERSION 3
S.O
SISTEMA OPERACIONAL
SMTP
SIMPLE MAIL TRANSFER PROTOCOL
TI
TECNOLOGIA DA INFORMAÇÃO
VPN
VIRTUAL PRIVATE NETWORKING
WWW
WORLD WIDE WEB
11
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
CAPÍTULO I: INTRODUÇÃO
Os serviços de redes IP são indispensáveis para as empresas que utilizam tecnologia de
rede. Entretanto o alto custo dos softwares que implementam os serviços de rede faz com que
muitos coordenadores de TI (Tecnologia da Informação) adquirem as licenças de software de
maneira indevido ou fazendo a pratica da pirataria.
Como o combate à pirataria foi intensificado nos últimos anos no Brasil, as corporações
têm duas saídas para evitar constrangimentos; pagar as taxas de licenciamento ou usar os
chamados softwares livres. Estes são softwares alternativos que em alguns casos permitem
economia financeira, utilização plena, liberdade para instalação, execução e modificação, entre
outros aspectos.
Tendo conceitos diferentes aos softwares livres, aos softwares proprietários é vedada sua
modificação, e a copia indevido é proibida e considerada crime. Para usar legalmente este tipo de
software, a maioria dos desenvolvedores, cobram taxas de licenciamento.
O tema deste trabalho é o uso de ferramentas de software livre ou proprietários. Dentro
deste contexto este trabalho se delimita ao uso de softwares livres e proprietários para serviços
de rede IP. O objetivo geral é fazer uma abordagem comparativa do uso de ferramentas de
software livre e proprietária para serviços IP. Este trabalho também propões atingir os seguintes
objetivos específicos:
− Identificar o grau de liberdade dos principais tipos de licenças de uso de, tanto
proprietária quanto livre;
− Conceituar e diferenciar software proprietário de software livre;
− Verificar quais fatores impedem ou ajudam na adoção de um tipo de licença de
software;
− Explicitar as vantagens e desvantagens técnicas dos dois modelos de software;
− Identificar ferramentas de software proprietárias e livres para os principais
serviços IP.
12
1.1. Justificativa
As empresas hoje usam serviços IP para compartilhar recursos e informação. Para
permitir este compartilhamento existem ferramentas de software livre e software proprietário. Os
coordenadores de TI têm que estudar qual é a alternativa que traz o melhor custo – beneficio para
implementar as soluções considerando tempo de implantação, grau de dificuldade, etc.
Pensando nisto, uma abordagem comparativa do uso de ferramentas de software livre e
proprietária é de grande importância para ajudar seleção de tais ferramentas.
Este trabalho pode ser usado como guia numa possível tomada de decisão na escolha de
um destes modelos de software.
1.2. Problemas e Hipótese
Este trabalho respondeu os seguintes problemas:
− Um software livre é mais difícil de ser manuseado do que o software proprietário?
− Existe suporte para software livre do mesmo modo que existem para software
proprietários?
− É viável a adoção de software livre?
As ferramentas de software livre e proprietária possuem qualidade técnica e
dificuldade de uso e implementação similares.
1.3. Estrutura do trabalho
O Capítulo 2 conceitua Software Livre e Software Proprietário e seus tipos de licenças e
grau de liberdade de uso. O Capitulo 3 aborda os principais serviços IP (correio, FTP, proxy,
DNS, WEB, serviços de arquivos e autenticação, serviços de diretório e serviços VPN). O
Capitulo 4 apresenta a implementação do serviço VPN. O Capitulo 5 conclui este trabalho.
13
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
CAPÍTULO 2: LICENÇAS DE USO DE SOFTWARE
2.1. Introdução
Licença de uso de software é um é um documento quem vem junto ao software, no qual o
autor define as condições pelas qual o software pode ser utilizado, ou seja, autor define se pode
modificar ou redistribuir um programa e seus trabalhos derivados.
Classificamos uma licença conforme o grau de liberdade que autor definiu podendo ser
dividida basicamente em software proprietário e software livre [25].
2.2. Software Proprietário
É basicamente todo software que veda o acesso ao seu código-fonte e conseqüentemente
à sua alteração. Sendo o contrário do Livre.
Os proprietários podem ser softwares com licença comercial ou não. Os softwares com
licença comercial, como o próprio nome diz, são aqueles feitos com a finalidade de obter lucros
por meio da venda de licenças, as principais licenças comerciais são: Shareware, Trial, Demo e
Adware. Os softwares proprietários não comerciais não têm finalidade de obter lucros por meio
da venda de licenças, as principais licenças não comerciais são: Freeware e Adware.
Cada tipo de licença tem seu grau de liberdade definida pelo autor junto com o copyright,
no tópico 2.1.1 abordará as principais características de cada licença [5].
14
Tabela 2.1.1: Especificações das características dos graus de liberdade de uso do software
Software
Limitações
Licenças de Redistribuição
Código
Expira1 Banner2
Software
Freeware
Adware
Shareware
Trial
Demo
Aberto
Comercial
2.2.1. Graus de liberdade no uso de softwares proprietários
Freeware: [Do inglês Free = gratuito + (soft) ware] (software gratuito). Programas com
licenças freeware é uma categoria de software gratuito, eles não possuem limitações, não
expiram e não é preciso pagar algum tipo de licença para usá-los. Entretanto, também sua
comercialização, direta ou incluída em pacotes pagos, não é autorizada pelo autor. Alguns
programas são gratuitos apenas para pessoas físicas ou uso não comercial. É diferente de
software livre, pois a licença freeware permite a redistribuição, mas não a modificação, e seu
código fonte não são disponibilizados, portanto estes programas não são softwares livre.
Exemplos: Acrobat Reader3, BIND4, Mozilla Thunderbird5 [24].
Shareware: A licença shareware permite copia-lo, distribuí-lo e usá-lo por um período
com certas restrições impostas, estas restrições podendo ser um determinado tempo de uso ou em
números de utilizações, podendo perder algumas ou simplesmente todas as suas funcionalidades.
Esta categoria de licença permite que o autor não só divulgue o trabalho realizado como também
lucrar com ele. Geralmente, o código fonte não é disponibilizado e, portanto modificações são
impossíveis. Exemplos: Vshell6, Wingate7 [24].
Demo: Considera-se um demo (abreviação de "demonstração" ou "demonstration") Um
programa que vem com apenas algumas funções habilitadas. Este tipo é distribuição é bastante
usada em músicas e jogos. Os demos não expiram e nem podem ser registrados. Portanto se o
usuário quiser adquirir o produto terá que recorrer às lojas. Geralmente, um demo é lançado
1
2
3
4
5
6
7
Significa que tem um prazo de validade.
Seção de uma página da Internet contendo um anúncio.
Acrobat Reader é um software que permite que o usuário do computador visualize, navegue e imprima
arquivos no formato PDFs.
O Bind (Berkeley Internet Name Domain) é um software que implementa um servidor de nomes de domínio.
Mozilla Thunderbird é um leitor de e-mail e news da Mozilla Foundation (mesma criadora do Firefox).
Vshell é um servidor de arquivos da Vandyke Software para Telnet e FTP que permite total controle sobre os
arquivos e privilégios. Também possui forte encriptação, autenticação e garante total integridade de arquivos.
WinGate Proxy é um programa de proxy da Deerfield.com que permite se compartilhar conexão de internet.
15
meses antes do lançamento do produto completo para dar uma amostra aos clientes do que o
produto proporciona. Serve para que os interessados possam ter uma idéia das funções do
programa antes de comprá-lo. Exemplos: WinProxy8, Crystal FTP9, DNS2Go10 [24].
Trial: O termo "Trial" (= tentativa, em inglês) É a versão para teste. Costuma-se expirar
em alguns dias ou depois de um determinado número de utilizações. Além disso, pode trazer
algumas restrições, como não fazer coisas que a versão completa faz. Semelhante aos programas
demos, com diferenças em ter maiores funcionalidades. Os programas com licenças trial não
podem ser registrados. Portanto se o usuário quiser adquirir o produto terá que recorrer às lojas.
Exemplos: Trellian FTP11, Babylon12, Arlington Custom Browser13 [24].
Adware: [Ingles Ad (anúncio) + ware (utensílio)] Programas com licenças adware, são
semelhante ao freeware, são software gratuitos, eles não possuem limitações, não expiram e não
é preciso pagar algum tipo de licença para usá-los. Os adwares são muito conhecidos por
trazerem algum tipo de propaganda que bancam os custos do desenvolvimento e manutenção do
software.
Alguns adwares oferecem versões pagas, sem propaganda sendo a compra opcional.
Algumas empresas usam o adware para monitorar a atividade do usuário na internet, deste modo
eles mostram propagandas conforme personalizadas. Exemplos: Opera14, Flashget15, Msn
Messanger16 [24].
8
9
10
11
12
13
14
15
16
WinProxy é um programa proxy da Blue Coat Systems,que permite se compartilhar conexão de internet.
Crystal FTP é um programa para FTP da Crystal Art Software.
Dns2go é um programa Dns para criar domínios dinâmico no formato seunome.dns2go.com para seu
computador ao invés de publicar seu IP, produzido pela Deerfield.com.
Programa Cliente FTP da Trellian Softwares, além de ser o mais rápido Transferidor FTP você pode usá-lo
com gerenciador de Download.
O Babylon é um software que dá acesso instantâneo, com apenas um clique do mouse, a traduções,
informações relevantes e a conversões de unidades de medida.
Arlington Custom Browser é um navegador Web customizável de modo a bloquear acesso a certas páginas,
não deixar que se façam downloads, customizar a aparência do browser de acordo com sua
empresa/instituição e etc.
Opera é um navegador criado em 1994 pela empresa estatal de telecomunicações da Noruega (Telenor) e foi
a primeira alternativa leve para os usuários, ocupando menos espaço em disco do que outros navegadores.
FlashGet (anteriormente conhecido como JetCar) é um Gerenciador de downloads gratuito, disponível
originalmente em duas versões, uma paga e outra com anúncios publicitários, esta última incluindo um
Browser Helper Object para Internet Explorer, o que levou algumas pessoas a rotulá-lo como spyware.
MSN Messenger, ou apenas MSN, é um programa de mensagens instantâneas criado pela Microsoft
Corporation. O programa permite que um usuário da Internet se comunique com outro que tenha o mesmo
programa em tempo real, podendo ter uma lista de amigos "virtuais" e acompanhar quando eles entram e
saem da rede.
16
2.3. Software Livres
O software livre, não é necessariamente software grátis, pois há softwares livres
comerciais. Software livre, segundo [3], é qualquer programa de computador que se enquadra
filosofia citada nos quatro tópicos abaixo:
1. A liberdade de executar o programa, para qualquer propósito;
2. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas
necessidades. O acesso ao código-fonte é um pré-requisito para esta liberdade;
3. A liberdade de redistribuir cópias de modo a ampliar as possibilidades de acesso
de pessoas e instituições a tais programas;
4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de
modo que toda a comunidade se beneficie, sem gastos adicionais;
5. Então o software livre é necessariamente software não-proprietário. As principais
licenças de software livre são BSD e a GNU.
2.3.1. Licenças GNU (GNU is not Unix)
Segundo Richard Stallman, o termo free software, pode causar confusão ao ser
interpretado como um software gratuito, para ele o termo free não esta relacionado ao preço, mas
sim a liberdade de utilização do software. Ou seja, o programa pode ser utilizado sem restrições,
modificado, melhorado, redistribuído gratuitamente ou cobrado. Possui a restrição de não
permite que versões modificadas possam ser redistribuídas de forma não livre.
Para garantir a redistribuição de forma não livre, está licença foi vinculada com a
copyright [4]. Exemplos: Debian, Mozilla, Kde [5].
2.3.2 Licenças BSD (Berkeley Software Distribution)
A licença BSD é bem mais liberal, permite que versões modificadas possam ser
redistribuídas de forma não livre. Ela diz que os créditos dos autores originais devem ser
mantidos, mas não estabelece outras limitações. Está licença está relativamente próxima da
licença de domínio público, pois tem poucas restrições quando comparada com a GNU ou
mesmo a restrições determinadas pelo copyright. Exemplos: FreeBSD, NetBSD, OpenBSD [19].
17
2. Copyright
Todo produto de software é derivado de atividade intelectual, pode ser protegido pela lei.
O conceito fundamental do copyright é: O autor original do trabalho determina a forma pela qual
sua obra será utilizada [5].
Para que o autor de um software possa determinar como o seu produto deve ser utilizado
ou proteger os direitos autorais utiliza-se o copyright. Um registro no copyright tem um prazo de
validade de 70 anos após o falecimento do autor, após este prazo o produto tornasse de domínio
público [25].
18
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
CAPÍTULO 3: Serviços IP
3.1. Serviços de Correio Eletrônico
O correio eletrônico é uma forma de comunicação disponível na rede, onde você usa uma
caixa
postal
eletrônica
simbolizada
por
um
endereço
do
tipo
[email protected].
A aplicação básica do correio eletrônico é a comunicação entre duas ou mais pessoas
Segundo [2] abaixo segue algumas vantagens do correio eletrônico:
− É ágil: em segundos ou minutos para chegar até à caixa postal do destinatário, em
qualquer parte do mundo;
− É de graça: você não paga por mensagem enviado ou recebido, alguns provedores
cobram uma mensalidade para usar os serviços;
− É rápido: em questões de minutos chega a qualquer parte do globo sem pagar
nada a mais por isto;
− É prático: por ser escrito facilita o acompanhamento de solicitações;
− Acompanhamento de anexos: podendo anexar arquivos junto a mensagem, sem
alterar o formato original, facilitando a consulta;
Segundo [2] abaixo segue algumas desvantagens do correio eletrônico:
− Nem sempre você fica sabendo se a mensagem chegou ou se foi lida (alguns
programas informam se o e-mail foi aberto);
− Se a mensagem não for criptografada pode ser facilmente interceptada;
− Se o e-mail não tiver assinatura digital, facilmente alguém pode se fazer passar
por você;
19
− No caso de não classificaras mensagens por meio de filtro, você pode ficar
facilmente em dificuldades para administrar teu e-mail.
O funcionamento do correio eletrônico é simples, o correio eletrônico basicamente usa
dois protocolos, um para envio (SMTP - Simple Mail Transfer Protocol), e um para receber
(POP3 - Post Office Protocol version 3 ou IMAP - Internet Mail Access Protocol).
O protocolo SMTP é usado para o envio mensagens entre servidores de correio. Ele usa
o serviço de transporte de dados do TCP para transferir mensagens de um servidor de correio
para o destinatário. O SMTP tem duas partes: a do cliente e a do servidor. Quando um servidor
de correio envia a mensagem, ele age como cliente SMTP. Quando o servidor de correio recebe
a mensagem, ele age como servidor SMTP.
O POP3 é usado para o recebimento de mensagens entre servidores de correio,
permitindo efetuar o download de mensagens recebidas para que, depois, seja possível acessar os
e-mails com um programa de correio eletrônico, mesmo quando não estiver conectado à Internet.
O POP3 pode ser configurado para que ao fizer o download das correspondências elas sejam
apagadas do servidor, ou manter uma cópia no servidor.
O POP3 é um protocolo simples, e por ser tão simples, sua funcionalidade é limitada. A
falta de informação de estado entre as sessões simplifica a implementação do servidor POP3.
IMAP é uma alternativa em relação ao recebimento de e-mail por meio do POP3, é uso
do protocolo IMAP. Esse protocolo foi criado para que o usuário manipule caixas postais
remotamente. A implementação do IMAP é mais complicado do que a implementação do POP3,
devido principalmente ao fato que o IMAP tem a informação de estado entre as sessões, algo que
o POP3 não tem, e que IMAP trata-se de acesso remoto ao servidor de e-mail [3].
Suponha que Alice queira enviar um e-mail para Bob.
− Alice abre seu cliente de e-mail, compõe uma mensagem e informa o endereço de
e-mail do destinatário, neste caso [email protected].
− O agente usuário irá codificar a mensagem no formato adequado, antes de serem
enviados pelo protocolo SMTP (Simple Mail Transfer Protocol) .
− O SMTP envia a mensagem para o servidor SMTP, que neste caso é smtp.a.org,
usando os serviços do provedor de domínio da Alice.
− Quando a mensagem de e-mail chega ao servidor SMTP, este encarrega de
descobrir o destino da mensagem. O servidor SMTP olha endereço destinatário
fornecido no protocolo SMTP, neste caso [email protected].
− O servidor SMTP consulta o nome do domínio destinado no Sistema de Controle
de Domínio (DNS).
20
− Quando a mensagem chegar ao servidor DNS do domínio b.org, o servidor terá
como entregar o e-mail.
− Bob usando seu cliente de e-mail poderá ler o e-mail, usando o protocolo de
recebimento (POP3 ou IMAP).
Obs: O SMTP não costuma usar servidores intermediários para enviar um e-mail, a
conexão TCP é associada diretamente ao servidor destinatário.
Figura 3.1.1: Adaptada de [2]. Esboço do funcionamento do envio de um e-mail
Tabela 3.1.1: Exemplo de softwares clientes de e-mail:
Lista de Ferramentas de clientes de e-mail:
Nome do Software
Licença
Grau de Liberdade
Eudora17
Proprietário
Adware
Evolution18
Livre
GNU
19
Mozilla Thuderbird
Proprietário
Freeware
Microsoft Outlook Express20
Proprietário
Shareware
Sylpheed21
Livre
GPL
Scan Mail Unix22
Proprietário
Demo
Trellian23
Proprietário
Trial
17
18
19
20
21
22
23
Eudora é um cliente de correio eletrônico, ou seja, um programa que permite enviar, receber e gerir e-mails.
Foi desenvolvido em 1988 pelo estudante Steve Dorner da Universidade de Illinois, Illinois, EUA.
Novell Evolution (criada pela Ximian Evolution, e adquirida pela Novell em 2003) é um gerenciado de
informações pessoais como uma ferramenta para o GNOME. Incluindo e-mail, calendário e endereços.
Mozilla Thunderbird é um leitor de e-mail e news da Mozilla Foundation (mesma criadora do Firefox).
Microsoft Outlook Express é um programa cliente de e-mail e de notícias da Microsoft. Este programa é o
mais usado no mundo, para esta função, pois acompanha o sistema operacional Windows, juntamente com o
Internet Explorer.
Sylpheed é um cliente de e-mail e notícias com licença GPL.
O Scan Mail Unix é um cliente de e-mail da Pheonix Technologies and Solutions
Trellian é um software cliente FTP produzido pela Trellian Softwares
21
3.2. Serviços FTP (File Transfer Protocol)
FTP (File Transfer Protocol) é um nome de uma aplicação e de um protocolo usado para
transferir arquivos de um hospedeiro para outro usando a conexão TCP. FTP é baseado
exclusivamente nos serviços TCP [10]. Existem dois modos de efetuar conexões FTP: a passiva
e a ativa.
FTP Ativo: O modo ATIVO do FTP usa a porta 21, por padrão, para fazer a conexão e
executar os comandos e a porta 20 para transferência dos dados. Segue abaixo um exemplo de
utilização de FTP ATIVO conforme a Figura 3.2.1a:
1. O cliente inicia a conexão através da porta de controle (1026) na porta de controle
(21) do servidor FTP.
2. O servidor responde enviando um ACK24 através da porta 21 do servidor FTP
responde para a porta 1026 do cliente.
3. A porta 20 do servidor FTP inicia a conexão de dados com a porta 1027 do
cliente.
4. A porta 1027 do cliente envia ACKs para porta 20 de dados do servidor.
Obs.: As portas acima de 1024 são randômicas.
Quando essa conexão é feita em uma rede local ou uma rede confiável, não temos
problema algum. Agora se o cliente estiver atrás de um firewall25. Então foi desenvolvido o
modo passivo, para resolver este problema.
Sendo que o servidor FTP necessita conectar-se da sua porta 20 para a porta acima de
1024 + 1 do cliente, então necessitamos permitir no firewall do cliente conexões com origem
porta 20 e destino em qualquer porta acima de 1024. Pode ficar vulnerável, pois hackers26 podem
tentar atacar serviços nas estações que estejam acima da porta 1024, criando aplicativos não FTP
que usam a porta 20 como origem. Por isto que foi criado o modo PASSIVO.
FTP Passivo: Por padrão, o FTP modo passivo, também usa serviços em duas portas, do
mesmo modo que o FTP ativo, a grande diferença é que tanto a porta controle como a porta de
dados são mantidos em modo de escuta pelo servidor, ou seja, o cliente que sempre terá que
24
25
26
ACK vem de acknoewledged. Um caractere de controle utilizado em um processo de comunicação para
indicar que dados foram recebidos sem erros.
Firewall são barreiras criadas que filtram os pacotes, controlando o tráfego entre a rede e o ambiente externo
determinando quais pacotes pode passar de um lado a outro.
Originalmente, e para certos segmentos de programadores, são hackers (singular: hacker) indivíduos que
elaboram e modificam software e hardware de computadores, seja desenvolvendo funcionalidades novas,
seja adaptando as antigas. Originário do inglês, o termo é usado em português sem modificação. Na língua
comum, entretanto, o termo designa programadores maliciosos e ciberpiratas que agem com o intuito de
violar ilegal ou imoralmente sistemas cibernéticos, sendo, portanto, o mesmo que cracker.
22
fazer a conexão. Segue abaixo um exemplo de utilização de FTP PASSIVO conforme a Figura
3.2.1b:
1. O cliente inicia a conexão através da porta de controle (1026) na porta de controle
(21) do servidor FTP.
2. O servidor responde através da porta de controle (21) a porta de controle (1026)
do cliente.
3. A porta de dados (1027) do servidor FTP inicia a conexão de dados com a porta
2024 do cliente.
4. O servidor inicia uma conexão de dados por meio da porta de dados (2024) com a
porta de dados (1027) do cliente.
Obs.: As portas acima de 1024 são randômicas.
a) FTP ATIVO
b) FTP PASSIVO
Figura 3.2.1: Funcionamento do FTP – a) FTP ATIVO e b) FTP PASSIVO. [10]
Tabela 3.2.1: Exemplo de ferramentas FTP.
Nome do Software
Lista de ferramentas FTP
Licença
Grau de Liberdade
23
WS_FTP27
Axel 28
AbleFtp29
CuteFTPProfessional30
Trellian31
Proprietário
Livre
Proprietário
Proprietário
Proprietário
Demo
GNU
Shareware
Shareware
Trial
3.3. Serviços Proxy
Proxy vem do inglês, procurador, e serve como um intermediário entre os computadores
de uma rede e a Internet.
Segundo [2] um servidor proxy pode ser usado com basicamente três objetivos:
− Compartilhar a conexão com a Internet quando existe apenas um IP disponível (o
proxy é o único realmente conectado à Web, os outros computadores acessam
através dele).
− Melhorar o desempenho do acesso através de um cache de páginas; o proxy
armazena as páginas e arquivos mais acessados, quando alguém solicitar uma das
páginas já armazenadas do cache, esta será automaticamente transmitida, sem
necessidade de baixá-la novamente.
− Bloquear acesso a determinadas páginas (pornográficas, etc.), como tipo passa
pelo proxy é fácil implantar uma lista de endereços ou palavras que devem ser
bloqueadas, para evitar, por exemplo, que os funcionários percam tempo em sites
pornográficos, por exemplo, em horário de trabalho.
Tipos de servidores proxy:
Proxy Cachê: Pode ser acessado e compartilhado por muitos usuários. A aplicação proxy
age como intermediário entre clientes e servidores WWW. O servidor local procura pela página,
grava-a no disco e repassa para o usuário. Requisições subseqüentes de outros usuários
recuperam a página que está gravada localmente. Os servidores proxy são usados por
organizações ou provedores que querem reduzir a quantidade de banda que utilizam [26].
Transparent Proxy Cache: É assim chamado porque ele trabalha interceptando o tráfego
da rede transparentemente para o browser. Um proxy transparente é um método para obrigar os
utilizadores de uma rede a utilizarem o proxy. Além das características de caching dos proxy
27
28
29
30
31
WS_FTP é um software cliente FTP produzido por John A.Junod Ipswitch,
Gerenciador de download em modo texto, para PCs com poucos recursos de hardware.
AbleFtp é um software cliente FTP produzido por Hitek Software
CuteFTP Professional é um FTP para Windows da GlobalSCAPE
Trellian é um software cliente FTP produzido pela Trellian Softwares,
24
convencionais, estes podem impor políticas de utilização ou recolher dados estatísticos, entre
outras funcionalidades [26].
Figura 3.3.1: Esboço do funcionamento do Servidor Proxy
Tabela 3.3.1: Exemplos de Softwares de serviços Proxy
Exemplos de Softwares de serviços Proxy
Nome do Software
Licença
Grau de Liberdade
Squid32
Livre
GNU
33
WinProxy
Proprietário
Demo
34
Wingate
Proprietário
Shareware
Analog-X35
Proprietário
Freeware
Windows
Proprietário
Shareware
3.4. Serviços DNS (Domain Name Service)
DNS (Domain Name Service) é um tipo de serviço que consiste em mapear nomes para
IPS e IPS para nomes de domínio.
O funcionamento dos servidores DNS funciona analogamente a chegar num lugar
desconhecido e estamos procurando a casa de alguém. Saímos em busca de informações,
32
33
34
35
O Squid é um popular servidor Proxy em software livre. Seu uso é variado, ele pode esconder petições
repetidas, esconder WWW, DNS, e outros recursos de rede compartilhados para um grupo de pessoas. É
projetado principalmente para rodar em sistemas Unix.
WinProxy é um programa de proxy da Blue Coat Systems, Inc.
WinGate Proxy é um programa de proxy da Deerfield.com
Analog-X é um pequeno, mas completo servidor Proxy pra você compartilhar a conexão Internet de sua rede
local.
25
perguntamos a uma pessoa, que, caso não saiba, nos indica outra e assim sucessivamente até
encontrarmos a casa. Com os servidores DNS acontece à mesma coisa.
Pense como seria se, por exemplo, ao invés de chamar a pessoa pelo nome, chamá-la pelo
seu CPF ou RG. Num site seria a mesma coisa, ao invés de digitar www.algumsite.com.br,
digitaríamos o IP, correspondente, seriam muito complicados, por esta razão os servidores DNS
se tornou um dos mais importantes serviços IP existentes [12].
Algo comum que percebemos em todos os sites pelos quais navegamos. Todos eles
podem ser chamados pelo nome, em outras palavras, é muito mais fácil decorarmos
www.algumacoisa.com.br do que o endereço IP (Internet Protocol) do servidor onde o site está
hospedado [27].
Ao digitarmos esse endereço no browser, o mesmo se encarrega de iniciar um trabalho
para que esse nome possa ser traduzido em um numero IP. Os responsáveis por essa tradução são
os servidores DNS.
Figura 3.4.1: Analogia dos servidores DNS com placas de referência. [27]
Exemplo do uso do serviço DNS:
Este exemplo considera um logon do computador (X) para acessar remotamente o
26
computador (Y) usando um servidor DNS (X). O processo é mostrado na seguinte figura:
Figura 3.4.2: Funcionamento de um servidor DNS [27]
O processo é descrito em 5 etapas:
1. Um cliente efetua logon no computador local(X) e tenta acessar remotamente o
computador (Y), solicita a informação para servidor DNS (Z).
2. Z ajuda X a encontrar Y.
3. O servidor (Z) consulta as lista de nome com seus respectivos IP e verifica quem
é “Y” .
4. O servidor DNS (Z) retorna a informação solicitada para X
5. O computador local (X) efetua o acesso remoto ao computador (Y)
Tabela 3.4.1: Exemplos de softwares Servidores DNS
Lista de servidores DNS
Nome do Software
Licença
DNS2Go
Proprietário
BIND
Proprietário
DNS Master
Proprietário
Windows
Proprietário
Grau de Liberdade
Shareware
Freeware
Freeware
Shareware
3.5 Serviços Web
O termo servidor Web significa um computador responsável por aceitar requisições
HTTP (HyperText Transfer Protocol) de seus clientes, e servindo suas paginas que geralmente
são documentos HTML(HyperText Markup Language) com objetos linkados.
Um servidor Web funciona basicamente da seguinte forma:
Um cliente faz uma reaquisição para o servidor Web em seu navegador, por exemplo.
O servidor responde a requisição enviando a pagina.
Conexão client/sever até que todos os objetos sejam carregados ou até o servidor dar um
time out na conexão.
27
Figura 3.5.1: Funcionamento de um serviço http [9]
As conexões persistentes mostraram ser muito mais eficientes do que as conexões não
persistentes, devido ao fato que as conexões não persistentes encerram a conexão a cada objeto
carregado [1].
A figura 3.5.2 a seguir ilustra dois clientes, um HTTP/1.0 e um HTTP/1.1 fazendo
requisição do mesmo serviço, podemos perceber que o cliente HTTP/1.1 tem um tempo
visivelmente superior ao do HTTP/1.0.
Figura 3.5.2: Quadro comparativo entre HTTP/1.0 e HTTP/1.1[1]
28
Tabela 3.5.1: Exemplo de clientes de serviços WEB
Clientes de serviços WEB
Nome do Software
Licença
Apache
Livre
36
WebSphere
Proprietário
IIS
Proprietário
37
Jakarta
Livre
Grau de Liberdade
GNU
Sharesware
Sharesware
GNU
3.5.1. Especificações dos principais Servidores Web
Especificações de cada Servidor Web
a) Apache: O servidor Apache é um servidor web livre. Atualmente o servidor apache é o
mais utilizado na internet, segundo [9] é usado por aproximadamente 60% dos servidores web.
Visão Geral [9] [11].
− Software Livre;
− Confiabilidade;
− Grande flexibilidade de configuração e uso;
− Multiplataforma (Roda em Windows, Unix, Novell e entre outras plataformas);
− Suporte do protocolo HTTP 1.1;
− Linguagens internas suportadas: Perl / PHP / ASP / Python;
− CGI: Todo o tipo de linguagens suportadas pelo SO
− Base de Dados: Todas através de SQL (Structured Query Language)/ ODBC
(Open Data Base Connectivity)
− Controle de acesso e encriptação: Ficheiros password , NIS, LDAP, certificados e
SSL(Secure Sockets Layer )
− Estruturado em módulos;
− Administração através de linha de comandos;
− Manipulação flexível de URL’s;(Universal Resource Locator)
b) IIS - Internet Information Services: O IIS é um servidor de páginas WEB criado pela
Microsoft para seus sistemas operacionais para servidores. Atualmente o servidor da Microsoft é
o segundo mais utilizado na internet.
36
37
WebSphere é a plataforma de servidor Web da IBM.
Jacarta, também (conhecido como Tomcat) é um servidor de aplicações Java para web. É distribuído como
software livre e desenvolvido como código aberto dentro do conceituado projeto Apache Jakarta e
oficialmente endossado pela Sun como a Implementação de Referência (RI) para as tecnologias Java Servlet
e JavaServer Pages (JSP).
29
Visão Geral [8] [11]:
− Código proprietário;
− Suporte de plataforma Windows;
− Suporte do protocolo HTTP 1.1;
− Linguagens internas suportadas: ASP / Activex;
− CGI: PHP / Perl / linguagens suportadas pelo SO;
− Bases de dados: Através de SQL / ODBC;
− Controlo de acesso e encriptação: SMB, LDAP, certificados e SSL;
− Extensível através de DLL’s;
− Administração e depuração através de interface gráfica (MMC);
− Uso de ISAPI DLL’s para manipular URL’s;
Tabela 3.5.1.1: Comparando as Características dos servidores
Características
Apache
IIS
Licença
Livre
Proprietario
Plataforma
Multiplataforma
Windows
Linguagens suportadas:
Perl/ PHP /
ASP / ActiveX
ASP/Python/JSP/CGI
Suporta proxy
Sim
Sim
Bases de dados
SQL / ODBC
SQL / ODBC
SMB, LDAP, certificados e SSL.
Controlo de acesso e
Ficheiros password,
NIS, LDAP, certificados
encriptação
e SSL.
Modo de Administração
Administração através Depuração através de interface gráfica
de linha de comandos
Suporta http/1.1
Sim
Sim
Suporta Manipulação de
Sim
Sim
Processo/Thread
Manipulação URL’s
Manipulação flexível
Uso de ISAPI DLL’s
Active Directory
Sim
Only with third-party modules
In-Memory Cache
Sim
Sim
On Disk Cache
Sim
Sim (com mod_file_cache)
Fonte: Tabela adaptado de [11]
3.5.2. Linguagens de Script
As linguagens de script têm este nome por serem linguagens de programação
relativamente simplesmente. Elas são interpretadas em tempo de execução ao invés de
compiladas para posterior execução.
30
Programas feitos em linguagem de script podem ser inseridos em qualquer pagina
HTML.
Tabela 3.5.2.1: Característica de licenças das principais ferramentas de script
Programação Web
Nome do software
Licença
Grau de Liberdade
PHP
Livre
GNU
ASP.NET
Proprietário
Shareware
J2EE
Livre
GNU
3.5.2.1. Script no lado do servidor (Server-side scripting)
São linguagens de script que executadas e interpretadas pelo servidor e manda para o
cliente um formato entendido por ele. Todo o processamento é feito em um servidor.
PHP: Php (Hypertext Preprocessor) é uma linguagem interpretada livre e gratuita,
orientada a objetos, de fácil aprendizado, roda em qualquer sistema operacional, muito utilizada
para gerar conteúdo dinâmico na Web [20].
Visão geral [13]:
− Software Livre e gratuito;
− Interpretada;
− Multiplataforma;
− Orientada a Objetos;
− Compativel com qualquer servidor;
− Grupo Responsavel PHP, Zend;
ASP.NET: ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações
Web e é o sucessor da tecnologia ASP. Trata-se de uma linguagem que pode ser compilada ou
interpretada, comercial, escalonável, orientada a objetos.
As aplicações Web ASP.NET necessitam do framework .Net e do servidor IIS para
executar, pelo menos na plataforma Windows. O projeto Mono é uma iniciativa para permitir que
aplicações de toda a plataforma .NET possam executar em outras plataformas, como o
Linux/Unix [27].
Visão geral [13]:
− Software Proprietário;
− Compilada ou interpretada;
− Windows (outras através do mono);
− Orientada a componentes;
31
− Servidor Microsoft;
− Grupo Responsável Microsoft;
J2EE: O J2EE (Java 2 Enterprise Edition): é uma plataforma de programação de
computadores que faz parte da plataforma Java. J2EE é uma linguagem orientada a objetos,
multiplataforma, altamente extensível, código aberto, escalonável e compilada em byte-code
[26].
Visão geral [13]:
− Software Proprietário;
− Compilada em byte-code;
− Multiplataforma;
− Orientada a Objetos;
− Compatível com qualquer servidor;
− Grupo Responsável Sun, IBM, Comunidade Java;
Tabela 2.5.2.2: Comparando as características das linguagens:
Características
PHP5
Asp.Net
J2EE
Licença
Livre
Proprietária
Livre
Tempo de Execução
Interpretada
Compilada ou
Compilada em byte-code
Interpretada
Linguagem
PHPscript
VBscript, Jscript,
JSP, Java
C++, C#, J#
Complexidade
Simples
Dependendo do
Complexa devido ao seu
modelo utilizado na
alto poder de
programação
extensibilidade
Orientação a Objetos
Sim
Sim
Sim
Tratamento de
Sim
Sim
Sim
Exceções
Polimorfismo
Sim
Sim
Sim
Sistema Operacional
Independente
Windows (outros
Independente
através do mono)
Integração com base de Via nativo C API na
Bases de dados em
Bases de dados em
dados
base de dados ou
conformidade com
conformidade com
ODBC
ODBC
ODBC, JDBC e
bases de dados ODBMS.
Servidor
Independente
Microsoft
Independente
Fonte: Adaptado de [13] e [15]
3.6 Servidor de Arquivos e autenticação
São servidores que armazena arquivos de diversos usuários. Os servidores de arquivos
são utilizados quando existe a necessidade de armazenar todos os arquivos trocados entre os
32
computadores em um só local, que possa ser acessado de qualquer computador por meio da
autenticação.
Computador de disponibiliza arquivos através da rede. Existem dois tipos de servidores
de arquivos, o servidor dedicado, que executa apenas esta tarefa, e o não dedicado, que além de
disponibilizar arquivos executa outras funções [14].
3.6.1 SMB (Server Message Block) / CIFS (Common Internet File System )
O protocolo SMB/CIFS é um protocolo de rede nativo do Windows que permite
compartilhamento de arquivos, impressoras, recursos, etc.
O protocolo SMB/CIFS pode ser usado sobre o protocolo TCP/IP ou outros tipos de
protocolos.
Todas as versões dos sistemas operacionais da plataforma Microsoft Windows podem ter
SMB/CIFS funcionando como cliente, servidor, ou ambos.
Grande parte dos sistemas Unix tem implementação de cliente/servidor do SMB/CIFS via
Samba, a Apple também pode configurar suporte a clientes/servidores SMB/CIFS, fazendo com
que este protocolo seja o mais comum para o compartilhamento de recursos.
Serviços básicos do protocolo SMB/CIFS [29]:
I. Serviço de ficheiros e impressão: Serviço que armazena arquivos e pedidos de
impressão de arquivos de diversos usuários;
II. Autenticação e autorização: Possuem dois modos: O seguro e confiável user mode
(Nível de usuário) e o menos seguro e não muito confiável share mode.( Nível de
compartilhamento).
− Share mode (Nível de compartilhamento): cada recurso compartilhado tem uma
senha. O usuário pode acessar o recurso através desta senha.
− User mode (Nível de usuário): neste modelo a proteção é individual para cada
arquivo. Quando o cliente faz uma conexão ele é questionado sobre o login do
usuário e sua senha.
III. Resolução de nomes: Pode ser feita por broadcast ou por peer-to-peer,
− Broadcast38: O usuário envia uma mensagem para toda a rede, procurando uma
maquina, por exemplo 'PC01', e quando 'PC01' receptar a mensagem, ela
responde para toda rede informando o IP.
38
Em Redes de computadores, um endereço de "broadcast" é um endereço IP (e o seu endereço é sempre o
último possível na rede) que permite que a informação seja enviada para todas as maquinas da rede.
33
− Peer-to-peer39: Utiliza o servidor NBNS (NetBIOS Name Service). O servidor
NBNS registra quais máquinas que iram compartilhar recursos, registrando num
banco de dados com Nome e IP do compartilhamento. Para efetuar o acesso, o
usuário faz um pedido ao servidor NBNS, que quer comunicar com outra
máquina, e o servidor NBNS responde ao pedido do usuário.
IV. Anúncio de Listas (Browsing): é uma lista, que inclui todos os domínios40,
computadores, servidores, recursos da rede, enfim com serviços oferecidos pelos computadores
da rede.
3.6.1.1 PDC (Primary Domain Controller )
O PDC (Controlador Primário de Domínio) é um servidor que sustenta uma base de
dados de usuários, autenticando-os em um domínio. Deste modo independentemente da maquina
que o usuário efetuar o logon, seu profile estará intactas, ou seja, por exemplo, o usuário usa a
máquina 'PC01' e ela encontra-se em manutenção, por exemplo, e então ele resolve usar o
'PC02', ele a usa está maquina mantendo os mesmos ícones do desktop, perfil do mouse, teclado,
etc. Ou seja, o usuário pode efetuar a rotatividade entre as máquinas mantendo o perfil que ele
está habituado.
3.6.1.2 BDC (Backup Domain Controller )
O BDC (Controlador Secundário de Domínio) tem como função em providenciar, em
caso de falha do PDC, uma solução rápida de recuperação.
Logo que o PDC, o BDC assume o papel de autenticação, mas somente um servidor de
leitura, o servidor BDC não fornece aos usuários opção de escrita.
Todas as alterações feitas no PDC são notificadas ao BDC em tempo real, numa sincronia
transparente aos usuários os problemas de troca de servidores.
39
40
A Microsoft preferiu chamar sua implementação de NBNS de WINS (Windows Internet Name Service)
É um nome que serve para localizar ou identificar um computador numa rede.
34
Tabela 3.6.1: Características do protocolo SMB/CIFS
Características
Descrição
Acesso de arquivo
Operações de arquivos incluem abrir, fechar,
ler, escrever e busca.
Fechando arquivo e registro
Depois que um arquivo ou registro é fechado,
as aplicações não fechadas são negadas ao
acesso.
Caching seguro, leitura a frente, e escrita atrás.
Permite acesso de leitura/escrita
simultaneamente a um arquivo de clientes
múltiplos.
Notificação de mudança de arquivo
Aplicações podem registrar com um servidor
a ser notificado quando são modificados o
conteúdo do arquivo ou diretório.
Negociação de versão de protocolo
Quando o cliente e o servidor fazem o
primeiro contato de rede, eles negociam a
versão (dialeto) a ser usada. Dialetos
diferentes podem incluir mensagem novos
tipos de mensagens como também mudanças
para os formatos de campo em outros
dialetos.
Atributos estendidos
Podem ser acrescentados atributos de sistema
de não-arquivo, como o nome do autor, aos
atributos de arquivo embutidos, como criação
e tempos de modificação.
Servidor de Nomes
Clientes podem resolver nomes de servidor
que usam qualquer mecanismo de resolução
de nome. Usando o servidor DNS, por
exemplo, para permitir o acesso a arquivos
de sistema através da Internet.
Fonte: Tabela adaptada de [18]
35
3.6.1.5 Samba
O Samba é um software livre gratuito para sistemas Unix-like que funciona da mesma
forma que a um servidor Windows e permite o gerenciamento e compartilhamento de recursos
em redes heterogêneas. Deste modo é possível usar os sistemas Unix como servidores e cliente
de uma rede que tenha Windows, Apple e Unix. O Samba é uma criação de Andrew Tridgell41
que em 1992, por seu aplicativo precisar dos protocolos Netbios, então ele fez engenharia reversa
no protocolo SMB para conseguir implementar o SAMBA.
Segundo [29] o Samba implementa os quatro serviços básicos do protocolo SMB/CIFS.
I. Serviço de arquivos e impressão;
II. Autenticação e autorização;
III. Resolução de nomes;
IV. Browsing (anúncio de serviços);
Para usar estes serviços mencionados, o Samba usa ferramentas daemons importantes
para a operação em seus clientes.
smbd - daemon42 responsável pelos serviços de arquivos e impressão e de autenticação e
autorização;
nmbd - daemon responsável pelos serviços de resolução de nomes e de browsing;
winbindd - daemon responsável pela unificação de logons entre Windows NT e Unix;
3.6.1.4 Samba TNG
Samba TNG é outro servidor SMB para Linux/Unix, sendo uma divisão do Samba que se
iniciou em 1999 com a idéia de realizar alguns testes experimentais sem afetar a estabilidade do
Samba [30].
O projeto Samba-TNG quer basicamente rodar um controlador de domínio NT em
Linux/Unix.
3.6.1.5 Microsoft Windows
Microsoft Windows é um sistema operacional, criado pela Microsoft. É um sistema
operacional proprietário e comercial, tem o SMB/CIFS como protocolo nativo para efetuar o
41
42
Desenvolvedor do servidor Samba.
Daemons é um programa de computador que roda em background, ao invés de ser controlado diretamente
por um usuário.
36
gerenciamento e compartilhamento de recursos em redes Microsoft. Windows pode ter SMB
funcionando como cliente, servidor, ou ambos.
Do mesmo modo que o samba, o Windows tem os quatro serviços básicos do protocolo
SMB/CIFS.
− Serviço de arquivos e impressão;
− Autenticação e autorização;
− Resolução de nomes;
− Browsing (anúncio de serviços);
O grande diferencial do Windows é a facilidade de instalação, configuração e
manutenção. Algo que não é tão trivial assim em software como o SAMBA
3.6.2 NFS (Network File System )
NFS é a forma de comunicação padrão entre computadores com sistema operacional
baseado em Unix, permitindo a montagem de sistemas de arquivos remotos. Permite criar
restrições baseadas em usuários e grupos.
É um protocolo baseado no sistema cliente/servidor que permita que os usuários acessem
diretórios de arquivos através de uma rede como se fosse local. Por exemplo, se usarmos um
computador conectado em outro via NFS, poderíamos acessar os diretórios de arquivos como se
fosse localmente.
O protocolo NFS foi projetado independente do computador, do sistema operando-se, da
arquitetura de rede, e do protocolo do transporte. Isto significa que os serviços NFS podem ser
usados por diferentes tipos de sistemas operacionais [2].
Conforme [4] os benefícios mais notáveis que o NFS pode oferecer são:
Estações locais usam menos espaço em disco porque dados freqüentemente usados
podem ser armazenados em uma única máquina e ainda permanecerem acessíveis a outras pela
rede.
Não há necessidade de usuários terem diretórios pessoais separados em cada máquina da
rede. Diretórios pessoais podem ser configurados no servidor NFS e serem disponibilizados
através da rede.
Dispositivos de armazenamento como disquetes, leitores de CD-ROM e leitores de ZIP
podem ser usados por outras máquinas na rede. Isto pode reduzir o número de leitores de mídia
removível em toda a rede [30].
37
NFS Versions 3:
O protocolo NFS versão 3 é baseado nos protocolos RCP (Remote Procedure Call).
Visão Geral [30]:
− Atualização do NFS versão 2;
− Não se armazena estado das transações efetuadas;
− As quedas não preocupam os clientes, pois basta solicitar os dados novamente, até
que o servidor responda;
− Por não ter que guardar estados dos clientes, usa-se pouca memória;
− Weak Cache Consistency: é informado pelo servidor se alterou o arquivo que está
no seu cache;
− Delayed-Write: apenas arquivos que não foram modificados por certo tempo são
enviados ao servidor. Impede encaminhar arquivos temporários, ou seja, que
serão apagados em breve;
− Muito utilizado em redes com sistemas operacionais Unix-like.
Problemas [30]:
− Pelo fato de não armazenar estado, não tem como controlar locks43 sem a ajuda de
alguma outra aplicação e também não se pode controlar o acesso concorrente e
nem garantir sua consistência;
− Segurança limitada: sendo baseada em gid44 e uid45, as verificações não são
complicados, e os dados não trafegam criptografados.
NFS Versions 4:
O NFSv4, do mesmo modo como NFSv3, o NFSv4 baseia-se no é baseado nos
protocolos RCP. Para garantir a segurança do RPC, este protocolo utiliza-se a implementação do
esquema RPCSEC_GSS que é baseado na Generic Security Services API (GSS-API) 46.
O RPCSEC_GSS pode garantir segurança de todo corpo de uma mensagem RPC. O
NFSv4 apresenta uma ruptura com as versões anteriores. O protocolo foi extremamente
modificado, inclusive em questões tidas como alicerces da antiga versão.
43
44
45
Quando o arquivo está protegido contra gravação
Identificador de grupo
Identificador de usuário
46
A GSS-API é uma interface de programação genérica, que tem por objetivo oferecer serviços para
construção de aplicações e serviços de segurança.
38
Visão Geral [30]:
− Mantém estado das transações juntamente com os clientes, ajudando-o a decidir
se usa um cache mais agressivo dos dados ou não;
− Controle de locks baseado em leases;
− Delegação de arquivos: o cliente altera os arquivos no seu cache, e só manda para
o servidor quando não precisar mais, ou quando for requisitado;
− Uso de TCP na comunicação entre clientes e servidor, não mais UDP;
− Segurança melhorada, utilizando-se dos protocolos Kerberos 5 e SPKM3.
Autenticação baseada em texto, e não mais numérica (uid e gid).
3.6.2.2 Windows Services for Unix
Windows Services for UNIX é uma tentativa da Microsoft em atender às necessidades de
interoperabilidade do Unix nas empresas com componentes de interoperabilidade gerenciamento
que oferecem fácil integração com o Windows 2000 em ambientes de rede Unix [21].
Segundo [21] abaixo estão as características mais importantes do produto Windows
Services for UNIX:
1) Compartilhamento de arquivos entre UNIX e Windows usando NFS. O SFU fornece:
− Cliente NFS;
− Servidor NFS;
− Gateway NFS.
2) Acesso remoto via linha de comando:
− Cliente Telnet;
− Servidor Telnet;
3) Shells e scripts:
− Korn Shell;
− C Shell;
− Mais de 350 comandos e utilitários muito usados no Unix;
4) Servidor NIS usando as funcionalidades do Microsoft Windows 2000 Active Directory;
5) Cliente NIS (sincronização de senhas entre Windows e Unix);
− O SFU pode ser instalado em Windows NT (Service Pack 6a ou maior), Windows
2000 ou Windows XP.
39
2.7 Serviços de Diretórios:
O conceito de serviços de diretórios pode ter vários significados, dependendo da situação,
sendo diferente para sistemas distribuídos, sistemas de arquivos, para redes e banco de dados,
entretanto, para todos, num nível elementar, passa a idéia de “lista”.
Segundo [28], uma base de dados simples, organizada em modelo árvore, com níveis e
subníveis como galhos e suas ramificações definem-se serviços de diretórios. Sua estrutura é
muito parecida com estrutura de diretórios de um dispositivo de armazenamento. Os serviços de
diretórios mais populares são o DNS e o NIS47.
2.7.1 X.500
O serviço do diretório X.500 é um serviço global do diretório. A descrição especificada
do X500 usa uma estrutura orientada a objetos para armazenar suas informações, onde cada
registro de informação é derivado de uma classe. Seus componentes trabalham juntos para
controlar a informação sobre objetos tais como países, organizações, povos, máquinas, e assim
por diante em um espaço mundial.
Segundo a especificação X.500, o cliente se comunica com o serviço de diretório através
de um protocolo denominado DAP (Directory Access Protocol).
As funções do diretório são executadas por duas entidades:
− DUA (Directory User Agent) - Agente do usuário de diretório - parte cliente:
Fornece a funcionalidade padronizada que suporta os usuários olhando um ou
mais bancos de dados de diretórios;
− DSA (Directory System Agent) - Agente de serviços de diretório - parte servidor:
É o banco de dados no qual a informação de diretório é armazenada.
Os sistemas que são baseados o no X.500, tal como o LDAP, no diretório do DCE, NDS
da Novell, e o Active Directory, da Microsoft, cada um definem sua própria representação
característica.
3.7.2 LDAP (Lightweight Directory Access Protocol)
47
NIS (Network Information Service) é um serviço, desenvolvido pela Sun Microsystems, para distribuição de
informações por uma rede. Facilita a administração do ambiente Linux/Unix, pelo fato de manter uma base de
dados centralizada na rede, o que torna a manutenção e consistências mais fáceis.
40
LDAP é um protocolo leve, baseado no DAP da X.500, que roda através de uma rede
com protocolo de transporte TCP/IP e tem função de acessar serviços de diretórios. O LDAP foi
proposto com a idéia de propor algo mais leve e funcione com o protocolo TCP/IP. Sendo
inicialmente visto como uma versão do DAP da X.500 mais leve, o LDAP foi aceitado somente
para ser um substituto do DAP, mantendo X.500 como serviço de diretório. Com o tempo o
LDAP evoluiu e foi criada uma versão LDAP do servidor de diretório.
Este protocolo de rede permite organizar os recursos de rede como se fosse uma árvore de
diretório, de forma hierárquica, de acordo com a necessidade.
Um dos grandes pontos positivos do LDAP é a facilidade em localizar informações e
arquivos disponíveis e sua grande escalabilidade.
Pode-se usar o LDAP em varias funções, mas onde ele é mais utilizado é na função de
autenticação, exemplos de aplicações:
− Serviços de Acesso aos Arquivos Remotos;
− Serviços de Autenticação;
− Serviços de Impressão em Rede;
− Serviços de Impressão;
− Serviços de Serviços de Backup via rede;
− Serviço de Distribuição de Software;
Figura 3.7.2: Arvore LDAP [28]
3.7.3 OpenLDAP
41
OpenLDAP é um software livre, implementado em LDAP(Lightweight Directory Access
Protocol) desenvolvido pelo projeto OpenLDAP que fornece autenticação e Serviço de
Diretórios para usuários.
O OpenLDAP é independente do sistema operacional. Podendo ser encontrado em várias
distribuições.
Componentes do software OpenLDAP
Software OpenLDAP possui quatro principais componentes:
slapd – somente um monitor de execução LDAP.
Pode ser configurado como:
− Serviço de diretório local;
− Serviço de diretório replicado;
− Serviço de diretório com orientação;
− Serviço de diretório distribuído;
slurpd – somente uma replicação atualizada do monitor de execução LDAP
Pode ser configurado como:
− Servidor mestre;
− Servidor escravo;
− Logs de replicação;
Utilitários, ferramentas, e amostras de clientes.
A autenticação do OpenLDAP pode estar baseada em dois métodos básicos [28]:
LDAP Bind: É um método de login no serviço de diretórios. Ou seja, o usuário acessa os
serviços de diretórios, onde ele autentica com usuário e senha e o serviço permite ou nega o
acesso do usuário. Com este método, o usuário não sabe quem está validando as informações,
sendo transparente para o usuário.
LDAP Compare: O usuário envia a senha para autenticação no servidor, e o servidor
compara com aquela guardada em seus serviços de diretórios e servidor responde se o usuário
está apto ou não ao processo de autenticação.
Por causa da flexibilidade oferecida pelo LDAP Bind, este é o método mais utilizado
atualmente, mas há ainda algumas aplicações que estão baseadas ainda no LDAP Compare.
Tabela 3.7.3: Visão Geral do OpenLDAP
Características
Licença
Preço
Custo Operacional
Configuração
Medidas de segurança
OpenLDAP
Livre
Gratuito
Não exige muito do S.O nem do hardware
Relativamente fácil
Relativamente fácil de implementar
42
Sistema Operacional
Multiplataforma
3.7.4 Active Directory (AD)
O AD é uma implementação de serviços do diretório LDAP para Microsoft, para o uso
em ambiente Windows que armazena informações sobre objetos em rede e disponibiliza essas
informações a usuários e administradores de rede. É um software da Microsoft utilizado somente
em ambiente Windows.
Com o AD, os usuários bastão ter uma única senha para acessar todos os recursos de
rede, ao invés de ter uma senha para cada recurso. O servidor de diretórios Microsoft AD contém
informações sobre usuários, recursos da rede e controla a autenticação da rede Windows. A
manipulação de usuários do Windows normalmente é feita de forma manual e nem sempre tem
relação com o sistema de recursos humanos.
O AD é organizado de uma forma hierárquica, com o uso de domínios. Ao utilizar os
domínios baseados no AD, temos os seguintes recursos:
−
Logon único: com esse recurso, o usuário necessita fazer apenas um logon para
acessar os recursos em diversos servidores da rede, inclusive e-mail e banco de
dados.
−
Conta de usuário única: os usuários possuem apenas um nome de usuário para
acessar os recursos da rede. As contas de usuários ficam armazenadas no banco
de dados do AD.
−
Gerenciamento centralizado: com os domínios baseados no AD, temos uma
administração centralizada. Todas as informações sobre contas de usuários,
grupos e recursos da rede, podem ser administradas a partir de um único local
no domínio.
−
Escalabilidade: os domínios podem crescer a qualquer momento, sem limite de
tamanho. A forma de administração é a mesma para uma rede pequena ou
grande.
Tabela 3.7.4: Visão Geral do Active Directory
Características
Licença
Preço
Configuração
Medidas de segurança
Sistema Operacional
Active Directory
Proprietária
Pago
Fácil
Fácil de implementar
Windows
3.8 Virtual Private Network (VPN)
43
A Rede Privada Virtual (VPN) é um tipo de comunicação de rede que foi criada para
interligar duas redes privadas através de túneis virtuais criptografados entre pontos autorizados
construída em cima de uma rede de comunicações não seguras, a Internet, por exemplo, com o
objetivo de interligar redes corporativas ou usuários remotos, de modo seguro, garantindo assim
a segurança dos dados transmitidos.
A grande característica da VPN é que a ela tem se tornado uma forma de reduzir custos
com as comunicações corporativas, pois ao invés de colocar links dedicados para interligar os
pontos autorizados, usa-se a Internet.
Outra característica da VPN é que ela permite suporte a usuários móveis, sem a utilização
de bancos de modem ou servidores de acesso remoto, ajudando a aumentar a flexibilidade e
diminuir os gastos com equipamentos extras [3].
Vantagens:
−
Custos mais baixos do que links dedicados;
−
Maior flexibilidade e escalabilidade (Permite expansão de computadores
autenticados no servidor sem a necessidade de investimento extra em intraestrutura);
−
Conectividade global (Usando a internet pode interligar pontos autorizados,
independentemente da posição geográfica).
Desvantagens:
−
Implicações de segurança;
−
Implementação não é trivial;
−
Principais aplicações para VPN:
−
Acesso remoto via Internet;
−
Conexão de lans via Internet;
−
Conexão de Computadores numa Intranet.
3.8.1 Arquitetura de uma VPN
As VPNs podem ser estruturadas de três formas:
1
Host to host; Nesta arquitetura existe uma comunicação entre os dois host, então
a VPN somente estabelece um canal seguro entre as duas máquinas.
44
Figura 3.8.1.1: VPN utilizando a configuração Host-to-Host. [3]
2
Host to Network; Nesta arquitetura tem como objetivo permitir um host efetuar a
comunicação com um ponto de rede autorizado.
Figura 3.8.1.2: Arquitetura VPN utilizando a configuração Host-to-Network. [3]
3.
Network to Network; O objetivo destá arquitetura é interligar dois pontos de redes
autorizados.
Figura 3.8.1.3: Arquitetura VPN utilizando a configuração Network-to-Network. [3]
3.8.2 Criptografia
O termo Criptografia surgiu da fusão das palavras gregas "Kryptós" e "gráphein", que
significam "oculto" e "escrever", respectivamente.
A criptografia tem como intenção codificar uma informação de modo que apenas que
emite e quem recebe pode acessá-lo, deste modo garante o sigilo das informações.
Nos últimos anos, com a expansão da internet, a criptografia tornou-se uma
ferramenta essencial. [35]
45
A criptografia classifica-se em duas categorias: criptografia simétrica e criptografia
assimétrica, isto depende do tipo de chave utilizada.
3.8.2.1 Criptografia Assimétrica
Também conhecida como "chave pública", a criptografia assimétrica trabalha com duas
chaves: a chave privada e a chave pública. Pode-se trabalhar com quaisquer chaves para
criptografar uma informação, mas só com a chave inversa pode ser usada para efetuar
decriptografação.
Entre os algoritmos que usam chaves assimétricas, têm-se o RSA (o mais usado) e o
Diffie-Hellman.
O RSA (Rivest Shamir Adleman) é formado por chaves de 512, 768, 1024 e 2048 bits. A
maioria das aplicações de criptografia assimétrica baseasse no RSA. [35]
3.8.2.2 Criptografia Simétrica
Criptografia simétrica é baseada na simetria das chaves do emissor e receptor, onde o
emissor e o receptor fazem uso da mesma chave. [32]
Existem vários algoritmos simétricos que produzem chaves de tamanhos variados, quanto
maior a chave, maior a segurança. A seguir alguns algoritmos:
−
Data Encryption Standard (DES) - 56 bits;
−
Triple Data Encryption Standard (3DES) - 112 bits;
−
Blowfish - até 448 bits;
−
Twofish - 128, 192 ou 256 bits;
−
Advanced Encryption Standard (AES) - 128, 192 ou 256 bits.
3.8.2.3 Certificado Digital
Um certificado digital é um arquivo que é assinado eletronicamente por uma entidade
certificadora, conhecida como Autoridade Certificadora (AC), nela contém dados relacionados à
entidade o qual fez o certificado. Ele faz uma associação à identidade em uma pública e outra
privada que trabalha junto para confirmar a identidade.
A autenticidade e os dados de um certificado publicado por uma AC, pode ser avaliado
por qualquer entidade que tenha o conhecimento da chave pública da AC [32].
46
3.8.3 Tunelamento
As VPN têm como base a tecnologia de tunelamento, sendo responsável pelas
transferências dos pacotes de maneira segura e confiável, entre redes internas por meio de redes
públicas, por exemplo, a internet. Existem três processos que compõem o tunelamento segundo
[32]:
−
Encapsulamento - Os pacotes da rede local são encapsulados com os pacotes de
destino;
−
Transmissão - Os pacotes são enviados ao seu destino, através das informações
do cabeçalho;
−
Desencapsulamento - No destino, os pacotes são desencapsulados, deixando
somente as informações do protocolo da rede local.
3.8.3.1 Protocolos de tunelamento
Para criar um túnel precisa-se que os pontos autorizados utilizem o mesmo protocolo de
tunelamento. Esses protocolos estabelecem comunicações diretas entre duas redes separadas
fisicamente de forma segura e confiável.
O tunelamento pode ocorrer na camada 2 ou 3 (enlace e rede).
Tunelamento em Nível 2 - Enlace - (PPP sobre IP):
−
PPTP (Point-to-Point Tunneling Protocol) da Microsoft permite que o tráfego
IP, IPX e NetBEUI sejam criptografados e encapsulados para serem enviados
através de redes IP privadas ou públicas como a Internet.
−
L2TP (Layer 2 Tunneling Protocol) da IETF (Internet Engineering Task Force)
permite que o tráfego IP, IPX e NetBEUI sejam criptografados e enviados
através de canais de comunicação de datagrama ponto a ponto tais como IP,
X25, Frame Relay ou ATM.
−
L2F (Layer 2 Forwarding) da Cisco é utilizada para VPNs Discadas.
47
Tunelamento em Nível 3 - Rede - (IP sobre IP):
−
IP Security Tunnel Mode (IpSec) - É um conjunto de protocolos desenvolvidos
para proteger o tráfego dos pacotes IP. Sua principal caracterista é prover a
privacidade, integridade e autenticidade dos dados na comunicação.
Tabela 3.8.3.1: Tabela de comparação entre os protocolos [32]
Propriedades
Autenticação de
usuários
Descrição
Consegue
autenticar os
usuários que
queiram
estabelecer uma
conexão
Autenticação de
Autentica
computadores
computadores
envolvidos na
conexão
Suporte a NAT Passa por meio da
NAT para
esconder os pontos
finais de conexão
Suporte a
Define um método
Multiprotocolo
padrão para o
tráfego IP e não IP
Define uma
negociação de
endereçamento IP
entre o servidor
VPN e seus
clientes. Isto
elimina
configurações
manuais do
protocolo IP.
Encriptação Pode criptografar o
tráfego corrente
Uso de PKI
Usa infra-estrutura
de chave pública
para implementar a
criptografia e a
autenticação
Autenticação de Provê um método
Pacotes
de autenticação
que garante que os
pacotes não foram
alterados durante a
transmissão
Suporte a
Pode efetuar
Multicast
tráfego em
Multcast
PPTP
SIM
L2TP
SIM
L2TP/ IpSec
SIM
IpSec
Implementação em
Andamento pelo
grupo de trabalho
IpSec da IETF
SIM
SIM
SIM
SIM
SIM
SIM
NÃO
NÃO
SIM
SIM
SIM
SIM
SIM
SIM
Implementação em
Andamento pelo
grupo de trabalho
IpSec da IETF
Implementação em
Andamento pelo
grupo de trabalho
IPsec da IETF
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
NÃO
NÃO
SIM
SIM
SIM
SIM
SIM
NÃO
Atribuição
Dinâmica de
Endereço IP
Fonte: Tabela adaptada de [32]
48
3.8.4 Principais Ferramentas VPN
3.8.4.1 Freeswan/Openswan
O projeto FreesWan é uma implementação para sistemas Unix-like do protocolo IpSec.
O openswan é a continução do projeto freeswan
Dois componentes são fundamentais para o FreeS/Wan [31]:
−
KLIPS (Kernel48 IpSec Support), responsável pela interação do IpSec com o
kernel dos sistemas Unix-like, para o tratamento de pacotes IpSec, verifica
também todos os pacotes que não são IpSec, para assegurar que eles não estão
burlando as políticas de segurança;
−
PLUTO Daemon49 IKE, responsável por implementar o protocolo IKE, e pelo
tratamento de associações seguras do ISAKMP. Executa as autenticações do
host, cria as Associações Seguras do IpSec, repassa os dados requeridos ao
KLIPS, adequar as configurações do firewall necessárias ao IpSec.
3.8.4.2 OpenVPN
OpenVPN é software VPN, desenvolvido por James Yonan, para criar túneis
criptografados ponto-a-ponto entre servidores de computadores. OpenVPN é muito mais simples
quando comprarada ao FreeS/Wan. O OpenVPN simplesmente pega a informação a ser enviada,
criptografa e envia pela Internet, por um pacote UDP. A grande vantagem em relação ao
FreeS/Wan é que ele não tem grandes problemas para passar por firewalls ou roteadores50 que
fazem NAT e possui uma configuração mais simples [31].
A seguir algumas características do OpenVPN
−
Pode criar túnel para qualquer sub-rede IP ou adaptador ethernet, por um
transporte UDP ou TCP;
−
Usa todas as caracteristicas de encriptação, autenticação e certificação da
biblioteca OpenSSL, para proteger o tráfego privado pela internet;
−
Qualquer cifragem, tamanho de chave, para datagrama de autenticação,
suportado pela biblioteca OpenSSL;
48
49
50
Parte principal do Sistema Operacional
Um Daemon é um programa permanentemente ativo, que aguarda instruções externas para executar ações específicas.
Equipamento utilizado para interligar redes, locais e remotas.
49
−
Pode-se escolher entre encriptação convencional, baseado em chave estática ou
certificados baseados em encripatação de chave pública;
3.8.5 Protocolo de Segunranca da Internet (IpSec)
O IpSec (Internet Protocol Security)
é um padrão de segurança seguido no
processamento de redes ou de pacotes de comunicação nas redes, definida pelo IETF (Internet
Engineering Task Force), cujo principal objetivo é oferecer mecanismos de segurança a pacotes
IP.
Conforme [3] o IpSec tem como requisito de segurança, independente entre si, podendo
ou não ser utilizados de forma conjunta, varia da necessidade da corporação.
−
Autenticação e Integridade – garante a integridade dos dados;
−
Confidencialidade – garante o sigilo dos pacotes.
O IpSec trabalha basicamente com dois protocolos:
−
AH:
(Authentication
Header)
Utilizado
para
fornecer
integridade
e
autenticidade;
−
ESP: (Encapsulating Security Payload) Fornecem integridade, autenticidade e
criptografia à área de dados do pacote;
O IpSec pode trabalhar com criptografia assimétrica, por isto existem formas
estabelecidas para trocas de chaves segundo [33].
−
MKE – Manual Key Exchange; É uma forma manual, nesta configuração a
chave devem ser geradas manualmente e adicionadas a arquivos, sendo que a
chave pública gerada em um roteador VPN deverá ser passada para o outro
roteador.
−
AKE – Automatic Key Exchange; É uma forma automática, nesta configuração
a chave são geradas e passadas automaticamente para outro roteador de tempo
em tempo sem que a conexão se perca. Esta forma é mais segura e o protocolo
utilizado para efetuar a troca é o IKE – Internet Key Exchange Protocol.
50
3.8.5.1 Mecanismos de Autenticação
3.8.5.1.1 AH (Authentication Header)
O AH é o protocolo do IpSec utilizado para garantir autenticidade e integridade das
informações, incluindo a parte que não varia do cabeçalho, no entanto, não fornece
confidencialidade.
O AH pode trabalhar sozinho ou combinado com ESP quando é usado tunelamento. Este
protocolo preocupa-se em proteger as informações que não podem ser alterados, deste modo
diferentemente do mecanismo ESP, o AH não protege os endereços IP de origem e destino por
estes endereços poderem ser variados durante a transmissão do pacote.
O AH pode ser usado tanto no modo transporte quanto no modo túnel.
3.8.5.1.2 ESP (Encapsulating Security Payload)
O AH protege os dados contra alteração, entretanto, não fornece confidencialidade, ou
seja, as informações não estão criptografados, entretanto o ESP garante a confidencialidade,
integridade e autenticidade dos dados. O protocolo ESP realiza um trabalho semelhante ao do
AH, sem autenticar o cabeçalho IP, sendo assim este protocolo apenas autentica o conteúdo. O
ESP pode ser usado tanto no modo transporte quanto no modo túnel.
3.8.5.1.3 IKE (Internet Key Exchange)
O IKE é um protocolo que o IETF especificou para gerenciar a negociação e a troca de
chaves via Internet. Este protocolo que executa a troca de chaves e negocia Associações de
Segurança (SA) entre duas entidades [32].
O protocolo IKE implementa a gerência automática de chaves. É um protocolo formado
pelo ISAKMP e pelo OAKLEY.
O ISAKMP é responsável pela negociação, estabelecimento, alteração e exclusão das SA.
Este protocolo define o formato dos pacotes e os procedimentos.
O OAKLEY proporciona o mecanismo de troca de chaves utilizado pelo ISAKMP.
O IKE é composto por duas fases, a fase um consiste em envolver duas interfaces de
comunicação fazendo uso do protocolo para abrir um canal seguro para a execução da fase dois,
que percebe o comportamento de negociação de SA[32].
Este protocolo possue três modos de trocas de chave segundo [35] que são:
51
−
Main Mode: Estabelece a troca de chaves da fase um por meio de um canal
seguro.
−
Agressive Mode: Análoga ao main mode, com a diferença de ser mais simples e
rápida.
−
Quick Mode: Acompanha a troca de chaves na fase dois através de negociação
de SA para comunicações de modo geral.
3.8.5.2 Modos de Operação
O IpSec fornece dois modos de operação: transporte e túnel.
Modalidade de transporte: Esta modalidade efetua autenticação e criptografia somente
na camada de transporte.
A grande desvantagem deste modo de operação é a possibilidade de alteração dos
endereços IP de origem e destino em caso de intercepção dos dados, uma vez que somente os
dados é encriptografado, enquanto os cabeçalhos são mantidos no formato original, sendo mais
apropriada para a comunicação fim-a-fim entre computadores. [35]
Figura 3.8.5.2.1: Modo transporte [35]
Modalidade de túnel: Neste modo de operação, todo o pacote IP é autenticado e
criptografado. Esta modalidade é considerada mais confiavel e segura do que a modalidade
transporte devido ao fato de encriptografar as informações e o cabeçalho IP, sendo mais
apropriada para a comunicação de roteadores. [35]
Figura 3.8.5.2.2: Modo túnel [35]
52
Tabela 3.8.5.1: Relação entre protocolos e associações de Segurança
Associações de Segurança
Modo Transporte
AH
ESP
Modo Túnel
Autentica a carga útil IP e porções
Autentica o interior do pacote IP e
selecionadas do cabeçalho IP e das
porções selecionadas do cabeçalho
extensões IPv6.
IP.
Criptografa a carga útil IP e
Criptografa o interior do pacote IP.
qualquer extensão IPv6.
ESP com autenticação
Criptografa a carga útil IP e
Criptografa e autentica o interior do
qualquer extensão IPv6. Autentica
pacote IP.
apenas a carga útil IP.
Fonte: [32]
53
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
CAPÍTULO 4: IMPLEMENTANDO VPN USANDO O
PROTOCOLO IPSEC
Será implementado o serviço VPN, em um ambiente de teste, que simla duas redes
distintas de uma mesma empresa, a matriz e a filial. Cada uma delas possui um gateway VPN e
terá uma rede para simular a Internet.
Para simular o meio de comunicação (Internet) entre as redes, será usado um computador
que funcionará como roteador entre as mesmas
A figura 4.1 ilustra o modelo em questão.
Figura 4.1: Modelo VPN
Gateway Matriz:
eth0 -> 10.1.1.1/255.0.0.0
eth1 -> 192.168.0.99/255.255.255.0
Gateway Filial:
eth0 -> 10.2.1.1/255.255.0.0
eth1 -> 192.168.0.100/255.255.255.0
Roteador:
eth0 -> 192.168.0.1
54
4.1 Implementando entre Gateway Linux
Algumas distribuições vem com o kernel com suporte IpSec, deste modo facilitando a
instalação. Caso a distribuição não tenha suporte IpSec, será necessário recompilar o kernel para
obter este suporte.
No caso deste trabalho, foi utilizada uma distribuição (Debian br-cdd 1.0) com suporte
nativo ao IpSec.
A ferramenta escolhida para a implementação foi o Opens/Wan, continuação do projeto
descontinuado freeswan.
4.1.1 Instalação do Opens/Wan
No Debian a instalação é trivial. [33]
Antes de começar a instalar, tem que editar o arquivo /etc/sysctl.conf, vejamos:
Parâmetros a serem alterados ao arquivo Arquivo /etc/sysctl.conf :
# Controls IP packet forwarding
*net.ipv4.ip_forward = 0 ( Alterar para 1)
# Control source route verification
*net.ipv4.conf.default.rp_filter = 1 (Alterar para 0)
Linhas a serem adicionadas ao arquivo Arquivo /etc/sysctl.conf:
* echo 0 > /proc/sys/net/ipv4/conf/IpSec0/rp_filter
* echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Atualise o source:
*aptitude update
Instale o Opens/Wan:
*aptitude install openswan
Para iniciar o Opens/Wan:
*IpSec setup restart
55
Para verificar se a instalação foi bem sucedida:
*IpSec verify
O “IpSec verify” deve ter a seguinte saída
Checking your system to see if IpSec got installed and started correctly:
Version check and IpSec on-path
[OK]
Linux Openswan U2.2.0/K2.4.27-2-386 (native)
Checking for IpSec support in kernel
Checking for RSA private key (/etc/IpSec.secrets)
[OK]
[DISABLE]
IpSec showhostkey: no default key in "/etc/IpSec.secrets"
Checking that pluto is running
[OK]
Checking for 'ip' command
[OK]
Checking for 'iptables' command
[OK]
Checking for 'setkey' command for native IpSec stack support
[OK]
4.1.2 Configuração do Opens/Wan
Toda a configuração do openswan é baseado em dois arquivos: /etc/ipsec.conf
e
/etc/ipsec.secrets.
/etc/ipsec.secrets: Neste arquivo é guardado as chaves de criptografia. Está ferramenta
suporta tanto criptografia simétrica quanto assimétrica. Para criptografia assimétrica usa-se o
método RSA e para simétrica usa-se o algoritmo PSK.
A criptografia assimétrica é mais segura que a simétrica, entretanto neste trabalho foram
implementado as duas em ambiente Unix-like.
O /etc/ipsec.secrets deve ser escrito da seguinte maneira em ambos roteadores:
192.168.0.99 192.168.0.100: PSK “segredo”
/etc/ipsec.conf: Neste arquivo está especificado as configurações da VPN
Este arquivo é baseado na rede apresentada na figura 4.1:
config setup
interfaces=%defaultroute
klipsdebug=none
56
plutodebug=none
conn %default
esp=3des-md5-96
authby=secret
conn wink
left=192.168.0.99
leftsubnet=10.1.0.0/255.255.0.0
right=192.168.0.100
rightsubnet=10.2.0.0/255.255.0.0
type=tunnel
authby=secret
network=lan
auto=add
#Disable Opportunistic Encryption
include /etc/IpSec.d/examples/no_oe.conf
Este arquivo descreve as principais opções do Opens/Wan. Este arquivo está dividido em
três partes: [33]
1. config setup: Nesta parte (config setup) é a configuração do IpSec. Esta seção
normalmente não é modificada.
Segue os principais parâmetros desta seção:
−
interface=%defaultroute: Este parâmetro faz com que o IpSec use
automaticamente o endereço da interface de rede.
−
Klipsdebug= Determina quanto da saída de depuração do KLIPS deve ser
armazenado. O valor none significa que nada será armazenado.
−
Plutodebug= Determina quanto da saída de depuração será armazenado. O
valor none significa que nada será armazenado.
2. conn %default: Esta parte não indica uma conexão específica, mas serve para que
você possa listar quaisquer parâmetros que você queira que sejam válidos para todas as
conexões. Listar alguma opção nesta seção é o mesmo que listá-la repetidas vezes dentro de cada
uma das conexões.
Segue os principais parâmetros desta seção:
57
−
esp=3des-md5-96: esp=3des-md5-96 indica o tipo de criptografia que queremos
usar. 3des-md4-96 é uma boa opção, sugerida como default. As outras opções
estão listadas no manual do openswan (man ipsec.conf e outros).
−
authby=secret: Este parâmetro determina que deve ser usado autenticação e
criptografia do tipo PSK.
3. conn wink: Esta parte define a conexão VPN, podem existir mais de uma, o nome
escolhido pode ser de acordo com seu critério.
Left e right são "os dois lados" da conexão. Sendo indiferente qual é qual, somente que os
lados estejam listados. O Opens/Wan descobre sozinho qual é qual através do IP especificado.
Isto faz com que se possa usar o mesmo arquivo de configuração, exatamente igual, para os dois
lados.
Segue os principais parâmetros desta seção:
−
left=192.168.0.99: Indica o IP da máquina gateway de um dos lados. Aqui
definimos que o left representa o gateway da Rede Matriz.
−
leftsubnet=10.1.0.0/255.255.0.0: Indica qual é a rede que está "atrás" do
gateway, cujos pacotes serão protegidos. Deve-se indicar a mascara da rede em
conjunto com o endereço de rede.
−
type=tunnel: Representa a modalidade da conexão, podendo ser transport ou
tunnel.
−
authby=secret: Este parâmetro determina que deve ser usado autenticação e
criptografia do tipo PSK. Para RSA utiliza-se rsasig.
−
network: Neste parâmetro especifica se você quer ras, lan ou auto (ambas)
conexões.
−
auto=add: Especifica que operação deve ser feita quando o IpSec for iniciado.
A opção start indica que a conexão é iniciada quando o IpSec for iniciado. A
opção add indica que a conexão é iniciada através do comando do IpSec “ ipsec
auto –up wink ”.
−
Opportunistic Encryption: Este tipo de encriptação permite aos gateways
criptografar todo tráfego existente entre eles, mesmo não havendo nenhuma
relação entre os mesmos.
Finalizando as etapas de configuração do FreeS/Wan, para inicializar as conexões e
verificar se o túnel foi estabelecido.
* ipsec auto –up wink
58
Deverá gerar a seguinte saída: gateway matriz
104 "wink" #1: STATE_MAIN_I1: initiate
003 "wink" #1: ignoring Vendor ID payload [4f456c4c4f5d5264574e5244]
003 "wink" #1: received Vendor ID payload [Dead Peer Detection]
106 "wink" #1: STATE_MAIN_I2: sent MI2, expecting MR2
108 "wink" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "wink" #1: STATE_MAIN_I4: ISAKMP SA established
112 "wink" #2: STATE_QUICK_I1: initiate
004 "wink" #2: STATE_QUICK_I2: sent QI2, IpSec SA established
{ESP=>0xfed42729 <0x4b99a00a}
Deverá gerar a seguinte saída: gateway filial
117 "wink" #3: STATE_QUICK_I1: initiate
004 "wink" #3: STATE_QUICK_I2: sent QI2, IpSec SA established
{ESP=>0xf32e069b <0x34161a1d xfrm=3DES_0-HMAC_MD5 NATD=none
DPD=none}
4.1.3 Implementando entre um Gateway Linux e um Windows 2003
Antes de implementar o IpSec no Windows 2003, devemos preparar o ambiente.
Primeiramente segundo [34] iremos efetuar o downloads da ferramenta Internet Protocol
Security Policies Tool (lpsecpol.exe) diposnibilizada em:
http://download.microsoft.com/download/win2000platform/ipsecpol/1.00.0.0/nt5/enus/IpSecpol_setup.exe.
Depois efetuaremos o download da ferramenta Windows 2000 VPN Tool,
disponibilizada em http://vpn.ebootis.de/package.zip.
Instruções para a instalação:
1. Crie o diretório C:\Programme\VPN;
2. Instale IpSecpol.exe Tool neste diretório;
3. Descompacte o VPN tool neste diretório;
4. Baixe a seguinte polstore.dll neste link http://www.dlldump.com/download-dllfiles_new.php/dllfiles/P/polstore.dll/5.1.2600.2180/download.html
5. Edite o ipsec.conf;
59
Edição do ipsec.conf
conn wink
left=192.168.0.99
leftsubnet=10.1.0.0/255.255.0.0
right=192.168.0.100
rightsubnet=10.2.0.0/255.255.0.0
presharedkey=segredo
network=lan
auto=start
Este arquivo de configuração funciona de maneira similar ao do Opens/Wan do Linux. A
maioria dos parâmetros do ipsec.conf do Linux funciona no Windows.
No Linux, basta manter a configuração mencionada na seção 4.1.2.
60
ABORDAGENS NO USO DE SOFTWARE LIVRE E
PROPRIETÁRIO EM SERVIÇOS IP
CAPÍTULO 5: CONCLUSÃO
O objetivo deste trabalho foi fazer uma abordagem das ferramentas de software livre e
proprietária em serviços de redes IP. Foram definidos e classificados os diferentes tipos de
licenças de softwares e seus respectivos graus de liberdade de uso. Foram apresentados os
principais protocolos de aplicação (serviços de e-mail, serviços DNS, serviços proxy, serviços
FTP, serviços WEB, serviços de arquivo e autenticação, serviços de diretórios, serviços VPN) e
ferramentas livres e proprietárias que implementam estes protocolos. Percebemos a importância
de ter o conhecimento das restrições que as licenças dos softwares impõem aos administradores e
projetistas de redes de computadores e para os administradores de TI. Ao adotar uma
determinada solução, o responsável deve ter o conhecimento da licença desta ferramenta para
não cometer nenhum ato de ilegalidade.
Foi escolhido o serviço VPN como parâmetro de comparação entre software proprietário
e software livre. Ele foi escolhido devido às oportunidades que esta tecnologia reserva para o
futuro, pois cada vez mais as VPN são agregadas às corporações. Os motivos principais estão
relacionados aos benefícios técnicos de segurança das informações e economia no custo tráfego
das mesmas.
No Windows, o serviço VPN costuma ser implementado sobre os protocolos de
encapsulamento PPTP ou o L2TP. Pode-se utilizar o IpSec em conjunto com estes protocolos
para aumentar a segurança. Tanto o Windows quanto o Linux possuem kernel com suporte ao
protocolo IpSec. Instalando no Windows a ferramenta do Marcus Mueller's, o VPN tool, a
implementação da VPN no Windows torna-se similar a implementação da VPN no Linux. A
principal diferença é a necessidade da instalação de um pacote de criptografia 3DES no
Windows. Outra diferença é a possibilidade de implementar um serviço VPN em equipamentos
obsoletos com Linux, ao contrario no Windows que exige mais do equipamento.
Neste caso, a documentação na implementação do serviço VPN usando IpSec, foi-se mais
completa em software livre entretanto o software proprietário tem-se mais suporte, caso pague
por ele.
Com a semelhança na dificuldade de implementação em ambas as plataformas (Windows
e Linux) neste caso a adoção da ferramenta de software livre é viável. Somente com este serviço
61
não tem embasamento suficiente para afirmar qual categoria de software é mais viável, então
como sugestão para trabalhos futuros, poderiam efetuar uma abordagem no uso destas
ferramentas em serviços de arquivos e autenticação.
Este trabalho foi implementado, primeiramente em computadores de uso pessoal, e
depois no laboratório de redes do Departamento de Computação da Universidade Católica de
Goiás. As implementações entre os gateway Linux, funcionaram, entretanto a entre Linux e
Windows não houve sucesso, utilizando o protocolo IpSec. Nesta implementação (analisando os
logs), ocorreu à troca de chaves (o protocolo IKE funcionou corretamente), entretanto notamos
que o trafego de dados não foi criptografado. Não tivemos tempo hábil para analisar porque o
trafego não foi criptografado.
Este trabalho pode ser usado como guia numa possível tomada de decisão na escolha de
um destes modelos de software.
62
REFERÊNCIAS BIBLIOGRÁFICAS
LIVROS:
1.
HALLBERG, BRUCE A. Networking - Redes de Computadores - Teoria e
Prática. ALTA BOOKS, São Paulo.
2.
MORIMOTO, Carlos E, Termos Técnicos. – Hardware, Redes e Linux. 3a. ed.
versão e-book. Ultimo acesso em 13 de setembro de 2006.
3.
STARLIN, GORKI. Segurança na Internet. São Paulo, Books Express, 2000.
TESES, DISSERTAÇÕES E MONOGRAFIAS:
4.
CÉSAR, GUILHERME SOARES. Quadro Uma análise de segurança das versões
do protocolo NFS. Campinas-Sp, Unicamp, 2004. Monografia de conclusão do curso de
Graduação
em
Ciências
da
Computação.
Disponível
em
<http://www.las.ic.unicamp.br/paulo/papers/2004-SSI-guilherme.ruppertanalise.seguranca.NFS.pdf> Ultimo acesso em 5 de novembro de 2006.
5.
HEXSEL, ROBERTO ANDRÉ. Propostas de Ações de Governo para Incentivar o
Uso de Software Livre. Curitiba, UFPR 2002. Relatório Técnico RT-DINF 004/2002.
Disponível em <http://www.inf.ufpr.br/~roberto>. Último acesso em 29 de agosto de
2006.
6.
OLIVEIRA, JOSÉ. Grupos de Sistemas Distribuídos. Porto, UNINHO, 2003.
Monografia de conclusão do curso de Graduação em Ciências da Computação.
Disponível em <br.geocities.com/joseoliveira/gsd.pdf>
Último acesso em 29 de
setembro de 2006.
7.
SANTOS, MAURO; Rodrigues, Renata. A integração de serviços como requisito
fundamental no processo de migração para uma plataforma livre. Brasilia, UCB 2003.
Monografia de conclusão do curso de Graduação em Ciências da Computação.
8.
SOUZA, RICARDO. Quadro Comparativo: IIS e apache. Lavras, UFLA, 2003.
Monografia de conclusão do curso de Especialização em Administração de Redes.
63
INFORMAÇÕES RETIRADAS DA INTERNET:
9.
APACHE SOFTWARE FOUNDATION: Site oficial do Apache. How It Works.
Disponível em <http://www.apache.org/foundation/how-it-works.html>. Ultimo acesso
em 19 de setembro de 2006.
10.
BRMULTIACCESS.
Artigo
sobre
FTP
no
Firewall.
Disponível
em
<http://www.brc.com.br/CatID=13&ID=246&cat=no>. Ultimo acesso em 13 de
setembro de 2006.
11.
BROWN, MARTIN: Server Types: IIS vs. Apache, Looking Beyond the Rhetoric.
Disponível em <http://www.serverwatch.com/tutorials/article.php/10825_3074841_2>
Ultimo acesso em 20 de setembro de 2006.
12.
CENTER FOR DEMOCRACY & TECNOLOGY . DNS. Disponível em
http://www.cdt.org/dns> Último acesso em 10 de setembro de 2006.
13.
GAYLORD, AULKE. Comparing PHP, JavaServer and ASP. Disponível em
<http://www.100days.de/download.php?id=i/677.pdf>.
Ultimo
acesso
em 19
de
setembro de 2006.
14.
HELPDESK:
Conceito
de
Servidores
de
Arquivos.
Disponível
em
<http://www.tellnet.com.br/html.php?filnav=empresa/arquivos.html>. Último acesso em
15 de setembro de 2006.
15.
JAVASERVER
PAGES[TM]
TECHNOLOGY.
Comparison
with
ASP.
Disponível em <http://java.sun.com/products/jsp/jsp-asp.html>. Último acesso em 29 de
setembro de 2006.
16.
JAVASERVER
PAGES[TM]
Technology.
Overview.
Disponível
em
<http://java.sun.com/j2ee/appmodel.html>. Último acesso em 5 de outubro de 2006.
17.
MICROSOFT
CORPORATION.
Overview
ASP.net.
Disponível
em
<http://g.msn.com/9SE/1?http://msdn2.microsoft.com/en-us/library/4w3ex9c2.aspx>.
Último acesso em 2 de outubro de 2006.
18.
MICROSOFT
CORPORATION.
Overview
Protocols.
Disponível
em
<http://msdn.microsoft.com/library/default.asp?url=/library/enus/cifs/protocol/cifs.asp>. Último acesso em 9 de outubro de 2006.
19.
OPENSOURCE:
Bsd
License.
Disponível
em<http://www.opensource.org/licenses/bsd-license.php>. Ultimo acesso em 30 de
agosto de 2006.
64
20.
PHP:
SITE
OFICIAL
DO
PHP.
Manual
do
PHP.
Disponível
em
<http://www.php.net/tut.php>. Ultimo acesso em 21 de setembro de 2006.
21.
PINHO, MANOEL. Artigo publicado no Br-Linux. Disponível em <http://br-
linux.org/noticias/001666.html>. Ultimo acesso em 5 de novembro de 2006.
22.
SLACKSITE.
Active
and
Passive
FTP.
Disponível
em
<http://slacksite.com/images/ftp/passiveftp.html>. Último acesso em 10 de setembro de
2006.
23.
STALLMAN,
RICHARD.
GNU
Philosophy.
Disponivel
em
<http://www.gnu.org/philosophy>. Último acesso em 28 de agosto de 2006.
24.
WIKIPÉDIA, A ENCICLOPÉDIA LIVRE: Artigo sobre Licenças de uso de
Software.
Disponível
em
<http://pt.wikipedia.org/wiki/Licen%C3%A7as_de_uso>.
Ultimo acesso em 29 de agosto de 2006.
25.
WIKIPÉDIA, A ENCICLOPÉDIA LIVRE.: Artigo sobre Direito na Era da
Informática.
Disponível
em
<http://pt.wikipedia.org/wiki/Direito_da_inform%C3%A1tica>. Ultimo acesso em 30 de
agosto de 2006.
26.
WIKIPÉDIA, A ENCICLOPÉDIA LIVRE: Artigo sobre Proxy. Disponível em
<http://en.wilipedia.com/proxy>. Ultimo acesso em 13 de setembro de 2006.
27.
WOOD,
PETER.
Teaching
DNS.
Disponível
em
<http://www.dcs.bbk.ac.uk/~ptw/teaching/http/dns>. Último acesso em 10 de setembro
de 2006.
CONGRESSOS, SEMINÁRIOS, WORKSHOP, ETC:
28.
DOMINGUES, MARCOS AURÉLIO; SCHNEIDER, BRUNO DE OLIVEIRA;
UCHÔA,
JOAQUIM
QUINTEIRO.
Autenticação
de Sistemas Linux
usando
OpenLDAP. In: SEMAC2001. XII Semana da Computação. IV Workshop em Linux,
Internet e Aplicações. São José do Rio Preto: UNESP, 2001. Disponível em
<http://www.comp.ufla.br/~joukim/extensao>. Último acesso: 26 de outubro de 2006.
29.
TOSO, RODRIGO FRANCO. Mini Curso: Samba. Universidade Federal de
Lavras, Encontro técnico de Pós-Graduação em Administração de Redes Linux - ARL.
2003. Disponível em <http://www.comp.ufla.br/~rtoso/pages/publicacoes.html>. Último
acesso: 19 de outubro de 2006.
65
30.
UCHOA, ROBIN:IV Workshop em Linux, Internet e Aplicações. São José do Rio
Preto: UNESP, 2001. Disponível em <.http://www.openni.com.br/freebsd-hb/networknfs.html>. Último acesso: 26 de outubro de 2006.
31.
WILLIAN,
JOÃO
MÁRIO.
Mini
Curso:
VPN
Disponível
em
<www.timaster.com.br/minicursos> Último acesso: 19 de novembro de 2006.
32.
WILSON, JOÃO ASSIM Implementando uma VPN em Linux. Lavras-MG,
UFLA, 2003. Encontro técnico de Pós-Graduação em Administração de Redes Linux.
Disponível
em
<http://www.ginux.ufla.br/documentacao/monografias/mono-
JoaoAssis.pdf>. Último acesso em 29 de agosto de 2006
33.
3WAY NETWORK Apostila de treinamento em linux.
34.
WSTRASHEIM, ALBERT Opens/Wan Interoperating.
Disponivel em:
<http://wiki.openswan.org/index.php/Openswan/Windows> Último acesso em 29 de
Fevereiro de 2007.
35.
Zelio
Alecrim
Artigo
publicado
em
no
InfoWester.
Disponível
em:
<http://www.infowester.com/criptografia.php> Último acesso em 29 de Abril de 2007
66
Download

u PDF - Computacao.net