Mudanças entre as edições de "Projeto Integrador - 2009.1 - Equipe Three"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 418: Linha 418:
 
  #RADIUS (Autenticação via proxy = 200.135.37.115)
 
  #RADIUS (Autenticação via proxy = 200.135.37.115)
 
  iptables -A INPUT -s 200.135.37.115 -p udp --dport 1812 -j ACCEPT
 
  iptables -A INPUT -s 200.135.37.115 -p udp --dport 1812 -j ACCEPT
 +
iptables -A FORWARD -s 200.135.37.115 -p udp --dport 1814 -j ACCEPT
 
  #
 
  #
 
  #Mascarar via NAT
 
  #Mascarar via NAT

Edição das 21h12min de 9 de julho de 2009

Equipe Three

A equipe é formada por três integrantes concluintes do curso técnico de telecomunicações/ênfase em redes.

  • Douglas Muller
  • Maria Gabriela Prim Back
  • Thiago Felipe Cunha

Proposta: Uma infra-estrutura de rede segura para Hotéis

Hoje em dia é muito comum hotéis oferecerem acesso a Internet aos seus hóspedes e na ampla maioria dos casos tal oferta se dá através de redes sem fio (padrão 802.11x). Sabe-se que a propagação do sinal das redes sem fio muitas vezes consegue ultrapassar os limites da edificação onde se encontra o ponto de acesso, estando assim disponível para pessoas que estejam foram das instalações do hotel.

Os padrões para redes sem fio (Wi-Fi) apresentam formas para garantir o controle de acesso à rede e a confidencialidade dos dados trocados entre clientes e pontos de acesso. Assim, para que clientes possam se associar aos pontos de acesso, e então usufruir do acesso a Internet, é necessário fornecer algum tipo de informação que os autentique, por exemplo, uma senha.

O que se observa atualmente nos hotéis no Brasil é que os administradores de rede se preocupam somente com o acesso indevido às suas redes sem fio, exigindo assim a autenticação dos clientes. Porém, na ampla maioria dos casos é feito uso da autenticação através de uma senha compartilhada. Tal tipo de configuração resulta nos seguintes problemas de segurança:

  • Todos os hóspedes farão uso de uma mesma senha e qualquer um que conheça essa senha estará apto a se associar a rede sem fio.
  • Hóspedes são passageiros, assim se não for desejado que um ex-hóspede acesse mais a rede, será necessário alterar a senha nos pontos de acesso e comunicar todos os demais hóspedes;
  • Em caso de um abuso da rede (de acordo com a política de uso do hotel) não será possível identificar o responsável, pois não existe um identificador único para cada hóspede, já que todos compartilham uma mesma senha;

Os atuais ponto de acesso implementam uma forma mais adequada para ambientes como um hotel, que permite o uso de identificadores únicos para cada cliente da rede sem fio. Com essa abordagem cada hóspede do hotel terá um nome de usuário e uma senha única e com isso é possível contornar todos os problemas de segurança acima. Assim, temos as seguintes vantagens:

  • Quando um hóspede chegar no hotel é criado um nome de usuário e senha únicos que serão usados por para se associar a rede sem fio;
  • No término da estadia do hóspede basta apagar sua identificação única da base de usuários para que este não tenha mais acesso a rede;
  • O uso de contas individuais permite responsabilizar o hóspede que cometer algum abuso contra a rede.

Atividades

Segue imagem explicativa dos serviços implementados.

Início do sistema GNU/Linux em arquitetura i386.

Diário de Bordo

16/06/09

  • Organização do armário de telecomunicações.(Sem conexões)
  • Medida a quantidade de cabos que serão utilizados na interligação das salas (Meios de transmissão e redes I).
  • Formatação do CPU que funcionará como servidor.
  • Instalado o sistema operacional no servidor (Ubuntu).

17/06/09

  • Pontos de rede instalados no meio de transmissão. (Faltando apenas um ponto de rede no chão).
  • Na sala redes I:
    • RACK da esquerda devidamente organizado.
    • Servidor instalado no RACK, porém sem acesso SSH.

18/06/09

  • Elaborado um fluxograma organizando os serviços e configurações que serão utilizados.
  • Escolhida página HTML para hotel.

19/06/09

  • Instalado switch na sala meios de transmissão. Porém não sei porque foi retirado de lá.

FIM DA PRIMEIRA SEMANA!!!

