Você está na página 1de 58

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

DEPARTAMENTO ACADMICO DE INFORMTICA


BACHARELADO EM CINCIA DA COMPUTAO

BACHARELADO EM CINCIA DA COMPUTAO: 2016/1

PROJETO DA DISCIPLINA DE SEGURANA E AUDITORIA DE


SISTEMAS

RELATRIO

PONTA GROSSA
2016
SUMRIO

1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 SERVIDOR FIREWALL - DIEGO DONIZETI DE OLIVEIRA PERICO E
DION MAICON DUARTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 TIPOS DE FIREWALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 MOTIVAO PARA UTILIZAR FIREWALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 IPTABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.1 Funcionamento do iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 INSTALAO E CONFIGURAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 REGRAS DEFINIDAS NO PROJETO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 SERVIDOR PROXY - LUCAS E. FERNANDES E MARIELLY T. L. FREITAS 10
3.1 INSTALAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 AUTENTICAO DE USURIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 BLOQUEAR WEBSITES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.1 Sites bloqueados por endereo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Sites bloqueados por Palavra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 GERAO DE LOGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 SERVIDOR DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 SERVIDOR APACHE - IVANA HANKE E RODRIGO DE FRANA MISS
NAIRNEI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1 PARTE 1 - INSTALAO DO APACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2 PARTE 2 - CRIAO DE DIRETRIOS E PERMISSES . . . . . . . . . . . . . . . . . . . . . . . 21
5.3 PARTE 3 - CRIAO E ASSOCIAO DE PGINAS HTML . . . . . . . . . . . . . . . . . 22
5.4 PARTE 4 - ATIVAR OS ARQUIVOS DE VIRTUAL HOST . . . . . . . . . . . . . . . . . . . . . . 24
5.5 PARTE 5 - INSTALAO DO MDULO PHP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.6 PARTE 6 - CONFIGURANDO UM HTTP AUTENTICADO . . . . . . . . . . . . . . . . . . . . 25
5.7 PARTE 7 - CONFIGURANDO O ENVIO DE ARQUIVOS PARA O SERVI-
DOR ATRAVS DO APACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6 SERVIDOR LDAP - IGOR RAMOS TIBURCIO E LUIZ HENRIQUE KULT-
ZAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1 INSTALAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2 CONFIGURAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.3 ADICIONANDO UNIDADES ORGANIZACIONAIS, GRUPOS E USU-
RIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4 CONFIGURANDO AUTENTICAO NO SERVIO APACHE . . . . . . . . . . . . . . 37
6.4.1 Loggin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.4.2 Configurando a autenticao no servio Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7 VPN - CARLOS ABADE E PRISCILLA DORADO GAERTNER . . . . . . . . . . . . . . 40
7.0.3 O que VPN? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.0.4 Instalao do OpenVPN no servidor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.0.5 Instalao do OpenVPN em um cliente com Windows . . . . . . . . . . . . . . . . . . . . . . . . 42
7.0.6 Instalao do OpenVPN em um cliente com Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8 SERVIDOR JAVA - ERIC PINHEIRO E HEITOR VICENTE IHA . . . . . . . . . . . . . 45
8.1 INTEGRAO COM O LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9 SERVIDOR DE EMAIL - KAIO PABLO E FELIPE BARBOSA KRELLING . 49
9.1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.2 REVISO BIBLIOGRFICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.3 PROTOCOLOS UTILIZADOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.3.1 SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.3.2 IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.4 CONFIGURAO DO SERVIDOR DE EMAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9.4.1 Gerncia de Usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9.4.2 Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.4.3 Dovecot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.4.4 Cliente de Email Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10 CONCLUSO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3

1 INTRODUO
4

2 SERVIDOR FIREWALL - DIEGO DONIZETI DE OLIVEIRA PERICO E DION


MAICON DUARTE

O firewall um sistema de segurana de redes de computadores, podendo


ser implementado por hardware ou software, permitindo ao usurio administrador a
criao de um conjunto de regras para o controle de trfego na rede.
Este conjunto de regras permite que o firewall atue como uma barreira res-
ponsvel por estabelecer um controle entre redes seguras e inseguras, impedindo o
acesso no autorizado ou no confivel.

2.1 TIPOS DE FIREWALL

Existem dois tipos de nveis de firewall:

Nvel de Aplicao: Analisam o contedo do pacote para tomar a deciso de


filtragem. O Squid um tipo de firewall de aplicao, responsvel pelo controle
de acesso a websites;

Nvel de Pacotes: Analisam o contedo dos parmetros do pacote, tais como,


porta, endereo de destino e endereo de origem, estados de conexo, etc.

2.2 MOTIVAO PARA UTILIZAR FIREWALL

A configurao correta de um sistema de firewall, alm de dificultar a invaso


do seu computador por algum hacker, acessando algum arquivo ou executar um c-
digo mal intencionado, permite que o seu prprio computador no envie dados no
autorizados para outras redes.

2.3 IPTABLES

O iptables um firewall de linha de comando, que por padro vem instalado


no kernel do Linux, substituindo o Ipchains. atravs do Iptables que sero configu-
radas as polticas de segurana da rede, liberando ou bloqueando pacotes trafegados
pela rede, por endereos/portas de servios, prioridade, etc. Dentre algumas caracte-
rsticas presentes no iptables esto:

Especificao de portas;
5

Especificao de endereo de origem/destino;

Suporte a interfaces de origem/destino de pacotes;

Manipula servios de proxy na rede;

Masquerading de rede;

Redirecionamento de portas.

2.3.1 Funcionamento do iptables

O iptables especifica uma regra para um determinado pacote e um alvo, se o


pacote verificado no est especificado, a prxima regra ser analisada, assim se regra
estiver especificada atribudo um valor para o alvo, podendo ser um nome definido
pelo usurio ou um valor especial (ACCEPT, DROP, QUEUE).

ACCEPT: libera o trfego do pacote;

DROP: rejeita o trfego pacote;

QUEUE: envia o pacote para a rea do usurio, no qual ser adicionada em uma
fila o pacotes.

2.4 INSTALAO E CONFIGURAO

Para realizar a instalao do iptables no linux Ubuntu, basta executar o co-


mando abaixo:

sudo apt-get install iptables

Em seguida necessrio realizar as definies das regras de controle, as mes-


mas sero armazenadas dentro das chains e so processada pela ordem de definio.
Abaixo est um exemplo de uma regra do iptables.

iptables -A INPUT -s 123.123.123.1 -j DROP

As chains so locais no qual as regras do firewall foram definidas. Existem


dois tipo de chains: as embutidas (INPUT, OUTPUT, FORWARD) e as criados pelos
usurio. Por outro lado, as chains e mais um conjunto de regras, ficam armazenada
em tabelas. Existem trs tipos de tabelas utilizadas no iptables.
6

Filter: tabela padro do iptables, possui trs chains:

1. INPUT: utilizada para os dados que entram na mquina;


2. OUTPUT: utilizada para os dados que saem da mquina;
3. FORWARD: utilizada para os dados que so redirecionados para outras
interfaces ou mquina da rede.

NAT: utilizada para dados que geram outra conexo(masquerading), possui trs
chains:

1. PREROUTING: utilizado quando os pacotes precisam ser modificados


logo que chegam;
2. OUTPUT: consultado quando os pacotes gerados localmente precisam
ser modificados antes de serem roteados;
3. POSTROUTING: consultado quando os pacotes gerados localmente pre-
cisam ser modificados aps de serem roteados.

Mangle: utilizada para alteraes especiais de pacote, possui cinco chain:

1. INPUT: utilizado quando os pacotes precisam ser modificados antes de


