Mudanças entre as edições de "Action"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 61: Linha 61:
  
 
=== Layout Proposto ===
 
=== Layout Proposto ===
<img src="http://moodle.cefetsc.edu.br/file.php/422/TOPOLOGIA_PROJETO_INTEGRADOR_2008-2.jpg">
+
[[Imagem:topologia.jpg]]
  
 
== Cronograma Proposto==  
 
== Cronograma Proposto==  

Edição das 16h24min de 19 de dezembro de 2008

Action Telecom S.A

EQUIPE ACTION TELECOM S.A

Sistema Operacional: Debian
IP Externo: 200.135.37.103
Integrantes : André de Espindola
                    Eduardo Kwiatkowski Scheffer
                    Gilberto Laus Fernandes

Projeto

Disciplinas


Gerência de REDES


- Configurar um servidor para responder por um domínio. O nome do domínio deverá seguir o modelo: dominio.sj.cefetsc.edu.br. Onde “dominio” será o nome dado ao grupo.

- O ip do servidor será: 200.135.37.10x. Onde “x“ deverá ser igual ao último digito do ip do servidor de sua equipe, ou algum outro determinado pelo professor em caso de conflito. Este número, bem como o "dominio" da item anterior, deverá ser repassado ao professor, para que sejam feitos os ajustes necessários no DNS (hendrix) da escola. Obs.: não confunda "dominio" com nome de máquina.

- No servidor deverão estar configurados os seguintes serviços: DNS, servidor de e-mail, ssh, ftp, firewall, Apache com uma página personalizada e cotas em disco para os usuários. Também deverão ser configurados os serviços NAT, roteamento e Squid para uso com possíveis clientes locais, conectados via uma segunda interface de rede. Estes serviços não serão habilitados para conexões remotas.

- Deverão ser criados usuários, e estes deverão ter um e-mail do tipo: usuario@dominio.sj.cefetsc.edu.br. Os usuários poderão também ter acesso a suas contas/arquivos remotamente. Para cada professor envolvido no projeto deverá ser criado um usuário exclusivo e na criação deste, a equipe deverá informar, como faria há um usuário leigo, quais os serviços disponíveis e o procedimento para acessar os mesmos, em resumo: manual do usuário. Obs.: os professores farão uso destes usuários para testar o sistema. Convidem colegas para serem usuário do seu sistema, avisando que é um sistema experimental.

Programação para REDES


O presente projeto consiste na concepção de um serviço de diário pessoal, popularmente conhecido como blog (abreviação para web log). O serviço deverá permitir que somente usuários autorizados possam publicar notas pessoais na página do blog. As notas publicadas deverão estar visíveis a qualquer visitante do sítio. O WordPress é um exemplo de blog.

Em suma o projeto deverá apresentar:

- Uma forma para autenticar usuários;
- Um formulário para a submissão de notas. Para cada nota publicada deverá ser registrada a data e a hora da publicação.
- Uma página inicial listando todas as notas já publicadas.
- O banco de dados MySQL deverá ser utilizado para o registro e recuperação das notas.
- Uma página Sobre que apresente algumas informações sobre a equipe responsável pelo projeto.


Requisitos de software

- Servidor HTTP (Apache Web Server)
- Suporte a PHP
- Banco de dados MySQL

Parte-se do pressuposto que os softwares subjacentes necessários para o provimento deste sistema já serão instalados e configurados por cada grupo, como por exemplo, servidor HTTP com suporte ao PHP. A instalação e configuração do MySQL será realizada com apoio do professor.

Cabeamento Estruturado


- Realizar o levantamento dos componentes necessários para a montagem dos equipamentos em seus locais definidos no projeto.
- A partir deste levantamento, fazer um projeto para a montagem.
- Realizar Certificação da Rede.

Instalação de Equipamentos de REDE


Topologia da Rede

Abaixo temos uma figura que mostra como será a topologia da rede a ser implementada. Deve-se observar que cada equipe implementará apenas parte da rede. A rede como um todo surgirá do conjunto dos trabalhos feitos pelas diversas equipes. Os equipamentos mostrados na figura serão disponibilizados pelo professor. A instalação e configuração dos mesmos será responsabilidade das equipes.

