Action

De MediaWiki do Campus São José
Revisão de 12h44min de 19 de dezembro de 2008 por Eduzim (discussão | contribs) (→‎FIREWALL=)
Ir para navegação Ir para pesquisar

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.

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 disponiblizados pelo 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