Projeto Integrador - 2009.2 - Equipe MLW Networks

De MediaWiki do Campus São José
Revisão de 14h12min de 11 de dezembro de 2009 por Mlw networks (discussão | contribs)
Ir para navegação Ir para pesquisar

Dados importantes

Nome da quipe: MLW Networks;
Usuário do Wiki: mlw networks;
Nome da maquina servidor: Maverick;
Usuário do servidor: mlw;
Acessar via ssh: ssh mlw@200.135.37.112 -p (número da porta);
Faixa de IPs internos da nossa equipe: 172.22.0.0;

Primeiras configurações do servidor

Configuração da BIOS:

BIOS, em computação Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como Basic Integrated Operating System (Sistema Operacional Básico Integrado) ou Built In Operating System (Sistema Operacional Interno). O BIOS é um programa de computador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional. Fonte:Wikipédia
Power
 Power UP Control
  AC Power Loss Restart
   [enable]
Main
 All, but keybord

Especificações do servidor:

1 Gb de memória RAM;
40 Gb de HD;

Instalação do servidor:

Ubuntu Servidor 9.04;
 Partições:
  /        -  5 Gb    -  Primária
  Swap     -  3,5 Gb  -  Primária
  /tmp     -  5Gb     -  Lógica
  /var     -  10Gb    -  Lógica
  /backup  -  10Gb    -  Lógica
  /home    -  6,5Gb   -  Lógica


Interligação de disciplinas

<graphviz> digraph PI { CAB -> IER IER -> GAR GAR -> PRC IER -> PRC } </graphviz>


Cabeamento Estruturado

Escolha da cor dos cabos na nossa equipe: VERDE

Interligação do servidor com os switchs

<graphviz> digraph PI { "ETH3 200.135.37.112" -> SERVIDOR "ETH2 192.168.1.118" -> SERVIDOR "ETH3 200.135.37.112" -> "Porta EC3 do patch panel" "Porta EC3 do patch panel" -> "Porta 1 Switch 3COM" "ETH2 192.168.1.118" -> "Porta ED1 do patch panel" "Porta ED1 do patch panel" -> "Porta 6 Switch DLINK Redes1" "Porta 6 Switch DLINK Redes1" -> "Switch Meios" "Switch Meios" -> "Porta 6 Switch DLINK Meios" "Switch Meios" -> "Porta 7 Switch DLINK Meios" "Switch Meios" -> "Porta 8 Switch DLINK Meios" "Porta 6 Switch DLINK Meios" -> "Porta 5 do patch panel2" "Porta 7 Switch DLINK Meios" -> "Porta 6 do patch panel2" "Porta 8 Switch DLINK Meios" -> "Porta 7 do patch panel2" "Porta 5 do patch panel2" -> "Porta 2 do patch panel1" "Porta 6 do patch panel2" -> "Porta 4 do patch panel1" "Porta 7 do patch panel2" -> "Porta 5 do patch panel1" "Porta 2 do patch panel1" -> "Porta 7 do patch panel1" "Porta 4 do patch panel1" -> "Porta 9 do patch panel1" "Porta 5 do patch panel1" -> "Ap" "Porta 7 do patch panel1" -> "Tomada 11" "Porta 9 do patch panel1" -> "Tomada 21" } </graphviz>

Instalação de Equipamentos de Rede

Configuração dos switchs via telnet:

telnet 192.168.1.240/241
usuario: ****
senha: ****

create vlan mlwouro tag 201
create vlan mlwprata tag 202
create vlan mlwbronze tag 203
create vlan mlwwifi tag 204

config vlan mlwouro add tagged 1:6-10
config vlan mlwouro add tagged 1:26
config vlan mlwprata add tagged 1:6-10
config vlan mlwprata add tagged 1:26
config vlan mlwbronze add tagged 1:6-10
config vlan mlwbronze add tagged 1:26
config vlan mlwwifi add tagged 1:6-10
config vlan mlwwifi add tagged 1:26