Equipe Action

- Instalação e configuração com teste de certificação (ping) do link ótico formado entre os Tranceivers do LAB. REDES 1 e LAB REDES 2; - Instalação e configuração da placa WIFI LAN 192.168.20.13 e seu link no LAB REDES 1 ótico redundante 2MBps entre COINF e LAB REDES 1 até as Interfaces seriais dos Routers CISCO1750; Configuração das interfaces seriais nos routers correspondentes. - Instalação e configuração do Router WIFI da rede LAN 192.168.20.0/24 (BSSID1) - Instalação e configuração com teste de certificação (taxa de erros usando test-set) do link.

Layout Proposto

Topologia.jpg

Cronograma Proposto

Etapas de Execução 24 25 26 27 28 01 02 03 04 05 08 09 10 11 12 15 16 Responsável
Configuração do Servidor
Formatação do Servidor X                                 Giba
Instalação do Sistema Operacional Debian X                                 André
Instalação e Configuração do Serviço SSH X                                 Gaúcho
Criação de Usuários e Grupos   X                               Giba
Instalação e Configuração do Serviço DNS       X                           Gaúcho
Instalação e Configuração do Firewall - Regras de IPTables   X                               André
Instalação e Configuração do Serviço SQUID     X                             Gaúcho
Instalação e Configuração do Serviço de NAT     X                             André
Instalação e Configuração do Servidor de FTP     X                             Giba
Instalação e Configuração do Servidor DHCP       X                           Gaúcho
Instalação e Configuração do Servidor de Email POSTFIX         X X X X X X X X X X       Gaúcho
Instalação e Configuração do Servidor Apache   X                               Giba
Instalação e Configuração do Serviço PPP             X                     André
Cabeamento e Instalação de Equipamentos
Instalação da Placa WIFI Lan X                                 Giba
Instalação do Router WIFI BSSID1           X                       André
Configuração e Certificação do PABX             X                     Giba
Configuração e Cerficação do Link WIFI                 X                 Gaúcho
Configuração e Cerficação das Interfaces Serias dos Routers   X               X X X           André
Confecção da Página Web
Layout Blog     X X X                         Giba
Banco de Dados           X X X X X X X           André
PHP           X X X X X X X X X       Giba
Teste e Ajustes Finais
Página Web                             X X   Todos
Servidor e Serviços                             X X   Todos
Rede Local e Equipamentos de Rede                             X X   Todos
Relatórios - WIKI                             X X   Todos
Apresentação FINAL                                 X Todos

Relatorio Final do Projeto Integrador 2008

Serviços do servidor

SSH

-PermitEmptyPasswords no (não permite acesso sem senha)
-PasswordAuthentication yes (permite autentificação com senha)
-PrintMotd yes ( mostra a "message of the day" quando se loga)
-Port 2200
-Demais configurações é padrão do ssh

Proxy Squid (transparent)


hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mgr = eduardo@action.sj.cefetsc.edu.br
visible_hostname action_servProxy
http_port 8080 transparent
cache_mem 100 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 4 MB
minimum_object_size 0 KB
cache_dir ufs /var/spool/squid 500 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_low 90
cache_swap_high 95
error_directory /usr/share/squid/errors/Portuguese

"Padrões de atualização do cache para o seguinte tipos de arquivos"

-Java

refresh_pattern .class 2880 60% 28800

-Imagens

refresh_pattern .gif 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .jpg 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .jpeg 2880 150% 28800 override-expire reload-into-ims

refresh_pattern .png 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .bmp 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .tif 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .tiff 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .xbm 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .ico 2880 150% 28800 override-expire reload-into-ims

- Animacoes

refresh_pattern .mov 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .avi 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .mpg 2880 80% 28800 override-expire reload-into-ims ignore-reload
refresh_pattern .swf 2880 80% 28800 override-expire reload-into-ims ignore-reload

- Audio

refresh_pattern .wav 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .au 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .mid 2880 150% 28800 override-expire reload-into-ims
refresh_pattern .mp3 2880 80% 28800 override-expire reload-into-ims


