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

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(5 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 41: Linha 41:
  
 
==DHCP==
 
==DHCP==
 +
 +
DHCP é a sigla para Dynamic Host Configuration Protocol.
 +
Trata-se de um protocolo utilizado em redes de computadores que permite a estes obterem um endereço IP automaticamente.
 +
 +
 
* '''Configuração do DHCP;'''
 
* '''Configuração do DHCP;'''
 
* <tt>apt-get install dhcp3</tt>
 
* <tt>apt-get install dhcp3</tt>
Linha 150: Linha 155:
  
 
  myhostname = mail.zeus.sj.ifsc.edu.br
 
  myhostname = mail.zeus.sj.ifsc.edu.br
 
 
  mydomain = zeus.sj.ifsc.edu.br
 
  mydomain = zeus.sj.ifsc.edu.br
 
 
  alias_maps = hash:/etc/aliases
 
  alias_maps = hash:/etc/aliases
 
 
  alias_database = hash:/etc/aliases
 
  alias_database = hash:/etc/aliases
 
 
  myorigin = zeus.sj.ifsc.edu.br
 
  myorigin = zeus.sj.ifsc.edu.br
 
 
  mydestination = zeus.sj.ifsc.edu.br, localhost.zeus.sj.ifsc.edu.br, localhost, mail.zeus.ifsc.edu.br
 
  mydestination = zeus.sj.ifsc.edu.br, localhost.zeus.sj.ifsc.edu.br, localhost, mail.zeus.ifsc.edu.br
 
 
  mynetworks = 127.0.0.1/32
 
  mynetworks = 127.0.0.1/32
  
Linha 284: Linha 283:
 
         Tunnel-Medium-Type = "IEEE-802",
 
         Tunnel-Medium-Type = "IEEE-802",
 
         Tunnel-Private-Group-ID = "X"
 
         Tunnel-Private-Group-ID = "X"
 
+
zeus@zeus.sj.ifsc.edu.br        Cleartext-Password :="123"
+
zeus@zeus.sj.ifsc.edu.br        Cleartext-Password :="123"
 
         Tunnel-Type = "VLAN",
 
         Tunnel-Type = "VLAN",
 
         Tunnel-Medium-Type = "IEEE-802",
 
         Tunnel-Medium-Type = "IEEE-802",
Linha 310: Linha 309:
 
==Iptables==
 
==Iptables==
  
O que é iptables/firewall
 
Firewall
 
  
O Firewall é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua segura rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais).
 
  
Iptables
+
Do [http://www.vivaolinux.com.br/artigo/Seguranca-com-Iptables Viva o Linux]:
 +
 
 +
''Firewall''
 +
 
 +
''O que é iptables/firewall''
 +
 
 +
''O Firewall é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua segura rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais).''
 +
 
 +
''Iptables''
  
O iptables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar.  
+
''O iptables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. ''
  
  

Edição atual tal como às 14h49min de 10 de julho de 2009

Cabeamento Estruturado

  • Pontos na sala de meios de transmissão (CAB);
  • Dois Patch Panel no Rack na sala de transmissão;
  • 1 Patch Cord;
  • Teste de continuidade realizada no patch cord OK;
  • Passagem do cabo UTP que interliga a sala de redes1 com meios de transmissão em conjunto com os outros grupos;

Instalação de Equipamentos de Rede

  • Configurado switch 192.168.1.230;
  • Configurado as portas 7-11;
  • Criado as VLANs para hóspedes (20), usuários (25) e visitantes (100);


  • VLAN 20: IP - 10.2.1.1;
          Broadcast - 10.2.1.255;
          Mascara - 255.255.255.0;
  • VLAN 25: IP - 10.2.2.1;
          Broadcast - 10.2.2.255;
          Mascara - 255.255.255.0;
  • VLAN 100: IP - 10.2.10.1;
           Broadcast - 10.2.10.255;
           Mascara - 255.255.255.0;

Gerência de Rede

