Action

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Action Telecom S.A

EQUIPE ACTION TELECOM S.A

Sistema Operacional: Debian
IP Externo: 200.135.37.103
Integrantes : André de Espindola
                    Eduardo K 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.

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/"

FTP SERVER

-Pacote instalado proftpd

-Como utilizar o serviço

-Via Browser digite a seguinte linha http://usuario:senha@action.sj.cefetsc.edu.br
O usuario terá que ter uma conta cadastrada no servidor e poderá
somente ter acesso a sua pasta.

CONFIGURAÇÃO PPP

Segue os tutorias que utilizei para realizar as configurações
http://www.vivaolinux.com.br/artigo/Configuracao-facil-de-um-servidor-PPP/
http://under-linux.org/5957-criando-um-servidor-ppp-no-linux.html

TUTORIAL 1

Primeiramente é necessário instalar dois pacotes o ppp e o mgetty

urpmi ppp

urpmi mgetty

Após instalação digite no terminal:

stty crtscts < /dev/ttyS1

  • Este comando faz com que o device do modem fique com o controle de fluxo em modo hardware.

Depois,

vi /etc/gettydefs

e adicione a linha:

F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S login: #F38400

Obs.: mude o numero 38400 para a velocidade de seu modem

  • Este arquivo é responsável pela configuracao das tty.

Agora,

vi /etc/inittab

e adicione a linha:

m1:12345:respawn:mgetty ttyS1 38400

  • Colocando esta linha no inittab faz com que o comando fique sempre em execucao espereando as chamadas pela linha telefonica. Por exemplo toda vez que voce iniciar o linux ele ja estara escutando as chamadas. Se alguem tentar ligar para a linha telefonica em que o servidores ppp esta

ele atende a chamada. E se voce alem de usa o ppp-in (servidor) e for usar o ppp-out (cliente) você tem q comentar esta linha pois quando for usar tentar conectar vai ter problemas.

Depois digite no console:

init q

  • Com isto o mgetty eh ligado.

Obs.: mude o numero 38400 para a velocidade de seu modem e no ttyS1 você coloca a porta do seu modem ou ate mesmo se houver o link da porta para o /dev/modem ate mesmo colocar a plavra modem.

Agora eh necessário criar um script para autenticar a conexão.

vi /usr/local/sbin/ppplogin

Em seguida adicione as linhas no ppplogin :

#!/bin/sh

mesg n

stty -echo

exec /usr/sbin/pppd -detach silent modem crtscts

192.168.0.1:192.168.0.2

  • Sendo configurado a faixa de IPs que os usuário irão assumir.

Logo apos, altere a permisao do ppplogin com o comando:

chmod 777 ppplogin

Agora vamos criar os login dos usuario que terao acesso a maquina via acesso discado (ppp)

Adiciona a seguinte linha,

No /etc/passwd

ppp:$1$8EPubG8r$5h./JFQjGOrMwjB6LRAGw.:1002:100:,,,:/tmp:/usr/sbin/ppplogin

O login para conexao vai ser “ppp” e a senha “ppp”. Pode observar que no lugar da shell do usuario foi coloca o script /usr/sbin/ppplogin e no home do usuario o diretorio /tmp

Agora é so configurar o cliente, como se fosse um proprio provedor de internet, colocando o login e a senha como “ppp” e o numero do telefone no qual vai conectar.

Tutorial 2

Devemos ter instalados os pacotes ppp e mgetty, se ainda não estão, é só digitar os comandos:

# apt-get install ppp # apt-get install mgetty

NOTA: se sua distribuição não possui apt-get, procure pelos pacotes no site oficial da distribuição ou nos CDs de instalação.

Feito isto, edite o arquivo /etc/inittab e insira a seguinte linha:

S2:2345:respawn:/sbin/mgetty ttyS2 -D /dev/ttyS2

Se você for utilizar uma porta diferente de ttyS2, é só alterar a linha acima.

Após fazer as alterações no /etc/inittab, deve-se fazer o processo init ler o arquivo de configuração novamente, para isso digite:

# init q

Edite o arquivo /etc/mgetty+sendfax/login.config e descomente a linha:

/AutoPPP/ -a_ppp /usr/bin/pppd auth -chap +pap login debug

No caso da linha acima, ele considerará os usuários de /etc/passwd para autenticação.

O arquivo /etc/ppp/pap-secrets deve ficar no seguinte formato: #client server secret passwd remote IP cliente * senha 192.168.0.15


Edite o arquivo /etc/ppp/options e insira as seguintes linhas:

modem crtscts lock debug proxyarp

Agora entre no diretório /etc/ppp e crie um arquivo no formato options.PORTA, no nosso caso o arquivo se chamará options.ttyS2. Dentro deste arquivo deve estar especificado o número IP do servidor e do cliente no seguinte formato:

192.168.0.10:192.168.0.15

  • Aqui deve ser configurado a faixa de IPs que usuário vão poder alocar.

O dois números são separados por : (dois pontos), a faixa de IP varia conforme o seu gosto.

Se ele começar a conectar e a conexão cair, dê uma olhada em /var/log/messages em busca de erros.