22/06/09

  • IP Válido = 200.135.37.113
  • gateway = 200.135.37.126
  • máscara = 200.135.37.113/26
  • Configuração do DNS, DNS reverso e DHCP.
    • Nome do domínio = three.sj.ifsc.edu.br
      • no arquivo named.com.local
      • zone three.sj.ifsc.edu.br
      • IN dns.three.sj.ifsc.br
      • MX mail.three.sj.ifsc.br
  • Realizada a instalação e configuração do servidor de e-mail (POSTFIX).
  • Alteração na BIOS do servidor.
    • Embora nossa CPU não apresentava essas opções, o servidor deveria estar configurado para:
    • Se houver queda de energia, ao retornar o servidor ligará sozinho.
    • Como acesso ao servidor deverá ser feito apenas remoto, o servidor deveria dar boot sem teclado e monitor.(Por isso colocamos um teclado com defeito para que o servidor apenas o reconheça).

23/06/09

  • Cabeamento equipe Three = VERMELHO.
  • Vlans configuradas (Faltando ainda configurar nos switchs)
  • Cabeamento entre salas foi finalmente passado.
  • Criado usuário para acesso remoto

Usuário = *** Senha = ***

  • Para retirar a permissão de acesso do root:
    • No arquivo vim /etc/sshd.conf
      • mudar linha:
        • permitrootlogin = no
  • Realizada a instalação do cacti.
  • DATABASE = Aula
  • usuário ***
  • senha=***
  • Criados os links "voltar" na página HTML.
  • Instalada a base mysql.

24/06/09

  • Na página HTML
    • Base de dados para cfp, nome, enfim....
  • Na página check-in

-código -nome -email -cpf -telefone -datacadastro -entrada -saida

  • Documentação no WIKI.

25/06/09

  • Página HTML concluída.
  • Cadastro no WIKI
    • Gerência de redes.

26/06/09

  • Realizada a instalação do RADIUS.
  • Configuração do CACTI
  • Cadastro no Wiki.

FIM DA SEGUNDA SEMANA!!!

30/06/09

  • Configuração e testes do RADIUS - O mesmo está funcionando normalmente.
  • Implementado controle de erro no cadastro de hóspedes.(Página de hotel)
  • Finalizada a parte de cabeamento no Meios de Transmissão.
  • Cadastro no Wiki.

01/07/09

  • Configuração do AP.
  • Testes.
  • Criação da script que realizará a liberação e desabilitação da senha, conforme cadastro do usuário.

02/07/09

  • Organização de alguns detalhes na página WEB.
  • Ajustes na script de liberação e desabilitação das senhas.

03/07/09

  • Cadastro no WIKI
  • Ajustes na script de liberação e desabilitação das senhas.
  • Organização de alguns detalhes na página WEB.
  • Testes com AP.

FIM DA TERCEIRA SEMANA

06/07/09

  • Cadastro no Wiki.
  • Ajustes na script de liberação e desabilitação das senhas.
  • Organização de alguns detalhes na página WEB.
  • Verificação do cabeamento.
  • Realizado apenas o teste de continuidade no cabeamento, uma vez que não há equipamento para a certificação dos mesmos.

07/07/09

  • Configuração dos modems.
  • Configuração dos roteadores.
  • Inicio da configuração dos Switch's.

08/07/09

  • Fim da configuração dos Switch's.
  • Teste do proxy RADIUS.
  • Todos testes Ok.
  • Servidor DHCP funcionando de acordo com a VLAN especifica do usuario.
  • Roteamento funcionando, usuario autenticado com acesso a rede externa.

CABEAMENTO ESTRUTURADO

  • Realizada a interligação entre os laboratórios Redes I e Meios de transmissão.

Utilizados 100 metros de cabos de rede (UTP) categoria 5e. (Atividade realizada em conjunto)

  • Fibra Óptica que será utilizada já estava interligando os laboratórios.
  • Passagem de dois pontos rede. Utilizando a categoria 568A.
  • Confecção de 1 Patch Cord.
  • Montagem do RACK utilizando 2 patch panels e Switch.

GERÊNCIA DE REDES

SISTEMA OPERACIONAL

Ubuntu 8.10 Server

APACHE2

O Servidor Apache(ou Servidor HTTP Apache) é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007[1], foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo.

Para instalar o servidor de páginas APACHE = apt-get install apache2


  • Arquivo de configuração do APACHE

apache2.conf

OBS: Não é necessário alterar nada no arquivo de configuração do Apache.

CACTI

O CACTI foi Desenvolvido para ser flexível de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e fácil de usar.Trata-se de uma interface e uma infra-estrutura que é responsável por armazenar os dados recolhidos e por gerar os gráficos.

  • Instalação do snmp: apt-get install snmp snmpd
  • Instalação do cacti: apt-get install cacti