de serem enviados para a chain INPUT da tabela filter;
2. FORWARD: utilizado quando os pacotes precisam ser modificados antes
de serem enviados para a chain FORWARD da tabela filter;
3. PREROUTING: utilizado quando os pacotes precisam ser modificados
antes de serem enviados para a chain PREROUTING da tabela NAT;
4. POSTROUTING: utilizado quando os pacotes precisam ser modificados
antes de serem enviados para a chain POSTROUTING da tabela NAT;
5. OUTPUT: utilizado quando os pacotes precisam ser modificados antes
de serem enviados para a chain OUTPUT da tabela NAT.

A seguir so tratados os comandos utilizados para realizar a configurao das


regras do firewall.

Adicionando regras

Para adicionar uma regra utilizado parmetro -A, por exemplo, em que
bloqueado o trfego para porta 22.

sudo iptables -A INPUT -p tcp dport 22 -j DROP

A diretiva DROP utiliza para bloquear a regra e a diretiva ACCEPT utili-


zada para liberar o trfego. O comando abaixo libera o trfego para porta 22.
7

sudo iptables -A INPUT -p tcp dport 22 -j ACCEPT

Listando regras

O parmetro -L usado para a listagem de todas as regras que encontram-se


na tabela atual.
sudo iptables -L

Apagando uma regra -D

Para apagar uma regra existente basta utilizar o parmetro -D, por exemplo.

sudo iptables -D INPUT -p tcp dport 22 -j ACCEPT

possvel tambm apagar uma regra pela sua posio na tabela, por exemplo.

sudo iptables -D 4

Inserindo uma regra em uma posio definida

Para inserir uma regra na tabela em uma posio definida, basta utilizar o
parmetro -I. O comando abaixo adiciona a regra na primeira linha da tabela.

Substituindo uma regra

Para alterar uma regra existente basta utilizar o parmetro -R, responsvel
por substituir a regra existente pela nova e em seguida especificar o nmero da regra
que sofrer alterao.

Masquerading

O masquerading utilizado para conectar a rede interna com a internet, para


realizar o masquerading necessrio que o kernel do sistema operacional tenha su-
porte ao iptables. Para habilitar o masquerading para todas as mquinas da rede
192.168.0.* basta utilizar os dois comandos abaixo:

Salvando as regras

Aps a insero das regras de controle, necessrio salv-las, caso o contrrio


quando a mquina for desliga as configuraes sero perdidas, o comando para salvar
as regras :
No qual especificado o diretrio e o arquivo em que ser gravado as confi-
guraes.
8

sudo iptables -I INPUT 1 -p tcp dport 22 -j ACCEPT

sudo iptables -R INPUT 2 -d 127.0.0.1 -p icmp -j DROP

sudo iptables - t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE


sudo echo 1 >/proc/sys/net/ipv4/ip_forward

Restaurando as regras

Para restaurar as regras gravadas em um arquivo, basta utilizar o comando


abaixo:

Restaurando as regras durante a inicializao do SO

Para realizar a restaurao das regras, juntamente com a inicializao do SO,


necessrio alterar o arquivo /etc/network/interface adicionando o comando no final
do arquivo.
9

sudo iptables-save >/diretorio/iptables-regras

sudo iptables-restore </diretorio/iptables-regras

pre-up iptables-restore < /diretorio/iptables-regras

2.5 REGRAS DEFINIDAS NO PROJETO

Para o projeto foram definidas as seguintes regras na interface de rede eth1.

Figura 1 Regras do Firewall

Primeiramente foi adicionada a regra liberando a utilizao do endereo de


loopBack(127.0.0.1) de ambas placas (eth0/eth1). Em seguida liberado o acesso para
todas as portas utilizada pelos demais servios do projeto, para finalizar rejeitado o
acesso para as demais servios e feito o masquerade entre as placas, conetando a eth1
com a internet.
Fontes: (GNU/LINUX, 2010; INFOWESTER, 2013);
10

3 SERVIDOR PROXY - LUCAS E. FERNANDES E MARIELLY T. L. FREITAS

Um servidor Proxy basicamente uma forma de controlar a comunicao


entre duas estaes, onde existem clientes que fazem pedidos de pginas web para
o servidor, e outra mquina responde ao pedido do cliente, caso o servio esteja
configurado para disponibilizar essa pgina, disponilizando ou no a pgina que o
cliente pediu.
O que garante se os pedidos foram aceitos ou no, a forma como o servidor
Proxy foi configurado, pois o servidor Proxy o que realiza as validaes dos pedidos.
Para fazer o servidor proxy foi utilizado o Squid, no qual suporta HTTP, FTP e outros.
O Squid foi utilizado para realizar a autenticao de usurios na rede e no bloqueio
de sites utilizando palavras pr-definidas e endereos.

3.1 INSTALAO

Para a instalao do squid, foi utilizado o comando:

sudo apt-get install squid3

O arquivo de configurao fica na pasta /etc/squid3, para configura-lo usa-se o


comando:
sudo nano /etc/squid3/squid.conf

Esse arquivo squid.conf contm todas as informaes bsicas e fundamen-


tais do Squid. Nesse arquivo definido o modo de bloqueio de sites, caminho para
arquivos de autenticao e informaes sobre a rede.
A porta padro do Squid a 3128, ento no necessrio modific-la.
Antes de continuar a explicao do arquivo de configurao do squid, ne-
cessrio fazer uma breve explicao de como fazer uma autenticao de usurio. Para
fazer essa autenticao, o squid deve estar instalado e funcionando corretamente.

3.2 AUTENTICAO DE USURIO

Nota: Antes de iniciar a criao dos usurios e senhas, importante checar


se o squid j no est funcionando com autenticao. Para testar, basta que o usu-
rio tente conectar pelo navegador em uma pgina da Web e caso a pgina aparea
normalmente, presume-se que o squid no tem autenticao.
11

Primeiro passo: Criar um usurio e senha. Primeiramente necessrio a cria-


o de uma senha NCSA, usando o comando htpasswd. Esse comando utilizado para
criao e atualizao de usurios e senhas em autenticaes bsica do Squid.

htpasswd /etc/squid3/squid_passwd bccUser

bccUser utilizado como exemplo para fins didtico)


A sada do comando anterior :

New password:
Re-type new password:
Adding password for bccUser

O arquivo squid_passwd o arquivo que ir conter o nome do usurio.

chmod o+r /etc/squid3/squid_passwd

Segundo Passo: Encontrar o caminho do arquivo nsca_auth de autenticao.


Normalmente o arquivo nsca_auth est localizado na pasta /usr/lib/squid3/ncsa_auth.
possvel encontrar o caminho do arquivo nsca_auth digitando o seguinte
comando:

dpkg -L squid | grep ncsa_auth

A sada o caminho do arquivo:


12

/usr/lib/squid/ncsa_auth

Terceiro Passo:Configurar nsca_auth para a autenticao do proxy atravs do


Squid.

# vim /etc/squid3/squid.conf

ento necessrio editar o arquivo squid.conf, adicionando ou modificando a


seguinte parte do arquivo:

auth_param basic program /usr/lib/squid/ncsa_auth


/etc/squid/squid_passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

Procura-se pela seo que contm as ACL e adicione uma nova:

acl ncsa_users proxy_auth REQUIRED


http_access allow ncsa_users

Salva o arquivo e o fecha.


O que cada comando significa:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd


: Especifica o arquivo contendo as senhas dos usurios;

auth_param basic children 5: o nmero de autenticaes processadas;

auth_param basic realm Squid proxy-caching web server: Parte do texto que o
usurio ir enxergar quando digitar o seu usurio e senha

auth_param basic credentialsttl 2 hours: Especifica a quantidade de tempo que


