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 1 310: Linha 1 310:
 
?>
 
?>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
* alterar.php
 
<syntaxhighlight lang=lang="html4strict">
 
 
 
</syntaxhighlight>
 
* alterar.php
 
<syntaxhighlight lang=lang="html4strict">
 
 
 
</syntaxhighlight>
 
 
  
 
* excluir.php
 
* excluir.php

Edição das 22h35min de 15 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

Equipamentos

  • MODEM D-LINK 500B
  • DSLAN - DAS3324
  • Placa wifi ATHEROS comunication AR500IXplus

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

RACK PRINCIPAL:

-Path painel do DSLAM

PORTA 1 corresponde a porta 24 no DSLAM PORTA 2 corresponde a porta 22 no DSLAM PORTA 3 corresponde a porta 20 no DSLAM PORTA 4 corresponde a porta 18 no DSLAM

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


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 |******** |
+-----+---------+--------------------------+------------+-------------+---------+


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ã bloqueado, exceto o contráo
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
iptables -t nat    -P OUTPUT       ACCEPT

iptables -t filter -F
iptables -t nat -F

# Filtro de pacotes: saida de pacotes
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#Filtro de pacotes: entrada de pacotes
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -p udp --dport 1813 -j ACCEPT


exit 0


  • Concecendo permissão de leitura, escrita e execução ao arquivo firewall
root@Ritz:/etc/init.d# chmod 777 firewall
  • Criando link para script iniciar com o sistema
root@Ritz:/etc/init.d# ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall

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.txt"
DIA=`date  +%d-%m-%Y-%H-%M`

#dns
    if [ `dig @${ALVO} a ritz.sj.ifsc.edu.br | \
          grep -q "no servers could be reached"` ]
    then
        echo "DNS fora do ar em $DIA" >> ${MENSAGEM};
        /etc/init.d/bind9 start
    fi

#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 em $DIA" >> ${MENSAGEM};
        /etc/init.d/apache2 start
    fi

#ntp
    processo=`ps -ef | grep ntp | wc -l`
echo $processo
    if [ $processo -ne 1 ]
    then
        echo "NTP fora do ar em $DIA." >> ${MENSAGEM};
    /etc/init.d/ntp start
    fi

#ssh
    processo=`ps -ef | grep /usr/sbin/sshd | wc -l`
    if [ $processo -ne 1 ]
    then
        echo "SSH fora do ar em $DIA." >> ${MENSAGEM};
        /etc/init.d/ssh start
    fi

#freeradius
    processo=`ps -ef | grep freeradius | wc -l`
    if [ $processo -ne 1 ]
    then
       echo "FREERADIUS fora do ar em $DIA." >> ${MENSAGEM};
	 /etc/init.d/freeradius start
    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.
  • Desinstalado o Dansguardian, pois o mesmo utiliza a porta 8080 e o zoneminder também.

BACKUP

  • Criado a script de Backup em /var/backup/backup.sh
#!/bin/bash

ORIGEM="/etc /home /var"
DESTINO="/var/backup"
DIA=`date  +%d-%m-%Y-%H-%M`
DIA_DA_SEMANA=`date +%A`
EMAIL='andreia_bunn@hotmail.com'

# Criar o diretório de destino
mkdir -p ${DESTINO}
chmod 700 ${DESTINO}
chown root ${DESTINO}

# Função: backup completo
completo()
{
        tar cvzf ${DESTINO}/${DIA}.tar.gz ${ORIGEM} \
        2> /dev/null
        echo "Completo ; $DIA ; $ORIGEM ; $DIA_DA_SEMANA" >> /var/backup/relatorios/relatorio.txt
}

# Função: backup incremental (somente último dia)
incremental()
{
        tar cvzf ${DESTINO}/${DIA}.tar.gz `find ${ORIGEM} ! -type d -mtime -1` \
        2> /dev/null
        echo "Incremental ; $DIA ; $ORIGEM ; $DIA_DA_SEMANA" >> /var/backup/relatorios/relatorio.txt
}

# Função principa
if [ "${DIA_DA_SEMANA}" = "sunday" -o "${DIA_DA_SEMANA}" = "domingo" ]
then
        completo
