Um guia para os iniciantes no mundo do FreeBSD
Como proceder se seu servidor de e-mails for vitima de SPAM.
Se voce tem sido vitima de SPAM e nao sabe como combater essa
pratica, neste texto voce encontrara algumas das possiveis solucoes para
este problema, que podem ser implementadas no seu sendmail.
Todas as sugestoes aqui apresentadas foram extraidas do site
http://www.sendmail.org, devo lembrar
que antes de testar qualquer uma das modificacoes aqui sugeridas ,
voce devera fazer um backup da configuracao atual do seu sendmail.
- Situacao 1:Para evitar que hosts nao autorizados utilizem seu
servidor SMTP para enviar e-mails.
1. Crie o arquivo /etc/sendmail.cR
Neste arquivo voce devera listar todos os hosts que terao permissao de
utilizar seu servidor SMTP para enviar e-mails. Voce devera listar
um host por linha.
Exemplo:
smarthost.pro-unix.org
omega.pro-unix.org
porta01.pro-unix.org
porta02.pro-unix.org
porta03.pro-unix.org
porta04.pro-unix.org
Observe que voce devera listar o hostname completo ou seja
nome_da_maquina.seu_dominio.com.br.
2. Edite o arquivo /etc/sendmail.cf e abaixo da linha:
# file containing names of hosts for which we receive email
Fw-o /etc/sendmail.cw
Insira a seguinte linha:
FR-o /etc/sendmail.cR
3. Agora va ao final do arquivo, deixe uma linha em branco e insira as
seguintes linhas:
Scheck_rcpt
# anything terminating locally is ok
R< $+ @ $=w > $@ OK
R< $+ @ $=R > $@ OK
# anything originating locally is ok
R$* $: $(dequote "" $&{client_name} $)
R$=w $@ OK
R$=R $@ OK
R$@ $@ OK
# anything else is bogus
R$* $#error $: "550 Relaying Denied"
Observacoes:
a) Se voce preferir listar um dominio ao inves do hostname completo, no
arquivo /etc/sendmail.cR, voce devera substituir todas as
ocorrencias de $=R por $* $=R na regra acima.
b) A regra acima nao bloqueia enderecos do tipo
user%outro_dominio.com.br@seu_dominio.com.br,
se voce desejar bloquear este tipo de endereco voce devera subistituir
a primeira sessao:
# anything terminating locally is ok
R< $+ @ $=w > $@ OK
R< $+ @ $=R > $@ OK
por:
# anything terminating locally is ok
R$* $: $>Parse0 $>3 $1
R$+ < @ $* . > $* $: $1 < @ $2 >
R$+ < @ $=w > $@ OK
R$+ < @ $=R > $@ OK
Feitas as alteracoes salve o arquivo e reinicie o sendmail dando um
Kill -HUP no seu PID.
Situacao 2:Para recusar e-mails de determinado dominimo
1. Voce devera criar o arquivo /etc/spammers, banco de dados contendo os hostnames
dos servidores SMTP de onde os e-mails sao enviados, neste arquivo voce
devera listar um hostname por linha.
Exemplo:
nome_da_maquina.algum_dominio.com.br
nome_da_maquina.outro_dominio.com.br
Voce devera usar o vi ou o ee para criar/editar o seu banco de
dados, apos cria-lo/edita-lo voce devar executar o comando:
# makemap hash /etc/spammers < /etc/spammers
Observacao:Voce devera executar esse comando sempre que modificar o arquivo
/etc/spammers.
2. Edite o arquivo /etc/sendmail.cf e abaixo da linha:
# file containing names of hosts for which we receive email
Fw-o /etc/sendmail.cw
Insira a seguinte linha:
Kspammers hash /etc/spammers
3. Agora va ao final do arquivo, deixe uma linha em branco e insira as
seguintes linhas:
Scheck_relay
R$+ $| $+ $: $(spammers $1 $: OK $)
ROK $@ OK
R$+ $#error $: 521 $1
Feitas as alteracoes salve o arquivo e reinicie o sendmail dando um
Kill -HUP no seu PID.
Situacao 3:Para proteger um usuario de um ataque por mailbomb.
1. Voce devera criar o arquivo /etc/bombers, banco de dados contendo o
email do responsavel pelo ataque, neste arquivo voce
devera listar um email por linha.
Exemplo:
palhaco1@nome_da_maquina.algum_dominio.com.br
Palhaco2@nome_da_maquina.outro_dominio.com.br
Voce devera usar o vi ou o ee para criar/editar o seu banco de
dados, apos cria-lo/edita-lo voce devar executar o comando:
# makemap hash /etc/bombers < /etc/bombers
Observacao:Voce devera executar esse comando sempre que modificar o arquivo
/etc/bombers.
2. Edite o arquivo /etc/sendmail.cf e abaixo da linha:
# file containing names of hosts for which we receive email
Fw-o /etc/sendmail.cw
Insira a seguintes linhas:
Kbombers hash /etc/bombers
# addresses to be protected from mail bombers
C{Protected}login_do_usuario_a_proteger
3. Agora va ao final do arquivo, deixe uma linha em branco e insira as
seguintes linhas:
Scheck_compat
# if the recipient isn't protected, they get the mail
R$+ $: <OK> $1
R<OK> $+ $| < $={Protected} @ $=w >
$: <PROT> $1
R<OK> $+ $@ OK
# check to see if the sender is a bozo
R<PROT> $+ $| $+ $: $(bozos $1 $: OK $)
ROK $@ OK
R$+ $#error $: 551 $1
Feitas as alteracoes salve o arquivo e reinicie o sendmail dando um
Kill -HUP no seu PID.
Se você possui alguma critica , duvida ou sugestão ,entre em contato pelo e-mail: edson.brandi@uol.com.br