- Arquivos comprimidos

refresh_pattern .zip 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .gz 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .arj 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .lha 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .lzh 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .rar 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .tgz 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .tar\.gz 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .tar 2880 80% 28800 override-expire reload-into-ims
refresh_pattern .Z 2880 80% 28800 override-expire reload-into-ims

-Documentos

refresh_pattern .pdf 2880 60% 28800
refresh_pattern .rtf 2880 60% 28800
refresh_pattern .doc 2880 60% 28800
refresh_pattern .wp 2880 60% 28800
refresh_pattern .wp5 2880 60% 28800
refresh_pattern .ps 2880 60% 28800
refresh_pattern .prn 2880 60% 28800
refresh_pattern .asp 2880 60% 28800
refresh_pattern .aspx 2880 60% 28800
refresh_pattern .php 2880 60% 28800
refresh_pattern .php3 2880 60% 28800
refresh_pattern .srf 2880 60% 28800

-Executaveis

refresh_pattern .exe 2880 150% 28800 override-expire reload-into-ims

-Diversos

refresh_pattern .xml 2880 60% 28800 reload-into-ims
refresh_pattern .html 60 90% 10080 reload-into-ims
refresh_pattern .js 60 150% 10080 reload-into-ims
refresh_pattern .ashx 60 90% 10080 reload-into-ims
refresh_pattern .dll 60 90% 10080 reload-into-ims

-Padrão

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

-ACLs

acl all src 0/0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 280 443 488 563 591 777 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
acl rede src 192.168.30.0/255.255.255.0
acl negados url_regex "/etc/squid/negados/negados"

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow rede !negados
http_access deny all

Mail Sever Postfix

-"Script de criação/exclusão (mail_user_add e mail_user_del respectivamente) de usuário de email no diretorio 
/etc/postfix" -Os seguintes pacotes foram instalados para o funcionamento dos serviços de recebimento, entrega, e autentificação
dos usuários no servidor # postfix # postfix-doc # postfix-tls # sasl2 # libdb3-util # procmail # sasl2-modules # libsasl2-bin # courier-imap # corier-imap-ssl # courier-pop # courier-pop-ssl # courier-authdaemon

-Main.cf (arquivo principal de configuração do postfix). Os parametros aqui descritos foram alterado, no mais é o padrão do postfix.

-TLS parameters (Transport Layer Security).

-Foi gerado um chave de autentficação valida por um ano, caso o usuario use o email
acessando externamente. Foi criado um script para a criação da mesma que se encontra
no /etc/postfix/ssl/tls_key_generator, o padrão é gerar uma chave por 2 anos

smtp_use_tls = yes
-Adicione o postfix ao grupo sasl
useradd postfix sasl
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
tls_random_source = dev:/dev/urandom

-Configurações gerais

myhostname = action.sj.cefetsc.edu.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = action.sj.cefetsc.edu.br, localhost
mailbox_command =
home_mailbox = Maildir/
relayhost =
inet_protocols = all
mynetworks = 127.0.0.0/8

"#Codigo de erro retornado quando eh recebida um e-mail com destinatario desconhecido.
"#450 = tente novamente mais tarde.
"#550 = rejeitado.
unknown_local_recipient_reject_code = 550
mail_spool_directory = /home/postfix # mailbox_size_limit = 10485760
message_size_limit = 2097152 #Tamanho Maximo de um email (bytes)
recipient_delimiter = +
inet_interfaces = all
"#Tamanho maximo em bytes para as caixas de entrada.(bytes)
"#Deve ser maior que o message_size_limit.
mailbox_size_limit = 10485760 #10MB
"#Maximo numero de destinatarios no msm email; smtpd_recipient_limit = 15

-SMTP parameters (SASL Authentication)

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_tls_auth_only = no
-Obs. No parametro smtpd_recipient_restrictions não necessidade de autenticar usuario da rede local pois
são usuarios confiaveis, portanto "permit_mynetworks" vem antes do "permit_sasl_authenticated" qué o modulo
que requer autenticação dos usuarios pra envio usando o smtp do servidor, empedindo que o servidor se torne
um spmmer, não fazendo um open relay.

