Mudanças entre as edições de "Projeto Integrador - 2010.2 - Equipe Ritz"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 744: Linha 744:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
*
+
* Feito funcionar a webcan no software Zoneminder.
 +
 
 +
====BACKUP====
 +
 
 +
* Criado a script de Backup em /var/backup/backup.sh

Edição das 22h33min de 8 de dezembro de 2010

Dia: 22/11/2010 - 1º Dia

  • Apresentação do projeto pelo professor Ederson Torresini.
  • Criação do nome da equipe: Centro comercial Ritz.

Dia: 23/11/2010 - 2º Dia

Serviço final

  • 1º - ADSL para os usuários

* DSLAM (ADSL) 8 portas por equipe * DHCP - fornecimento de IP - DHCP com vlan * DNS - subdomínios,pacotes, conteúdo Web * Filtro de conteúdo (pacotes / conteúdos web)

  • 2º - Vigilância IP (web com usb)

* Webcam - captura e alguem envia para rede * ferramenta de streaming * sistema de controle de autenticação (PRC)

  • 3º - Segurança nos dados

* BACKUP * Filtro de Conteúdo/pacotes - para se proteger e proteger os outros * Redes separadas (VLAN): 1 admin + 1 por cada cliente ADSL

Dia: 24/11/2010 - 3º Dia

Configurações do Servidor

  • 80 GB de HD
  • 1 GB de Memória RAM
  • Processador: AMD Sempron 1.81 GHZ - 32 bits
  • Sistema Operacional: Ubuntu Linux Server 9.10


Particionamento do sistema

Partição     "Tamanho"    Tipo       Ponto de montagem
====================================================
/dev/sda1     40GB       EXT4            /
/dev/sda2     10GB       EXT4 		 /home
/dev/sda3     26GB       EXT4            /var
/dev/sda4      4GB       SWAP            swap

24112010020.jpg24112010047.jpg

Configurações de rede

Rede Externa:

IP:200.135.37.100         Mascara: 255.255.255.192 (/26)      Broadcast 200.135.37.127
Rede:200.135.37.64/26     1°IP valido: 200.135.37.65          Ultimo IP valido: 200.135.37.126 
Gateway:200.135.37.126

Cabeamento

  • Foi passado os cabos do Patch Panel do Armário Principal para o Armário Ritz.
  • Feitos os pontos de acesso (Tomadas).

Dia: 25/11/2010 - 4º Dia

Cabeamento

  • Definido padrão 685-B para todo o cabeamento da equipe Ritz;
  • Todos os cabos equipe Ritz categoria 5e;
  • Crimpados os conectores RJ-45 Machos em uma das pontas de cada ponto (chão, alto e parede), e fêmeas nas outras pontas;
  • Conectato o cabo principal do Patch Panel Equipe Ritz, ao patch panel a (equipe Celtics);

25112010050.jpg 25112010053.jpg

Equipamento

  • Recebemos o equipamento DSLAM que ficou disponível para estudo;

Dia: 29/11/2010 - 6º Dia

Cabeamento

  • Tivemos problemas nos testes do ponto no chão e do ponto no alto. O ponto de parede passou já no primeiro teste.
  • A porta 1 do patch panel inicialmente escolhida para ser a porta de ligação com o armário principal, também deve que ser substituída pela porta 10 pois apresentou problemas nos testes.
  • Substituímos os conectores RJ-45 fêmeas dos pontos e refizemos os conectores RJ-45 machos. Todos os pontos, e o patch panel então passaram no teste.
  • Fizemos então o acabamento (fixação do patch panel em definitivo no rack, encaixe dos conectores fêmeas nos suportes de chão e de parede, marcação das pontas dos cabos) e depois refizemos todos os testes.
  • Todos os pontos e a porta 10 do patch panel foram testados e aprovados.

29112010059.jpg 29112010065.jpg 29112010060.jpg 29112010067.jpg