else
        incremental
fi
#mysqldump -uroot -proot --all-databases > ${DESTINO}/${DIA}.sql
#cat ${DESTINO}/${DIA}.txt | mail -s "[Backup]: ${DIA}" ${EMAIL}
find ${DESTINO} -type f -mtime +7 -exec rm -f {} \;
exit 0

RADIUS

  • Baixando pacote
root@Ritz:~# aptitude install freeradius
  • Configurando o arquivo /etc/freeradius/radiusd.conf
Descomentar as linhas que aparece "authorize" e "accounting".

* Configurando o arquivo '''/etc/freeradius/sql.conf'''
<syntaxhighlight lang=lang="html4strict">
Nas linhas abaixo, coloque os dados do banco de dados.
server = "localhost"
login = "root"
password = "******"
  • Configurando o arquivo /etc/freeradius/clients.conf
cliente dslan {
secret= projetoritz
shortname=ritz
nastype = other
}
  • No banco de dados, criando a base de dados radius.
mysql> create database radius;
  • Verificando a tabela criada
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti              |
| mysql              |
| radius             |
| ritz               |
| zm                 |
+--------------------+
6 rows in set (0,00 sec)
  • Dando total permisão a base radius e definindo identificação
root@Ritz:~# GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "ritz";
  • Adicionando tabelas na base radius
root@Ritz:~# mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
  • Usando a base radius
mysql> use radius;
  • Tabelas criadas na base radius
mysql> show tables;
+------------------+
| Tables_in_radius |
+------------------+
| radacct          |
| radcheck         |
| radgroupcheck    |
| radgroupreply    |
| radpostauth      |
| radreply         |
| radusergroup     |
+------------------+
7 rows in set (0,00 sec)
  • Inserindo usuário na tabela radcheck
mysql> INSERT INTO radcheck (UserName, Attribute, op, Value) VALUES ('andreia', 'Cleartext-Password', ':=', 'teste');
  • Litando usuários
mysql> select * from radcheck;
+----+----------+--------------------+----+-------+
| id | username | attribute          | op | value |
+----+----------+--------------------+----+-------+
|  1 | andreia  | Cleartext-Password | := | teste |
+----+----------+--------------------+----+-------+
1 row in set (0,00 sec)
  • Configurando conexão com banco de dados no arquivo /etc/freeradius/sql.conf
sql {
        database = "mysql"
        driver = "rlm_sql_${database}"

        # Connection info:
        server = "localhost"
        login = "root"
        password = "projetoritz"

        radius_db = "radius"


        # Allow for storing data after authentication
        postauth_table = "radpostauth"

        authcheck_table = "radcheck"
        authreply_table = "radreply"

        groupcheck_table = "radgroupcheck"
        groupreply_table = "radgroupreply"
  • Adicionado no final do arquivo /etc/freeradius/radiusd.conf
  • Autoriza a seção
  authorize {
          preprocess
          chap
          mschap
          suffix
          eap
          sql
          pap
}
  • Armazena registros contáveis
accounting {
          detail
          sql
 }
  • Verificando integridade das configurações realizadas
freeradius -X
  • Testando usuário
radtest andreia teste 1812 testing123

Dia: 14/12/2010

Aplicação

  • index.php
<?
        session_start();
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<TITLE> Centro Comercial Ritz </TITLE>
</HEAD>

<frameset rows="130,*" border="2" bordercolor="black" scrolling="no">

<frame src="topo1.php" name="top" scrolling="NO" noresize>
<?
        if (!isset($_SESSION['usuario'])){
?>
<frame src="administrador.php" name="administrador">

<?
        }else{
?>
<frame src="index1.php" name="index1">
<?
}

?>
</frameset>

</HTML>
  • administrador.php
<?
        session_start();
?>
<HTML>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<BODY background="fundo.jpg" >
<br>
<br>
<br>
<br>

<font face="tahoma">

<center><h2> Administração de Usuários</h2></center>

<br>

<form name="administrador.php" method="post" action="outra.php"

<p><b> <center>Usuário:</b> <input type="text" name="usuario"></p>

<p><b>Senha: </b><input type="password" name="senha"></p>

<input type="submit" name"botao" value="Entrar"></center>

</form>
</BODY>
</font>
</html>
  • index1.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<HTML>
  <HEAD>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<TITLE> Centro Comercial Ritz </TITLE>

</HEAD>


<frameset cols="200,*" border="2" bordercolor="black" scrolling="no">
<frame src="menu.php" name="menu">
<frame src="principal.php" name="principal">




</frameset>
</HTML>
<?
        }else{
                header("Location:index.php");
}
?>
  • topo.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<html>
