20
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA 1 Desenvolvimento do Servidor de LDAP/WEB/FTP: (8,0) Serviços a serem instalados: Instalar o Servidor Web apache; Instalar o php; Instalar um Servidor de FTP (sugestão vsftpd); Instalar um Servidor OpenLdap para autenticação; Adicionar o site mercado no servidor; Requisitos do Site MERCADO Criar um virtualHost para o site mercado no apache, o nome ao qual o servidor atenderá será o endereço: mercado.redesunaes.com.br; Criar uma restrição de acesso via login no apache com o usuário admin e senha admin; Somente o ip 10.41.50.51 deverá acessar o site, adicione esta regra no apache; O teste será feito da seguinte forma: Abrir o Firefox e digitar: mercado.redesunaes.com.br; Deverá aparecer o site na figura abaixo;

Resolução - prova n1-2014

Embed Size (px)

Citation preview

Page 1: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

1

Desenvolvimento do Servidor de LDAP/WEB/FTP: (8,0)

Serviços a serem instalados:

Instalar o Servidor Web apache;

Instalar o php;

Instalar um Servidor de FTP (sugestão vsftpd);

Instalar um Servidor OpenLdap para autenticação;

Adicionar o site mercado no servidor;

Requisitos do Site MERCADO

Criar um virtualHost para o site mercado no apache, o nome ao qual o servidor

atenderá será o endereço: mercado.redesunaes.com.br;

Criar uma restrição de acesso via login no apache com o usuário admin e senha

admin;

Somente o ip 10.41.50.51 deverá acessar o site, adicione esta regra no apache;

O teste será feito da seguinte forma:

Abrir o Firefox e digitar: mercado.redesunaes.com.br;

Deverá aparecer o site na figura abaixo;

Page 2: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

2

Obs: os usuários deverão acessar o site via HTTPS

Se for outro ip deverá aparecer:

Serviço de FTP

Deverá ser criado o usuário adminweb com a senha redesunaes com o objetivo

de realizar uploads de arquivos no servidor web;

Restrições:

O usuário adminweb SOMENTE poderá inserir arquivos no diretório /var/www;

Servidor de Diretório Openldap

Instalação OpenLdap

Instalar os pacotes:

# apt-get install slapd ldap-utils

Page 3: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

3

O pacote ldap-utils contém utilitários importantes para adicionar, remover ou modificar atributos de usuários online, como ldapsearch, ldapmodify e ldapadd.

Configuração Openldap

Informar qual será o arquivo de configuração principal no diretório /etc/default/slapd

# vim /etc/default/slapd <i> para inserir os dados no arquivo

SLAPD_CONF=/etc/ldap/slapd.conf

<esc> para sair do modo de edição

:wq para sair e salvar o arquivo

Criar o arquivo /etc/ldap/slapd.conf com o conteúdo abaixo:

# vim /etc/ldap/slapd.conf <i> para inserir os dados no arquivo

#This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: sizelimit -1 timelimit -1 threads 2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args

Page 4: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

4

# Read slapd.conf(5) for possible values loglevel stats stats2 # Allow LDAPv2 client connections. This is NOT the default. # Necessario para o Expresso allow bind_v2 # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org ####################################################################### # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_hdb # Specific Backend Directives for bdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend hdb ####################################################################### # Specific Directives for database #1, of type bdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database hdb # The base of your directory in database #1 suffix "dc=redesunaes,dc=com,dc=br" rootdn "cn=admin,dc=redesunaes,dc=com,dc=br" # # senha gerada pelo comando slappasswd -h {CRYPT} -s redesunaes rootpw {CRYPT}7E1Z4XyNqgldI checkpoint 1024 10 # Save the time that the entry gets modified, for database #1 lastmod on # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # Indexing options for database #1 index default sub index objectClass eq

Page 5: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

5

# Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword by dn="cn=admin,dc=redesunaes,dc=com,dc=br" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=admin,dc=redesunaes,dc=com,dc=br" write by * read <esc> para sair do modo de edição

:wq para sair e salvar o arquivo

Depois, executar os comandos para limpar a base ldap que foi criada na instalação:

# service slapd stop # rm -f /var/lib/ldap/alock /var/lib/ldap/_* /var/lib/ldap/log.* /var/lib/ldap/*.bdb

Page 6: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

6

Renomear a pasta /etc/ldap/slapd.d/ para /etc/ldap/slapd.d.old com o comando:

# mv /etc/ldap/slapd.d /etc/ldap/slapd.d.old

Executar o comando para recriar a base ldap:

# service slapd start

Certificar-se de que a sintaxe do arquivo slapd.conf está correta e a base LDAP foi criada

corretamente executando comando:

#slaptest -f /etc/ldap/slapd.conf

Até este momento o servidor foi configurado;

Page 7: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

7

Daqui para frente os dados dos usuários serão adicionados

Criar o arquivo /tmp/redesunaes.ldif com o conteúdo a seguir(utilizar o exemplo:dc=expressolivre ou alterar de acordo com o seu domínio):

# vim /tmp/redesunaes.ldif <i> para inserir os dados no arquivo

