Aula05 - cyrus imap

763 visualizações

Publicada em

Aula05 cyrus imap

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
763
No SlideShare
0
A partir de incorporações
0
Número de incorporações
404
Ações
Compartilhamentos
0
Downloads
28
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula05 - cyrus imap

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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

×