-Controle de Fila e Falha de entrega

"#Tempo maximo q uma msg fika na fila de adiadas, antes de voltar ao sender
maximal_queue_lifetime = 2d
"#Tempo maximo de email na fila
bounce_queue_lifetime = 2d
"#Tempo entre cada tentativa de entrega das msgs da fila
fast_flush_refresh_time = 1h
"#Tempo maximo entre tentativas de entregar uma msg adiada
maximal_backoff_time = 30m
"#Tempo minimo entre tentativas de entregar uma msg adiada
minimal_backoff_time = 15m
"#Tempo para deletar a msg da fila { MUITA ATENCAO}
fast_flush_purge_time = 5d

-Observações

-O Diretorio de recebimento de cada usuario ficou como descrito no script de criação de usuario.
-Checar as configurações do sasl no diretorio /etc/default/saslauthd
para o nosso caso ficou assim:
START=YES #Daemon
MECHANISM="PAM" #Login serão autenticados no PAM(linux)
THREADS=5 #Quantos processos serão iniciados pelo sasl
OPTIONS="-c -r" #O "-r" é para autenticação sem precisar do dominio ex:usuario

-Checar o arquivo /etc/postfix/sasl/smptd.conf, nele contem o método de autentificação
do smtp e metodo de envio de senha
pwcheck_method: saslauthd
mech_list: plain login
-Adicione o postfix ao grupo sasl
useradd postfix sasl

DNS Server

-Pacote instalado bind9
-geração de uma key rndc, rndc-keygen

-resolv.conf

search action.sj.cefetsc.edu.br
nameserver 200.135.37.65
nameserver 192.168.30.2

-named.conf

zone "action.sj.cefetsc.edu.br" {
type master;
notify yes;
file "/etc/bind/action.zone";
};

-action.zone

$TTL 60480
@ IN SOA ns-action.sj.cefetsc.edu.br. eduardo.action.sj.cefetsc.edu.br. (
2008121100
60480
86400
2419200
604800 )
@ IN MX 5 ns-action.sj.cefetsc.edu.br.
@ IN NS ns-action.sj.cefetsc.edu.br.
@ IN A 200.135.37.103
ns-action IN A 200.135.37.103
mail IN A 200.135.37.103
www IN A 200.135.37.103
ftp IN A 200.135.37.103
smtp IN A 200.135.37.103
imap IN A 200.135.37.103

Interface e Rotas estaticas

-IP do servidor 192.168.30.2/24
-IP do AP 192.168.30.3/24
-IP LAN1 (ROUTER) 192.168.30.1/24
-IP LAN0 (ROUTER) 200.135.37.103/26

-Configuração ta interface de rede "eth0"

-Arquivo /etc/networking/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.30.2
subnet 192.168.30.0
netmask 255.255.255.0
gateway 192.168.30.1

-Rotas

Com o comando route -n voce pode checar as rotas do servidor no nosso caso como há apenas uma rede local 192.168.30/0 o gateway é a LAN1(ROUTER) que por sua vez através das regras de DNAT e MASQUERADE emcaminha os pacotes para internet.

FIREWALL

-POLICY ACCEPT/BLOCK
-Script /root/scripts/firewall, script no rc.local, veja a descrição de alguns itens no script

echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --syn --dport 139 -j DROP #samba
iptables -A INPUT -p tcp -i eth0 --syn --dport 138 -j DROP #samba
iptables -A INPUT -p tcp -i eth0 --syn --dport 137 -j DROP #samba

echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

iptables -t nat -A PREROUTING -p tcp -i eth0 -s 192.168.30.0/24 --dport 80 -j REDIRECT --to-port 8080

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.30.0/24 -j MASQUERADE

APACHE2

-Pacote instalado apache2, apache2-modules -Site instalado no /var/www/action com um alias no arquivo /etc/apach2/sites-avaiable/default.
Foi alterado o parametro "RedirectMatch ^/$ /action/"