Mudanças entre as edições de "Projeto Integrador - 2009.1 - Equipe Zeus"
(→PHP) |
|||
(130 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; |
− | * Criado as VLANs para | + | * 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 = | = 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;''' | ||
+ | * '''Broadcast - 200.135.37.127;''' | ||
+ | * '''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;''' | ||
+ | * <tt>apt-get install dhcp3</tt> | ||
+ | |||
+ | 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== | ||
− | * | + | |
− | * | + | 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. | ||
+ | * <tt>apt-get install bind9</tt> | ||
+ | * Abrir o aquivo <tt>named.conf.local</tt>: | ||
Seguem abaixo as configurações necessárias que devem ser configuradas dentro do mesmo. | Seguem abaixo as configurações necessárias que devem ser configuradas dentro do mesmo. | ||
− | zone "zeus" { | + | ===named.conf.local=== |
+ | zone "zeus.sj.ifsc.edu.br" { | ||
type master; | type master; | ||
file "/etc/bind/zeus"; | file "/etc/bind/zeus"; | ||
Linha 32: | Linha 95: | ||
}; | }; | ||
+ | * Criamos um arquivo com o nome de zeus, seguem abaixo as configurações que devem conter no arquivo. | ||
− | + | ===zeus=== | |
− | |||
− | |||
$TTL 86400<br> | $TTL 86400<br> | ||
; Start of Authority: início de autoridade | ; Start of Authority: início de autoridade | ||
− | @ IN SOA dns1.zeus. admin.zeus. ( | + | @ IN SOA dns1.zeus.sj.ifsc.edu.br. admin.zeus.sj.ifsc.edu.br. ( |
2009040100 ; Serial | 2009040100 ; Serial | ||
1d ; Refresh | 1d ; Refresh | ||
Linha 57: | Linha 119: | ||
web IN CNAME www | web IN CNAME www | ||
− | + | * É necessário criar o DNS reverso onde o nome é composto pelos 3 primeiros octetos de forma reversa e mais <tt>.in-addr.arpa</tt> seguem abaixo as configurações necessárias. | |
+ | |||
'''Ressalto que somente o servidor precisará configurar o DNS reverso.''' | '''Ressalto que somente o servidor precisará configurar o DNS reverso.''' | ||
− | |||
=== 37.135.200.in-addr.arpa === | === 37.135.200.in-addr.arpa === | ||
$TTL 86400<br> | $TTL 86400<br> | ||
; Start of Authority: início de autoridade<br> | ; Start of Authority: início de autoridade<br> | ||
− | @ IN SOA dns1.zeus. admin.zeus. (<br> | + | @ IN SOA dns1.zeus.sj.ifsc.edu.br. admin.zeus.sj.ifsc.edu.br. (<br> |
2009062201 ; Serial<br> | 2009062201 ; Serial<br> | ||
1d ; Refresh<br> | 1d ; Refresh<br> | ||
Linha 75: | Linha 137: | ||
;<br> | ;<br> | ||
; Address: endereço<br> | ; Address: endereço<br> | ||
− | 111 IN PTR dns1.zeus.<br> | + | 111 IN PTR dns1.zeus.sj.ifsc.edu.br.<br> |
− | 111 IN PTR mail.zeus.<br> | + | 111 IN PTR mail.zeus.sj.ifsc.edu.br.<br> |
− | 111 | + | 111 IN PTR www.zeus.sj.ifsc.edu.br<br><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. | ||
+ | |||
+ | <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 postifix</tt> | * <tt>apt-get install postifix</tt> | ||
+ | * <tt>apt-get install mailx</tt> | ||
+ | |||
+ | |||
+ | * '''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 [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 cacti</tt> | ||
+ | |||
+ | |||
+ | |||
+ | * '''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 <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> | * <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= | ||
==Apostilas== | ==Apostilas== | ||
* Linux Básico, Gerência, Segurança e Monitoramento de Redes - Odilson Tadeu Valle | * Linux Básico, Gerência, Segurança e Monitoramento de Redes - Odilson Tadeu Valle | ||
+ | |||
+ | |||
+ | <hr><center><small>[[Projeto Integrador - 2009.1]]</small></center> |
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