UTILIZE A PESQUISA!

Proxy

Os proxies são principalmente usados para permitir acesso à Web através de um firewall (fig. 1). Um proxy é um servidor HTTP especial que tipicamente roda em uma máquina firewall. O proxy espera por uma requisição de dentro do firewall, a repassa para o servidor remoto do outro lado do firewall, lê a resposta e envia de volta ao cliente.

Figura 1: Visão geral de um proxy

O proxy está rodando ou em um servidor firewall ou qualquer outro servidor interno que tenha acesso total a internet - ou em uma máquina dentro do firewall fazendo conexões com o mundo exterior através de SOCKS ou qualquer outro software firewall.

Normalmente, o mesmo proxy é usado por todos os clientes em uma subrede. Isto torna possível para ele fazer caching eficiente de todos os documentos requisitados.

A habilidade que o proxy tem no uso do cache, o torna atrativo para aqueles que não estão dentro do firewall. Configurar um servidor proxy é fácil e os mais populares programas clientes Web já tem suporte a essa ferramenta. Sendo assim, torna-se simples a tarefa de configurar um grupo de trabalho inteiro para usar o serviço de cache do proxy. Isto reduz os custos com tráfego de rede porque muitos documentos que são requisitados são lidos do cache local.

A metodologia atual é baseada em um código de gateway escrito por Tim Berners-Lee como parte do libwww ( WWW commom Library). Kevin Altis, Ari Luotonen e Lou Montulli foram os principais contribuidores para a padronização do proxy.

Lou Montulli, autor de Lynx, fez as primeiras mudanças no libwww em colaboração com Kevin Altis. Ari Luotonen mantém o CERN httpd.


Porque proxy fica no nível de aplicação?

Um nível de aplicação proxy faz um firewall seguramente permeável para os usuários na organização sem criar um furo na segurança onde hackers poderiam entrar na rede da organização.
Para clientes Web, as modificações necessárias para suportar um nível de aplicação proxy são menores (leva-se apenas 5 minutos para adicionar suporte proxy para o Emacs Web Browser).
Não há necessidade de compilar versões especiais de clientes Web com bibliotecas firewall, o cliente "out-of-the-box" pode ser configurado para ser um cliente proxy. Em outras palavras, quando se usa proxy não necessitamos customizar cada cliente para suportar um tipo ou método especial de firewall: o proxy, em si, é um método padrão para acessar firewalls.

Usuários não têm que ter clientes FTP, Gopher e WAIS separados (muito menos modificados) para acessar um firewall - um simples cliente Web com um servidor proxy trata todos esse casos. O proxy também padroniza a aparência de clientes Gopher e FTP.
O proxy permite que os programadores esqueçam as dezenas de milhares de linhas de código necessárias para suportar cada protocolo e se concentrem em coisas mais importantes - é possível ter clientes "peso-leve" que somente compreendam HTTP (nenhum suporte nativo aos protocolos FTP, Gopher, etc) - outros protocolos são manuseados transparentemente pelo proxy. Usando HTTP entre o cliente e o proxy, nenhuma funcionalidade


Clientes sem DNS (Domain Name Service) também podem usar a Web. O endereço IP do proxy é a única informação realmente necessária. Organizações usando endereços, por exemplo, classe A (como 10.*.*.*), em suas redes particulares podem ainda acessar a internet contanto que o proxy seja visível tanto para a rede particular como para a Internet.
Proxy permite um alto nível de log das transações de clientes, incluindo endereço IP, data e hora, URL, contagem de bytes e código de sucesso. Qualquer campo (seja de meta-informação ou seja comum) em uma transação HTTP é um candidato para log. Isto não é possível com log no nível IP ou TCP.