o usurio pode ficar conectado sem que uma nova autenticao seja necessrio;

auth_param basic casesensitive off: Especifica se o nome de usurio utiliza case


sensitive, ou seja, se o usurio pode digitar seu nome em caixa alta ou baixa e isso
no vai interferir na autenticao. As opes so on para ativar o case sensitive
ou off para desativar;

acl ncsa_users proxy_auth REQUIRED: o termo REQUIRED garante que qual-


quer usurio autenticado ir combinar com a ACL ncsa_users;

http_access allow ncsa_users: Permite acesso ao proxy somente se o user estiver


autenticado;
13

necessrio reiniciar o squid aps fazer essas modificaes. Para reiniciar o


servio, necessrio digitar o comando:

sudo /etc/init.d/squid restart

Quando aberto o navegador Firefox, preciso configurar o Proxy do navega-


dor. Na Figura 2 apresenta o Proxy sendo informado.

Figura 2 Configurao do Proxy no navegador

Aps informado o Proxy, o navegador fechado e aberto novamente, e ento


uma janela de autenticao aparece, onde deve ser informado o usurio e senha.
Esse tutorial foi elaborado por (GITE, 2006) na lngua inglesa, o tutorial foi
traduzido e reescrito pelos membros do grupo: Marielly Freitas e Lucas Fernandes.
14

Figura 3 Configurao do Proxy no navegador

3.3 BLOQUEAR WEBSITES

A principio importante explicar o que so ACLs.


Access Control List (ACL), so listas de permisses que so conectadas a obje-
tos. As ACL especificam quais usurios ou processos de sistemas podem ter acesso a
objetos ou a realizar operaes.
O Squid utiliza ACLs para criar lista de permisses de usurios, sites e opera-
es dentro do servidor.
15

Quando ocorre o bloqueio do site, uma pgina de erro aparece, impedindo o


site de abrir.

Figura 4 Pgina de Erro

3.3.1 Sites bloqueados por endereo

Primeiro passo: Criar um arquivo que ir conter os sites bloqueados.


O arquivo deve ficar no seguinte caminho: /etc/squid3/sites_bloqueados
Para cri-lo e adicionar os sites que sero bloqueados, necessrio digitar o
seguinte comando:

vim /etc/squid3/sites_bloqueados

Dentro do arquivo necessrio informar os links dos sites:

www.dramafire.com
www.facebook.com

Segundo passo: Modificar o arquivo de configurao squid.conf, modificando


as ACL;
Para abrir o arquivo de configurao, digite o seguinte comando:

vim /etc/squid3/squid.conf
16

acl sitesbloqueados dstdomain /etc/squid/sites_bloqueados

Na seo de ACLs, adicione uma nova linha:


Lembrando que o sitesbloqueados ser o nome da sua ACL.
Na seo http_access deny, adicione tambm uma nova linha, com o seguinte
contedo:

http_access deny sitesbloqueados


17

Terceiro passo: Reiniciar o servio Squid

/etc/init.d/squid restart

3.3.2 Sites bloqueados por Palavra

Para realizar o bloqueio por palavras, necessrio a criao de mais ACLs.

acl block_words url_regex -i gospel fanfic

Onde a ACL se chama block_words e ela bloqueia sites que contenham as


palavras: gospel, fanfic.
O comando a seguir, faz o bloqueio da ACL block_words:

http_access deny block_words

No caso de quando a lista de palavras grande, fica poluido coloca-las na


prpria ACL, ento pode ser feita uma ACL que bloqueia palavras contidas em um
arquivo no caminho /etc/squid3/block_words.

acl block_words url_regex /etc/squid3/block_words

3.4 GERAO DE LOGS

Para verificar os arquivos de log do servio Squid, o servio fornece um ar-


quivo
18

4 SERVIDOR DHCP - GABRIEL COPLAS BECHER E EDIMAR JACOB BAUER

DHCP um protocolo de rede que est no nvel de aplicao no modelo OSI,


e responsvel por fornecer automaticamente as configuraes de endereamento
de redes necessrias para o host(cliente) navegar pela rede, informaes como IP e
Mscara de rede e Gateway.
Para instalao do Protocolo em um servidor Ubuntu necessrio que se
abra o terminal (que pode ser feito atravs do atalho no teclado Ctrl+Alt+T) e digite
o seguinte comando:

sudo apt-get install isc-dhcp-server

Aps a instalao ser necessrio que se altere alguns documentos dentro


dos diretrios Ubuntu, inclusive os diretrios que sero instalados, esses documen-
tos vem com valores default e normalmente vem em forma de comentrio, a partir
dai criaremos interfaces para rede LAN aonde ficaram os hosts dos alunos, e outra
interface que apontar para rede externa. A partir do comando ifconfig podemos ver
no terminal como est nossa rede, e quantas interfaces esto up. Para criar e editar
essas interfaces precisaremos acessar o documento aonde esto essas configuraes, a
partir do comando:

sudo nano /etc/network/interfaces

Configuraremos duas interfaces eht1 e eth0, aonde eth1 ser a interface a


partir da qual os host se conectaram atravs do roteador, e eth0 ser a interface que
servir como Gateway para rede externa, para o roteador fixaremos um ip esttico e
definiremos ele como gateway para rede externa. Para isso o documento contar com
as seguintes configuraes:

auto lo
iface lo inet loopback
auto eth0
iface eht0 inet dhcp
auto eth1
iface eth1 inet static
adress 192.168.0.1
netmask 255.255.255.0

Para subirmos a placa utilizaremos o comando ifup <nome da interface>, assim


logo depois que ela subir as atualizaes de configurao j sero vlidas para inter-
face. Caso as configuraes no apaream no ifconfig ser necessrio fazer com que
a placa caia e suba em seguida, para isso utilizaremos o comando ifdown <nome da
interface> e logo aps ifup <nome da interface>
19

Aps configurao de interfaces ser necessrio que se modifique o arquivo


de configurao DHCP, o arquivo est presente em /etc/dhcp/dhcpd.conf, atravs do
comando:
sudo nano /etc/dhcp/dhcpd.conf

Nesse arquivo configuraremos os escopos e configuraes gerais que faram


com que o DHCP distribua as configuraes de rede para os Hosts de acordo com as
nossas necessidades. As configuraes utilizadas para esse projeto foram:

ddns-update-style none;

Essa linha impede atualizao dinmica de DNS

option domain-name-servers 8.8.8.8;

Essa linha identificar seus servidores DNS, separados por vrgula caso seja
mais que um.

default-lease-time 600;

Essa linha define o perodo de concesso padro de um ip para um host


(em segundos).

Max-lease-time 72;00;

Essa linha define o perodo de concesso mximo de um ip para um host


(em segundos).

Aps essas configuraes haver uma linha seguida de chaves que possibili-
tar definirmos um escopo pra rede, nessa linha estar presente uma subrede default
e uma mscara padro. As configuraes dentro dessas chaves definiram os padres
de rede como o alcance do DHCP e Gateway padro:

subnet 192.168.0.0 netmask 255.255.255.0 {


range 192.168.0.10 192.268.0.100; #alcance da rede
option routers 192.168.10.2; #gateway padro
option broadcast-address 192.168.10.255 #broadcast
}

Foi configurado um roteador TP-link como brigde entre o servidor e os hosts(clientes),


com ip fixo 192.168.0.2 e funcionalidade DHCP do roteador desabilitada, e logo aps
conectado atravs da porta LAN interface eth1 do servidor.
Aps as configuraes de escopo, sero especificadas quais interfaces sero
utilizadas, atravs do documento /etc/default/isc-dhcp-server sero modificadas ou
criadas as seguintes linhas de comando:
20

INTERFACES = eth1;

