SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Projeto Cyrus
Introdução ao protocolo IMAP
O IMAP4 (Internet Message Access Protocol) permite que um cliente acesse e
manipule caixas de correio eletrônico em um servidor remoto, em vez de em um
computador local. O IMAP de versão 4rev1 permite a manipulação de pastas de “caixas
de correio eletrônico”, incluindo operações para criar, excluir, renomear caixas de
correio e remoção permanente de mensagens.
Um protocolo separado é necessário para o envio de e-mail. Também chamado de
Internet Mail Access Protocol, é uma melhoria em relação a outros protocolos de e-mail
de internet popular quando se trata de escala e disponibilidade.
O protocolo IMAP4rev1 assume um fluxo de dados confiável, como fornecida por TCP.
Projeto Cyrus-Imapd
O cyrus-imapd é um software que implementa um serviço completo de MDA, possui alta
escalabilidade para correio eletrônico e foi projetado para o uso em ambientes
corporativos de várias dimensões. O projeto Cyrus foi iniciado na CMU em 1994, com
intuito de atender as novas demandas de correio eletrônico. Suas principais
características são:
Armazenamento: Utiliza armazenamento de emails em Banco de dados Berkley (DB).
Autenticação: O cyrus por padrão é utiliza o SASL como framework de autenticação,
através dele podemos nos conectar aos seguintes sistemas:
• Unix;
• Banco de dados Relacional (Mysql, Postgresql, Oracle);
• PAM.
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
O projeto cyrus desenvolveu sistema proprietario Cyradmin para controle de contas
criadas no correio que nos provê suporte a:
• Autorização ao sistema;
• Manutenção de caixas postais;
• Manutenção de quotas;
O cyrus possui suporte e módulos a alguns tipos de aplicações, são elas:
• Postfix;
• Filtros;
Quando instalamos o cyrus, é criada a seguinte estrutura:
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Onde:
• O arquivo /etc/cyrus.conf contém os serviços a serem iniciados;
• O arquivo /etc/imapd.conf contém os parâmetros de configuração do serviço;
• O arquivo /etc/default/saslauthd contém as configurações iniciais do sasl;
• O arquivo /etc/saslauthd.conf contém as configurações de acesso ao Ldap;
• O diretório /var/lib/cyrus contém as bases de dados do cyrus;
• O diretório /var/spool/cyrus/mail contém as caixas postais dos usuários;
• O diretório /var/spool/sieve contém os filtros dos usuários;
• O script de inicialização do cyrus em /etc/init.d/cyrus-imapd;
Principais características
O Servidor cyrus foi desenvolvido em perl e trabalha em conjunto com o saslauthd, é um
sistema extremamente flexível e com muitos recursos que serão mostrados ao longo
deste documento.
Saslauthd
O saslauthd é um um framework de autenticação para várias aplicações que manipula
requisições de autenticação, sendo normalmente utilizado em conjunto com o serviço de
correio eletrônico. Suas funcionalidades são extendíveis a qualquer que necessite validar
os usuários Ele tem suporta a vários mecanismos de autenticação, são eles:
• PAM;
• LDAP;
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
• MySQL;
• PostgreSQL;
Figura – SASL
Configuração e instalação do Servidor Cyrus e SASL
Instalação do SASL
apt-get install libsasl2-modules sasl2-bin
Configuração do SASL: Editar o arquivo /etc/default/saslauthd para a ativação do
serviço:
START=yes
MECHANISMS="ldap"
OPTIONS="-c -t 60 -m /var/run/saslauthd"
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Criar o arquivo /etc/saslauthd.conf e incluir o seguinte conteúdo:
ldap_servers: ldap://127.0.0.1
ldap_port: 389
ldap_version: 3
ldap_referrals: no
ldap_search_base: dc=seunome,dc=com,dc=br
ldap_filter: uid=%u
Reinicialize o sasl no servidor:
service saslauthd restart
Teste para a verificação do funcionamento correto do sasl:
testsaslauthd -u expresso-admin -p redesunaes
Se o serviço estiver funcionando um código de OK deverá aparecer:
0: OK "Success."
Instalação do Cyrus
Executaremos o seguinte comando:
apt-get install cyrus-admin-2.4 cyrus-common-2.4 cyrus-replication-2.4 cyrus-pop3d-2.4
cyrus-nntpd-2.4 cyrus-clients-2.4 cyrus-murder-2.4 cyrus-imapd-2.4 cyrus-doc-2.4
libcyrus-imap-perl24 libmail-imapclient-perl libparse-recdescent-perl libterm-readkey-perl
libterm-readline-perl-perl
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Após a instalação, editar o arquivo /etc/imapd.conf alterando e/ou acrescentando os
seguintes parâmetros:
admins: cyrus-admin cyrus expresso-admin admin
imap_admins: cyrus-admin cyrus expresso-admin admin
sieve_admins: cyrus-admin cyrus expresso-admin admin
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN LOGIN
unixhierarchysep: yes
Administração do Cyrus
O Cyrus é desenvolvido na linguagem perl e tem um cliente que se conecta a ele para a
administração das contas dos usuários, o cyradm é uma ferramenta que faz essa
administração do Cyrus Server.
Comandos padrões do Cyrus
Comando Abreviação Propósito
listmailbox lm Lista o nome de todas as caixas postais
createmailbox cm Cria uma nova caixa postal
deletemailbox dm
Deleta uma caixa postal e todas as
pastas abaixo dela
renamemailbox rename Renomeia uma caixa postal
setaclmailbox sam Cria ACLs para as caixas postais
deleteaclmailbox dam Deleta ACLs das caixas postais
listaclmailbox lam Lista as ACLs das caixas postais
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Comando para acessar o cyrus:
cyradm -user username hostname
localhost password: XXXXXXXX
localhost>
Permissões no IMAP segundo a RFC 4314
l lookup (mailbox is visible to LIST/LSUB commands,
SUBSCRIBE mailbox)
r read (SELECT the mailbox, perform STATUS)
s keep seen/unseen information across sessions (set or clear
SEEN flag via STORE, also set SEEN during
APPEND/COPY/
FETCH BODY[...])
w write (set or clear flags other than SEEN and DELETED via
STORE, also set them during APPEND/COPY)
i insert (perform APPEND, COPY into mailbox)
p post (send mail to submission address for mailbox, not enforced
by IMAP4 itself)
k create mailboxes (CREATE new sub-mailboxes in any
implementation-defined hierarchy, parent mailbox for the new
mailbox name in RENAME)
x delete mailbox (DELETE mailbox, old mailbox name in
RENAME)
t delete messages (set or clear DELETED flag via STORE, set
DELETED flag during APPEND/COPY)
e perform EXPUNGE and expunge as a part of CLOSE
a administer (perform
SETACL/DELETEACL/GETACL/LISTRIGHTS)
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Para adicionarmos uma ACL para um usuário devemos executar o seguinte
comando:
sam user/user admin all
Para retirarmos a ACL de uma caixa postal executaremos o seguinte comando:
dam user/user admin all
Comandos para a criação de caixas postais
Para se criar uma caixa postal padrão no cyrus onde esta contém todas as subpastas
necessárias para o funcionamento normal do correio, o administrador deverá executar os
seguintes comandos.
Acessar o sistema:
cyradm -user username hostname
localhost password: XXXXXXXX
localhost>
Criar a caixa postal e suas respectivas subpastas:
cm user/xxx
cm user/xxx/Sent
cm user/xxx/Drafts
cm user/xxx/Trash
CENTRO UNIVERSITÁRIO DE CAMPO GRANDE
TECNOLOGIA EM REDES DE COMPUTADORES
APLICAÇÕES EM REDES
5º SEMESTRE
PROFESSOR CARLOS RICARDO BERNAL VEIGA
Deleção de caixas postais
Para deletarmos uma caixa postal e suas subpastas, deveremos primeiramente setar
permissões na pasta para o administrador:
cyradm -user admin hostname
sam user/xxx admin all
sam user/xxx/* admin all
E deletar as pastas e subpastas com o comando dm.
dm user/xxx
dm user/xxx/*
Exemplo de criação padrão de uma caixa postal
Criar a Caixa de correio expresso-admin:
cyradm -u expresso-admin localhost
localhost> cm user/expresso-admin
localhost> cm user/expresso-admin/Sent
localhost> cm user/expresso-admin/Trash
localhost> cm user/expresso-admin/Draft
localhost> quit
Setar a quota de 2 GB para o usuário expresso-admin:
localhost> sq user/expresso-admin 2048000
localhost> quit

Contenu connexe

En vedette

Aula04 – sistemas de proteção de dispositivos parte 01
Aula04 – sistemas de proteção de dispositivos   parte 01Aula04 – sistemas de proteção de dispositivos   parte 01
Aula04 – sistemas de proteção de dispositivos parte 01Carlos Veiga
 
Aula01 conceitos iniciais de infraestrura de redes
Aula01   conceitos iniciais de infraestrura de redesAula01   conceitos iniciais de infraestrura de redes
Aula01 conceitos iniciais de infraestrura de redesCarlos Veiga
 
Curso Básico de cabeamento estruturado
Curso Básico de cabeamento estruturadoCurso Básico de cabeamento estruturado
Curso Básico de cabeamento estruturadoJurandir Silva.'.
 
Aula04 - cabeamento estruturado - parte 01
Aula04 - cabeamento estruturado - parte 01Aula04 - cabeamento estruturado - parte 01
Aula04 - cabeamento estruturado - parte 01Carlos Veiga
 
Criptografia - Fernando Muller
Criptografia - Fernando MullerCriptografia - Fernando Muller
Criptografia - Fernando MullerCarlos Veiga
 
instalação do expresso br
instalação do expresso brinstalação do expresso br
instalação do expresso brCarlos Veiga
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldapCarlos Veiga
 
Aula02 protocolos da camada 2
Aula02   protocolos da camada 2Aula02   protocolos da camada 2
Aula02 protocolos da camada 2Carlos Veiga
 
Aula08 - frame-relay
Aula08 -   frame-relayAula08 -   frame-relay
Aula08 - frame-relayCarlos Veiga
 
Aula01 projeto de redes de computadores
Aula01   projeto de redes de computadoresAula01   projeto de redes de computadores
Aula01 projeto de redes de computadoresCarlos Veiga
 
Aula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoAula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoCarlos Veiga
 
Aula02 - protocolos de email
Aula02 -  protocolos de emailAula02 -  protocolos de email
Aula02 - protocolos de emailCarlos Veiga
 
Aula06 – sistemas de proteção de dispositivos
Aula06 – sistemas de proteção de dispositivosAula06 – sistemas de proteção de dispositivos
Aula06 – sistemas de proteção de dispositivosCarlos Veiga
 
Prj interdisciplinar - protocolos
Prj   interdisciplinar - protocolosPrj   interdisciplinar - protocolos
Prj interdisciplinar - protocolosCarlos Veiga
 
Aula05 padrões sem fio
Aula05   padrões sem fioAula05   padrões sem fio
Aula05 padrões sem fioCarlos Veiga
 
Aula08 tecnologia atm
Aula08   tecnologia atmAula08   tecnologia atm
Aula08 tecnologia atmCarlos Veiga
 
Aula05 - cabeamento estruturado - parte 02
Aula05 - cabeamento estruturado - parte 02Aula05 - cabeamento estruturado - parte 02
Aula05 - cabeamento estruturado - parte 02Carlos Veiga
 
Aula03 transmissão de dados em redes wireless
Aula03   transmissão de dados em redes wirelessAula03   transmissão de dados em redes wireless
Aula03 transmissão de dados em redes wirelessCarlos Veiga
 

En vedette (20)

Aula04 – sistemas de proteção de dispositivos parte 01
Aula04 – sistemas de proteção de dispositivos   parte 01Aula04 – sistemas de proteção de dispositivos   parte 01
Aula04 – sistemas de proteção de dispositivos parte 01
 
Aula01 conceitos iniciais de infraestrura de redes
Aula01   conceitos iniciais de infraestrura de redesAula01   conceitos iniciais de infraestrura de redes
Aula01 conceitos iniciais de infraestrura de redes
 
Curso Básico de cabeamento estruturado
Curso Básico de cabeamento estruturadoCurso Básico de cabeamento estruturado
Curso Básico de cabeamento estruturado
 
Aula04 - cabeamento estruturado - parte 01
Aula04 - cabeamento estruturado - parte 01Aula04 - cabeamento estruturado - parte 01
Aula04 - cabeamento estruturado - parte 01
 
Criptografia - Fernando Muller
Criptografia - Fernando MullerCriptografia - Fernando Muller
Criptografia - Fernando Muller
 
instalação do expresso br
instalação do expresso brinstalação do expresso br
instalação do expresso br
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
Aula02 protocolos da camada 2
Aula02   protocolos da camada 2Aula02   protocolos da camada 2
Aula02 protocolos da camada 2
 
Aula08 - frame-relay
Aula08 -   frame-relayAula08 -   frame-relay
Aula08 - frame-relay
 
Aula01 projeto de redes de computadores
Aula01   projeto de redes de computadoresAula01   projeto de redes de computadores
Aula01 projeto de redes de computadores
 
Aula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoAula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicação
 
Aula02 - protocolos de email
Aula02 -  protocolos de emailAula02 -  protocolos de email
Aula02 - protocolos de email
 
Aula06 – sistemas de proteção de dispositivos
Aula06 – sistemas de proteção de dispositivosAula06 – sistemas de proteção de dispositivos
Aula06 – sistemas de proteção de dispositivos
 
Aula07 - desafio
Aula07 -  desafioAula07 -  desafio
Aula07 - desafio
 
Prj interdisciplinar - protocolos
Prj   interdisciplinar - protocolosPrj   interdisciplinar - protocolos
Prj interdisciplinar - protocolos
 
Aula05 padrões sem fio
Aula05   padrões sem fioAula05   padrões sem fio
Aula05 padrões sem fio
 
Aula08 tecnologia atm
Aula08   tecnologia atmAula08   tecnologia atm
Aula08 tecnologia atm
 
Aula05 - cabeamento estruturado - parte 02
Aula05 - cabeamento estruturado - parte 02Aula05 - cabeamento estruturado - parte 02
Aula05 - cabeamento estruturado - parte 02
 
Aula01
Aula01Aula01
Aula01
 
Aula03 transmissão de dados em redes wireless
Aula03   transmissão de dados em redes wirelessAula03   transmissão de dados em redes wireless
Aula03 transmissão de dados em redes wireless
 

Similaire à Aula05 - cyrus imap

Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixHeber Souza
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no LinuxEduardo Rozario
 
Ferramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterFerramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterWilson Lopes
 
Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Wilson Lopes
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Frederico Garcia Costa
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioPatrick Monteiro
 

Similaire à Aula05 - cyrus imap (20)

Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Carlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - PostfixCarlos Beiga - Aula06 - Postfix
Carlos Beiga - Aula06 - Postfix
 
Aula06 - postfix
Aula06 -  postfixAula06 -  postfix
Aula06 - postfix
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
LDAP
LDAPLDAP
LDAP
 
Iptables layer7
Iptables layer7Iptables layer7
Iptables layer7
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no Linux
 
Ferramentas para Automação de Datacenter
Ferramentas para Automação de DatacenterFerramentas para Automação de Datacenter
Ferramentas para Automação de Datacenter
 
Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37Ferramentas para Automação de Datacenter - GTER 37
Ferramentas para Automação de Datacenter - GTER 37
 
Sos final
Sos finalSos final
Sos final
 
Livro cisco
Livro ciscoLivro cisco
Livro cisco
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Arquitetura tcp ip - 1
Arquitetura tcp ip - 1Arquitetura tcp ip - 1
Arquitetura tcp ip - 1
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 

Plus de Carlos Veiga

Aula08 dispositivos wireless
Aula08   dispositivos wirelessAula08   dispositivos wireless
Aula08 dispositivos wirelessCarlos Veiga
 
Aula06 - exercícios redes sem fio
Aula06 -  exercícios redes sem fioAula06 -  exercícios redes sem fio
Aula06 - exercícios redes sem fioCarlos Veiga
 
Aula05 - tecnologias dsl
Aula05 -  tecnologias dslAula05 -  tecnologias dsl
Aula05 - tecnologias dslCarlos Veiga
 
Aula04 - configuração da topologia ppp - resolvido
Aula04 -  configuração da topologia ppp - resolvidoAula04 -  configuração da topologia ppp - resolvido
Aula04 - configuração da topologia ppp - resolvidoCarlos Veiga
 
Aula 03 configuração da topologia ppp
Aula 03   configuração da topologia pppAula 03   configuração da topologia ppp
Aula 03 configuração da topologia pppCarlos Veiga
 
Aula01 introdução a camanda 2 do modelo osi
Aula01   introdução a camanda 2 do modelo osiAula01   introdução a camanda 2 do modelo osi
Aula01 introdução a camanda 2 do modelo osiCarlos Veiga
 
Aula 01 transmissão de dados em redes wireless
Aula 01   transmissão de dados em redes wirelessAula 01   transmissão de dados em redes wireless
Aula 01 transmissão de dados em redes wirelessCarlos Veiga
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataquesCarlos Veiga
 
Cascateamento de switch
Cascateamento de switchCascateamento de switch
Cascateamento de switchCarlos Veiga
 

Plus de Carlos Veiga (10)

Aula08 dispositivos wireless
Aula08   dispositivos wirelessAula08   dispositivos wireless
Aula08 dispositivos wireless
 
Aula06 - exercícios redes sem fio
Aula06 -  exercícios redes sem fioAula06 -  exercícios redes sem fio
Aula06 - exercícios redes sem fio
 
Aula05 - tecnologias dsl
Aula05 -  tecnologias dslAula05 -  tecnologias dsl
Aula05 - tecnologias dsl
 
Aula04 - configuração da topologia ppp - resolvido
Aula04 -  configuração da topologia ppp - resolvidoAula04 -  configuração da topologia ppp - resolvido
Aula04 - configuração da topologia ppp - resolvido
 
Aula 03 configuração da topologia ppp
Aula 03   configuração da topologia pppAula 03   configuração da topologia ppp
Aula 03 configuração da topologia ppp
 
Aula01 introdução a camanda 2 do modelo osi
Aula01   introdução a camanda 2 do modelo osiAula01   introdução a camanda 2 do modelo osi
Aula01 introdução a camanda 2 do modelo osi
 
Aula 01 transmissão de dados em redes wireless
Aula 01   transmissão de dados em redes wirelessAula 01   transmissão de dados em redes wireless
Aula 01 transmissão de dados em redes wireless
 
Aula vlans
Aula   vlansAula   vlans
Aula vlans
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataques
 
Cascateamento de switch
Cascateamento de switchCascateamento de switch
Cascateamento de switch
 

Aula05 - cyrus imap

  • 1. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Projeto Cyrus Introdução ao protocolo IMAP O IMAP4 (Internet Message Access Protocol) permite que um cliente acesse e manipule caixas de correio eletrônico em um servidor remoto, em vez de em um computador local. O IMAP de versão 4rev1 permite a manipulação de pastas de “caixas de correio eletrônico”, incluindo operações para criar, excluir, renomear caixas de correio e remoção permanente de mensagens. Um protocolo separado é necessário para o envio de e-mail. Também chamado de Internet Mail Access Protocol, é uma melhoria em relação a outros protocolos de e-mail de internet popular quando se trata de escala e disponibilidade. O protocolo IMAP4rev1 assume um fluxo de dados confiável, como fornecida por TCP. Projeto Cyrus-Imapd O cyrus-imapd é um software que implementa um serviço completo de MDA, possui alta escalabilidade para correio eletrônico e foi projetado para o uso em ambientes corporativos de várias dimensões. O projeto Cyrus foi iniciado na CMU em 1994, com intuito de atender as novas demandas de correio eletrônico. Suas principais características são: Armazenamento: Utiliza armazenamento de emails em Banco de dados Berkley (DB). Autenticação: O cyrus por padrão é utiliza o SASL como framework de autenticação, através dele podemos nos conectar aos seguintes sistemas: • Unix; • Banco de dados Relacional (Mysql, Postgresql, Oracle); • PAM.
  • 2. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA O projeto cyrus desenvolveu sistema proprietario Cyradmin para controle de contas criadas no correio que nos provê suporte a: • Autorização ao sistema; • Manutenção de caixas postais; • Manutenção de quotas; O cyrus possui suporte e módulos a alguns tipos de aplicações, são elas: • Postfix; • Filtros; Quando instalamos o cyrus, é criada a seguinte estrutura:
  • 3. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Onde: • O arquivo /etc/cyrus.conf contém os serviços a serem iniciados; • O arquivo /etc/imapd.conf contém os parâmetros de configuração do serviço; • O arquivo /etc/default/saslauthd contém as configurações iniciais do sasl; • O arquivo /etc/saslauthd.conf contém as configurações de acesso ao Ldap; • O diretório /var/lib/cyrus contém as bases de dados do cyrus; • O diretório /var/spool/cyrus/mail contém as caixas postais dos usuários; • O diretório /var/spool/sieve contém os filtros dos usuários; • O script de inicialização do cyrus em /etc/init.d/cyrus-imapd; Principais características O Servidor cyrus foi desenvolvido em perl e trabalha em conjunto com o saslauthd, é um sistema extremamente flexível e com muitos recursos que serão mostrados ao longo deste documento. Saslauthd O saslauthd é um um framework de autenticação para várias aplicações que manipula requisições de autenticação, sendo normalmente utilizado em conjunto com o serviço de correio eletrônico. Suas funcionalidades são extendíveis a qualquer que necessite validar os usuários Ele tem suporta a vários mecanismos de autenticação, são eles: • PAM; • LDAP;
  • 4. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA • MySQL; • PostgreSQL; Figura – SASL Configuração e instalação do Servidor Cyrus e SASL Instalação do SASL apt-get install libsasl2-modules sasl2-bin Configuração do SASL: Editar o arquivo /etc/default/saslauthd para a ativação do serviço: START=yes MECHANISMS="ldap" OPTIONS="-c -t 60 -m /var/run/saslauthd"
  • 5. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Criar o arquivo /etc/saslauthd.conf e incluir o seguinte conteúdo: ldap_servers: ldap://127.0.0.1 ldap_port: 389 ldap_version: 3 ldap_referrals: no ldap_search_base: dc=seunome,dc=com,dc=br ldap_filter: uid=%u Reinicialize o sasl no servidor: service saslauthd restart Teste para a verificação do funcionamento correto do sasl: testsaslauthd -u expresso-admin -p redesunaes Se o serviço estiver funcionando um código de OK deverá aparecer: 0: OK "Success." Instalação do Cyrus Executaremos o seguinte comando: apt-get install cyrus-admin-2.4 cyrus-common-2.4 cyrus-replication-2.4 cyrus-pop3d-2.4 cyrus-nntpd-2.4 cyrus-clients-2.4 cyrus-murder-2.4 cyrus-imapd-2.4 cyrus-doc-2.4 libcyrus-imap-perl24 libmail-imapclient-perl libparse-recdescent-perl libterm-readkey-perl libterm-readline-perl-perl
  • 6. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Após a instalação, editar o arquivo /etc/imapd.conf alterando e/ou acrescentando os seguintes parâmetros: admins: cyrus-admin cyrus expresso-admin admin imap_admins: cyrus-admin cyrus expresso-admin admin sieve_admins: cyrus-admin cyrus expresso-admin admin sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN LOGIN unixhierarchysep: yes Administração do Cyrus O Cyrus é desenvolvido na linguagem perl e tem um cliente que se conecta a ele para a administração das contas dos usuários, o cyradm é uma ferramenta que faz essa administração do Cyrus Server. Comandos padrões do Cyrus Comando Abreviação Propósito listmailbox lm Lista o nome de todas as caixas postais createmailbox cm Cria uma nova caixa postal deletemailbox dm Deleta uma caixa postal e todas as pastas abaixo dela renamemailbox rename Renomeia uma caixa postal setaclmailbox sam Cria ACLs para as caixas postais deleteaclmailbox dam Deleta ACLs das caixas postais listaclmailbox lam Lista as ACLs das caixas postais
  • 7. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Comando para acessar o cyrus: cyradm -user username hostname localhost password: XXXXXXXX localhost> Permissões no IMAP segundo a RFC 4314 l lookup (mailbox is visible to LIST/LSUB commands, SUBSCRIBE mailbox) r read (SELECT the mailbox, perform STATUS) s keep seen/unseen information across sessions (set or clear SEEN flag via STORE, also set SEEN during APPEND/COPY/ FETCH BODY[...]) w write (set or clear flags other than SEEN and DELETED via STORE, also set them during APPEND/COPY) i insert (perform APPEND, COPY into mailbox) p post (send mail to submission address for mailbox, not enforced by IMAP4 itself) k create mailboxes (CREATE new sub-mailboxes in any implementation-defined hierarchy, parent mailbox for the new mailbox name in RENAME) x delete mailbox (DELETE mailbox, old mailbox name in RENAME) t delete messages (set or clear DELETED flag via STORE, set DELETED flag during APPEND/COPY) e perform EXPUNGE and expunge as a part of CLOSE a administer (perform SETACL/DELETEACL/GETACL/LISTRIGHTS)
  • 8. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Para adicionarmos uma ACL para um usuário devemos executar o seguinte comando: sam user/user admin all Para retirarmos a ACL de uma caixa postal executaremos o seguinte comando: dam user/user admin all Comandos para a criação de caixas postais Para se criar uma caixa postal padrão no cyrus onde esta contém todas as subpastas necessárias para o funcionamento normal do correio, o administrador deverá executar os seguintes comandos. Acessar o sistema: cyradm -user username hostname localhost password: XXXXXXXX localhost> Criar a caixa postal e suas respectivas subpastas: cm user/xxx cm user/xxx/Sent cm user/xxx/Drafts cm user/xxx/Trash
  • 9. CENTRO UNIVERSITÁRIO DE CAMPO GRANDE TECNOLOGIA EM REDES DE COMPUTADORES APLICAÇÕES EM REDES 5º SEMESTRE PROFESSOR CARLOS RICARDO BERNAL VEIGA Deleção de caixas postais Para deletarmos uma caixa postal e suas subpastas, deveremos primeiramente setar permissões na pasta para o administrador: cyradm -user admin hostname sam user/xxx admin all sam user/xxx/* admin all E deletar as pastas e subpastas com o comando dm. dm user/xxx dm user/xxx/* Exemplo de criação padrão de uma caixa postal Criar a Caixa de correio expresso-admin: cyradm -u expresso-admin localhost localhost> cm user/expresso-admin localhost> cm user/expresso-admin/Sent localhost> cm user/expresso-admin/Trash localhost> cm user/expresso-admin/Draft localhost> quit Setar a quota de 2 GB para o usuário expresso-admin: localhost> sq user/expresso-admin 2048000 localhost> quit