Instalação dos softwares

DNS
  • Instalando o pacote DNS
# aptitude install bind9
  • Configurando interfaces - /etc/network/interfaces
auto lo
iface lo inet loopback
#auto eth0
#iface eth0 inet loopback

# The primary network interface
# Interface externa ip 200.135.37.100/26
auto eth0
iface eth0 inet static
       address 200.135.37.100
       netmask 255.255.255.192
      broadcast 200.135.37.127
       network 200.135.37.64
      gateway 200.135.37.126
        # dns-* options are implemented by the resolvconf package, if installed
       dns-nameservers 127.0.0.1 dns1.ritz.sj.ifsc.edu.br
       dns-search ritz.sj.ifsc.edu.br

# Clientes ADSL
auto vlan3030
iface vlan3030 inet static
   address 192.168.30.100
   netmask 255.255.255.0
   vlan_raw_device_ eth0

# Vlan para rede da Webcan  
auto vlan 3031
iface vlan3031 inet static
   address 192.168.31.100
   netmask 255.255.255.0
   vlan_raw_device_ eth0


  • Arquivo de configuração dos servidores DNS que o sistema utilizara, no caso é a própria maquina pois ela sera um servidor também DNS - /etc/resolv.conf
search ritz.sj.ifsc.edu.br
nameserver 127.0.0.1


  • Configuração DNS - /etc/bind/named.conf.options
options{
         //todas as interfaces de rede
         listen-on { any; };

        //qualquer um pode perguntar
        allow-query { any; };

        //Quem pode perguntar sobre meus dominios
        allow-query-cache { any; };

        //Sobre dominio de terceiros, loopback e rede ifsc
        allow-recursion { 127.0.0.0/8; 192.168.30.0/24; 192.168.31.0/24; };

};


  • Configurando informações de domínio e de seu domínio reverso que no nossa caso é respectivamente "ritz.sj.ifsc.edu.br' - /etc/bind/named.conf.local
//Configuracao de dominio

zone "ritz.sj.ifsc.edu.br" {
       type master;
       file "/etc/bind/ritz.sj.ifsc.edu.br";
};
  • Criando o arquivo "ritz.sj.ifsc.edu.br" dentro da pasta "bind" - /etc/bind/ritz.sj.ifsc.edu.br
; Configuracoes especificas para o dominio ritz.ifsc.edu.br
$TTL 86400
@        IN   SOA  dns1.ritz.sj.ifsc.edu.br.   admin.ritz.sj.ifsc.edu.br. (
        2010120201  ; serial
                1d  ; refresh
                1h  ; retry
                1w  ; expire
                1d  ; negative cache ttl
)
@       IN    NS     dns1
@       IN    A      200.135.37.100
@       IN    MX 0   mail.ritz.sj.ifsc.edu.br.
dns1    IN    A      200.135.37.100
ns1     IN    A      200.135.37.100
mail    IN    A      200.135.37.100
www     IN    A      200.135.37.100
smtp    IN    CNAME  mail.ritz.sj.ifsc.edu.br.
pop     IN    CNAME  mail.ritz.sj.ifsc.edu.br.
imap    IN    CNAME  mail.ritz.sj.ifsc.edu.br.
ssl     IN    CNAME  www.ritz.sj.ifsc.edu.br.
cacti   IN    CNAME  www.ritz.sj.ifsc.edu.br.

;prevencao contra SPAM usando pacote spf1
ritz.sj.ifsc.edu.br. IN TXT "v=spf1 mx -all"


  • Efetuando testes para a confirmação do funcionamento do DNS
# tail -f /var/log/daemon.log &  
# /etc/init.d/bind9 restart
# dig SOA ritz.sj.ifsc.edu.br

Dia: 30/11/2010 - 7º Dia

Cabeamento

  • Realizado testes de todos os patch panels e pontos de acesso dos armários das equipes com o armário principal;
  • Feito o cabo RJ45/RJ11 que fará a ligação do ponto de acesso com o modem ADSL.