Sistema Operacional

  • Configurando o Servidor (GER);
  • Instalado o sistema operacional UBUNTU versão 8.10.
  • Configuração da eth0.
  • IP do servidor: 200.135.37.111;
  • Broadcast - 200.135.37.127;
  • Mascara - 255.255.255.192;

DHCP

DHCP é a sigla para Dynamic Host Configuration Protocol. Trata-se de um protocolo utilizado em redes de computadores que permite a estes obterem um endereço IP automaticamente.


  • Configuração do DHCP;
  • apt-get install dhcp3
       subnet 10.2.1.0 netmask 255.255.255.0 {
       range 10.2.1.50 10.2.1.60;
       option subnet-mask 255.255.255.0;
       option broadcast-address 10.2.1.255;
       option routers 10.2.1.1;
       option domain-name-servers 200.135.37.111
}

       subnet 10.2.2.0 netmask 255.255.255.0 {
       range 10.2.2.50 10.2.2.60;
       option subnet-mask 255.255.255.0;
       option broadcast-address 10.2.2.255;
       option routers 10.2.2.1;
       option domain-name-servers 200.135.37.111;

}

       subnet 10.2.10.0 netmask 255.255.255.0 {
       range 10.2.10.50 10.2.10.60;
       option subnet-mask 255.255.255.0;
       option broadcast-address 10.2.10.255;
       option routers 10.2.10.1;
       option domain-name-servers 200.135.37.111;

}

DNS

DNS é a sigla para Domain Name System (Sistema de Resolução de Nomes). Trata-se de um recurso usado em redes TCP/IP (o protocolo utilizado na internet e na grande maioria das redes) que permite acessar computadores sem que o usuário ou sem que o próprio computador tenha conhecimento de seu endereço IP, ou seja, faz a conversão de nomes em endereços IP's.

  • Configurado o DNS.
  • apt-get install bind9
  • Abrir o aquivo named.conf.local:

Seguem abaixo as configurações necessárias que devem ser configuradas dentro do mesmo.

named.conf.local

zone "zeus.sj.ifsc.edu.br" {
   type master;
   file "/etc/bind/zeus";
 };
zone "37.135.200.in-addr.arpa" {
type master;
file "/etc/bind/37.135.200.in-addr.arpa";
};
  • Criamos um arquivo com o nome de zeus, seguem abaixo as configurações que devem conter no arquivo.

zeus

$TTL    86400
; Start of Authority: início de autoridade @ IN SOA dns1.zeus.sj.ifsc.edu.br. admin.zeus.sj.ifsc.edu.br. ( 2009040100 ; Serial 1d ; Refresh 4h ; Retry 1w ; Expire 1d ) ; Negative Cache TTL ; ; Name Server: servidores DNS @ IN NS dns1 @ IN MX 0 mail ; ; Address: endereço dns1 IN A 200.135.37.111 mail IN A 200.135.37.111 www IN A 200.135.37.111 ; ; Canonical Name: "apelido" web IN CNAME www
  • É necessário criar o DNS reverso onde o nome é composto pelos 3 primeiros octetos de forma reversa e mais .in-addr.arpa seguem abaixo as configurações necessárias.

Ressalto que somente o servidor precisará configurar o DNS reverso.

37.135.200.in-addr.arpa

$TTL    86400
; Start of Authority: início de autoridade
@ IN SOA dns1.zeus.sj.ifsc.edu.br. admin.zeus.sj.ifsc.edu.br. (
2009062201 ; Serial
1d ; Refresh
4h ; Retry
1w ; Expire
1d ) ; Negative Cache TTL
;
; Name Server: servidores DNS
@ IN NS dns1.zeus.
;
; Address: endereço
111 IN PTR dns1.zeus.sj.ifsc.edu.br.
111 IN PTR mail.zeus.sj.ifsc.edu.br.
111 IN PTR www.zeus.sj.ifsc.edu.br

resolv.conf

  • Colocar o domínio utilizado.
domain zeus.sj.ifsc.edu.br
nameserver  127.0.0.1

Postifix

