Projeto Integrador - 2009.2 - Equipe MLW Networks
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
Cabeamento Estruturado
- Cabeamento estruturado é a disciplina que estuda a disposição organizada e padronizada de conectores e meios de transmissão para redes de informática e telefonia, de modo a tornar a infra-estrutura de cabos independente do tipo de aplicação e do layout. Permitindo a ligação a uma rede de: servidores, estações, impressoras, telefones, switches, hubs e roteadores. O SCS (Structure Cabling System) utiliza o conector RJ45 e o cabo UTP como mídias padrão para transmissão de dados, uma analogia ao SCS é a tomada de energia que permite a alimentação elétrica de um equipamento independente do tipo de aplicação. Fonte: Wikipédia
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
- 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.
- Fin.