Também é possível fazer a filtragem de transações de clientes no nível do protocolo de aplicação. O proxy pode controlar o acesso a serviços por métodos individuais, servidores e domínios, etc.
Outra feature interessante do proxy é a cache. O uso de cache é mais efetivo no servidor proxy do que em cada cliente. Isto salva espaço em disco, desde que somente uma cópia é guardada, como também permite um uso de "cache inteligente", onde os documentos frequentemente referenciados por muitos clientes são guardados por um periodo mais longo de tempo pelo cache manager.
O uso de cache também torna possível acessar algumas páginas mesmo que servidores estejam fora do ar. Essa facilidade torna o serviço melhor, visto que recursos remotos como um site FTP ocupado que são frequentemente inacessíveis remotamente podem ser agora acessíveis através do cache local. Pode-se citar uma infinidade de usos que podemos fazer com o cache: fazer uma demonstração de algum lugar com uma baixa velocidade de conexão, ler documentos com a máquina não-conectada (obviamente após colocar todos documentos no cache local), etc.

Clientes sem DNS (Domain Name Service) também podem usar a Web. O endereço IP do proxy é a única informação realmente necessária. Organizações usando endereços, por exemplo, classe A (como 10.*.*.*), em suas redes particulares podem ainda acessar a internet contanto que o proxy seja visível tanto para a rede particular como para a Internet.
Proxy permite um alto nível de log das transações de clientes, incluindo endereço IP, data e hora, URL, contagem de bytes e código de sucesso. Qualquer campo (seja de meta-informação ou seja comum) em uma transação HTTP é um candidato para log. Isto não é possível com log no nível IP ou TCP.
Também é possível fazer a filtragem de transações de clientes no nível do protocolo de aplicação.

O proxy pode controlar o acesso a serviços por métodos individuais, servidores e domínios, etc.
Outra feature interessante do proxy é a cache. O uso de cache é mais efetivo no servidor proxy do que em cada cliente. Isto salva espaço em disco, desde que somente uma cópia é guardada, como também permite um uso de "cache inteligente", onde os documentos frequentemente referenciados por muitos clientes são guardados por um periodo mais longo de tempo pelo cache manager.

O uso de cache também torna possível acessar algumas páginas mesmo que servidores estejam fora do ar. Essa facilidade torna o serviço melhor, visto que recursos remotos como um site FTP ocupado que são frequentemente inacessíveis remotamente podem ser agora acessíveis através do cache local. Pode-se citar uma infinidade de usos que podemos fazer com o cache: fazer uma demonstração de algum lugar com uma baixa velocidade de conexão, ler documentos com a máquina não-conectada (obviamente após colocar todos documentos no cache local), etc.

Em geral, autores de clientes Web não tem razão para usar versões de firewalls em seus códigos. O proxy é mais simples para configurar do que SOCKS e trabalha em todas as plataformas, não somente UNIX.

Componentes Básicos do SNMP

Uma rede administrada com o SNMP é composta por três componentes principais: dispositivos gerenciados, agentes e sistemas de administração de redes(NMSs).

Um dispositivo administrado é um nó de rede que contém um agente SNMP e que se encontra em uma rede adiministrada. Os dispositivos administrados coletam e armazenam informações de administração e tornam essas informações disponíveis para os sistemas NMSs que utilizam o protocolo SNMP. Os dispositivos gerenciados, às vezes chamados de elementos de rede, podem ser roteadores e servidores de acesso, switches e bridges, hubs, l com o protocolo SNMPcomputadores hots ou impressora.

Um agente Smith é um módulo de software de administração de rede localizado em um dispositivo administrado. O agente possui um conhecimento local das informações de administração e traduz essas informações em uma forma compatível com o protocolo SNMP.

Os sistemas NMS executam aplicações que monitoram e controlam os dispositivos administrados. Os NMSs fornecem o volume de recursos de processamento e de memória necessários para a administração de rede. É preciso haver um ou mais sistemas NMSs em qualquer rede que seja administrada.

Extraído da página 529 do Livro INTERNET WORKING TECHNOLOGIES HANDBOOK – Tradução da segunda edição.

Tunnelling

Tunnelling (tunelamento) é a capacidade de criar túneis entre duas máquinas por onde certas informações passam.

Em se tratando de um ramo do protocolo TCP/IP, o SSH e o Telnet, pode-se criar uma conexão entre dois computadores, intermediada por um servidor remoto, fornecendo a capacidade de redirecionar pacotes de dados.

Por exemplo, se alguém se encontra dentro de uma instituição cuja conexão à Internet é protegida por um firewall que bloqueia determinadas portas de conexão, não será possível, por exemplo, acessar e-mails via POP3, o qual utiliza a porta 110, nem enviá-los via SMTP, pela porta 25.