Depois de tudo configurado, utilizaremos alguns comandos que nos auxilia-


ram no gerenciamento do servidor, alm de nos ajudar na manuteno do mesmo:

sudo service isc-dhcp- server start

Esse comando inicia o servio DHCP.

sudo service isc-dhcp- server restart

Esse comando reinicia o servio DHCP.

sudo service isc-dhcp- server stop

Esse comando inicia o servio DHCP

sudo service isc-dhcp- server status

Esse comando mostra o status do servio DHCP.

sudo grep dhcpd /var/log/syslog

Mostra os logs do sistema relacionados ao DHCP.

sudo cat /var/lib/dhcp/dhcpd.leases | less

Mostra as instncias ativas na rede.


21

5 SERVIDOR APACHE - IVANA HANKE E RODRIGO DE FRANA MISS NAIR-


NEI

Um Servidor Web responsvel por aceitar pedidos HTTP de navegadores e


enviar respostas HTTP. Criado por Rob McCool em 1995, o Servidor HTTP Apache
o servidor web livre predominante na gesto de servidores do mundo.
O objetivo do Servidor Apache 2 fornecer um servidor seguro, eficiente e
extensvel que fornece servios HTTP em sincronia com os padres HTTP atuais. O
servidor Apache 2 pertence ao Projeto Apache que faz parte da Apache Software
Foundation. O projeto gerido por voluntrios de todo o mundo, permite tambm
usurios proporem ideias novas.
Um Virtual Host criado quando deseja-se hospedar mais do que um web
site numa nica mquina, com um endereo IP ou mais. Com um Virtual Host um
servidor pode compartilhar memria e ciclos de processador, sem a necessidade de
todos os servios prestados a usar o mesmo nome de host. O relatrio demonstrar
a instalao do Apache 2, a configurao do Virtual Host, a configurao do mdulo
PHP 5 e a implementao de um HTTP autenticado.

5.1 PARTE 1 - INSTALAO DO APACHE

A instalao foi realizada atravs do comando apt-get:

sudo apt-get install apache2

5.2 PARTE 2 - CRIAO DE DIRETRIOS E PERMISSES

Aps a instalao criamos a estrutura de diretrios Document Root. O Docu-


ment Root o diretrio de nvel superior para a orientao do Apache.

sudo mkdir -p /var/www/bcc.com

Depois de criado o diretrio fornecemos permisso para que nossos usurios,


alm do usurio root, possam modificar os arquivos no diretrio web.

sudo chown -R $USER:$USER /var/www/bcc.com

O comando chown executado pelo root alterara o proprietrio do diretrio ou


arquivo.
22

Devemos tambm modificar as permisses para garantir que o acesso de lei-


tura permitido para o diretrio web de modo que a pginas possam ser servidas
corretamente. Para isto, utilizamos o comando chmod, um comando do Unix que
permite alterar permisso de arquivos e diretrios.

sudo chmod -R 755 /var /www

chmod -R 755 prov as permisses minimas para a execuo de scripts e pro-


gramas web.

chmod -R 755

-R - Altera arquivos e diretrios recursivamente

7 - permite o usurio Root ter acesso total ao diretrio e arquivos.

5 - permite ao grupo acesso e execuo aos diretrios e arquivos.

5 - permite ao qualquer outro usurio acesso e execuo aos diretrios e arqui-


vos.

Aps o comando o servidor tem as permisses que ele precisa para servir
o contedo, e seus usurios devem ser capaz de criar contedo dentro das pastas
necessrias.

5.3 PARTE 3 - CRIAO E ASSOCIAO DE PGINAS HTML

Primeiramente criamos uma pgina HTML com o seguinte comando:

nano /var/www/bcc.com/index.html

Dentro deste arquivo configuramos a nossa pgina HTML. A personalizao


da pgina no afeta o vnculo com a Virtual Host.
O Apache possu um arquivo padro de virtual host nomeado como 000-
default.conf que se encontra na pasta /etc/apache2/sites-available/. a partir deste
arquivo que especificamos a configurao do Virtual Host que determinar como o
servidor ir responder s requisies de domnio. Para permitirmos a requisio de
domnio de nossa pgina HTML copiamos o contedo de default.conf para um
outro arquivo tipo .conf com o mesmo nome que o endereo HTML. Ou seja, copiamos
o contedo de default.conf para bcc.conf nesta mesma pasta. Realizamos a cpia com
o comando:
23

sudo cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/bcc.com.conf

Com o arquivo bcc.com.conf criado podemos abr-lo e edit-lo:

sudo nano /etc/apache2/sites-available/bcc.com.conf

O arquivo aberto dever conter a seguinte formatao:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

Para customizar este arquivo para o endereo bcc.com precisamos fazer al-
gumas mudanas neste arquivo. A porta 80 a porta padro HTML ento convm
permanecer com esta porta. A primeira mudana colocar o e-mail do responsvel
pelo servidor:

ServerAdmin suzana@gmail.com

Adicionamos, ento, duas novas linhas ao arquivo: ServerName e ServerAlias.


O ServerName estabelece a base de seu domnio, no nosso caso bcc.com. O ServerA-
lias especifica nomes que podem corresponder ao domnio como se fossem base.
24

ServerName bcc.com
ServerAlias www.bcc.com

A ltima edio neste arquivo ser mudar a diretiva do DocumentRoot para


o arquivo public_html criado no segundo passo.

DocumentRoot /var/www/bcc.com/

Com todas estas edies feitas o arquivo dever ter o seguinte contedo:

<VirtualHost *:80>
ServerAdmin suzana@gmail.com
ServerName bcc.com
ServerAlias www.bcc.com
DocumentRoot /var/www/bcc.com/
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>

5.4 PARTE 4 - ATIVAR OS ARQUIVOS DE VIRTUAL HOST

Para ativar os sites utilizamos a ferramenta a2ensite do Apache. Caso neces-


srio usa-se o a2dissite, que desativa os arquivos.

sudo a2ensite bcc.com.conf

Deste modo, poderemos ativar a configurao do bcc.com na Virtual Host.


Quando essa pgina for acessada, ser direcionada para a pgina HTML criada.

5.5 PARTE 5 - INSTALAO DO MDULO PHP 5

Para instalarmos o mdulo PHP utilizamos apenas um comando:


25

sudo apt-get install libapache2-mod-php5

O objetivo desta etapa apenas incluir o mdulo PHP no servidor Apache,


possibilitando a leitura de arquivos PHP.

5.6 PARTE 6 - CONFIGURANDO UM HTTP AUTENTICADO

Para fazer as mudanas dessa etapa obrigatrio estar logado como root.
Primeiramente abrimos o arquivo /etc/apache2/apache2.conf. Exemplo:

sudo nano /etc/apache2/apache2.conf

Dentro deste arquivo procuramos a linha AccessFileName e e substitumos


por AccessFileName .htaccess. Precisamos criar o arquivo .htaccess. Ele ser criado
dentro do diretrio do HTTP, no nosso caso na pasta comp.com.

sudo nano /var/www/comp.com/.htaccess

Dentro deste arquivo adicionamos as seguintes linhas:

AuthType Basic
//usaremos o tipo Base64 de transferncia
AuthName "Digite usuario e senha ou contate um adm pelo e-mail suzana@gmail.com"
//rtulo da mensagem apresentada na autentificao
AuthUserFile /etc/apache2/.htpasswd
//local onde ficar o arquivo de senha
Require valid-user
//a autentificao exigir um usurio vlido
Satisfy All
//exigir que o usurio passe na restrio de acesso e um usurio e senha vlidos na autentificao

Para finalizar a configurao devemos criar o arquivo de senha .htpasswd.