Gerencia de Redes

Configuração dos IPs e das Vlans:

  • vi /etc/network/interfaces
auto lo
iface lo inet loopback

#Placa de rede onboard (Roteador)
auto eth3
iface eth3 inet static
        address 200.135.37.112
        netmask 255.255.255.192
        network 200.135.37.64
        broadcast 200.135.37.127
        gateway 200.135.37.126

#Placa de rede offboard
auto eth2
iface eth2 inet static
        address 192.168.1.118
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255

auto vlan202
iface vlan202 inet static
        address 172.22.3.1
        netmask 255.255.255.0
        network 172.22.3.0
        broadcast 172.22.3.255
        vlan_raw_device eth2
 
auto vlan203
iface vlan203 inet static
        address 172.22.4.1
        netmask 255.255.255.0
        network 172.22.4.0
        broadcast 172.22.4.255
        vlan_raw_device eth2

auto vlan204
iface vlan204 inet static
        address 172.22.5.1
        netmask 255.255.255.0
        network 172.22.5.0
        broadcast 172.22.5.255
        vlan_raw_device eth2
  • vi /etc/resolv.conf
nameserver 127.0.0.1
nameserver 200.135.37.65

/etc/init.d/networking restart


Instalação de programas:

apt-get install apache2 
apt-get install php5
apt-get install libapache2-mod-php5 
apt-get install mysql-server 
apt-get install php5-mysql
apt-get install unzip 
apt-get install dhcp3-server 
apt-get install bind9
apt-get install postfix
apt-get install ntpdate
apt-get install uw-imapd  
apt-get install snmp 
apt-get install snmpd 
apt-get install cacti 
apt-get install dovecot-imapd
apt-get install openssl
apt-get install ssl-cert


Criação de script NTP:

  • vi /etc/crontab
* */1 * * * root         ntpdate -s ntp.cais.rnp.br


Configurando o DNS:

vi /etc/bind/mlwnetworks.sj.ifsc.edu.br

$TTL    86400
;
@    IN    SOA    dns1.mlwnetworks.sj.ifsc.edu.br. mlwnetworks.mlwnetworks.sj.ifsc.edu.br. (
2009120200        ; Serial
 1d        ; Refresh
 4h        ; Retry
 1w        ; Expire
 1d )    ; Negative Cache TTL
;
; Name Server: servidores DNS 
@    IN    NS    dns1
@    IN    MX    0 mail
@    IN    A     200.135.37.112
;
; Address: endereço
dns1    IN      A       200.135.37.112
mail    IN      A       200.135.37.112
www     IN      CNAME   dns1
web     IN      CNAME   dns1
ftp     IN      CNAME   dns1

vi /etc/bind/named.conf.local

zone "mlwnetworks.sj.ifsc.edu.br" {
        type master;
        file "/etc/bind/mlwnetworks.sj.ifsc.edu.br";
 };


/etc/init.d/bind9 restart


Configurando o DHCP:

  • vi /etc/dhcp3/dhcpd.conf
default-lease-time 14400;
max-lease-time 86400;

 
# vlan estande 1  172.22.3.0
subnet 172.22.3.0 netmask 255.255.255.0 {
       range 172.22.3.3 172.22.3.254;
       ooption domain-name "estande1.redes";
       ooption domain-name-servers 200.135.37.112;
       option routers 200.135.37.112;
}

# vlan estande 2  172.22.4.0
subnet 172.22.4.0 netmask 255.255.255.0 {
       range 172.22.4.3 172.22.4.254;
       option domain-name "estande2.redes";
       option domain-name-servers 200.135.37.112;
       option routers 200.135.37.112;
}

# vlan WIFI  172.2254.0
subnet 172.22.5.0 netmask 255.255.255.0 {
       range 172.22.5.3 172.22.5.254;
       option domain-name "wifi.redes";
       option domain-name-servers 200.135.37.112;
       option routers 200.135.37.112;
}