As duas portas essenciais são a 80, para HTTP e a 443, para HTTPS, as quais garantem uma navegação em páginas da Web sem restrições.

Não há necessidade do administrador da rede deixar várias portas abertas, uma vez que conexões indesejadas e que comprometam a segurança da instituição possam ser estabelecidas através mesmas.

Contudo, isso compromete a dinamicidade de aplicações na Internet. Um funcionário ou aluno que queira acessar painéis de controle de sites, arquivos via FTP ou amigos via Instant Messengers, por exemplo, não terá a capacidade de fazê-lo, uma vez que as respectivas portas para seus funcionamentos estão bloqueadas.

Para quebrar essa imposição rígida, porém necessária, o SSH oferece o recurso do Túnel.

O processo se caracteriza por duas máquinas ligadas ao mesmo servidor SSH, que faz apenas o redirecionamento das requisições do computador que está sob firewall.

O usuário envia para o servidor um pedido de acesso ao servidor pop.xxxxxxxx.com pela porta 443 (HTTPS), por exemplo. Então, o servidor acessa o computador remoto e requisita a ele o acesso ao protocolo, retornando um conjunto de pacotes referentes à aquisição.

O servidor codifica a informação e a retorna ao usuário via porta 443. Sendo assim, o usuário tem acesso a toda a informação que necessita.

É importante salientar que a prática do Tunnelling não é ilegal caso o fluxo de conteúdo esteja de acordo com as normas da instituição.

Criando um túnel SSH

# ssh -l usuário localhost -L2004:serviço a ser acessado:80 -f sleep 60

Isso basicamente redireciona o tráfego da porta 80 do servidor remoto para a porta 2004 do host local, com um timeout de 60 segundos.

Agora, no seu browser basta colocar o endereço:

http://localhost:2004

Assim sua navegação está encriptada.

Operações do SNMP

Lista de operações suportadas pelo SNMP:

*Get - Utilizada para ler o valor de uma variável; o gerente solicita que o agente obtenha o valor da variável;

*Set - Utilizada para alterar o valor da variável; o gerente solicita que o agente faça uma alteração no valor de uma variável;

*Trap - Utilizada para comunicar um evento ; o agente comunica ao gerente o acontecimento de um evento previamente determinado.

Configuração de rede em Linux

Identificação da interface de rede

O primeiro passo deste tutorial é para configurar uma rede no Linux. Identificar a placa de rede (ou mais) instaladas. Utilize o comando: sudo mii-tool
Um resultado desse comandopossível seria: eth0: negotiated 100baseTx-FD, link ok
Indicando que o sistema contém a placa (interface) denominada eth0, operando a 100 Mbps e com link operacional.

Configuração da interface de rede

Para configurar esta placa deve-se editar o arquivo /etc/network/interfaces. Um exemplo seria:
auto lo
# Configurar interface de loopback na inicialização
iface lo inet loopback# Definição da interface de loopback
auto eth0

#Configurar interface eth0 na inicialização
iface eth0 inet static

# Interface eth0 com endereço estático
address 192.168.1.1

# Endereço da interface
netmask 255.255.255.0
# Máscara de rede
broadcast 192.168.1.255
# Endereço de broadcast
gateway 192.168.1.254
# Gateway padrão
auto eth1
# Configurar interface eth1 na inicialização
iface eth1 inet dhcp
# Configurar por DHCP


Para fazer com que uma interface pare de funcionar temporariamente digite o comando:
sudo ifdown eth0

Para fazer com que uma interface entre em operação digite o comando:
sudo ifup eth0

Para verificar como está configurada uma interface digite o comando:
ifconfig eth0

Para configurar uma interface temporariamente (para definir um endereço, máscara e gateway) digite o comando:
sudo ifconfig eth0 192.0.0.1 netmask 255.255.255.0 gw 192.0.0.254 up

Gateway e roteamento

Para definir um gateway, é necessário estabelecer uma rota. Por exemplo:
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.0.0.254
irá criar uma rota para a rede 0.0.0.0 com máscara 0.0.0.0 (ou seja, a Internet) passando pelo gateway 192.0.0.254.