Para criar-lo usamos o comando:
26

htpasswd -c /etc/apache2/.htpasswd root

Onde -c o comando de criao de arquivo e root o usurio para a auten-


tificao. A execuo deste comando pedir uma senha para o usurio especificado,
usamos a senha 123.
Concluda a senha necessita-se reiniciar o Apache 2. Aps isso a autentificao
j est pronta para ser acessada.
Fazendo todas as partes deste relatrio foi possvel instalar e configurar o
servidor Apache 2, implementar a autentificao de pgina HTML e instalar o mdulo
PHP no Apache 2.

5.7 PARTE 7 - CONFIGURANDO O ENVIO DE ARQUIVOS PARA O SERVIDOR


ATRAVS DO APACHE

Com o objetivo de facilitar a transferncia de arquivos para o servidor, desen-


volvemos em nossa pgina bcc.com um upload de arquivos. Para isso um cdigo
.html juntamente com um arquivo .php.
A pasta que receber todos os arquivos upados ficar dentro de bcc.com com o
nome arquivos.com, caminho: /var/www/bcc.com/arquivos.com. Para esta pasta
demos total permisso para outros usurios. Desta maneira conseguimos colaborar
com outras equipes que precisam upar e fazer download de arquivos no servidor.
27

6 SERVIDOR LDAP - IGOR RAMOS TIBURCIO E LUIZ HENRIQUE KULTZAK

Lightweight Directory Access Protocol (LDAP), um protocolo de aplicao


aberto, livre de fornecedor e padro de indstria para acessar e manter servios de
informao de diretrio distribudo sobre uma rede de Protocolo da Internet (IP).
Servios de diretrio desempenham um papel importante no desenvolvimento de
aplicaes intranet e Internet permitindo o compartilhamento de informaes sobre
usurios, sistemas, redes, servios e aplicaes atravs da rede.

6.1 INSTALAO

Instalar o servidor OpenLDAP e os utilitrios tradicionais de gerenciamento


de LDAP. Eles so encontrados nos pacotes slapd e ldap-utils respectivamente.

sudo apt-get install slapd ldap-utils

6.2 CONFIGURAO

Durante a instalao dos pacotes algumas informaes sobre o domnio sero


solicitadas, como nome de domnio (DNS), nome da organizao, senha do adminis-
trador, forma de armazenamento das informaes (BD). Caso, por algum motivo, seja
necessrio reconfigurar o servio openLdap, isto possvel executando o comando:

sudo dpkg-reconfigure slapd

Para facilitar a administrao do servio openLdap possvel instalar uma


interface web chamada phpldapadmin, sua instalao feita atravs do seguinte co-
mando:

sudo apt-get install phpldapadmin

Configurao do servio phpldapadmin. Abra o arquivo de configurao atra-


vs do comando:
sudo nano /etc/phpldapadmin/config.php
Procure as seguintes linhas no arquivo aberto e altere-as conforme foi especi-
ficado no processo de instalao do openldap:
Para acessar a pgina de login, abra o navegador e digite:
28

$ servers setValue(server,host,endereo_de_IP);
$ servers setValue(server,base,array(dc = componente_de_dominio,dc = componente_de_dominio));

Figura 5 Logando na plataforma PHPLDAPAdmin

endereo_de_IP/phpldapadmin
Para loga-se na ferramenta, clique no link login e insira os dados do servi-
dor no qual deseja realizar alteraes, depois clique no boto Authenticate.
Ser apresentada a seguinte tela contendo as informaes do servidor solici-
tado:
Se clicar no boto mais ao lado do servidor sero apresentadas as seguintes
informaes:

6.3 ADICIONANDO UNIDADES ORGANIZACIONAIS, GRUPOS E USURIOS

Partindo da regio especificada na figura acima, clique em Create new entry


here. Ser apresentada a seguinte tela:
29

Figura 6 Logando na plataforma PHPLDAPAdmin

Figura 7 Logando na plataforma PHPLDAPAdmin

Selecione a opo Generic Organization Unit. Ser solicitado o nome da


unidade.
30

Figura 8 Selecionando um template para a criao de processos

Figura 9 Create Object

Digite o nome da unidade e clique em Create Object. A seguinte tela ser


apresentada para conferncia dos dados e confirmao, clique no boto Commit.
A estrutura do servidor ficar da seguinte forma:
Repita o processo para criar uma unidade de usurios. Ficar da seguinte
forma:
31

Figura 10 Create LDAP Entry

Figura 11 Estrutura do Servidor: Grupos

Para criar um grupo de acesso clique na unidade a qual deseja adicionar um


grupo, ser apresentada a seguinte tela:
32

Figura 12 Estrutura do Servidor: Usurios

Figura 13 Estrutura do Servidor

Clique em Create a child entry. Ser apresentada a tela para seleo da


entrada:
Selecione Generic Posix Group.
33

Figura 14 Create a child entry

Escolha o nome para o grupo:

Figura 15 Nome do grupo


34

A rvore do servidor ficar assim:

Figura 16 rvore do servidor

Para criar um usurio clique em usurios e escolha a opo create a child


entry selecionando a opo Generic: User Account.

Figura 17 Selecione: Generic: User Account

Sero solicitadas vrias informaes sobre o usurio a ser cadastrado, preen-


cha as informaes e clique em Create Object.
35

Figura 18 Informaes de Usurio

Ao final do processo estar adicionado ao servidor o usurio


36

Figura 19 Informaes de Usurio

Figura 20 LDAP server


37

6.4 CONFIGURANDO AUTENTICAO NO SERVIO APACHE

Para habilitar a autenticao do apache pelo LDAP deve-se executar o se-


guinte comando:

# sudo a2enmod authnz_ldap

Para configurar a autenticao do servidor apache deve-se editar o arquivo


localizado em /etc/apache2/sites-enabled adicionando ao arquivo as seguintes linhas

Figura 21 Configurao Apache

Neste exemplo foramos a autenticao ao tentar acessar o arquivo teste.html


localizado na raiz do servidor web, utilizando o uid (user identification) que no nosso
exemplo lhenrique e a senha.

Figura 22 Authentication Required


38

6.4.1 Loggin

Crie um arquivo loggin.ldif com as sequintes linhas

Figura 23 Login

E execute o seguinte comando:

Figura 24 Login

6.4.2 Configurando a autenticao no servio Squid

Antes de iniciar a configurao deve-se verificar se o servio Squid consegue


realizar comunicao com o servidor LDAP. Executando o seguinte comando:

# /usr/lib/squid3/squid_ldap_auth -b dc=test,dc=com -f uid=%s -h endereo_de_IP

Aps o comando, digite o uid e a senha de um usurio no seguinte formato:


usurio ESPAO senha
O resultado esperado deve ser OK.
39

Para configurao abra o arquivo /etc/squid/squid.conf e insira as seguintes li-


nhas

auth_param basic program /usr/lib/squid/squid_ldap_auth -b


dc=componente_de_dominio,dc=com -f uid=%s -h endereo_de_IP
acl ldapauth proxy_auth REQUIRED
http_access allow ldapauth
http_access deny all

Aps salvar as alteraes reinicie o servio Squid executando o seguinte co-


mando:

# sudo service restart squid3


40

7 VPN - CARLOS ABADE E PRISCILLA DORADO GAERTNER

7.0.3 O que VPN?

A sigla VPN Virtual Private Network significa (rede particular virtual).. So


redes privadas que transmitem seus dados atravs de uma rede no confivel.
A Rede Privada Virtual uma ferramenta de segurana de informao di-
gital. Nela permite-se acesso a uma rede interna de uma empresa, at mesmo traba-
lhando em casa.

7.0.4 Instalao do OpenVPN no servidor

