Mudanças entre as edições de "Projeto Integrador - 2009.1 - Equipe Zeus"
(→Radius) |
|||
(95 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
= Cabeamento Estruturado = | = 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 = | = 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); |
Linha 28: | Linha 31: | ||
= Gerência de Rede = | = Gerência de Rede = | ||
==Sistema Operacional== | ==Sistema Operacional== | ||
− | * | + | * Configurando o Servidor (GER); |
− | * | + | * Instalado o sistema operacional [http://www.ubuntu.com UBUNTU] versão 8.10. |
− | + | ||
+ | * '''''Configuração da eth0.''''' | ||
− | *'''IP do servidor: 200.135.37.111''' | + | * '''IP do servidor: 200.135.37.111;''' |
− | *'''Broadcast - 200.135.37.127''' | + | * '''Broadcast - 200.135.37.127;''' |
− | *'''Mascara - 255.255.255.192''' | + | * '''Mascara - 255.255.255.192;''' |
==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> |
subnet 10.2.1.0 netmask 255.255.255.0 { | subnet 10.2.1.0 netmask 255.255.255.0 { | ||
Linha 46: | Linha 55: | ||
option routers 10.2.1.1; | option routers 10.2.1.1; | ||
option domain-name-servers 200.135.37.111 | option domain-name-servers 200.135.37.111 | ||
− | } | + | } |
− | + | ||
subnet 10.2.2.0 netmask 255.255.255.0 { | subnet 10.2.2.0 netmask 255.255.255.0 { | ||
range 10.2.2.50 10.2.2.60; | range 10.2.2.50 10.2.2.60; | ||
Linha 54: | Linha 63: | ||
option routers 10.2.2.1; | option routers 10.2.2.1; | ||
option domain-name-servers 200.135.37.111; | option domain-name-servers 200.135.37.111; | ||
− | + | ||
− | } | + | } |
− | + | ||
subnet 10.2.10.0 netmask 255.255.255.0 { | subnet 10.2.10.0 netmask 255.255.255.0 { | ||
range 10.2.10.50 10.2.10.60; | range 10.2.10.50 10.2.10.60; | ||
Linha 63: | Linha 72: | ||
option routers 10.2.10.1; | option routers 10.2.10.1; | ||
option domain-name-servers 200.135.37.111; | 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. | * Configurado o DNS. | ||
* <tt>apt-get install bind9</tt> | * <tt>apt-get install bind9</tt> | ||
Linha 129: | Linha 141: | ||
111 IN PTR www.zeus.sj.ifsc.edu.br<br><br> | 111 IN PTR www.zeus.sj.ifsc.edu.br<br><br> | ||
− | ==SMTP/IMAP== | + | ===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. | ||
+ | |||
+ | <tt>apt-get install sshd</tt> | ||
+ | |||
+ | == Apache - Servidor Web== | ||
+ | |||
+ | <tt>apt-get install apache2</tt> | ||
+ | |||
+ | Não é necessário configurar, somente incuir o site (páginas e imagens)no <tt>/var/www</tt>. Ressalto que o site precisa excluir o arquivo index.html que estará dentro do <tt>/var/www</tt> 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. | ||
+ | |||
* <tt>apt-get install -uw imapd</tt> | * <tt>apt-get install -uw imapd</tt> | ||
* <tt>apt-get install postifix</tt> | * <tt>apt-get install postifix</tt> | ||
Linha 149: | Linha 201: | ||
Utilizado para monitoração da rede a ferramenta [http://www.zeus.sj.ifsc.edu.br/cacti Cacti]. | Utilizado para monitoração da rede a ferramenta [http://www.zeus.sj.ifsc.edu.br/cacti 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. | ||
* <tt>apt-get install snmpd</tt> | * <tt>apt-get install snmpd</tt> | ||
Linha 155: | Linha 208: | ||
− | * '''Configurado arquivo snmpd.conf'''; | + | * '''Configurado arquivo /etc/snmp/snmpd.conf'''; |
rocommunity zeus | rocommunity zeus | ||
Linha 161: | Linha 214: | ||
syscontact zeus@zeus.sj.ifsc.edu.br | syscontact zeus@zeus.sj.ifsc.edu.br | ||
sysservices 72 | 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 <tt>clients.conf</tt> e o <tt>users</tt> | ||
+ | |||
+ | *'''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 [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. '' | ||
+ | |||
+ | |||
+ | 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= | ||
==PHP== | ==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. | ||
+ | |||
* <tt>apt-get install php5</tt> | * <tt>apt-get install php5</tt> | ||
+ | |||
A página foi criada em HTML e [http://php.net PHP]. | A página foi criada em HTML e [http://php.net PHP]. | ||
== Banco de dados == | == 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. | |
− | + | * <tt>apt-get install mysql-server</tt> | |
− | |||
− | |||
− | * | ||
− | + | Utilizamos o MySQL-Query-Browser | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Segue abaixo o comando para a instalação do banco de dados MySQL-Query-Browser. | ||
− | * | + | * <tt>apt-get install mysql-query-server</tt> |
− | + | O nosso banco de dados utiliza MySQL como linguagem. | |
=Referências Bibliográficas= | =Referências Bibliográficas= |
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