Configurando o SNMP

Arquivo de configuração: snmpd.conf

snmpd.conf 

rocommunity three # deve ser igual ao campo community que será configurado no cacti
syslocation lab redes1 #localização
syscontact dmt@three.sj.ifsc.edu.br #contato
sysservices 72 #padrão


Configurando CACTI

No navegador coloque o nome do host ou ip no qual será feito o monitoramento. Ex: "200.135.37.113/cacti"/"www.three.sj.ifsc.edu.br/cacti"

Usuario padrão: admin Senha padrão: admin

Em New graphs, clicar em Create new host.

  • Devices

Descrition : (nome que vai ser dado ao monitoramento), Ex: "DMT Monitoração"

Hostname : (o nome do host ou o IP da maquina que será monitorada), no nosso caso "localhost"

Host Template: (modelo)"preferecialmente usar o "Generic SNMP-enable host",pois este modelo suporta qualquer gráfico(teoricamente).

O restante na parte de DEVICES não é alterado.

  • Availability/Reachability Options

Segue padrão, nada é alterado

SNMP Options

SNMP Version: Estamos utilizando como padrão version2.

SNMP Community: Neste campo deve-se repetir o que foi adicionado no campo rocommnity do arquivo snmpd.conf do diretório snmp

O restante dos campos do SNMP Options não são alterados.

Clicando em Create

Abaixo irá aparecer dois novos quadros: Associated Graph Templates; Associated Data Queries;

Neste dois quadros adicione o gráficos do seu monitoramento. Nos campos Add Graph Template e Add Data Query, serão escolhidos os gráficos desejados. Após escolher e adicionar deverá ser salvo.

Quando clicar em SAVE, irá abrir um Device com todos os monitoramentos existentes criados no cacti. Você deve procurar e clicar no monitoramento que você criou, após clicar irá para uma nova janela, na parte superior ira aparecer um link "Create Graphs for this Host". você deve clicar. Abrirá uma nova janela com todas as requisições de gráficos feitas anteriormente, deve-se setar os gráficos que se deseja criar. No campo "Select a graph type" voce podrá escolher o tipo de gráfico. Clique no botão CREATE, e está pronto.

Agora vá em Devices, na coluna da esquerda, selecione o gráfico criado e no campo "Choose an action" escolha a opção Place on a three(Default Tree).

Para visualizar clique na aba Graphs e escolha o gráfico criado. Espere os gráficos aparecerem.

DHCP

O DHCP("Dynamic Host Configuration Protocol" ou "protocolo de configuração dinâmica de endereços de rede") permite que todos os micros da rede recebam suas configurações de rede automaticamente a partir de um servidor central, sem que se necessite configurar manualmente cada um.

  • Para instalar o DHCP = apt-get install dhcpd3-server
    • Arquivo de configuração:

dhcp.conf

default-lease-time 86400;
max-lease-time 172800;
option domain-name-servers 200.135.37.113;

#hospedes
subnet 10.3.1.0 netmask 255.255.255.0 {
	range 10.3.1.2 10.3.1.254;
	option subnet-mask 255.255.255.0;
	option routers 10.3.1.1;
}

#funcionarios
subnet 10.3.2.0 netmask 255.255.255.0 {
	range 10.3.2.2 10.3.2.254;
	option subnet-mask 255.255.255.0;
	option routers 10.3.2.1;
}
#visitantes
subnet 10.3.3.0 netmask 255.255.255.0 {
	range 10.3.3.2 10.3.3.254;
	option subnet-mask 255.255.255.0;
	option routers 10.3.3.1;
}
  • No Ubuntu, editar o arquivo: /etc/default/dhcp3-server
#/etc/default/dhcp3-server

#Habilitar o servidor dhcp para ouvir em todas as interfaces
        INTERFACES="eth0.30 eth0.35 eth0.50 eth0.100"
  • Ativar Roteamento entre as interfaces do servidor:
echo 1 > /proc/sys/net/ipv4/ip_forward

DNS

O servidor DNS (Domain Name System – Sistema de Nomes de Domínios) é utilizado para identificar máquinas através de nomes em vez de endereços de IP (Internet Protocol). Uma vez que é muito mais fácil ser guardado o endereço nominal de um site do que endereço numérico. Assim, ao digitar o primeiro endereço citado, o browser fará a comunicação com o servidor DNS, que descobrirá o endereço IP do nome entrado, permitindo que a conexão seja efetuada. Assim, os servidores DNS possuem basicamente duas funções: converter endereços nominais em endereços IP e vice-versa.

  • Para instalar o servidor DNS: apt-get install bind9
    • Arquivos de configuração:

named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

 zone "three.sj.ifsc.edu.br" {
	 type master;
	 file "/etc/bind/three.sj.ifsc.edu.br";
  };

  zone "37.135.200.in-addr.arpa" {
	 type master;
	 file "/etc/bind/37.135.200.in-addr.arpa";
 };


three.sj.ifsc.edu.br

$TTL	86400

@	IN	SOA	dns.three.sj.ifsc.edu.br.	dmt.three.sj.ifsc.edu.br.	(
	 		2009062204	;Serial
			1d		;Refresh
			4h		;Retry
			1w		;Expire
			1d		;Negative Cache TTL
)
@	IN	NS	dns.three.sj.ifsc.edu.br.
@	IN	MX 0	mail.three.sj.ifsc.edu.br.
@ 	IN	NS  	hendrix.sj.ifsc.edu.br.
;Endereço
dns	IN	A	200.135.37.113
www	IN	CNAME	dns
mail	IN	A	200.135.37.113


37.135.200 in-addr.arpa

$TTL	86400

@	IN	SOA	dns.three.sj.ifsc.edu.br.	dmt.three.sj.ifsc.edu.br.	(
			2009062204	;Serial
			1d		;Refresh
			4h		;Retry
			1w		;Expire
			1d		;Negative Cache TTL
)
@	IN	NS	dns.three.sj.ifsc.edu.br.
@ 	IN 	NS 	hendrix.sj.ifsc.edu.br.
;Endereço
113	IN	PTR	dns.three.ifsc.edu.br.
113	IN	PTR	mail.three.ifsc.edu.br.

FIREWALL

O FIREWALL é utilizado para bloquear o acesso a alguns serviços da rede.

Implementação do FIREWALL

apt-get install iptables
  • Regras do Firewall estão armazenados neste arquivo: etc/init.d/iptables

Criar arquivo iptables. (vim iptables)

#!/bin/bash

#caso geral
#
#Bloqueia tudo
iptables -P INPUT DROP
#
#Libera o minimo
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Libera Aplicações TCP
#
#SSH
iptables -A INPUT -p tcp --dport 22 --syn -j ACCEPT
#
#HTTP
iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT 

#Libera aplicações UDP
#
#DHCP
iptables -A INPUT -p udp --dport 67 -j ACCEPT
#
#DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT
#
#RADIUS (Autenticação via proxy = 200.135.37.115)
iptables -A INPUT -s 200.135.37.115 -p udp --dport 1812 -j ACCEPT
iptables -A FORWARD -s 200.135.37.115 -p udp --dport 1814 -j ACCEPT
#
#Mascarar via NAT
iptables -t nat -A POSTROUTING -j MASQUERADE

POSTFIX

O POSTFIX é um servidor de correio eletrônico.

O mesmo poderá utilizar os protocolos POP e IMAP para o recebimento de mensagens. -Estamos utilizando o IMAP, o mesmo provê a permanência das mensagens no servidor. Para instalar o IMAP = apt-get install imap

Para instalar o postfix = apt-get install postfix

  • Arquivo de configuração:

main.conf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname 

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no 

# appending .domain is the MUA's job.
append_dot_mydomain = no 

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.three.sj.ifsc.edu.br 
mydomain = three.sj.ifsc.edu.br

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname

#Dominio onde os email serão entregues
mydestination = $myhostname, $mydomain, mail.three.sj.ifsc.edu.br, localhost, localhost@three.sj.ifsc.edu.br
relayhost = 

#Envia email sem autenticar,rede interna
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Teste verificando se e-mail é encaminhado.

RADIUS

O Radius (Remote Authentication Dial-In User Service) é uma tecnologia empregada para autenticação, autorização e contabilidade para autorizar e validar recursos de rede e também manter registros de tempo, detalhes de conexão e duração de acesso em determinada rede.

Instalação:

  • Antes de instalar o Radius deve-se remover possíveis antigas instalações.
apt-get remove freeradius*
  • Deverão ser instalados os seguintes pacotes, uma vez que os mesmos não estão compactados juntamente com o Radius.
apt-get install make
apt-get install gcc 
apt-get install g++
apt-get install libssl-dev
  • Deve-se realizar o Download do código-fonte da aplicação.
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.6.tar.gz

Descompactação do arquivo:

tar xzf freeradius-2.1.6.tar.gz

Compilar e instalar o programa

./configure --prefix=/usr/local freeradius-server2.1.6 --exe-prefix=/usr/local freeradius-server2.1.6 

Instalação dos arquivos e criação de links para uso via console:

make install
cd /usr/local
ln -s freeradius-server-2.1.6 freeradius
cd /usr/local/bin
ln -s ../freeradius/bin/radtest radtest
cd /usr/local/sbin
ln -s ../freeradius/sbin/radiusd radiusd

Execução

Como root, inicie o serviço a partir de um console (modo depuração ativado):

radiusd -X

e em outro console (qualquer usuário):

radtest

com os demais parâmetros para testar o serviço.

  • Aquivos de configuração:
#clients.conf

client proxy {
     ipaddr  = 200.135.37.115
     secret  = proxy
     nastype = other
}
#users

#exemplo de usuario hóspede
#2009-07-10 05273480557
teste@three.sj.ifsc.edu.br Cleartext-Password :="05273480557"
       Tunnel-Type = "VLAN",
       Tunnel-Medium-Type = "IEEE-802",
       Tunnel-Private-Group-ID = "30"

SSH

O SSH é utilizado para realizar o acesso remoto aos equipamentos

Para instalar o SSH = apt-get install sshd

Arquivo de configuração: /etc/ssh/sshd_config

Port 22
PermitRootLogin no
PermitEmptyPasswords no

INSTALAÇÃO DE EQUIPAMENTOS DE REDE

ACCESS POINT

Access point é um dispositivo em uma rede sem fio que realiza a interconexão entre todos os dispositivos móveis.

  • Configuração do Access Point
cd /usr/local/freeradius/etc/raddb

No arquivo clients.conf deverá ser cadastrado o cliente switch (quem vai solicitar o IP). Verificar se há aguma solicitação rodando: ps -ef | grep rad Executar kill + número da solicitação (Cancelar a solicitação que está rodando).

Rodar o Log para verificar integração com o Radius: Radius -x

SWITCH

  • Configuração do Switch.
*Definir Ip Switch;
*Ativar autenticação por porta via RADIUS;
*Definir VLANS Estaticas;
 Criar todas as VLANS de hospedes e funcionarios;
   -Habilitar e setar as portas que vão para os servidores nesta VLANS como tagged;
   -Habilitar porta de comunicação entre os switch's e setar como tagged;
 Criar VLAN visitantes;
*Ativar portas do Switch que vão ser usar autenticação;
*Definir servidor RADIUS;
 Ip Proxy - 200.135.37.115
 Criar Guest VLAN -> nome: visitantes
                  -> portas: 2-10, 12-20
  • - Switch Direita
IP 200.135.37.120
Porta 01 -> Servidor Ares
Porta 11 -> Servidor Three
Porta 23 -> Porta de comunicação entre os servidores
  • - Switch Esquerda
IP 200.135.37.121
Porta 01 -> Servidor True
Porta 11 -> Servidor Zeus
Porta 23 -> Porta de comunicação entre os servidores
Porta 24 -> Link RNP

VLAN

VLANs são redes locais virtuais.

  • Realizada a configuração das VLANs.

modprobe 8021q, exucutado para carregar o suporte a VLANs no kernel Linux. vconfig add interface VID


  • Criado as VLANs para hóspede, administradores e empregados;


 VLAN : IP - 10.3.1.1; 
         Broadcast - 10.3.1.255;
         Mascara - 255.255.255.0;
VLAN 25: IP - 10.3.2.1; 
         Broadcast - 10.3.2.255;
         Mascara - 255.255.255.0;
VLAN 100: IP - 10.3.10.1; 
          Broadcast - 10.3.10.255;
          Mascara - 255.255.255.0;

PROGRAMAÇÃO PARA REDES DE COMPUTADORES

Realizada a criação de uma rotina de trabalho na qual deverá habilitar e desabilitar usuários e senhas, via RADIUS, a partir do cadastro do cliente. Portanto, login e senha deverão ser habilitadas a partir do dia cadastrado como entrada do cliente e deverão ser desabilitados no momento em que este cliente não estiver mais hospedado no hotel.

  • Criação da página em HTML(www.three.sj.ifsc.edu.br)
apt-get install php5 
apt-get install apache2 
  • Integração da página com o banco de dados Mysql. Isso para que os dados dos hóspedes fiquem armazenados.

Instalação do Mysql.

apt-get install mysql-server

create database “nome”– Criação da base de dados.


Projeto Integrador - 2009.1