<body background="logo3.jpg">
<div align="center">
</body>
</html>
<?
        }else{
                header("Location:index.php");
}
?>
  • menu.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<HTML>
<HEAD><title>Centro Comercial Ritz </TITLE></HEAD>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<BODY background="fundo.jpg" >
<p>
<a href="principal.php" target="principal"><p align="center"><img src="logotipo.jpg" border="0"></a></li>
<b>
<a href="sair.php" target="new"><p align="center"><img src="sair.jpg"></a></li>
<link="#FF0000" alink="#FF0000" vlink="#FF0000" align="center" border="3" bordercolor="black" width="200" height="200"><cellpadding"9" border="5"><cellspacing="9" border="4"><cell content="10" border="5">
<TR>
<br>
<TD link="#FF0000" alink="#FF0000" vlink="#FF0000" align="center"><font face="tahoma"><a href="cadastro.php" target="principal"> Usuarios </font></TD>
<br>
</TR>
<br>
<TD align="center"><font face="tahoma"><a href="http://ritz.sj.ifsc.edu.br:8080/?action=stream" target="new"> Cameras de Monitoramento</font></TD>
</TR><br>
<br>
<TD align="center"><font face="tahoma"><a href="backup.php" target="principal"> Backup</font></TD>
</TR><br>
<br>
<TD align="center"><font face="tahoma"><a href="seguranca.php" target="principal"> Monitoramento </font></TD>
</TR>
<br>
<br>
<TD align="center"><font face="tahoma"><a href="administrador1.php" target="principal"> Administrador</font></TD>
</TR>
<br>
</b>
</BODY>
</HTML>
<?
                }else{
                header("Location:index.php");
}
?>
  • principal.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<HTML>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <HEAD><TITLE>Centro Comercial Ritz </TITLE></HEAD>
 <BODY background="fundo.jpg" >
<br>
<br>
<center><img src="predio.jpg" ></center>

 <br>
<b>
 <p align="center"><font face="tahoma">
 ritz.sj.ifsc.edu.br

</b>

</body>



</HTML>
<?
        }else{
                header("Location:index.php");
}
?>
  • adicionar.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<BODY background="fundo.jpg" >
<font face="tahoma">
<br>
<center><h2> Autenticação de Usuários</h2></center>
<br>

<TABLE link="003399" alink="9966cc" vlink="6600FF" align="center" border="0" bordercolor="black" width="120" height="120"><cellpadding"9" border="0"><cellspacing="9" border="0"><cell content="10" border="0">
<form name="adicionar.php" method="post" action="outra1.php"
<TR>
<TD align="center"><p><b> Usuários:</b> <input type="text" name="usuario"></p></TD>
</TR>
<TR>
 <TD align="center"><p><b>Senha: </b><input type="password" name="senha"></p></TD>
</TR>
<TR>
<TD align="center"></b><input type="submit" name"botao" value="Enviar Dados"></TD>
</TR>
</form>
</table>
</BODY>
</font>
</html>
<?
        }else{
                header("Location:index.php");
}
?>


  • alterar.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<?
$codigo = $_GET['id'];
?>
<html>
<font face="tahoma">
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<BODY background="fundo.jpg" >
<p><b><center> <h2>
<?
echo "Alterando informações do Usuário " . $usuario;
?>
</b></center></h2>
<br>
<br>
<form name="alterar.php" method="post" action="mudarsenha.php">
<center><b>
Digite a nova senha:<br> <input type="password" name="senha"><br>
<br>
Confirme a nova senha:<br> <input type="password" name="nsenha"><br>
<input type="submit" name"botao" value="Enviar">
<input name="codigo" value="<?echo $codigo;?>" type="hidden">
</center></b>
</form>
</font>
</html>
<?
        }else{
                header("Location:index.php");
}
?>


  • backup.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<html>