/etc/init.d/dhcp3-server restart

Script de backup:

#!/bin/bash

data=`date +%d%m%y`
mkdir /backup/etc
mkdir /backup/www

scp -rp /etc/* /backup/etc > /dev/null
scp -rp /var/www/* /backup/www > /dev/null

echo -n "Compactando diretório /etc:"
tar czf /backup/compactados/etc$data /backup/etc/* 2> /dev/null && \
       echo " OK."
echo -n "Compactando diretório /var/www:"
tar czf /backup/compactados/www$data /backup/www/* 2> /dev/null && \
       echo " OK."


rm /backup/etc -rf
rm /backup/www -rf

cp /backup.sh /etc/init.d/

Programando o backup no crontab:

00 22   * * * root /etc/init.d/backup.sh
  • vi /etc/aliases
postmaster:    root
root: *****@gmail.com

newaliases

/etc/init.d/postfix restart


Configurando as funções de roteamento e firewall:

vi /etc/init.d/nat.sh

#!/bin/bash

iptables -t nat -F
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan201 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan202 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan203 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o vlan204 -j MASQUERADE
# Limpando as regras do iptables
iptables -F
# Política padrão, portas de entrada bloqueadas e saída liberada.
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Liberar interface Loopback
iptables -A INPUT -i lo -j ACCEPT
# Liberar solitações do servidor local
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Liberando portas necessárias
# Liberar porta para SSH
iptables -A INPUT -p tcp --dport 2235 -j ACCEPT
# Liberar porta para HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Liberar porta HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Liberar porta SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
# Liberar Porta DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT

chmod 755 nat.sh

/etc/init.d/nat.sh

Configurando para rodar o script nat.sh na inicialização da máquina:

/etc/rc2.d ln -s /etc/init.d/nat.sh S90nat.sh

Configuração do serviço CACTI:

vi /etc/snmp/snmpd.conf

rocommunity mlwnetworks
syscontact mlwnetworks@mlwnetworks.sj.ifsc.edu.br
syslocation "laboratório de redes 1 ifsc"

vi /etc/default/snmpd

# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 200.135.37.112'


Instalação do WebMail Roundcube:

wget Roundcube
mkdir /var/www/webmail
mv roundcubemail-0.3.1 /var/www/webmail
tar -zxvf roundcubemail-0.3.1.tar.gz

Configuração do Webmail Roundcube:

Seguir as indicações do navegador: [mlwnetworks.sj.ifsc.edu.br/webmail/roundcubemail-0.3.1/installer Webmail]

Configurações gerais:

product_name: Mlw Networks
temp_dir: temp/

Log_dir: logs/

Sent_mbox: Enviados
trash_mbox: Lixeira
drafts_mbox: Rascunhos
junk_mbox: Spam

language: pt_BR

Criando os arquivos:

vi /var/www/webmail/roundcubemail-0.3.1/config/main.inc.php
vi /var/www/webmail/roundcubemail-0.3.1/config/db.inc.php
  • Esses arquivos são criados para podermos colar as informações fornecidas durante a instalação do Webmail atraves do site.

Alterando as permissões dos arquivos necessários:

chmod 777 /var/www/webmail/roundcubemail-0.3.1/temp
chmod 777 /var/www/webmail/roundcubemail-0.3.1/logs


Configuração do Postfix:

vi /etc/postfix/main.cf

myhostname = mail.mlwnetworks.sj.ifsc.edu.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = mlwnetworks.sj.ifsc.edu.br
mydestination = mail, mail.mlwnetworks.sj.ifsc.edu.br, mlwnetworks.sj.ifsc.edu.br, , localhost

Configurando HTTPS via SSL:

Criando o certificado:

openssl req -new -x509 -nodes -keyout /etc/apache2/apache2.pem -out /etc/apache2/apache2.pem -days 1000
Contry: BR
State: Santa Catarina
Locality: Sao Jose
Organization: IFSC
Organizational: Tecnico de Tele
Commom: mlwnetworks
email: mlwnetworks@mlwnetworks.sj.ifsc.edu.br

Criando Arquivo SSL:

vi /etc/apache2/conf.d/ssl

NameVirtualHost *:443
<VirtualHost *:443 >
      ServerName mlwnetworks.sj.ifsc.edu.br
      ServerAdmin webmaster@localhost
      CustomLog /var/log/apache2/access.log combined
      SSLEngine on
      ServerSignature On
      SSLCertificateFile /etc/apache2/apache2.pem
      DocumentRoot /var/www
      <Directory />
        Options FollowSymLinks
        AllowOverride None
      </Directory>
      <Directory /var/www/>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
      </Directory>
      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      <Directory "/usr/lib/cgi-bin">
              AllowOverride None
              Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
              Order allow,deny
              Allow from all
      </Directory>
      ErrorLog /var/log/apache2/error.log
      # Possible values include: debug, info, notice, warn, error, crit,
      # alert, emerg.
      LogLevel warn
      CustomLog /var/log/apache2/access.log combined
  Alias /doc/ "/usr/share/doc/"
  <Directory "/usr/share/doc/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order deny,allow
      Deny from all
      Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>
</VirtualHost>
a2enmod ssl
/etc/init.d/apache2 restart

Configurando as permissões do SSH na inicialização da máquina:

vi /etc/init.d/pssh

#!/bin/bash

cd /etc/ssh
chown sshd:root *
chmod 440 *
cd
/etc/rc2.d ln -s /etc/init.d/pssh S15pssh

Cacti

NoCat:


Baixando e instalando:


wget NoCat
tar xzvf NoCatAuth-nightly.tar.gz


Instalar o "gateway" e "authserv"

cd NoCatAuth-nightly
make gateway (instalado em /usr/local/nocat)
make PREFIX=/usr/local/nocat/authserv authserv (instalado em /usr/local/nocat/authserv)

make PREFIX=/usr/local/nocat/authserv pgpkey
 *1 - Disa e Elgamal (Padrão);
 *Chave = 1024 bits;
 *Tempo para a chave expirar = 0;
 *Nome completo = MlwNetworks


Editando o gateway:

vi /usr/local/nocat/nocat.conf

AuthServiceAddr 200.135.37.112
AuthServiceURL http://$AuthServiceAddr/cgi-bin/login
LogoutURL      http://$AuthServiceAddr/logout.html

Retirar os comentários das seguintes linhas:
AllowedWebHosts 200.135.37.114
RouteOnly 1

Executar: /usr/local/nocat/bin/gateway

Editando o authserv:

vi /usr/local/nocat/authserv/nocat,conf

DocumentRoot    /usr/local/nocat/authserv/htdocs
DataSource      Passwd

Retirar os comentários das seguintes linhas:
UserFile            /usr/local/nocat/authserv/etc/passwd
GroupUserFile       /usr/local/nocat/authserv/etc/group
GroupAdminFile    /usr/local/nocat/authserv/etc/groupadm

LocalGateway    200.135.37.112


Configurações no Apache2:

vi /etc/apache2/sites-enabled/000-default

#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ (Comentar esta linha)
Include /usr/local/nocat/authserv/httpd.conf (Incluir esta linha)
<Directory "/usr/lib/cgi-bin">
AllowOverride None


Reiniciar o apache: /etc/init.d/apache2 restart


Script de monitoramento do servidor:

#!/bin/bash

data=`date`
echo "Relatório de monitoramento diário MlwNetworks $data"
interfaces=`ifconfig -a`
rota=`route -n`
firewall=`iptables -L | grep dpt`
processador=`cat /proc/cpuinfo | grep name | cut -d ":" -f2`
usocpu=`top -b -n1 | grep Cpu`
particoes=`df -h| grep sda`
free1=`free | grep Mem | cut -d " " -f 9`
memoriatotal=`echo "scale=2;$free1/1024" | bc`
free2=`free | grep Mem | cut -d " " -f 14`
memoriausada=`echo "scale=2;$free2/1024" | bc`
free3=`free | grep Mem | cut -d " " -f 20`
memorialivre=`echo "scale=2;$free3/1024" | bc`
free4=`free | grep Swap | cut -d " " -f 7`
swaptotal=`echo "scale=2;$free4/1024" | bc`
free5=`free | grep Swap | cut -d " " -f 13`
swapusada=`echo "scale=2;$free5/1024" | bc`
free6=`free | grep Swap | cut -d " " -f 17`
swaplivre=`echo "scale=2;$free6/1024" | bc`
usuariosnum=`w |grep -v user | grep -v USER|wc -l`
usuarios=`last -a | cut -d " " -f 1 | head -7 | grep -v reboot |grep -v tmp`
processosnum=`ps -A f | wc -l`
processos=`ps -A f`
echo "************************************************* "
echo "Configurações de Rede: "
echo " $interfaces"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "$rota"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Firewall: "
echo "$firewall"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Dados do Processador: "
echo "$processador"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Uso do processador: "
echo "$usocpu"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Espaco em disco: "
echo "$particoes"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Memorias:"
echo "Memória Total = $memoriatotal Mb"
echo "Memória Usada = $memoriausada Mb"
echo "Memória Livre = $memorialivre Mb"
echo "Memória Swap Total= $swaptotal Mb"
echo "Memória Swap Usada= $swapusada Mb"
echo "Memória Swap Livre= $swaplivre Mb"
echo " "
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Usuarios conectados no momento: $usuariosnum"
echo "Ultimos usuarios conectados:"
echo "$usuarios"
echo " "
echo " "
echo " "
echo " "
echo " "
echo "Estão sendo executados $processosnum processos."
echo "$processos"


Nocat

Traduzindo os arquivos abaixo:

/usr/local/nocat/authserv/htdocs

expired.html login-no-skip.html register_ok.html status.html fatal.html login_ok.html renew.html update.html logout.html renew_pasv.html login.html register.html splash.html

/usr/local/nocat/authserv/nocat.conf

            1. Auth service user messages. Should be self-explanatory.

LoginGreeting Saudações! Bem vindo à MLW Networks. LoginMissing Por favor, preencha todos os campos! LoginBadUser Esse endereço de e-mail é desconhecido. Por favor, tente novamente. LoginBadPass Esse e-mail e senha não correspondem. Por favor, tente novamente. LoginBadStatus Desculpe, você não é um membro registado.

RegisterGreetin Bem vindo! Por favor, digite as seguintes informações para se cadastrar. RegisterMissing Os campos Nome, E-mail e Senha devem ser preenchidos. RegisterUserExists Desculpe, esse endereço de e-mail já está tomada. Você já se inscreveu? RegisterBadUser O e-mail fornecido parece ser inválido. Você digitou corretamente? RegisterInvalidPass Todas as senhas devem ter pelo menos seis caracteres. RegisterPassNoMatch As senhas fornecidas não coincidem. Por favor, tente novamente. RegisterSuccess Parabéns, você tem registrado com êxito.

UpdateGreeting Digite seu E-mail e senha para atualizar seus dados. UpdateBadUser Esse endereço de e-mail é desconhecido. Por favor, tente novamente. UpdateBadPass Esse e-mail e senha não correspondem. Por favor, tente novamente. UpdateInvalidPass A nova senha deve ter pelo menos seis caracteres. UpdatePassNoMatch As novas senhas que você forneceu não correspondem. Por favor, tente novamente. UpdateSuccess Parabéns, você atualizou com êxito a sua conta.

            1. Fin.


Programação