Projeto Integrador - 2009.2 - Equipe Urano
Equipe URANO
24/11/09
- Apresentação do Projeto;
- Relação de dependências de Tarefas por disciplina:
<graphviz>
Digraph PI {
subgraph clusterA { label="Disciplina"
CAB -> IER IER -> GER GER -> PRC IER -> PRC
}
subgraph clusterB { label="CAB"
CAB -> Projeto_Simples Projeto_Simples -> Planta_Baixa Projeto_Simples -> Vista_Frontal Projeto_Simples -> Lista_de_Material CAB -> Instalação CAB -> Identificação CAB -> Certificação
}
subgraph clusterC { label="IER"
IER -> Servidor IER -> Switchs IER -> "Via NoCat" Servidor -> "Via Telnet" HotSpot -> "Access Points" "Via Telnet" -> VLANs Switchs -> Portas "Via NoCat" -> HotSpot Portas -> "16 a 20" VLANs -> "400 a 499" "400 a 499" -> "Identificação subredes" "Access Points" -> "Diagrama de Rede" "16 a 20" -> "Diagrama de Rede" "Identificação subredes" -> "Diagrama de Rede"
}
subgraph clusterD { label="PRC"
PRC -> "BD MysQL" PRC -> "Aplicação Web" "BD MysQL" -> "Aplicação Web"
}
subgraph clusterE { label="GER"
"BD MysQL" -> HotSpot GER -> "Instalação e configuração do servidor" "Instalação e configuração do servidor" -> "Enviar relatório diário" "Enviar relatório diário" -> "Estado da rede" "Enviar relatório diário" -> Firewall "Enviar relatório diário" -> "Consumo dos recursos" "Estado da rede" -> Interfaces "Estado da rede" -> Roteamento Firewall -> "Filtro de pacotes" Firewall -> "Controle da velocidade" "Consumo dos recursos" -> Processador "Consumo dos recursos" -> Memória "Consumo dos recursos" -> Disco "Consumo dos recursos" -> "..."
} } </graphviz>
Sistema Operacional
- Configuração na BIOS;
- Configuração para evitar a perda da documentação ou desligamento do servidor na falta de energia;
*Entrar na BIOS *Power Management Setup *Power On After Power Fail [Always On]
- Instalação do Servidor;
- Sistema Operacional
- Sistema operacional: Ubuntu Server 9.10
- Particionamento do disco: de 80 Gb
/ - 10 GB - Partição Primária /var - 10 GB - Partição Lógica /tmp - 2 GB - Partição Lógica /home - 35 GB - Partição Lógica /backup - 21 GB - Partição Lógica swap - 2 GB - Partição Primária
- Encurtador de URL: (resumo de link)[1]
basta digitar [bit.ly/urano]para assessar o link da equipe Urano
- Criação do email para o grupo:
- grupourano@googlegroups.com
25/11/09
- Apresentação da parte de IER do Projeto;
- Definido rede interna: 172.114.0.0
- Configuração da interface de rede:
#The loopback network interface auto lo iface lo inet loopback #STATIC auto eth0 iface eth0 inet static address 200.135.37.114 netmask 255.255.255.192 network 200.135.37.64 broadcast 200.135.37.127 gateway 200.135.37.126
- Cor do Fio: Branco; Cabo que interliga o servidor Urano a porta 8 do Switch no armário central
- Começo da elaboração da planta baixa;
- 1 Rac;
- 2 Stands;
- 2 Tomadas em cada Stand;
OBS: Elaboração parada por consequência de dúvidas;
- Conexão do Servidor na Porta 8 do switch;
ERRO!!!
- Não estava entrando no S.O. configurado, após desligar o Servidor;
Correção:
vim /boot/grub/grub.cfg Editar: recordfail=1 para recordfail=0
- Configuração para a não utilização dos periféricos, não realizada!
Correção:
*BioS *Standart CMOS Features *Halt On [All, But Keyboard]
- Atualização dos pacotes já instalados
apt-get update
- Instalação de Serviços
apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql
26/11/09
- Após sanada algumas dúvidas, dada a continuidade ao Projeto de Cabeamento;
- Instalação de Serviços
apt-get install dhcp3-server snmpd bind9 cacti vlan
VLANs
- Configuração das VLANs
vim /etc/netwok/interfaces #Ouro auto vlan401 iface vlan401 inet static address 172.114.1.1 netmask 255.255.255.0 network 172.114.1.0 vlan_raw_device eth0 #Prata auto vlan402 iface vlan402 inet static address 172.114.1.2 netmask 255.255.255.0 network 172.114.1.0 vlan_raw_device eth0 #Bronze auto vlan403 iface vlan403 inet static address 172.114.1.3 netmask 255.255.255.0 network 172.114.1.0 vlan_raw_device eth0 #Wireless auto vlan404 iface vlan404 inet static address 172.114.1.4 netmask 255.255.255.0 network 172.114.1.0 vlan_raw_device eth0
CACTI/ SNMP
O Cacti é uma ferramenta desenvolvida para a monitoração de recursos, sendo flexível, robusto e fácil de usar. Monitorar informações sobre o estado de uma determinada rede de computadores através de gráficos, programas, uso da CPU, são alguns exemplos de sua utilização.
- Configuração do SNMP
vi /etc/snmp/snmpd.conf rocommunity urano syscontact root syslocation IFSC-SJ - Laboratório Redes 1
vi /etc/default/snmpd # This file controls the activity of snmpd and snmptrapd # MIB directories. /usr/share/snmp/mibs is the default, but # including it here avoids some strange problems. export MIBDIRS=/usr/share/snmp/mibs # snmpd control (yes means start daemon). SNMPDRUN=yes # snmpd options (use syslog, close stdin/out/err). #SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1' SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 200.135.37.114' # snmptrapd control (yes means start daemon). As of net-snmp version # 5.0, master agentx support must be enabled in snmpd before snmptrapd # can be run. See snmpd.conf(5) for how to do this. TRAPDRUN=no # snmptrapd options (use syslog). TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' # create symlink on Debian legacy location to official RFC path SNMPDCOMPAT=yes /etc/init.d/snmpd restart
- Problema com CACTI,
- Para a correção do problema foi necessário fazer os seguintes comandos:
cd /etc/apache2/conf.d ln -s /etc/cacti/apache2.conf cacti
27/11/09
- Configuração na Interface do Cacti
Console Devices - Configurar o servidor para ser monitorado; Creat graphs for this hosts - Setar gráficos que serão utilizados; Graph Management Graph Tree
POSTIFIX
vi /etc/postfix/main.cf myhostname = mail.urano.sj.ifsc.edu.br mydomain = urano.sj.ifsc.edu.br alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = $myhostname, $mydomain, localhost.urano.sj.ifsc.edu.br, localhost
DHCP
É um mecanismo de endereçamento automático de IP para máquinas em uma rede. Dentre as configurações passadas pelo dhcp se destacam: Ip, Máscara, Gateway, Servidor DNS e Domínio.
OBS: Iniciada a configuração no dia anterior e finalizada no dia de hoje;
vi /etc/dhcp3/dhcpd.conf
# Relacionado a negociação entre cliente e servidor DHCP: DHCPACK e DHCPNAK # Para tanto, veja a RFC 2131 authoritative; # Tempos de "aluguel" default-lease-time 14400; max-lease-time 86400; # Rede Ouro: 172.114.1.1/24 subnet 172.114.1.0 netmask 255.255.255.0 { range 172.114.1.100 172.114.1.199; option routers 172.114.1.254; option domain-name "ouro.urano.sj.ifsc.edu.br"; option domain-name-servers 172.114.1.254; } # Rede Prata: 172.114.2.1/24 subnet 172.114.2.0 netmask 255.255.255.0 { range 172.114.2.100 172.114.2.199; option routers 172.114.2.254; option domain-name "prata.urano.sj.ifsc.edu.br"; option domain-name-servers 172.114.2.254; } # Rede Bronze: 172.114.3.1/24 subnet 172.114.3.0 netmask 255.255.255.0 { range 172.114.3.100 172.114.3.199; option routers 172.114.3.254; option domain-name "bronze.urano.sj.ifsc.edu.br"; option domain-name-servers 172.114.3.254; } # Rede Wireless: 172.114.4.1/24 subnet 172.114.4.0 netmask 255.255.255.0 { range 172.114.4.100 172.114.4.199; option routers 172.114.4.254; option domain-name "wireless.urano.sj.ifsc.edu.br"; option domain-name-servers 172.114.4.254; } /etc/init.d/dhcp3-server restart
DNS
vi /etc/bind/named.conf.local // // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "urano.sj.ifsc.edu.br" { type master; file "/etc/bind/urano.sj.ifsc.edu.br"; }; zone "37.135.200.in-addr.arpa" { type master; file "/etc/bind/37.135.200.in-addr.arpa"; };
vi /etc/bind/urano.sj.ifsc.edu.br $TTL 86400 ; Start of Authority: início de autoridade @ IN SOA dns1.urano.sj.ifsc.edu.br. admin.urano.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 @ IN A 200.135.37.114 ; ; Address: endereço @ IN A 200.135.37.114 dns1 IN A 200.135.37.114 mail IN A 200.135.37.114 www IN A 200.135.37.114 ; ; Canonical Name: "apelido" web IN CNAME www.urano.sj.ifsc.edu.br site IN CNAME www.urano.sj.ifsc.edu.br
vi /etc/bind/37.135.200.in-addr.arpa $TTL 86400 ; Start of Authority: início de autoridade @ IN SOA dns1.urano.sj.ifsc.edu.br. admin.urano.sj.ifsc.edu.br. ( 2009040101 ; Serial 1d ; Refresh 4h ; Retry 1w ; Expire 1d ) ; Negative Cache TTL ; ; Name Server: servidores DNS @ IN NS dns1.urano.sj.ifsc.edu.br. @ IN MX 0 mail.urano.sj.ifsc.edu.br ; ; Address: endereço 114 IN PTR dns1.urano.sj.ifsc.edu.br. 114 IN PTR mail.urano.sj.ifsc.edu.br. 114 IN PTR www.urano.sj.ifsc.edu.br.
vi /etc/bind/named.conf.options options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-recursion {127.0.0.1; 200.135.37.114/26; 172.114.1.0/24; 172.114.2.0/24; 172.114.3.0/24; 172.114.4.0/24;}; }; OBS: Inclusão das interfases que poderão acessar o DNS; /etc/init.d/networking restart
HTTP
/etc/apache2/conf.d/tmp <Directory /tmp> Dav On Options Indexes Order allow,deny Allow from all AuthType Basic AuthName "Acesso Restrito" AuthUserFile /etc/senhas/senhas.txt Require valid-user </Directory> OBS: Deve-se ativar o DAV: a2enmod dav_fs /etc/init.d/apache2 restart
Fim de semana
30/11/09
- Realização do site da equipe (red&ventos);
01/12/09
- Realização da parte de cabeamento;
- Padrão 568-B;
Tomadas instaladas; Cabo do patch panel geral para o nosso patch panel instalados;
ERRO!!
Padrão do Switch geral é 568-A;
Solução:
Refazer instalação do cabo no switch geral
- Realização da script de backup;
RoundCube
Dowload:
wget https://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.3.1/roundcubemail-0.3.1.tar.gz/download mkdir /var/www/webmail mv roundcubemail-0.3.1.tar.gz /var/www/webmail cd /var/www/webmail tar -zxvf roundcubemail-0.3.1.tar.gz
No Navegador:
http://urano.sj.ifsc.edu.br/webmail/roundcubemail-0.3.1/installer Start Installation
1. Check environment
Após verificar o Check environment foi feito o download de:
apt-get install php5-mcrypt apt-get install php5-gd
Após instalar:
Next
2. Create config:
General configuration product_name: Urano Webmail temp_dir: temp/ (precisa de permissão para escrita) Logging & Debugging log_dir: logs/ (precisa de permissão para escrita) Database setup MySQL Database server (omit for sqlite) localhost Database server (omit for sqlite) webmail Database name (use absolute path and filename for sqlite) webmail Database user name (needs write permissions)(omit for sqlite) **** Database password (omit for sqlite) IMAP Settings sent_mbox: Enviados trash_mbox: Lixo drafts_mbox: Rascunhos junk_mbox: Spam Display settings & user prefs language: pt_BR
Após fazer as configurações: Continuação do Create Config
Criação de dois arquivos:
vim /var/www/webmail/roundcubemail-0.3.1/config/main.inc.php
vim /var/www/webmail/roundcubemail-0.3.1/config/db.inc.php
Mudança de permissão nos arquivos: /var/www/webmail/roundcubemail-0.3.1/temp e /var/www/webmail/roundcubemail-0.3.1/logs;
chmod 777 /var/www/webmail/roundcubemail-0.3.1/temp chmod 777 /var/www/webmail/roundcubemail-0.3.1/logs
02/12/09
- Continuação do Cabeamento:
- Refeito a instalação no patch panel geral;
- Realização dos cabos de manobras;
- Testes com as tomadas e com os cabos de manobras: OK
ERRO!!
Cabeamento entre os patch panel não funcionaram.
Solução:
Refazer o cabeamento.... :(
NoCat
Seguindo o guia do NoCat foi realizadas as seguintes configurações:
- Baixar e decompactar o NoCat:
wget http://www.sj.ifsc.edu.br/~msobral/IER/pi/NoCatAuth-nightly.tar.gz tar xzf NoCatAuth-nightly.tar.gz
- Instalar o "gateway" e o "authserv":
cd NoCatAuth-nightly make gateway make PREFIX=/usr/local/nocat/authserv authserv OBS: Após esses comandos, o "gateway" estará instalado em /usr/local/nocat, e o "authserv" estará em "/usr/local/nocat/authserv";
- Execute em seguida o seguinte comando:
make PREFIX=/usr/local/nocat/authserv pgpkey
- Selecionado seguintes itens:
*1 - Disa e Elgamal (Padrão); *chave = 1024 bits; *Tempo para a chave expirar = 0 (Nunca expira); *Nome Completo= Equipe Urano
- Editar o arquivo de configuração do "gateway":
/usr/local/nocat/nocat,conf AuthServiceAddr 200.135.37.114 AuthServiceURL http://$AuthServiceAddr/cgi-bin/login LogoutURL http://$AuthServiceAddr/logout.html Descomentar a Linhas: AllowedWebHosts 200.135.37.114 RouteOnly 1
- Executar o gateway:
/usr/local/nocat/bin/gateway
- Editar o arquivo de configuração do "authserv":
/usr/local/nocat/authserv/nocat,conf DocumentRoot /usr/local/nocat/authserv/htdocs DataSource Passwd Descomentar 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.114
- Configurar o Apache para que possa executar o script CGI do authserv. E realizar as seguintes alterações:
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
- Copiar o arquivo /usr/local/nocat/authserv/trustedkeys.gpg para o diretório /usr/local/nocat/pgp
- Adicionar usuários ao authserv com os seguintes comandos:
/usr/local/nocat/authserv/bin/admintool -c usuário senha /usr/local/nocat/authserv/bin/admintool -a usuário Nome_de_um_grupo
ERRO!
O NAT não estava habilitado
Solução:
iptabls -t nat -A POSTROUTING -o eth1 -j MASQUERADE
03/12/09
- Refazendo o cabeamento entre os patch panel;
- Testado: ficou OK;
- Tradução das mensagens do NoCat;
- Explicação do serviço HTTPS - SSL;
HTTPS - SSL (Transmissão segura de dados)
Baseado na equipe Epsilon...
- Instalar pacotes:
apt-get install openssl ssl-cert
- Habilitar o ssl:
a2enmod ssl
- Criar certificado:
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf apache.pem
- Mover e modificar o arquivo apache.pem
mv apache.pem /etc/apache2/apache.pem chmod 600 /etc/apache2/apache.pem
- Criar o arquivo VirtualHost
vi /etc/apache2/sites-enabled/ssh NameVirtualHost *:443 <VirtualHost *:443 > ServerName urano.sj.ifsc.edu.br ServerAdmin webmaster@localhost CustomLog /var/log/apache2/access.log combined SSLEngine on ServerSignature On SSLCertificateFile /etc/apache2/apache.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>
- Redimencionar Portas:
vi /etc/apache2/sites-enabled/000-default <VirtualHost *:80>
RedirectMatch ^/$ https://urano.sj.ifsc.edu.br/
ServerAdmin webmaster@localhost
- Habilitar o site com ssl:
a2ensite ssl
- Reiniciar o apache:
/etc/init.d/apache2 restart
- Criar certificado
openssl req -new -x509 -nodes -keyout /etc/apache2/apache2.pem -out /etc/apache2.pem -days 365 Country Name (2 letter code) [AU]:br State or Province Name (full name) [Some-State]:sc Locality Name (eg, city) []:sj Organization Name (eg, company) [Internet Widgits Pty Ltd]:Urano Organizational Unit Name (eg, section) []:Urano Common Name (eg, YOUR name) []:urano Email Address []:edurano@urano.sj.ifsc.edu.br
- Habilitar o ssl:
a2enmod ssl
- Reiniciar o apache:
/etc/init.d/apache2 restart
- Realizado testes com o DNS:
dig @200.135.37.114 soa urano.sj.ifsc.edu.br dig @200.135.37.114 mx urano.sj.ifsc.edu.br dig @200.135.37.114 ns urano.sj.ifsc.edu.br dig @200.135.37.114 a urano.sj.ifsc.edu.br
DNS OK
04/12/09
- Todos os testes de tomadas e portas do patch panel refeitos ok;
- Continuação da realização dos cabos de manobras;
- Testados: OK;
- Identificação dos cabos:
- Entre patch panel;
- Entre tomada e nosso patch panel;
- Dos cabos de manobras;
- Identificação das portas dos dois patch panel, e das tomadas;
- Começo da elaboração do projeto de Cabeamento;
- Foi refeito o esboço da planta baixa, e se iniciou o esboço da parte frontal do Rack;
- Feita a medida da quantidade de cabos utilizada;
- Realizada a passagem do cabo que interliga os switch, pelas canaletas do Laboratório de Redes I;
- Feita a instalação do switch no Rack que está localizado no Laboratório de Meios;
- Continuação da elaboração do site da equipe;
Fim de Semana
07/12/09
- Continuação da elabração do site;
- Continuação da elaboração do projeto de Cabeamento;
- Foram feitos a planta baixa;
- O desenho frontal do rack;
- Feita lista demonstrando a simbologia utilizada para a elaboração da planta baixa;
- Lista de materiais depende apenas de alguns detalhes relacionados a medida de um eletroduto;
- Deconfiguradas as Redes Ouro, Prata e Bronze do DHCP;
WEBMIN
Webmin é um programa de gerenciamento de servidor, que roda em plataformas linux.
O Webmin funciona como um centralizador de configurações do sistema, monitoração dos serviços e de servidores, fornecendo uma interface amigável, e que quando configurado com um servidor web, pode ser acessado de qualquer local, através de um navegador: https:\\(ip do servidor):(porta de utilização).
- Instalando os pacotes necessários
sudo aptitude install libnet-ssleay-perl openssl libauthen-pam-perl libio-pty-perl libmd5-perl
- Instalando o ficheiro deb (versão 1.400) a partir do site do Webmin
wget -c http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.deb
- Descompactando ficheiro
sudo dpkg -i webmin_1.400_all.deb
- Atualize os repositórios
deb http://download.webmin.com/download/repository sarge contrib sudo apt-get update sudo apt-get install webmin
Instalado..
https://200.135.37.114:10000
DenyHosts
O Denyhost é um script feito em PERL por Phil Schwartz, no qual ajuda na segurança do serviço SSH contra ataques de "FORÇA BRUTA".
Como funciona?:
O DenyHosts busca as tentativas de conexão em /var/log/secure.log ou /var/log/auth.log, dependendo da distribuição Linux usada. Na configuração pode-se indicar quantas tentativas o usuário pode fazer sem sucesso, atingindo esse número de falhas o DenyHosts copia o IP para dentro de /etc/hosts.deny e o bloqueia.
Nessa configuração pode-se setar tentativas de usuários válidos no sistema ou inválidos, ou seja, 5 tentativas para usuários inválidos e 10 para usuários válidos, também informamos quanto tempo esse IP ficará bloqueado.
- Instalando pacotes do Denyhosts
apt-get install denyhosts
- Iniciando o Denyhosts
/etc/init.d/denyhosts start
- Configuração no nosso servidor:
vi /etc/denyhosts.conf PURGE_DENY = 1w Determina depois de quanto tempo o bloqueio para determinado IP será removido. No nosso caso setei para uma semana. DENY_THRESHOLD_INVALID = 5 Determina o número de tentativas de login que um usuário não válido do sistema (um usuário não listado no arquivo /etc/passwd) poderá realizar antes de ter seu IP bloqueado. DENY_THRESHOLD_VALID = 10 Determina o número de tentativas de login que um usuário válido do sistema poderá realizar antes de ter seu IP bloqueado. DENY_THRESHOLD_ROOT = 1 Determina o número de tentativas de login que um usuário que tenta de logar como root poderá realizar antes de ter seu IP bloqueado.
- Reiniciando o Denyhost
/etc/init.d/denyhosts restart
PHPMyAdmin
- Instalar pacote do phpMyAdmin:
apt-get install phpMyAdmin *Colocar senhas
- Acesso
https://urano.sj.ifsc.edu.br/phpmyadmin
- Comandos para poder acessar a interface grafica:
cd /etc/phpmyadmin/ cp apache.conf /etc/apache2/sites-available/phpmyadmin cd /etc/apache2/sites-enabled/ ln -s ../sites-available/phpmyadmin 001-phpmyadmin /etc/init.d/apache2 restart
FTP
FTP significa Protocolo de Transferência de Arquivos, e é uma forma bastante rápida e versátil de transferir arquivos e diretórios.
Para instalar o servidor FTP devemos primeiramente escolher um dos servidores disponíveis na distribuição dentre proftpd, pure-ftpd, vsftpd e wu-ftpd.
Escolhemos o proftpd
- Instalar o pacote:
apt-get install proftpd
O Proftpd vem absolutamente pronto para uso, não sendo necessária nenhuma configuração preliminar. Mas se desejarmos alguma configuração especial devemos editar o arquivo:
vi /etc/proftpd.conf
Uma boa medida de segurança é “enjaular” a conexão do usuário, isto significa dizer que após a conexão o usuário não poderá subir na árvore de diretórios, ele ficará restrito ao seu diretório e seus subdiretórios. Para isto devemos descomentar a opção:
DefaultRoot ~
08/11/09
- Verificações do Cabeamento junto com o professor;
- Foi concluída ligação entre o patch panel e switch;
- Concluída a planta baixa;
- Concluída a lista de materiais;
- Certificação do Cabeamento:
- Swicht geral à Stande.1 Tomada.1;
- Swicht geral à Stande.2 Tomada.1;
- Instalação do Acess Point no Rack;
- Continuando com a elaboração do site;
- Configurado via PhpMyAdmin as seguintes tabelas:
Usuarios uID uNome uSenha Estandes eID Usuarios_uID eNome ePortas UsuariosWifi wID Estandes_eID wLogin wsenha *uID é chave estrangeira do Estandes *eID é chave estrangeira do UsuarioWifi
TC
- Criado um arquivo (/etc/init.d/tc.sh) onde está o script TC;
Baseado no script do prof° Ederson
- Criado link para o tc.sh no rc2.d:
ln -s /etc/init.d/tc.sh /etc/rc2.d/S90tc
Relatório de Consumo
Realizado em outro dia
- Script do Relatório de consumo
#!/bin/bash modelpro=`cat /proc/cpuinfo | grep model\ name | cut -d ":" -f 2` proce=`ps -ef | wc -l` usomem=`cat /proc/meminfo | grep MemFree | cut -d ":" -f 2 | tr -d [:blank:]` memtotal=`cat /proc/meminfo | grep MemTotal | cut -d ":" -f 2` disco=`df` hora=`date +%H` minutos=`date +%M` segundos=`date +%S` ano=`date +%y` mes=`date +%m` dia=`date +%d` date=`date` data="$dia"-"$mes"-"$ano"_"$hora"."$minutos"."$segundos" touch /backup/consumo_recursos/$data.txt echo "#Os nomes dos arquivos estão na seguinte ordem: 'dia'-'mês'-'ano'_'hora'.'minuto'.'segundo'" >> /backup /consumo_recursos/$data.txt echo >> /backup/consumo_recursos/$data.txt echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Data: $date <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" >> /backup/ consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "Modelo do Processador:" >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "$modelpro" >> /backup/consumo_recursos/$data.txt echo >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "Total de Processos:" >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "$proce" >> /backup/consumo_recursos/$data.txt echo >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "Total de Memória:" >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "$memtotal" >> /backup/consumo_recursos/$data.txt echo >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "Memória usada:" >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "$usomem" >> /backup/consumo_recursos/$data.txt echo >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "Informação sobre disco:" >> /backup/consumo_recursos/$data.txt echo "=======================" >> /backup/consumo_recursos/$data.txt echo "$disco" >> /backup/consumo_recursos/$data.txt echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Data: $date <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" >> /backup/ consumo_recursos/$data.txt echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FIM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" >> /backup /consumo_recursos/$data.txt echo "O script sbconsumo_recursos.sh foi executado, hora: $date"
09/12/09
- Continuação do site;
- Tradução das mensagens do NoCat;
- Confecção do Diagrama de Rede;
- Continuação do Firewall;
- Modificação das páginas html do NoCat;
Uso interno da equipe:
- Itens faltantes:
- Wireless; - Instalação OK não testado!!
- Vlans;
- Identificação de subredes IP; OK
- Identificação das VLANs, contendo seus VID, portas de switch e a quais subredes IP estão associadas;
- Roteamento;
- Relatório diário do firewall (filtro de pacotes e controle da velocidade de tráfego);
10/12/09
- Continuação da modificação das páginas html do NoCat;
- Continuação da elaboração do site;
- Criado Tabela Classes;
- Alterado as tabelas para o banco Cadastrar;
- Instalado o Acess Point;
- No dhcp e interfaces criado o wireless;
Mas não foi testado...
Diagrama de rede
- Topologia Física
11/12/09
Firewall
- Script do firewall;
vi /etc/firewall #!/bin/bash
echo -n -e "\e[32m- Limpando antigas regras do NAT.\e[m ~-~ " sleep 1 iptables -t nat -F echo -e "\e[31m OK! \e[m" echo "" echo "" echo -n -e "\e[32m- Limpando antigas regras de filtro de pacotes.\e[m ~-~ " sleep 1 iptables -F echo -e "\e[31m OK! \e[m" echo "" echo "" echo -n -e "\e[34m- Política Padrão\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Política padrão para NAT.\e[m ~-~ " sleep 1
#iptables -t nat -P PREROUTING DROP - Política Padrão para o PREROUTING é DROP , Mas Esta em ACCEPT no momento Apenas para testes.
iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT echo -e "\e[31m OK! \e[m" echo "" echo "" echo -n -e "\e[34m- Política Padrão\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Política padrão para filtro de pacotes.\e[m ~-~ " sleep 1
#iptables -P INPUT DROP - Política Padrão para o INPUT é DROP , Mas Esta em ACCEPT no momento Apenas para testes.
iptables -P INPUT ACCEPT
#iptables -P FORWARD DROP - Política Padrão para o FORWARD é DROP , Mas Esta em ACCEPT no momento Apenas para testes.
iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo -e "\e[31m OK! \e[m" echo "" echo "" sleep 1 echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Loopback.\e[m ~-~ " iptables -A INPUT -i lo -j ACCEPT echo -e "\e[31m OK! \e[m" echo "" echo ""
sleep 1
echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Conexões ativas.\e[m ~-~ " iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT echo -e "\e[31m OK! \e[m" echo "" echo ""
sleep 1 echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Roteamento.\e[m ~-~ " sysctl -w net.ipv4.ip_forward=1 > /dev/null echo -e "\e[31m OK! \e[m" echo "" echo "" sleep 1 echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- NAT para as redes internas.\e[m ~-~ " iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo -e "\e[31m OK! \e[m" echo "" echo "" sleep 1 echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Permitindo que acesso SSH.\e[m ~-~ " iptables -A INPUT -d 200.135.37.114 -p tcp --dport 22 -j ACCEPT iptables -t nat -A PREROUTING -d 200.135.37.114 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
echo -e "\e[31m OK! \e[m" echo "" echo "" sleep 1 echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Permitindo que acesso HTTPS.\e[m ~-~ "
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
echo -e "\e[31m OK! \e[m" echo "" echo ""
sleep 1
echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Permitindo que acesso HTTP.\e[m ~-~ "
iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT
echo -e "\e[31m OK! \e[m" echo "" echo ""
sleep 1
echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Permitindo que acesso DHCP.\e[m ~-~ "
iptables -A INPUT -p udp --dport 67 -j ACCEPT
echo -e "\e[31m OK! \e[m" echo "" echo ""
sleep 1
echo -n -e "\e[32m- Regras básicas\e[m ~-~ " sleep 1 echo "" echo -n -e "\e[36m- Permitindo que acesso DNS.\e[m ~-~ "
iptables -A INPUT -p udp --dport 53 -j ACCEPT
echo -e "\e[31m OK! \e[m" echo "" echo "" sleep 1 echo -n -e "\e[34m#####################\e[m ~-~ " echo -n -e "\e[34m# Filtro de pacotes #\e[m ~-~ " echo -n -e "\e[34m#####################\e[m ~-~ " echo "" echo "" sleep 0.5 echo -e "\e[31m . \e[m" sleep 0.5 echo -e "\e[31m .. \e[m" sleep 0.5 echo -e "\e[31m ... \e[m" sleep 0.5 echo -e "\e[31m .... \e[m" sleep 0.5 echo -e "\e[31m ..... \e[m" iptables -L -n -v echo -e "\e[31m-------------------------------------------\e[m" sleep 1 echo -n -e "\e[34m#####################\e[m ~-~ " echo -n -e "\e[34m# NAT #\e[m ~-~ " echo -n -e "\e[34m#####################\e[m ~-~ " echo "" echo "" sleep 0.5 echo -e "\e[31m . \e[m" sleep 0.5 echo -e "\e[31m .. \e[m" sleep 0.5 echo -e "\e[31m ... \e[m" sleep 0.5 echo -e "\e[31m .... \e[m" sleep 0.5 echo -e "\e[31m ..... \e[m" iptables -t nat -L -n -v echo -e "\e[31m-------------------------------------------\e[m"