Introducao - O que e' IMAP ?
O Protocolo IMAP4rev1 - Características
Formas de Acesso a Mensagens Eletrônicas
Facilitando Ainda Mais o Acesso Remoto
Exemplos de Problemas e as Soluções IMAP
IMAP e Segurança
Como Obter as Ultimas Versões de Servidores IMAP para Sistemas UNIX
Conclusão
Referências
O serviço de correio eletrônico começa a tornar-se um elemento cada vez mais presente no cotidiano das pessoas e, a cada dia, ele estar mais acessível aos usuários em locais muito variados. Atualmente, o método de acesso às mensagens em caixa postal mais utilizado, o chamado acesso "offline", começa a tornar-se insuficiente para uma parcela cada vez maior de usuários, que apresentam necessidades crescentes de acesso ao correio eletrônico em locais variados e utilizando diferentes computadores. Neste artigo, procura-se apresentar as vantagens e desvantagens da utilização do protocolo IMAP na prestação do serviço de correio eletrônico, incluindo suas soluções e incrementos funcionais para o acesso remoto. Administradores de sistemas devem encarar este artigo como uma introdução a paradigmas de acesso remoto a mensagens que vão alem do acesso "offline" proporcionado pelo popular protocolo POP3.
Introducao - O que e' IMAP ?
O protocolo IMAP foi originalmente desenvolvido na Universidade de Stanford em 1986. Trata-se de um método de acesso a mensagens eletrônicas armazenadas em um servidor local ou remoto. IMAP quer dizer Internet Message Access Protocol [RFC 2060] e sua versão mais recente e' a IMAP4rev1 [RFC 2060].
Através de um programa cliente que envia comandos ao servidor de correio eletrônico que suporta o protocolo IMAP, o usuário pode manipular suas mensagens e pastas (também chamadas de "folders") a partir de computadores diferentes em diversas localidades sem que seja necessário a transferências das mesmas do servidor para o computador de onde se esta' fazendo o acesso. Assim, as mensagens podem ser acessadas em um notebook durante uma viagem, no micro de casa ou do trabalho etc.
Uma característica importante do IMAP e' permitir que a manipulação de mensagens e pastas seja feita como se estivessem no computador local.
O Protocolo IMAP4rev1 - Características
O protocolo IMAP4rev1 [RFC 2060] prevê uma variedade de funcionalidades. Alem das ja' oferecidas por protocolos como o POP3, destacam-se:
Acesso e manipulação de mensagens e de pastas de forma equivalente àquela feita em um acesso local;
- Possibilidade de acesso simultâneo a uma caixa postal compartilhada por mais de um usuário;
- Capacidade para que um programa cliente desconectado ("disconnected") possa sincronizar seu conteúdo (mensagens, pastas e sub-pastas) com o do servidor;
- Ativar e desativar "flags" (marcações que indicam características de uma mensagem), que podem, inclusive, ser definidas pelo usuário. Com o POP3, estas marcações são registradas pelo cliente, de forma que, se a mensagem for aberta por um segundo cliente, as mesmas podem não ter seu "status" indicado corretamente. O IMAP permite a gravação das "flags" junto às caixas-postais, assegurando que, independente de qual cliente se acesse, as mensagens terão as mesmas corretamente atribuídas.
- Capacidade de reconhecer os padrões de mensagens eletrônicas [RFC 822] e MIME-IMB [RFC 2045] em mensagens eletrônicas, de modo que os clientes de e-mail não o necessitem fazer. O servidor IMAP cumpre a tarefa de interpretar estes padrões, tornando os clientes mais fáceis de implementar e o acesso mais "universal";
- Pesquisa de texto em mensagens de forma remota. Este modo de trabalho e' feito localmente às caixas-postais;
- A seleção para recebimento dos atributos de uma mensagem, ou seu texto ou anexos e outras partes ("attachments") podem ser feitos de forma independente. Então, o usuário pode pedir para receber de uma mensagem com um grande "attachment", apenas a parte do texto que lhe interessa, o que e' vantajoso no caso de um acesso discado de baixa qualidade.
Formas de Acesso a Mensagens Eletrônicas
São três as formas possíveis de se trabalhar com correio eletrônico remotamente segundo o documento [RFC 1733]: "online", "offline" e "disconnected". Segue uma breve descrição de cada uma.
- No modo de operação "online", as mensagens e pastas ficam armazenadas no servidor, e o usuário as manipula remotamente através do programa cliente de correio eletrônico, com a possibilidade de criar, renomear, apagar e mover pastas, ativar marcações (possivelmente customizadas) em mensagens, receber, seletivamente, partes de mensagens, dentre outras facilidades.
- O modo de operação "offline" e' o mais conhecido e mais antigo modo de acesso remoto a mensagens proporcionado pelo protocolo POP3 [RFC-918] e suportado por, praticamente, todos os programas clientes de correio eletrônico no mercado. Neste modo, o programa transfere o pacote de novas mensagens do servidor para o computador do usuário e as apaga da sua origem, passando então, todo o processamento de mensagens para o computador local do usuário, inclusive as informações sobre o "status" das mensagens (se a mesma foi respondida, por exemplo) passam a ser mantidas pelo programa cliente.
- O modo de operação "disconnected" e' comumente confundido com o modo "offline" de acesso. No entanto, neste modo, o programa do usuário faz uma copia "cache" das suas mensagens e desconecta-se do servidor, ou seja, o usuário fica com copias de suas mensagens tanto no computador local quanto no servidor. Em um momento, posterior, apos ter feito diversas operações, o usuário conecta-se novamente e faz uma sincronização das mensagens "cacheadas" localmente com o conjunto armazenado no servidor, atualizando todas as modificações feitas no seu conjunto de mensagens e pasta.
Aqui, cabem alguns comentários. Para o usuário que vai sempre utilizar o mesmo computador para acessar suas mensagens, o modo "offline", também proporcionado pelo protocolo POP3, e' o suficiente para atender suas necessidades. O modo de operação "offline" também permite a opção de deixar as mensagens originais no servidor apos terem sido copiadas para o computador do usuário. Porem, este método ainda deixa a desejar em relação as facilidades oferecidas pelos modos "online" e "disconnected", alem da otimização de transmissão suportados pelo IMAP.
As vantagens do modo "offline" são dadas pelo uso mínimo do tempo de conexão com o servidor e de recursos do mesmo. Ja' o modo "online" possibilita a utilização de computadores "data-less", como por exemplo, em laboratórios universitários e em computadores de uso publico em geral; permite o acesso, independente de plataforma, a múltiplas pastas; alem de possibilitar o acesso simultâneo a pastas compartilhadas com um ou mais usuários, como, por exemplo, em um serviço de helpdesk.
A questão chave e' a possibilidade do usuário acessar, remotamente, sua caixa postal e suas pastas armazenadas em um servidor, de modo uniforme, a partir de diferentes computadores em momentos diferentes sem depender de protocolos de sistemas de arquivos que não estão disponíveis em todas as plataformas e que podem trazer diversos tipos de problemas no acesso simultâneo a um mesmo arquivo ou pasta.
Este conceito de operação pode ser considerado um luxo desnecessário para quem acessa sua caixa postal sempre do mesmo computador, uma vez que tal perfil de usuário tende a não fazer uso dos recursos mais avançados do servidor IMAP
Facilitando Ainda Mais o Acesso Remoto
Um aliado do IMAP e' o protocolo ACAP (Application Configuration Access Protocol), que e' projetado para armazenar remotamente (em um servidor) informações de configuração de programas clientes, como opções do programa, informações do usuário, preferências de configuração, lista de endereços de e-mail, "bookmarks", etc. Isto permite ao usuário utilizar programas clientes em maquinas diferentes sem a necessidade de reconfigurá-los a cada uso. O protocolo ACAP esta' em desenvolvimento e ainda e' um "Internet Draft". Um "White Paper" sobre o ACAP pode ser obtido em: http://andrew2.andrew.cmu.edu/cyrus/acap/acap-white-paper.html
Exemplos de Problemas e as Soluções IMAP
Por exemplo, quem nunca viu um usuário que faz acesso discado para acessar sua caixa postal não conseguir receber todas as mensagens porque alguém o enviou uma mensagem com um arquivo anexado ("attachment") que era tão grande que a ligação demoraria horas para a mensagem ser transferida? Neste caso, mesmo que o usuário se aventure a fazer a transferência, é grande a probabilidade que a ligação se desfaça antes da mesma terminar, impedindo-o de receber novas mensagens enquanto esta grande não for transferida.
Este e' um problema típico do protocolo POP3, que não permite ao usuário escolher quais mensagens ele deseja receber.
O protocolo IMAP oferece duas soluções este problema. Ao acessar a sua caixa postal (INBOX) o usuário pode receber, inicialmente, uma listagem com os cabeçalhos ("headers") das mensagens presentes na mesma. Desta forma, o usuário pode selecionar aquelas que ele deseja que o servidor IMAP envie para o seu computador local, baseado em seu interesse e bom-senso.
A segunda facilidade e' a de permitir ao usuário escolher que PARTE da mensagem ele deseja receber. Se assim desejar, o usuário pode pedir para receber somente a parte de texto de uma com um grande "attachment" e não receber o(s) arquivo(s) anexado(s) e vice-versa.
Desta forma, o usuário não fica impedido de acessar suas mensagens,mesmo tendo recebido uma muito grande para ser transferida por linhas telefônicas de baixa qualidade, economizando tempo, dinheiro e, possivelmente, suporte técnico do seu provedor.
IMAP e Segurança
Há' algum tempo, foram descobertas vulnerabilidades em certas implementações do servidor IMAP em diversas plataformas. O CERT tem distribuido em seus "advisories" métodos para contornar estes problemas, protegendo o acesso indevido aos sistemas. Veja maiores informações na URL: ftp://info.cert.org/pub/cert_advisories/CA-97.09.imap_pop
Em outras duas URLs, encontram-se maiores explicações sobre o problema:
http://www.washington.edu/imap/server-security.html e
http://www.imap.org/sec-vuln.response.html
Como regra geral, procure obter e instalar sempre a versão mais recente (que reconhecidamente não tenha os furos de segurança das versões anteriores) do servidor. A ultima versão, produzida pela Universidade de Washington para sistemas UNIX apresenta correções de potenciais falhas de segurança presentes em versões anteriores.
O CERT tem outros dois importantes documentos referentes a segurança básica de servidores. Estes documentos podem ser obtidos em:
ftp://info.cert.org/pub/tech_tips/intruder_detection_checklist e
ftp://info.cert.org/pub/tech_tips/root_compromise
A leitura destes documentos e' altamente recomendada para todos que administram servidores UNIX conectados `a Internet.
Como Obter as Ultimas Versões de Servidores IMAP para Sistemas UNIX
A ultima versão do servidor IMAP para UNIX feito pela Universidade de Washington pode ser obtido via FTP Anônimo na URL:
ftp://ftp.cac.washington.edu/imap/imap.tar.Z
A ultima versão do servidor IMAP para UNIX desenvolvido pela Universidade de Carnegie Melon (Projeto Cyrus) pode ser obtida em:
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-v1.5.2.tar.gz
Para maiores informações sobre o servidor do Projeto Cyrus, consulte a URL: http://andrew2.andrew.cmu.edu/cyrus/imapd
Outras referencias para software podem ser encontradas na seção Referencias ao final do artigo.
Conclusão
O protocolo IMAP ainda esta' em fase de desenvolvimento, mas ja' se apresenta como uma das principais alternativas para o acesso "offline" de correio eletrônico, amplamente utilizado na Internet. O IMAP esta' sendo,cada vez mais, implementado em produtos comerciais e, a cada dia, torna-se um padrão da industria para prestação do serviço de correio eletrônico.
Referências
RFC 2060 - IMAP4 rev1
http://www.cis.ohio-state.edu/htbin/rfc/rfc2060.html
RFC 2061 - IMAP4 Compatability with IMAP2BIS
http://www.cis.ohio-state.edu/htbin/rfc/rfc2061.html
RFC 2062 - IMAP Obsolete Syntax
http://www.cis.ohio-state.edu/htbin/rfc/rfc2062.html
RFC 2086 - IMAP4 ACL extension
http://www.cis.ohio-state.edu/htbin/rfc/rfc2086.html
RFC 2087 - IMAP4 QUOTA extension
http://www.cis.ohio-state.edu/htbin/rfc/rfc2087.html
RFC 2088 - IMAP4 non-synchronizing literals
http://www.cis.ohio-state.edu/htbin/rfc/rfc2088.html
RFC 2095 - IMAP/POP AUTHorize Extension
http://www.cis.ohio-state.edu/htbin/rfc/rfc2095.html
RFC 2177 - IMAP4 IDLE command
http://www.cis.ohio-state.edu/htbin/rfc/rfc2177.html
RFC 2180 - IMAP4 Multi-Accessed Mailbox Practice
http://www.cis.ohio-state.edu/htbin/rfc/rfc2180.html
RFC 2192 - IMAP URL Scheme
http://www.imap.org/docs/rfc2192.html
RFC 2193 - IMAP4 Mailbox Referrals
http://www.imap.org/docs/rfc2193.html
RFC2195: IMAP/POP AUTHorize Extension for Simple Challenge/Response
http://www.imap.org/docs/rfc2195.html
Outros Documentos sobre IMAP:
http://www.imap.org/biblio.html
Listagem de Produtos (servidores e clientes) IMAP:
http://www.imap.org/products.html
Listagem de Servidores IMAP:
http://andrew2.andrew.cmu.edu/cyrus/email/servers.html
Listagem de Clientes IMAP:
http://andrew2.andrew.cmu.edu/cyrus/email/clients-protocol.html#imap
NewsGeneration, um serviço oferecido pela RNP – Rede Nacional de Ensino e Pesquisa
Copyright © RNP, 1997 – 2004