NTP

  • Realizando a Instalação do pacote NTP
root@Ritz:~# aptitude install ntp
  • Configurado o arquivo /etc/ntp.conf para sincronizar o horário
#Linhas adicionadas para que o ntpd sincronize o horario com os servidores abaixo
#servidor da rnp
server ntp.cais.rnp.br
#servidor "a" do observatorio nacional
server a.ntp.br
#servidor "b" do observatorio nacional
server b.ntp.br
#Restringe o acesso ao servidor ntp apenas a dispositivos da rede local
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.200.0 mask 255.255.255.0 nomodify notrap
  • Sincronizando o horário
ntpdate ntp.cais.rnp.br
  • Adicionando na /etc/crontab, para sincronizar o horário várias vezes por dia, sem ter alguém para fazer esse trabalho.
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*  7    * * *   root    ntpdate -s ntp.cais.rnp.br
*  15   * * *   root    ntpdate -s ntp.cais.rnp.br
*  23   * * *   root    ntpdate -s ntp.cais.rnp.br

DHCP

  • Realizando a Instalação do pacote DHCP
root@Ritz:~# aptitude install dhcp3
  • Configurando o arquivo etc/dhcp3/dhcpd.conf
#Integração com os outros serviços
#
# Atualizar alguma informação com origem no DNS? Nenhuma (none).
ddns-update-style none;
#
# O 'log' das atividades do servidor serão registradas pela 'facility' local7 - arquivo /var/log/sys
log
log-facility local7;

# Rede interna:  192.168.100.0/24
subnet 192.168.30.0 netmask 255.255.255.0 {
   #
   # Faixa de IPs disponíveis
   range 192.168.30.1 192.168.30.100;
   #
   # Máscara de rede
   option subnet-mask 255.255.255.0;
   #
   #
   # Rotas
   option routers 192.168.30.100;
   #
   # Servidores e domínios DNS
   option domain-name-servers 192.168.30.100;
   option domain-name "ritz.sj.ifsc.edu.br";

    default-lease-time 3600;
   max-lease-time 14400;

SNMP

  • Realizando a Instalação do pacote SNMP
root@Ritz:~# aptitude install snmpd
  • Configurando o arquivo /etc/snmp/snmpd.conf
rocommunity ritz
syslocation ritz-TI
syscontact root@ritz.sj.ifsc.edu.br
sysservices 72


Contabilização

CACTI

Cacti.JPG

  • Baixando o programa cacti
cd /usr/local/src
wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
  • Instalando apache2, php5 e mysql-server
aptitude install apache2 php5 mysql-server
  • Instalando pacote para guardar dados de gráfico em texto
aptitude install rrdtool
  • Descompactando o pacote do cacti
cd /var/www
tar xzf /usr/local/src/cacti-0.8.7g.tar.gz
mv cacti-0.8.7g /cacti
  • Reiniciando apache2 para validar as configurações
/etc/init.d/apache2 restart
  • Instalando php5-mysql e php5-cli
aptitude install php5-mysql php5-cli
  • Entrando no banco de dados e Listando as bases
mysql -uroot -p 
mysql> show databases;
  • Criando a base do cacti e aplicando privilégio total
mysql> create database cacti;
mysql> grant all privileges on cacti.* to 'cactiadmin'@localhost identified by '********';
mysql> flush privileges;
mysql> quit;
  • Configurado login e senha para acesso a base cacti
cd /var/www/cacti
vi include/config.php
(alterar na linha 29 e 30)
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiadmin";
$database_password = "*******";
$database_port = "3306";
  • Adicionando na /etc/crontab
*/5 *   * * *   www-data php /var/www/cacti/poller.php > /dev/null 2>&1
  • Aplicando total permissão aos arquivos de log.
root@Ritz:/var/log/cacti# chmod 777 rrd.log
root@Ritz:/var/log/cacti# chmod 777 cacti.log
root@Ritz:/var/log/cacti# chmod 777 poller-error.log

Cacti11.JPG Cacti2.JPG

NTOP

Ntop.JPG

  • Instalando o pacote
root@Ritz:/var/www# aptitude install ntop
  • Atribuindo senha para o administrador
root@Ritz:/var/www# ntop -A
  • Rode ntop no servidor e abre um browser com o ip-do-servidor:3000.

Ntop1.JPG Ntop2.JPG Ntop3.JPG Ntop4.JPGNtop5.JPG

Dia: 01/12/2010 - 8º Dia

Servidor

- Configurado o IP externo 200.135.37.100, para acesso remoto e fixado o servidor no RAK.

- Testado o DNS e configurado com o IP externo.

root@Ritz:/home/ritz# /etc/init.d/bind9 restart
 * Stopping domain name service... bind9   [ OK ]
 * Starting domain name service... bind9   [ OK ]

Dia: 02/12/2010 - 9º Dia

TAREFAS sugeridas pelo Professor Marcelo Sobral.

1) Ativar o link sem-fio (modo ad hoc) - Pensar em como passar a informaação sobre Vlans através do link.