Antes de comear a instalao duas coisas devem ser verificadas:

1. A porta 1194 est habilitada

2. Se a data do servidor est correta. Se a data no estiver correta os seguintes


passos devem ser seguidos:

Executar o comando <date> para verificar a hora atual


Executar o comando <date mmddHHMMYYYY> para alterar a data e
hora atual (Ex.: para alterar para 28 de Fevereiro de 2013, s 11:30 executa-
se date 022811302013)

Aps ajustadas as configuraes acima, comearemos o passo a passo da instalao:

1. Instalar OpenVpn e bridge-utils:

apt-get install openvpn bridge-utils

2. Criar o diretrio openvpn na parta etc (caso no tenha sido criada)

mkdir /etc/openvpn

3. Extrair o arquivo de configurao da vpn

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz
> /etc/openvpn/server.conf

4. Editar o arquivo server.conf

nano /etc/openvpn/server.conf
41

5. Alterar os seguintes campos:

dh1024.pem para dhdh1024.pem


Descomentar as seguintes linhas removendo o ;:
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
;usernobody
;groupnogroup

6. Salvar e fechar o arquivo

7. Criar os certificados do servidor

Copiar os arquivos do Easy-RSA


cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn
Criar a pasta key
mkdir /etc/openvpn/easy-rsa/keys
Editar o arquivo Vars
Nano /etc/openvpn/easy-rsa/vars
Editar os atributos abaixo colocando o nome desejado
export KEY_COUNTRY$=$xxxx
export KEY_PROVINCE$=$xxxx
export KEY_CITY$=$xxxx
export KEY_ORG$=$xxxx
export KEY_EMAIL$=$ xxxx
export KEY_OU=$=$ xxxx
export KEY_NAME$=$xxxx

8. Executar o comando:

openssl dhparam -out /etc/openvpn/dh1024.pem 1024

9. Em seguida entrar na pasta Easy-RSA pelo comando

cd /etc/openvpn/easy-rsa

10. Executar os commandos

. ./vars
./clean-all
42

./build-ca
./build-key-server server
opcional a insero do password e do company name.
necessrio confirmar duas questes: Sign the certificate? [y/n] e 1 out
of 1 certificate requests certified, commit? [y/n]
A ltima mensagem a aparecer deve-se parecer com a seguinte
* Write out database with 1 new entries
* Data Base Updated
./build-key client1 (onde client1 pode ser substitudo pelo nome do cliente
desejado client2, batatinha, etc)

11. Copiar o arquivo de configurao abaixo e alterar sua extenso para .ovpn

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
rsa/keys/client.ovpn

12. Copiar os seguintes arquivos para a parta do openvpn

cp /etc/openvpn/easy-rsa/keys/server.crt,server.key,ca.crt /etc/openvpn

13. Iniciar o servio OpenVPN

service openvpn start


service openvpn status

14. Copiar os seguintes arquivos para o cliente e todos devem estar na mesma pasta
(sendo clien1 a chave que ser usada no cliente, caso tenha outro cliente, gerar e
copiar uma nova chave para o respectivo cliente)

/etc/openvpn/easy-rsa/keys/client1.crt
/etc/openvpn/easy-rsa/keys/client1.key
/etc/openvpn/easy-rsa/keys/client.ovpn
/etc/openvpn/ca.crt

7.0.5 Instalao do OpenVPN em um cliente com Windows

1. Baixar OpenVPN

https://openvpn.net/index.php/open-source/downloads.html

2. Copiar o arquivo client.ovpn para a pasta


43

C:$
backslash$Program Files$
backslash$OpenVPN$
backslash$config

3. Editar o arquivo cliente.ovpn alterando as linhas a seguir:

remote xxxx 1194 (sendo xxxx o ip do seu servidor)


user nobody (tirar o ; de comentrio)
group nogroup (tirar o ; de comentrio)
;ca ca.crt (adicionar o ; de comentrio)
;cert client.crt (adicionar o ; de comentrio)
;key client.key (adicionar o ; de comentrio)
No final do arquivo incluir:
$<$ca$>$
(inserir o contedo do arquivo ca.crt aqui)
$<$/ca$>$
$<$cert$>$
(inserir o contedo do arquivo client1.crt [a partir do BEGIN CERTIFICATE
at o END CERTIFICATE] aqui)
$<$/cert$>$
$<$key$>$
(inserir o contedo do arquivo client1.key aqui)
$<$/key$>$

4. Executar openVPN com privilgios de administrador

5. Clicar com o boto direito no cone do openVPN que apareceu no System Tray
e conectar.

7.0.6 Instalao do OpenVPN em um cliente com Linux

1. Baixar OpenVPN

apt-get install openvpn openssl

2. Instalar o modo grfico do openvpn

apt-get install network-manager-openvpn-gnome


44

3. Editar o arquivo cliente.ovpn alterando a extenso para .conf e alterar as linhas


a seguir:

remote xxxx 1194 (sendo xxxx o ip do seu servidor)


user nobody (tirar o ; de comentrio)
group nogroup (tirar o ; de comentrio)

4. Abrir as Conexes de Rede

5. Adicionar um novo tipo de conexo do tipo Importar uma configurao VPN


salva

6. Clica em Criar

7. Seleciona o arquivo .conf da pasta onde ele est salvo

8. Os campos gateway, tipo de autenticao, certificado de usurio, certifi-


cado CA e chave privada devem ter sido preenchidos automaticamente

9. Mude para a aba configuraes IPV4

10. Clicar em rotas e habilitar a opo Usar essa conexo apenas para recursos
nesta rede

11. Salvar as configuraes

12. Ao salvar ir aparecer uma nova rede com o nome do arquivo .conf selecionado
na listagem de possveis conexes

13. Para conectar basta clicar no cone da rede na rea de notificaes, selecionar
conexes vpn ->nome da rede VPN
45

8 SERVIDOR JAVA - ERIC PINHEIRO E HEITOR VICENTE IHA

Um servidor de aplicao java um middleware, um software que fica entre


o cliente e a aplicao do servidor. Este middleware implementa a especificao Java
EE que um conjunto de tecnologias para lidar com requisies http, transaes de
banco de dados, servio de mensagem e outras tarefas.
Para esses trabalho foi utilizado JSP, java server pages, a qual permite a criao
de pginas web e a security a qual permite definir como deve ser feita a autenticao
de usurios atravs de um arquivo xml.
Em cima do servidor de aplicao roda o cdigo da aplicao. Utilizar um
servidor de aplicao permite a possibilita que os desenvolveres foquem apenas na
implementao e resoluo do negcio em questo, deixando de lado a infraestru-
tura onde ser rodado o software. O servidor deve prover as bibliotecas necessrias
em tempo de execuo para a aplicao, assim como outras configuraes, se elas
existirem.
Para esse projeto foi escolhido o servidor de aplicao Tomcat 7, pois a
ultima verso disponvel nos repositrios. A primeira etapa necessria instalar a jdk
para poder rodar aplicaes java.

sudo apt-get install default-jdk

Depois necessrio instalar o servidor de aplicao tomcat 7, junto com eles


iremos tambm instalar a documentao, a interface grfica e os exemplos padres,
apara isso executa-se o comando a seguir:

sudo apt-get install tomcat7


sudo apt-get install tomcat7-docs
sudo apt-get install tomcat7-admin
sudo apt-get install tomcat7-examples

Aps esses comandos executarem iremos parar o servidor tomcat com o co-
mando:
sudo service tomcat7 stop

Agora iremos configurar quais usurios podem acessar a interface grfica:


http://ip-do-servidor:8080/manager. Para isso devemos editar o arquivo tomcat-users.xml
na pasta /var/lib/tomcat7/conf.

