|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiConfigurando o Sendmail
[editar] IntroduçãoSendmail é o servidor de e-mails (MTA) mais usado em toda internet, porém também um dos mais complexos e "difíceis" de serem configurados. O sendmail tem uma variedade de "features" muito utéis e outras talvez nem tanto para o que você irá precisar. Portanto, iremos neste pequeno artigo usar a ferramenta M4 que vem junto com o sendmail para podermos "configurar" o nosso sendmail.cf da forma mais adequada. Algumas pessoas dizem que não se considera um verdadeiro administrador de redes quem não varou noites e noites tentando fazer alguma configuração no sendmail direto nas complicadas rules (regras) do arquivo sendmail.cf. Com M4, tudo isso se torna muito mais fácil...
[editar] InstalaçãoPrimeiramente verifique a versão do seu SendMail, e faca download do source correspondente da sua versão no site http://www.sendmail.org . Iremos tomar como exemplo a versão 8.11.2. Descompactando o source dela veremos que tem um diretório chamado "cf". É neste diretório que iremos trabalhar. Vamos a descrição do conteúdo dos principais diretórios: --| | cf--| | cf <- arquivos de configuração para geração do .cf (arquivos .mc) | featues <- features disponíveis | m4 <- possui os arquivos de configuração do m4 | mailer <- configuração das featues de mailer | ostype <- algumas configurações especificas de alguns Sistemas Operacionais Estes são os mais usados, porém existem outros diretórios como sitesconfig (uucp), sh (para configurar as info para o cf) e etc ... Primeiramente entre no diretório cf, então iremos criar o nosso arquivo .mc:
divert(-1) divert(0)dnl VERSIONID(`$Id: gamk.mc,v 8.1 2001/02/12 09:48:05 [gamk@gamk.com.br] Exp $') OSTYPE(linux)dnl DOMAIN(generic)dnl MAILER(local)dnl MAILER(smtp)dnl Este é um arquivo mc básico, mas podemos melhorá-lo adicionando algumas features:
divert(-1)
divert(0)dnl
VERSIONID(`$Id: gamk.mc,v 8.1 2001/02/12 09:48:05 [gamk@gamk.com.br] Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
FEATURE('redirect')
FEATURE('virtusertable')
FEATURE('access_db')
FEATURE('use_cw_file')
Agora já ficou mais interessante, temos suporte a tabela de acesso (evitar SPAM), virtuasertable (usado para criar dominios virtuais), use_cw_file (para podermos listar num arquivo os domínios que o sendmail vai responder). Existem muitas features que podemos adicionar, para uma lista completa digite: # ls ../features Feito isto basta digitar o seguinte comando: # m4 ../m4/cf.m4 gamk.mc sendmail.cf E Pronto!!! foi gerado o nosso sendmail.cf com as features que escolhemos.
[editar] ConfiguraçãoVamos a configuração do sendmail. Edite o arquivo /etc/mail/local-host-names e coloque a lista (um por linha) dos domínios do o sendmail. Exemplo: # cat /etc/mail/local-host-names gamk.com.br linuxsecurity.com.br meu_dominio.com Iremos configurar as nossas "aliases" para isto edite o arquivo "aliases". # cat /etc/mail/aliases MAILER-DAEMON: root webmaster: gamk linke: linke@bol.com.br clientes: :include:/usr/local/clientes.txt OBS: Quando alterar este arquivo digite sempre "newaliases" para atualizar as databases. Perceba que todos os e-mail que chegarem para o usuário MAILER-DAEMON, eles serão redirecionados para o usuário root, o webmaster - gamk o linke para linke@bol.com.br e o clientes para todos os e-mail (um por linha) presentes no arquivo /usr/local/clientes.txt Agora partiremos para a configuração do virtusertable. Ele serve para você ter no mesmo servidor os e-mails (gamk@gamk.com.br e gamk@linuxsecurity.com.br). Bem vamos a um exemplo prático: # cat /etc/mail/virtusertable gamk@gamk.com.br gamk @gamk.com.br diego gamk@linuxsecurity.com.br renato @meu_dominio.com %1@bol.com.br Explicando: Todos os e-mails que chegarem para o domínio gamk.com.br irão para o usuário (local na máquina) chamado "diego" com excessão do e-mail gamk@gamk.com.br que irá para o usuário "gamk". Os e-mails que chegarem para gamk@linuxsecurity.com.br irão para o usuário local na máquina "renato". Qualquer e-mail que chegar no domínio, meu_dominio.com, será redirecionado para o domínio bol.com.br mantendo o nome do usuário. Feito isso digite: # makemap hash virtusertable < virtusertable para criar o virtusertable.db. Agora iremos configurar o controle de acesso. # cat /etc/mail/access 200.150.59 RELAY hackers.lab 550 Nao permetimos Hackers gamk.com.br REJECT diego.gamk.com.br OK Nesta configuração foi permetido o RELAY da rede 200.150.59.0/24, foi também rejeitado e-mails de gamk.com.br menos os vindo da máquina diego.gamk.com.br. Foi também rejeitado (550 = REJECT) e-mails vindo de hackers.lab enviando a mensagem de erro como "Nao permtimos Hackers". Depois de fazer a sua configuração basta digitar: # makemap hash access < access Pronto o seu sendmail está configurado e já pode ser usado normalmente... # telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 www.virtualnet.net ESMTP Sendmail 8.11.2/8.11.2; Sat, 10 Mar 2001 20:23:04 -0300 expn gamk 250 2.1.5 GAMK vrfy diegolinke 250 2.1.5 Diego Linke Perceberam que o SendMail acabou de entregar através dos comandos "expn" e "vrfy" dois usuário válidos na máquina ? Vamos desabilitar esta função para que isto não aconteça. Edite o arquivo sendmail.cf e procure pela linha: O PrivacyOptions=authwarnings Substitua por esta: O PrivacyOptions=authwarnings,noexpn,novrfy Restart e sendmail e pronto!!! # telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 www.virtualnet.net ESMTP Sendmail 8.11.2/8.11.2; Sat, 10 Mar 2001 20:23:04 -0300 expn gamk 502 5.7.0 Sorry, we do not allow this operation vrfy diegolinke 252 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try finger) Que tal não revelarmos o número da versão do nosso sendmail ? Vamos lá, edite o arquivo sendmail.cf e procure pela linha: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b Substitua por: O SmtpGreetingMessage= GAMK Mail Server [smtp.gamk.com.br] Pronto, agora você acaba de mudar a mensagem de Welcome! # telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 GAMK ESMTP Mail Server [smtp.gamk.com.br] Se você quiser, pode mudar o conteúdo do help (comando help), basta alterar o arquivo /etc/mail/helpfile. # cat /etc/mail/helpfile smtp ******************************************************** smtp * Sys/Admin: Diego Linke * smtp ******************************************************** Pronto, restart o sendmail. Agora quando o usuário digitar "help" ao invés desaparecer o help do sendmail irá aparecer esta mensagem: ******************************************************** * Sys/Admin: Diego Linke * ******************************************************** Obs.: para startar o sendmail use: "sendmail -bd -q15m"
[editar] Mais informação
[editar] EpílogoEspero ter ajudado... Boa Sorte :D Diego Linke
[editar] Créditos
|