dn: dc=redesunaes,dc=com,dc=br dc: redesunaes objectClass: top objectClass: dcObject objectClass: organization o: redesunaes.com.br dn: ou=grupos,dc=redesunaes,dc=com,dc=br objectClass: top objectClass: organizationalUnit ou: grupos description: Repositorio de grupos utilizados no expresso structuralObjectClass: organizationalUnit dn: ou=usuarios,dc=redesunaes,dc=com,dc=br objectClass: top objectClass: organizationalUnit ou: usuarios description: Repositorio de usuarios do sistema expresso structuralObjectClass: organizationalUnit dn: uid=redesunaes,ou=usuarios,dc=redesunaes,dc=com,dc=br cn: Redesunaes givenName: Redesunaes sn: Redesunaes userPassword: {CRYPT}f1v/m1BQZzyzE displayName: Redesunaes objectClass: inetOrgPerson objectClass: top objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: redesunaes homeDirectory: /bin/false

Page 8: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

8

gidNumber: 900 uidNumber: 1000 dn: uid=nervosao,ou=usuarios,dc=redesunaes,dc=com,dc=br cn: Nervosao Veiga givenName: Nervosao sn: Nervosao userPassword: {CRYPT}f1v/m1BQZzyzE displayName: Nervoso objectClass: inetOrgPerson objectClass: top objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: nervosao homeDirectory: /bin/false gidNumber: 900 uidNumber: 1001 <esc> para sair do modo de edição

:wq para sair e salvar o arquivo

Cuidado com o initial.ldif, ele deve possuir uma ultima quebra de linha, senão a entrada cyrus-

admin não será processada!

Importar o conteúdo do arquivo ao diretório:

# service slapd stop # slapadd -l /tmp/redesunaes.ldif # chown -Rv openldap.openldap /var/lib/ldap/* # service slapd start

Testar a base LDAP criada

Para certificar-se de que tudo foi corretamente configurado e o diretório está completamente

funcional, executar testes como consulta, adição e modificação de atributos de usuários na

base. Para tanto, é pré-requisito a instalação do pacote ldap-utils.

Page 9: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

9

Para consultar:

ldapsearch -x -h 127.0.0.1 -D 'cn=admin,dc=redesunaes,dc=com,dc=br' -w redesunaes -b 'dc=redesunaes,dc=com,dc=br'

onde: -x -> Informa ao ldapsearch para utilizar autenticação simples ao invés do SASL

-h -> host(diretório) a ser consultado.

-D -> binddn. Representa do administrador ldap, que utilizaremos para todas operações

administrativas e consultas no diretório.

-w -> Senha

-b -> Base ldap a ser consultada

Uma outra alternativa de se adicionar usuários e grupos no ldap é o apache directory studio.

Page 10: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

10

Para se conectar ao Ldap siga as seguintes instruções:

Adicionar os dados para o acesso ao servidor ldap;

Adicionar o usuário e senha para acesso ao servidor;

Finalizar as configurações

Page 11: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

11

Após a instalação e conexão os seguintes componentes estarão disponíveis

Neste teste foram criados 2 usuários, o nervosao e o redesunaes

Instalação do Servidor Apache

Criação do Ambiente LAMP para a criação de um Servidor Web

apt-get install apache2 php5 apache2-doc php5-mysql mysql-server ssh

Setar a senha para o Mysql (redesunaes)

Page 12: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

12

Criar o diretório /var/www/mercado/

mkdir /var/www/mercado chown www-data. /var/www/mercado/ -R

Criar um arquivo dentro do diretório /var/www/mercado/ chamado info.php

#cd /var/www/mercado/ #vim info.php Digite i para a inserção <? phpinfo(); ?> Digite ESC para sair do modo de edição Digite :wq para sair e salvar

Acesse o Servidor com um browser – http://ipdoservidor/mercado/info.php

Page 13: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

13

Mover o site “mercado” para a pasta mercado situada no servidor.

cd /var/www/mercado

wget http:// 10.41.50.51/ftp/mercado.tgz

tar xzvf mercado.tgz

chown www-data. * –R

O Site deverá ficar da seguinte forma:

Page 14: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

14

Criar o VirtualHost para o site Mercado

Criar o arquivo mercado.conf no diretório /etc/apache2/sites-available/

#cd /etc/apache2/sites-available/ #vim mercado Digite i para a inserção

<VirtualHost *:80> ServerAdmin [email protected] ServerName www.redesunaes.com.br DocumentRoot /var/www/mercado ServerAlias mercado.redesunaes.com.br redesunaes.com.br </VirtualHost> #Configuraç do servidor virtual que seráriado <Directory "/var/www/mercado"> Order deny,allow Deny from all Allow from all </Directory> Digite ESC para sair do modo de edição

Digite :wq para sair e salvar

Este virtualHost está barrando todos os ips somente o ip 10.41.50.51 poderá acessar o

site

Ativar o site usando o comando a2ensite;

a2ensite mercado service apache2 reload

Para realizar testes no Windows terá que ser aberto o arquivo hosts no diretório C:/Windows/System32/drivers/etc/hosts

Deverá ser adicionado o nome mercado.redesunaes.com.br