2) Configurar as vlans nos switchs, para estruturar as LANs (as mesas, servidores/dsl)

3) Ativar os links DSL - Decifrar DSL LAN.

DSLAN

- Aberto máquina virtual windows, no qual foi baixado o EMS para gerenciar o DSLAN. - Executado o EMSClient (Menu Iniciar -> Todos os Programas -> EMS Client), e fornecido o IP 192.168.1.101, com usuário root e senha admin123. - Conseguimos abrir a interface do DSLAN e com a ajuda do manual estamos tentando configura-lo.

Captura de tela-1.jpg Captura de tela-2.jpg Dslan.jpg


RADIUS

  • Baixando pacote
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.6.tar.gz

Dia: 03/12/2010 - 10º Dia

  • Feito o cabo de interligação do patch panel com o dslan. (cabo manga)

DSC00457.JPGDSC00444.JPG DSC00451.JPGDSC00460.JPG

MYSQL

  • Baixando pacote
ritz@Ritz:~$ aptitude install mysql
  • Logando no banco de dados
ritz@Ritz:~$ mysql -u root -p
  • Criando a base de dados ritz
mysql> create database ritz;
  • Listando as bases criadas
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti              |
| mysql              |
| ritz               |
+--------------------+
4 rows in set (0,00 sec)
  • Usando a base de dados ritz
mysql> use ritz;
  • Criando a tabela administrador, com os dados de quem irá administrar a rede, tanto login e senha para entrar na interface gráfica.
mysql> create table administrador (cID INTEGER NOT NULL AUTO_INCREMENT, cNOME VARCHAR(40),
cTELEFONE VARCHAR (20), cLOGIN VARCHAR(40), cSENHA VARCHAR(40), PRIMARY KEY (cID));
  • Verificando as informações na tabela administrador
mysql> desc administrador;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| cID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| cNOME     | varchar(40) | YES  |     | NULL    |                |
| cTELEFONE | varchar(20) | YES  |     | NULL    |                |
| cLOGIN    | varchar(40) | YES  |     | NULL    |                |
| cSENHA    | varchar(40) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
  • Inserindo dados na tabela administrador
mysql> INSERT into administrador (cNOME, cTELEFONE, cLOGIN, cSENHA) VALUES ('Andreia Bunn', '4884588453', 'administrador', 'projetoritz');
  • Selecionando a tabela adminsitrador, para verificar os dados cadastrados
mysql>  SELECT * FROM administrador;
+-----+--------------+------------+---------------+-------------+
| cID | cNOME        | cTELEFONE  | cLOGIN        | cSENHA      |
+-----+--------------+------------+---------------+-------------+
|   1 | Andreia Bunn | ********** | administrador | *********** |
+-----+--------------+------------+---------------+-------------+
  • Saindo do Banco de Dados
