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

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
(Iptables)
Linha 282: Linha 282:
  
 
==Iptables==
 
==Iptables==
 +
 +
 +
#!/bin/bash
 +
 +
 +
#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=
 
=Programação para Redes de Computadores=

Edição das 18h45min de 9 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

  • 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

  • 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

SSH

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

  • 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 zeus {
  nastype = other
  client = 192.168.1.230
  secret = senha
  shortname = usuario
}

client zeus {
  nastype = other
  cliente = 192.162.1.209
  secret = senha
  shortname = usuario
}


  • 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"

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

  1. !/bin/bash


  1. bloqueia tudo

iptables -P INPUT DROP

  1. libera o minimo

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

  1. libera aplicativo TCP

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

  1. http

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

  1. Liberar aplicativo UDP
  1. DHCP

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

  1. radius (autenticacao via proxy = 200.135.37.115)

iptables -A INPUT -p udp –dport 1812 -j ACCEPT

  1. NAT

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

Programação para Redes de Computadores

PHP

  • apt-get install php5

A página foi criada em HTML e PHP.

Banco de dados

  • apt-get install mysql-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