sudo nano /var/lib/tomcat7/conf/tomcat7-users.xml

Ira abrir o editor nano, no final do arquivo iremos adicionar as seguintes


linhas.
46

<user username=admin password=bcc roles=manager-gui,admin-gui/>

Isso ira criar um novo usurio com o nome admin e senha bcc, este usurio
poder acessar a interface grfica para gerenciar as aplicaes. Aps comear o servio
com:
sudo service tomcat7 start

Agora podemos acessar a interface grfica em http://ip-do-servidor/8080/manager


Para fazer deploy da aplicao, isto , colocar a aplicao no servidor precisa-
mos apenas copiar a aplicao para /var/lib/tomcat7/webapps/ROOT/ este processo
pode ser feito atravs da interface grfica, mas aqui nos iremos realiz-lo atravs do
terminal. Primeiro para o servidor:

sudo service tomcat7 stop


scp arquivos bcc@10.20.2.46:/var/lib/tomcat7/webapps/ROOT/
sudo service tomcat7 start

Primeiro iremos parar o servidor. Para copiar os arquivos iremos executar o


comando scp o primeiro argumento o arquivo a ser copiado o segundo argumento
segue a forma usurio@ip:local. Como iremos usar o usurio bcc e o local /var/lib/tom-
cat7/webapps/ROOT/ o comando ficar igual a cima.
Aps executado esses passos necessrio apenas iniciar o servidor tomcat7,
com o ultimo, comando e a aplicao deve estar disponvel em ip-do-servidor:8080

8.1 INTEGRAO COM O LDAP

Para fazer a integrao com o ldap iremos utilizar o servidor de aplicao, isto
, ao invs de programarmos a conexo, iremos apenas configurar o servidor tomcat7
para realizar este processo para ns.
Supondo que o servio do ldap j esteja configurado e rodando, ns preci-
samos dizer para aplicao utilizar a autenticao do servidor, para isso iremos criar
uma pgina login.xhtml, que conter o seguinte form:

<form method=post action="j_security_check


<input type="text"name="j_username"/>
<input type="password"name= "j_password"/>
<input type="submit"value="Submit"/>
</form>

Aps isso iremos editar o arquivo web.xml para que ele fique igual a seguinte
configurao:
47

<security-constraint>
<display-name>SecurityConstraint</display-name>
<web-resource-collection>
<web-resource-name>WRCollection</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint> <role-name>*</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<realm-name>realmldap</realm-name>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/logon.jsp</form-login-page>
<form-error-page>/logonError.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>*</role-name>
</security-role>

Essa configurao faz vrias coisas, primeiro nos dizemos que todo o site
restrito aos usurios que estejam em qualquer grupo. Depois dizemos que a pgina
de login login.jsp e a pgina de erro logonError.jsp, a pgina de erro mostrada
caso no seja possvel autenticar o usurio.
Por padro essa configurao ir utilizar o realmldap de segurana configurado
no tomcat7, um realm o local aonde ficam guardadas as informaes dos usurios.
Como nos queremos que nosso realm seja o ldap temos que alterar a configurao
padro do tomcat.
A especificao Servlet no define uma forma padro a qual os servidores de
aplicao devem seguir para configurar o realm, ento a partir daqui em diante essa
configurao especifica do tomcat 7.
Para editar o realm ns devemos alterar o arquivo de configurao do servidor
presente em /var/lib/tomcat7/conf/server.xml, l iremos procurar a tag xml <Realm>
padro e iremos altera-la com as seguintes informaes:
className="org.apache.catalina.realm.JNDIRealm, diz para utilizar o ldap
para autenticar o usurio. connectionURL="ldap://localhost:389", diz qual a url do
servidor ldap. connectionName="cn=admin,dc=test,dc=com" e connectionPassword="bcc",
diz qual o nome de usurio e senha devem ser usado para acessar o ldap. user-
Base="ou=usuarios,dc=test,dc=com", diz aonde devem ser procurado os usurios.
48

<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionURL="ldap://localhost:389"
connectionName="cn=admin,dc=test,dc=com"
connectionPassword="bcc"
userBase="ou=usuarios,dc=test,dc=com"
userSubtree="true"
userSearch="(uid=0)"
/>

userSubtree="true", significa que devemos procurar usurios em sub-arvores. user-


Search="(uid=0)", diz que estamos tentando autenticar o usurio atravs de uma se-
nha.
Agora devemos reiniciar o servidor tomcat, com sudo service tomcat7 restart
e ao acessar http://ip-do-servidor:8080 devemos ver uma pgina pedindo para auten-
ticar o usurio, colocando um nome e senha validos no ldap deve nos levar para a
aplicao em si, caso haja um erro ao autenticar o usurio seremos levados para a
pgina logonError.jsp
49

9 SERVIDOR DE EMAIL - KAIO PABLO E FELIPE BARBOSA KRELLING

O servidor de email foi configurado em uma mquina utilizando o sistema


operacional Ubuntu server 12.04 LTS verso 32 bits. Para a prpria configurao do
servidor de email foi realizada a instalao e configurao do Postfix e Dovecot.

9.1 INTRODUO

O email uma das aplicaes mais utilizadas da internet. Para que possa exis-
tir este servio de email necessrio um servidor de email para gerenciar tal servio.
Utilizando a conexo TCP por meio de protocolo SMTP, o servidor de email pode
apresentar diversas configuraes particulares a fim de possibilitar disponibilidade
do servio. Para controlar a segurana destes servios possvel criar filtros conhe-
cidos como Mail Filtering. O uso destes filtros esto relacionados a mecanismos de
identificao e controle de virus e spam. Alguns dos principais protocolos que possi-
bilitam a utilizao de um servidor de email so SMTP e POP3 ou IMAP. O processo
de enviar e receber emails so controlados por tais protocolos.
A criao de um servidor de email prprio um procedimento altamente re-
comendado para determinados contextos. De uma maneira geral, a grande motivao
em relao a um servidor de email prprio a questo de segurana. Este procedi-
mento amplamente utilizado em diversos ambientes empresariais a fim de proteger
os dados das empresas que trafegam por meio do servio de email.

9.2 REVISO BIBLIOGRFICA

A criao e configurao de um servio de email depende de diversos proto-


colos relacionados para tal finalidade. O servio de email conta com a utilizao de
um protocolo responsvel por enviar o email, o protocolo SMTP, e um protocolo para
receber um email, o protocolo IMAP. A partir da utilizao destes protocolos, pos-
svel abstrair um diagrama de funcionamento do servidor email. A Figura ??, ilustra
o diagrama de um servidor de email. Este diagrama, demonstra o caminho que um
email realiza desde o momento do seu envio at a sua chegada ao destinatrio.
50

Figura 25 Diagrama Servidor de email.


Fonte: (SERVERSMTP, 2016)

9.3 PROTOCOLOS UTILIZADOS

necessrio que haja tanto como um protocolo de envio de mensagens (SMTP)


como tambm um de recebimento de mensagens (IMAP) a fim de configurar e instalar
um servidor de emails.

9.3.1 SMTP

O protocolo SMTP ( Protocolo de transferncia de correio simples ) um


protocolo diretamente relacionado ao fluxo de email na internet. Quando um usu-
rio envia um email para um determinado destinatrio o protocolo SMTP que ser
responsvel por enviar este email para um determinado destinatrio. Porm, para o
destinatrio receber o email no possvel apenas com o SMTP. Para isso necess-
rio outro protocolo. Portanto o SMTP apenas se encarrega de enviar o email at um
determinado ponto em que um outro protocolo ir receber este email enviado pelo
SMTP e ir colocar o email na caixa de emails do destinatrio.