mysql> quit


  • Para alterar informações no banco. Ex: alterar a senha na tela administrador de projetoritz para projeto integrador, no qual está associado ao nome Andreia Bunn.
mysql> update admninistrador set cSENHA='projetointegrador' WHERE cNOME='Andreia Bunn';
  • Criando a tabela usuários para cadastrados os usuários ADSL.
mysql> create table usuarios (cID INTEGER NOT NULL AUTO_INCREMENT,cNome VARCHAR(40),
 cEmail VARCHAR(50), cTelefone VARCHAR(20), cUsuario VARCHAR(20), cSenha VARCHAR(20), PRIMARY KEY (cID));
  • Verificando as informações na tabela usuarios
mysql> desc usuarios;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| cID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| cNome     | varchar(40) | YES  |     | NULL    |                |
| cEmail    | varchar(50) | YES  |     | NULL    |                |
| cTelefone | varchar(20) | YES  |     | NULL    |                |
| cUsuario  | varchar(20) | YES  |     | NULL    |                |
| cSenha    | varchar(20) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
  • Inserindo dados na tabela usuarios
mysql> INSERT into usuarios (cNome, cEmail, cTelefone, cUsuario, cSenha)
 VALUES ('Andreia', 'andreia_bunn@hotmail.com', '4884588453', 'andreiabunn', 'andreia');
  • Selecionando a tabela usuarios, para verificar os dados cadastrados
mysql> SELECT * FROM usuarios;
+-----+---------+--------------------------+------------+-------------+---------+
| cID | cNome   | cEmail                   | cTelefone  | cUsuario    | cSenha  |
+-----+---------+--------------------------+------------+-------------+---------+
|   1 | Andreia | andreia_bunn@hotmail.com | ********** | andreiabunn |******** |
+-----+---------+--------------------------+------------+-------------+---------+


SQUID

SquidLogo.01.jpg.

  • É um servidor proxy que suporta HTTP, HTTPS, FTP e outros.[1] Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições freqüentes de páginas web numa rede de computadores. Ele pode também ser usado como um proxy reverso.
  • Instalando o pacote
root@Ritz:/var/www# aptitude install squid3
  • Editando o principal arquivo de configuração /etc/squid3/squid.conf
Na linha http_port 3128, substituir por http_port 3128 transparent. Adicionar visible_hostname www.ritz.sj.ifsc.edu.br. As demais configurações não seram modificadas.

DANSGUARDIAN

Dansguardian logo.jpg

  • O DansGuardian é um filtro de conteúdo desenvolvido para trabalhar em conjunto com o Squid, filtrando conteúdo indesejado. Utiliza um filtro adaptativo, que avalia o conteúdo da página e decide se ela é uma página imprópria com base no conteúdo, utilizando um conjunto de regras adaptativas. Ele inclui um conjunto de regras prontas, que contém palavras, frases e tipos de arquivos freqüentemente usados em páginas impróprias, além de uma lista de páginas conhecidas e trabalha cruzando todas essas informações.
  • Instalando o pacote
root@Ritz:/var/www# aptitude install dansguardian
  • Editando o arquivo /etc/dansguardian/dansguardian.conf. Comentar a linha:
#UNCONFIGURED
  • Alterar para português Brasil:
language = 'ptbrazilian'

FIREWALL

  • Instalando o pacote
root@Ritz:/var/www# aptitude install iptables
  • Scritp para NAT e redirecionamento de portas /etc/init.d/firewall
#!/bin/bash

#Politica Padrão: bloqueado, exceto o contrário
iptables -t filter -P INPUT        DROP
iptables -t filter -P FORWARD      ACCEPT
iptables -t filter -P OUTPUT       ACCEPT
iptables -t nat    -P PREROUTING   ACCEPT
iptables -t nat    -P POSTROUTING  ACCEPT
iptalbes -t nat    -P OUTPUT       ACCEPT