O Postfix é um agente de transferência de emails (MTA), um software livre para envio e entrega de emails. Rápido e fácil de administrar, é uma alternativa segura ao Sendmail, muito utilizado em servidores UNIX.

Configuração:

myhostname = mail.zeus.sj.ifsc.edu.br
mydomain = zeus.sj.ifsc.edu.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = zeus.sj.ifsc.edu.br
mydestination = zeus.sj.ifsc.edu.br, localhost.zeus.sj.ifsc.edu.br, localhost, mail.zeus.ifsc.edu.br
mynetworks = 127.0.0.1/32

SSH

O SSH (Secure SHell) é um protocolo que permite a você acessar virtualmente o servidor como se você estivesse em um terminal (no prompt do DOS, por exemplo). Se você preferir, considere como o SSH como um computador controlando outro computador.

Utilizado para acessar remotamente o servidor.

apt-get install sshd

Apache - Servidor Web

apt-get install apache2

Não é necessário configurar, somente incuir o site (páginas e imagens)no /var/www. Ressalto que o site precisa excluir o arquivo index.html que estará dentro do /var/www e renomear o site inicial para index, senão o por default aparecerá uma página em branco.

SMTP/IMAP - Servidor de e-mail

SMTP - padrão internacional utilizado para transfência de correspondências eletrônicas (email) entre computadores.

IMAP - protocolo padrão utilizado por leitores de email para ter acesso às mensagens que chegam ao servidor de email.

  • apt-get install -uw imapd
  • apt-get install postifix
  • apt-get install mailx


  • Configurado arquivo main.cf;
     myhostname = mail.zeus.sj.ifsc.edu.br
     mydomain = zeus.sj.ifsc.edu.br
     alias_maps = hash:/etc/aliases
     alias_database = hash:/etc/aliases
     myorigin = zeus.sj.ifsc.edu.br
     mydestination = zeus.sj.ifsc.edu.br, localhost.zeus.sj.ifsc.edu.br, localhost, mail.zeus.ifsc.edu.br
     relayhost =
     mynetworks = 127.0.0.1/32

SNMP

Utilizado para monitoração da rede a ferramenta Cacti. O Cacti recolhe dados referente a rede e mostra gráfico onde podemos observar a quantidade de memória utilizada, a utilização de partições, tráfego das interfaces, quantidade de processos que estão rodando entre outros. Para instalar o Cacti e o utilizamos os comandos abaixo.

  • apt-get install snmpd
  • apt-get install cacti


  • Configurado arquivo /etc/snmp/snmpd.conf;
      rocommunity zeus
      syslocation Laboratório de redes 1
      syscontact zeus@zeus.sj.ifsc.edu.br
      sysservices 72

Ressalto que não podemos esquecer de escolher uma comunidade e decreve-lá no campo "rocommunity", pois no Cacti será solicitado a comunidade que deve ser utilizada.

Acesso ao nosso Cacti http://www.zeus.sj.ifsc.edu.br/cacti

Radius

O radius é uma ferramenta utilizada para a autenticação de usuários seja na rede cabeada ou na rede sem fio. Pode ser utilizado com um banco de dados MySQL, para que o mesmo busque usuário e senha ou pode-se usar o arquivo de texto users da mesma forma determinando usuário e senha. Utilizaremos o arquivo de texto users devido a facilidade de implementar.

  • Baixando o pacote
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.6.tar.gz
  • Compilador e biblioteca
make
gcc 
g++
libssl-dev
  • Preparando a compilação
./configure --prefix=/usr/local freeradius-server2.1.6 --exe-prefix=/usr/local freeradius-server2.1.6 
  • Compilando
make
make install

Após isso é necessário a configuração de dois arquivos o clients.conf e o users

  • Clients.conf

Arquivo onde é cadastrado os equipamentos que irão se conectar a rede.

  • Users

Arquivo onde é cadastrado os usuários que podem se conectar a rede, é necessário determinar dentro do users o login e senha que será utilizado por cada usuário.

Segue abaixo a configuração de cada um desses arquivos.


  • Configurado arquivo clients.conf;