9.3.2 IMAP

O IMAP ( Protocolo de acesso a mensagens de Internet ) possibilita a manipu-


lao das mensagens de email de um servidor, que no caso, o localhost pois o servio
local, sem a utilizao de DNS. Mensagens so verificadas individualmente como
se cada usurio tivesse a sua pasta. O protocolo oferece desde a opo de leitura de
novas mensagens, at a modificao de caixas postais.
51

9.4 CONFIGURAO DO SERVIDOR DE EMAIL

O servidor de email foi configurado para a utilizao em rede local. Outro


aspcto importante foi a ausncia de um DNS ( Sistema de nomes de domnio ).
Para a utilizao de cada protocolo foi necessria a instalao de diversos pacotes
de recursos assim como a adequada configurao dos mesmos. A seguir, a lista dos
recursos utilizados para a configurao do servio de email.

9.4.1 Gerncia de Usurios

O gerenciamento de usurios no linux foi necessrio devido a necessidade de


criar contas de usurios para enviar e receber emails de acordo com a configurao
local do servidor de emails configurado no ambiente linux.
Os processo de configuraes envolvendo o gerenciamento de usurios foram
os seguintes: Criao de usurios e verificao de informaes de usurios. A seguir
a explicao de cada etapa de configurao de gerenciamento de usurios.

Criao de usurios: A fim de realizar a criao de um usurio foi utilizado


o comando adduser. A Figura ??, mostra o comando para criar um usurio
nomeado tester.

Figura 26 Comando adduser.


Fonte: Autoria Prpria(2016)

Verificao de usurios: Para realizar a verificao de informaes de um usu-


rio foi utilizado o comando finger. Informaes tais como: recebimento de emails,
diretrio do usurio, informaes pessoais e etc. A Figura ??, ilustra a utilizao
deste comando.

Figura 27 Comando finger.


Fonte: Autoria Prpria(2016)
52

9.4.2 Postfix

O protocolo SMTP, responsvel pelo envio das mensagens de email, foi confi-
gurado por intermdio do programa Postfix. Dentre os principais parmetros de con-
figurao dois so considerados fundamentais. Os dois parmetros so ilustrados na
figura a seguir 4. Estes dois parmetros so responsveis por desativar o servio DNS
no servidor de email. Toda a configurao do Postfix foi feita pelo arquivo main.cf.
Os outros parmetros default, no foram modificados. A partir destas configuraes,
o servio de enviar email se torna disponvel. Desta forma, a realizao do envio de
email feita por meio de contas de email baseadas nos usurios cadastrados no ser-
vidor de email. Por exemplo, para o usurio cadastrado kaio, o seu endereo de email
kaio@bcc. O bcc o nome localhost da mquina, tendo em vista que o servio DNS
foi desativado.

Figura 28 Parmetros arquivo main.cf


Fonte: Autoria Prpria(2016)

9.4.3 Dovecot

necessrio configurar o Dovecot, pois ele que manipula e gerencia os


protocolos de recebimento de emails. Outra atitude que deve ser tomada, de escolher
a forma em que vai armazenar os emails (mailboxes ou caixas de email). Podia ser tanto
maildir ou mbox. Naturalmente, a forma mbox usada visto que ela armazena todos os
emails no mesmo lugar, enquanto que na maildir, os emails so guardados de forma
separada por usurios. No projeto, utilizamos o IMAP como protocolo, mas tambm
ser mostrado como instalar e deixar o POP3 como protocolo escolhido. Primeiro,
necessrio instalar os pacotes, como na imagem a seguir:

Figura 29 Pacotes do imap e pop3


Fonte: (COMMUNITY, 2009)

Aps ter instalado os pacotes, necessrio dizer para o dovecot que tais pro-
cotolos sero utilizados. Ento, a seguinte linha deve ser adicionada no seguinte ar-
quivo /etc/dovecot/dovecot.conf :
53

Figura 30 Apontando protocolos para o dovecot


Fonte: (COMMUNITY, 2009)

Como mencionado, necessrio escolher a forma de armazenar os emails


como tambm j foi feito na parte de configurar o Postfix. Foi utilizado o maildir, visto
que mais organizado separar os emails para cada usurio. Na imagem a seguir,
mostrado como configurar isto para o dovecot, no mesmo arquivo em que apontou
os protocolos:

Figura 31 Configurando o maildir


Fonte: (COMMUNITY, 2009)

Outro arquivo necessrio de se configurar para apontar a forma de armaze-


namento, em /etc/dovecot/conf.d/10-mail.conf, caso a linha !include conf.d/*.conf
no esteja comentada. Ento, ou se comenta esta linha, ou insere o seguinte comando
no arquivo citado:

Figura 32 Alterando tambm a 10-mail.conf


Fonte: (COMMUNITY, 2009)

Para saber qual a forma de armazenamento, basta digitar dovecot -n no


prompt e checar o que aparece no mail_location. Tambm possvel ver os protocolos
utilizados, como na imagem a seguir:

Figura 33 Conferindo a localizao de emails


Fonte: (COMMUNITY, 2009)

Quando checar a forma de armazenamento e ver que est da forma que es-
colher, seja maildir ou mbox, est na hora de iniciar o servio. Para iniciar o servio
do dovecot usando verses anteriores do Ubuntu 12.10, necessrio ir at o diretrio
/etc/init.d/dovecot, e digitar start. Se a verso for mais atualizada, basta digitar start
dovecot. Caso o servio esteja funcionando, para aparecer algo como a imagem:
54

Figura 34 Servio dovecot rodando


Fonte: (COMMUNITY, 2009)

O ltimo passo necessrio para o funcionamento do dovecot usar o comando


telnet para conectar o servio com o ip desejado, que no caso do projeto em si foi
o localhost, pela inexistncia de DNS e o servio ser local. Aps a conexo com o IP
desejado, o servio dovecot est funcionando.

Figura 35 Conectando com o dovecot


Fonte: (COMMUNITY, 2009)
55

9.4.4 Cliente de Email Web

O cliente de email web foi instalado e configurado a partir do software Squirrel-


Mail. A funo deste software permitir a visualizao de email a partir de qualquer
computador pelo web browser. Para realizar a configurao do SquirrelMail foi neces-
srio a instalao do pacote de instalao e a verificao do arquivo de configurao.
Os seguintes comandos foram utilizados:

sudo apt-get install squirrelmail = Para realizar a instalao do pacote SquirrelMail.


Segue a ilustrao da instalao na Figura ??

Figura 36 Instalao do SquirrelMail


Fonte: (COMMUNITY, 2009)

sudo squirrelmail-configure = A fim de realizar a configurao do servio de


cliente de email web aps realizar a instalao do pacote. Foi necessrio verificar
dois parmetros de configurao na seo mail server settings deste arquivo.
A seguir, Figura ??, mostra as seguintes configuraes que foram verificadas na
seo citada.

Figura 37 Configurao do SquirrelMail


Fonte: (COMMUNITY, 2009)

Para ter acesso ao servio de cliente de email web necessrio por meio de
um webbrowser acessar o seguinte endereo: http://localhost/squirrelmail.
56

10 CONCUSO
57

REFERNCIAS

COMMUNITY, U. MailServer. 2009.


Https://help.ubuntu.com/community/MailServer.

GITE, V. Howto: Squid proxy authentication using ncsa_auth helper. 2006.


Http://www.infowester.com/firewall.php.

GNU/LINUX, G. F. Firewall iptables. 2010.


Http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html.

INFOWESTER. O que firewall? 2013. Http://www.infowester.com/firewall.php.

SERVERSMTP. O que servidor smtp. 2016. Http://www.serversmtp.com/pt-pt/o-


que-e-servidor-smtp.