ipdoservidor mercado.redesunaes.com.br

Page 15: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

15

Adicionar autenticação dos usuários no Ldap

No virtualhost adicionar as seguintes linhas

#cd /etc/apache2/sites-available/ #vim mercado Digite i para a inserção

<VirtualHost *:80> ServerAdmin [email protected]

ServerName www.redesunaes.com.br DocumentRoot /var/www/mercado

ServerAlias mercado.redesunaes.com.br redesunaes.com.br </VirtualHost> #Configuracao do servidor virtual que seráriado

<Directory "/var/www/mercado"> Order deny,allow

Deny from all Allow from all

AuthType Basic AuthName "Acesso Restrito"

AuthBasicProvider ldap AuthzLDAPAuthoritative off

AuthLDAPURL ldap://127.0.0.1/dc=redesunaes,dc=com,dc=br?uid Require valid-user

</Directory>

Digite ESC para sair do modo de edição

Digite :wq para sair e salvar

Habilitar os módulos de autenticação do Ldap

a2enmod ldap a2enmod authnz_ldap service apache2 reload

Page 16: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

16

Após estes passos os a autenticação será obrigatória

Ativar o SSL no site Mercado

Habilite o módulo SSL

sudo a2enmod ssl

Crie o certificado

sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -

keyout /etc/apache2/apache.pem

Adicionar as informações necessárias para geração do certificado

root@seguranca:/etc/proftpd# sudo openssl req $@ -new -x509 -days 365 -nodes -ou

t /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem Generating a 1024 bit RSA private key

...........................................++++++

.......++++++ writing new private key to '/etc/apache2/apache.pem'

-----

You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

Page 17: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

17

For some fields there will be a default value,

If you enter '.', the field will be left blank. -----

Country Name (2 letter code) [AU]:BR

State or Province Name (full name) [Some-State]:MATO GROSSO DO SUL Locality Name (eg, city) []:CAMPO GRANDE

Organization Name (eg, company) [Internet Widgits Pty Ltd]:UNAES

Organizational Unit Name (eg, section) []:REDESUNAES

Common Name (e.g. server FQDN or YOUR name) []:www.redesunaes.com.br Email Address []:[email protected]

Definir a permissão para o arquivo criado

sudo chmod 600 /etc/apache2/apache.pem

Modifique o arquivo /etc/apache2/sites-available/mercado

<VirtualHost _default_:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/mercado/

<Directory /var/www/mercado/> Options FollowSymLinks MultiViews

AllowOverride All Order allow,deny

allow from all

</Directory>

#configuracao de redirecionamento de portas RewriteEngine on

ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]

</VirtualHost>

<VirtualHost *:443>

ServerAdmin [email protected] ServerName www.redesunaes.com.br

DocumentRoot /var/www/mercado

SSLEngine on

Page 18: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

18

ServerSignature On

SSLCertificateFile /etc/apache2/apache.pem

ServerAlias mercado.redesunaes.com.br redesunaes.com.br

#Configuraç do servidor virtual que seráriado

<Directory "/var/www/mercado">

Order deny,allow Deny from all

Allow from all

AuthType Basic AuthName "Acesso Restrito"

AuthBasicProvider ldap AuthzLDAPAuthoritative off

AuthLDAPURL ldap://127.0.0.1/dc=redesunaes,dc=com,dc=br?uid Require valid-user

</Directory>

</VirtualHost>

Habilitar o ssl e reiniciar o apache2

a2enmod ssl a2enmod rewrite /etc/init.d/apache2 restart

Page 19: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

19

Instalação do servidor de FTP

Criar o usuário adminweb

#adduser adminweb Adicionando o usuário `adminweb' ... Adicionando novo grupo 'adminweb' (1002) ... Adicionando novo usuário `adminweb' (1002) ao grupo `adminweb' ... Criando diretório pessoal `/home/adminweb' ... Copiando arquivos de '/etc/skel' ... Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: password updated successfully Changing the user information for adminweb Enter the new value, or press ENTER for the default Full Name []: Admin Room Number []: Work Phone []: Home Phone []: Other []: A informação está correta? [S/n] s

No diretório /var/www dar as seguintes permissões

chmod 775 /var/www chown root:www-data /var/www/ -R gpasswd -a adminweb www-data

Instalar o proftpd

apt-get install proftpd

Abrir o arquivo de configuração proftpd.conf localizado no /etc/proftpd/ e edite as seguintes linhas

Colocar os usuários enjaulados no diretório /var/www

# vim /etc/proftpd/proftpd.conf <i> para inserir os dados no arquivo

# Use this to jail all users in their homes DefaultRoot /var/www/

Page 20: Resolução -  prova n1-2014

CENTRO UNIVERSITÁRIO DE CAMPO GRANDE

TECNOLOGIA EM REDES DE COMPUTADORES

APLICAÇÕES EM REDES

5º SEMESTRE

PROFESSOR CARLOS RICARDO BERNAL VEIGA

20

<esc> para sair do modo de edição

:wq para sair e salvar o arquivo

Reiniciar o serviço proftpd

/etc/init.d/proftpd restart

Acessar o servidor ftp