client proxy{
       ipaddr = 200.135.37.115
       secret = proxy
       nastype = other

}


  • Configurado arquivo users;
  • Formato utilizado para que possamos identificar e excluir os arquivos foi o seguinte.
  • O login e senha que estão abaixo serão os respectivos login e senha do usuário para que o mesmo possa se autenticar na rede cabeada ou sem fio.
  • O "X" é onde você deve identificar em qual VLAN cairá o usuário após a autenticação.
  • #2009-07-30 é a data de saída do hóspede
  • 22222222222 é a senha que deverá ser utilizada pelo usuário para a autenticação.
#2009-07-30 22222222222
login@zeus.sj.ifsc.edu.br Cleartext-Password :="senha"
       Tunnel-Type = "VLAN",
       Tunnel-Medium-Type = "IEEE-802",
       Tunnel-Private-Group-ID = "X"

zeus@zeus.sj.ifsc.edu.br        Cleartext-Password :="123"
        Tunnel-Type = "VLAN",
        Tunnel-Medium-Type = "IEEE-802",
        Tunnel-Private-Group-ID = "20"

Crontab

  • Utilizamos o crontab para agendarmos uma tarefa para realizar o checkout, todos os dias ao meio dia é executado um scrit onde é procurado todos os usuários onde a data de saída é igual a data de hoje, esses usuários são excluídos do users e do relatório de ocupação.

Utilizamos o comando sed –i, onde o mesmo localiza e exclui um determinado número de linhas a partir do parâmetro citado para a busca

Tafera Agendada

Utilizamos o seguinte parâmetro para agendar a tarefa para todos os dias as 12h o usuário root executar a tarefa. Os parâmetros são determinados dentro do arquivo crontab em /etc.

00 12   * * *   root    /etc/freeradius/cron

Script (Crontab)

Criamos um script para incluirmos no cron onde o mesmo irá verificar se a data do users (data de saída do hóspede) é igual a data de hoje, se for igual o comando sed -i irá excluir as 5 linhas do users e assim bloqueando o acesso daquele usuário, pois sem o cadastro no users não tem como o usuário autenticar. Segue abaixo o script.

#!/bin/bash
data=`date +%F`
sed -i /\#$data/,+5d /etc/freeradius/users

Iptables

Do Viva o Linux:

Firewall

O que é iptables/firewall

O Firewall é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua segura rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais).

Iptables

O iptables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar.


                bloqueia tudo

iptables -P INPUT DROP

               libera o minimo

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

              libera aplicativo TCP

iptables -A INPUT -p tcp –dport 22 –syn -j ACCEPT

                     http

iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT

             Liberar aplicativo UDP
      DHCP

iptables -A INPUT -p udp --dport 67 -j ACCEPT

radius (autenticacao via proxy = 200.135.37.115) iptables -A INPUT -p udp –dport 1812 -j ACCEPT

      NAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Programação para Redes de Computadores

PHP

Uma linguagem do lado do servidor é aquela que se executa no servidor web, justo antes da página ser enviada através da Internet ao cliente. As páginas que se executam no servidor podem realizar acessos a bases de dados, conexões em rede, e outras tarefas para criar a página final que será vista pelo cliente. O cliente somente recebe uma página com o código HTML resultante da execução da PHP. Como a página resultante contém unicamente código HTML, é compatível com todos os navegadores.

Segue abaixo o comando para instalar o PHP.

  • apt-get install php5

A página foi criada em HTML e PHP.

Banco de dados

Bancos de dados (ou bases de dados), são conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim.

Segue abaixo o comando para a instalação do banco de dados MySQL.

  • apt-get install mysql-server

Utilizamos o MySQL-Query-Browser


Segue abaixo o comando para a instalação do banco de dados MySQL-Query-Browser.

  • apt-get install mysql-query-server

O nosso banco de dados utiliza MySQL como linguagem.

Referências Bibliográficas

Apostilas

  • Linux Básico, Gerência, Segurança e Monitoramento de Redes - Odilson Tadeu Valle



Projeto Integrador - 2009.1