# Interfaces
IFACE_INTERNA="eth1"
IFACE_EXTERNA="eth0"

# Habilita syncookies (evita que um grande numero de pacotes SYN, estourem o limite de 

conexões)
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
 
# NAT
iptables -t nat -A POSTROUTING -o ${IFACE_EXTERNA} -j MASQUERADE

# Redirecionamento para o Analisador de Conteúdo Dansguardian
iptables -t nat -A PREROUTING -i ${IFACE_INTERNA} -p tcp --dport 80 \
-j REDIRECT --to-port 8080

#limita resposta a "ping"
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
 
# Bloqueia pacotes invalidos
iptables -A INPUT -m state --state INVALID -j DROP
 
# Filtro de pacotes: saida de pacotes
iptables -A INPUT -m stats --stats RELATED,ESTABLISHED -j ACCEPT
# Filtro de pacotes: entrada de pacotes
iptables -A INPUT -P tcp --dport 22 -j ACCEPT
exit 0
  • Ativando o roteamento para o NAT: Abrir o arquivo/etc/sysctl.conf: Descomentar a linha 25
net.ipv4.ip_forward=1
  • Concecendo permissão de leitura, escrita e execução ao arquivo firewall
root@Ritz:/etc/init.d# chmod 777 firewall
  • Iniciar script junto com o sistema
update-rc.d firewall start 01 2 3 4 5

MONITORAÇÃO

  • Criado a script de monitoramente dos processos DNS, HTTP e testes de máquina em /etc/init.d/monitoramento.sh
#!/bin/bash

ALVO="200.135.37.100"
MENSAGEM="/tmp/.mensagem"

# Declaração de função: teste de DNS
dns()
{
    if [ `dig @${ALVO} a ritz.sj.ifsc.edu.br | \
          grep -q "no servers could be reached"` ]
    then
        echo "DNS fora do ar." >> ${MENSAGEM}
    fi
}
# Declaração de função: teste de HTTP
http()
{
    TMP="/tmp/.http"
    wget http://${ALVO}/ -O /dev/null > /dev/null 2> ${TMP}
    if [ "`grep -q recusada ${TMP} && echo $?`" = "0" ]
    then
        echo "HTTP fora do ar." >> ${MENSAGEM}
    fi    
}

# Programa principal: teste da máquina
cat /dev/null > ${MENSAGEM}
RESULTADO=`ping ${ALVO} -c 1 | grep transmitted | cut -d \  -f 4`
if [ "${RESULTADO}" = "1" ]
then
    # Teste dos serviços
    dns
    http
else
    echo "Servidor fora do ar." >> ${MENSAGEM}
fi

if [ -s ${MENSAGEM} ]
then
    cat ${MENSAGEM} | mail -s “Problemas” \
root@ritz.sj.ifsc.edu.br
fi


  • Concecida permissão de leituta, escrita e execução ao arquivo monitoramento.sh
root@Ritz:/etc/init.d# chmod 777 monitoramento.sh

Dia: 06/12/2010 - 11º Dia

  • Realizando configurações da camada de aplicação com integridade com o banco de dados mysql.
  • Pesquisando sobre streaming.


Dia: 07/12/2010 - 12º Dia

  • Pesquisado sobre o Software Zoneminder de gerenciamento de câmeras via rede.
  • Testado a parte de sessões na camada de aplicação e a parte de autenticação de usuários.
  • Indicação do professor Emerson: wiki.freeradius.org/HOWTO

Dia: 08/12/2010 - 13º Dia

  • Configurado portas e criado a VLAN 3030 no DSLAN
OPERADORA: brasil telecom
VPI: 0
VCI:35
  • Feito funcionar a webcan no software Zoneminder.

BACKUP

  • Criado a script de Backup em /var/backup/backup.sh