<font face="tahoma">
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<BODY background="fundo.jpg" >
<center><h2><b><br>
BACKUPS REALIZADOS
<br>
<br>
TIPO     |     DATA/HORA    |    DIRETORIOS     |     DIA DA SEMANA
<br>
<?
$tipo= "/var/backup/relatorios/relatorio.txt";
$tipo1= fopen($tipo, "rb");
$tipo2= fread($tipo1, filesize($tipo));

echo $tipo2;


fclose($tipo1);

?>



</center>

</font>
</html>
<?
        }else{
                header("Location:index.php");
}
?>


  • cadastro.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<BODY background="fundo.jpg" >
 <br>
<br>
<br>
<br>
<font face="tahoma">

<center><h2> Bem Vindo ao ambiente dos Usuários ADSL</h2>
<b>
<TD link="#FF0000" alink="#FF0000" vlink="#FF0000" align="center"><font face="tahoma"><a href="adicionar.php" target="principal">  Adicionar Usuários</font></TD>
<br>
</TR>
<br>

<TD link="#FF0000" alink="#FF0000" vlink="#FF0000" align="center"><font face="tahoma"><a href="listar.php" target="principal"> Lista dos Usuários Cadastrados</font></TD>
<br>
</TR>
<br>
<b>
</center>
</BODY>

</html>
<?
        }else{
                header("Location:index.php");
}
?>


  • administrador1.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<html>
<BODY background="fundo.jpg" >
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<font face="tahoma">
<br>
<center><h2> Autenticação dos Administradores do Sistema</h2></center>
<br>

<TABLE link="003399" alink="9966cc" vlink="6600FF" align="center" border="0" bordercolor="black" width="120" height="120"><cellpadding"9" border="0"><cellspacing="9" border="0"><cell content="10" border="0">
<form name="administrador1.php" method="post" action="outra2.php"
<TR>
<TD align="center"><p><b> Nome:</b> <input type="text" name="nome"></p></TD>
</TR>
<TR>
<TD align="center"><p><b>Telefone: </b><input type="text" name="telefone"></p></TD>
</TR>
<TR>
<TD align="center"><p><b> Login:</b> <input type="text" name="usuario"></p></TD>
</TR>
<TR>
 <TD align="center"><p><b>Senha: </b><input type="password" name="senha"></p></TD>
</TR>
<TR>
<TD align="center"></b><input type="submit" name"botao" value="Enviar Dados"></TD>
</TR>
</form>
</table>
</BODY>
</font>
</html>
<?
        }else{
                header("Location:index.php");
}
?>
  • excluir.php
<?
        session_start();
        if (!isset($_SESSION['usuario'])){
?>
<HTML>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<BODY background="fundo.jpg" >

<font face="tahoma">
<center>
<br>
<h1>Desculpe!</h1>
<hr>
<b>
<p>Login incorreto</p></b>
<a href="administrador.php"> Voltar </a>
</center>
</body>
</html>
<?
        }else{
                 header("Location:index.php");
}
?>
  • index1.php
<?
        session_start();
        if (isset($_SESSION['usuario'])){
?>
<HTML>
  <HEAD>
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
<TITLE> Centro Comercial Ritz </TITLE>

</HEAD>


<frameset cols="200,*" border="2" bordercolor="black" scrolling="no">
<frame src="menu.php" name="menu">
<frame src="principal.php" name="principal">




</frameset>
</HTML>
<?
        }else{
                header("Location:index.php");
}
?>

Dia: 15/12/2010

Protocolos utilizados na camada de enlace

  • PPPoE - Utilizado na comunicação entre a estação cliente e o DSLAN.
  • IEEE 802.11 modo ad hoc - Utilizado na rede sem fio para fazer a comunicação entre os laboratórios. Rede ad hoc.
  • Ethernet - Utilizado na rede do laboratório redes I.