Nome do computador

O nome da máquina deve ser definido de duas formas. Primeiramente com o comando hostname:
sudo hostname PontodeRedesServer

E o arquivo /etc/hosts deve ter, no mínimo, linhas como as seguintes:
127.0.0.1 localhost
127.0.1.1 PontodeRedesServer


Servidores de DNS

Para definir o endereço dos servidores DNS a serem consultados, utiliza-se o arquivo /etc/resolv.conf. Um exemplo de arquivo seria:
nameserver 200.199.198.197
nameserver 197.198.199.200

Diferenças entre as versões SNMP

SNMP v1

O SNMPv1 consiste de três documentos:
RFC 1155 define o Structure of Management Information (SMI). Ou seja, os mecanismos usados para descrever e nomear os objetos que serão gerenciados
>RFC 1212 define um mecanismo de descrição mais conciso mas é inteiramente consistente ao SMI.
>RFC 1157 define o Simple Network Management Protocol (SNMP)

Os dois primeiros documentos definem a linguagem de dados. O terceiro documento define as operações do protocolo SNMPv1 utilizando protocol data units (PDUs). Os operadores definidos no SNMPv1 são: get, get-next, get-response, set-request e trap.

Muitos dos conceitos de segurança e administração encontrados no SNMPv3 são encontrados no modelo do SNMPv1.
O SNMPv1 introduz o conceito serviço de autenticação suportando um ou mais métodos. No SNMPv3 o conceito de autenticação foi expandido para incluir serviços como privacidade.

O modelo SNMPv1 possui o controle de acesso baseado num conceito chamado SNMP MIB view. O SNMPv3 especifica um conceito fundamentalmente similar chamado view-based access control.

Apesar do SNMPv1 ter antecipado um serviço de autenticação suportando vários métodos, não foi criado nenhum método além de uma simples autenticação baseada em community strings. Essa foi a grande deficiência do SNMPv1. Como o conceito de "segurança" pode ser interpretado de modo bastante diferente por cada usuário, o serviço de autenticação do SNMPv1 ficou para ser definido em um outro bloco o qual nunca foi posto em prática. O modelo SNMPv3 já possui uma arquitetura para esse bloco.

SNMPv2

O SNMPv2 está descrito nas RFCs: 1902, 1903,1904, 1905, 1906, and 1907. A relação entre o SNMPv1 e o SNMPv2 está descrita no RFC 1908.

O SNMPv2 possui algumas vantagens sobre o SNMPv1. São elas:
*Mais um tipo de dados: 64 bit counter;
*Melhora na eficiência e na performance: operador get-bulk;
*Notificação de evento confirmado: operador inform;
*Maior detalhamento dos erros;
*Modos facilitados de criação e deleção de linhas na MIB;
*Melhorias na definição da linguagem de dados.

Apesar do modelo SNMPv2 estar descrito no RFCs 1902-1907, alguns objetivos iniciais do projeto não foram implementados. Os objetivos não alcançados incluem o fornecimento de segurança tais como:
*autenticação: identificação da origem, integridade da mensagem;
*privacidade: confidencialidade;
*autorização e controle de acesso.

SNMPv3

Os RFCs do SNMPv3 foram produzidos pelo SNMPv3 Working Group da Internet Engineering Task Force (IETF). Esse Working Group se baseou bastante nos documentos Draft Standard do SNMPv2. Como resultado o SNMPv3 é o SNMPv2 com blocos de segurança e administração.
O modelo SNMPv3 descrito nos RFCs 2570, 2571, 2572, 2573, 2574, e 2575, relaciona as deficiências no SNMPv2 em relação a segurança e admninistração. A co-existência do SNMPv1, SNMPv2 e SNMPv3 está descrita no RFC 2576 .

Novas ferramentas foram adicionadas no SNMPv3. São elas:
*Segurança;
*autenticação e privacidade ;
*autorização e controle de acesso;
*Modelo administrativo;
*nomeação das entidades;
*gerência das chaves;
*notificação dos destinos;
*relação dos proxys configuração remota através de operadores SNMP.