[ SEGURANÇA ] 

 SPAM 



 Autor:  - Alvaro Nascimento

Inicialmente meus agradecimentos ao Sr. Alvaro Nascimento, membro do grupo antispam (http://www.antispam.gov.br) 
 

  1. O que é SPAM
  2. Por que não enviar SPAM, mailbombs, etc. ?
  3. Bloqueando, Filtrando....(DENY)
  4. Regras de Bloqueio - Sendmail 8.8.x 
  5. Regras de Bloqueio - Roteador CISCO
  6. Regras de Bloqueio - Roteador Cyclades (em Construção) 

  7.  

     
     
     


1 - O que é SPAM ?
Etimologicamente, o termo SPAM origina-se de um programa de série inglesa de comédia Monty Pyton. onde Vikings desajeitados, num bar, pediram repetida e exageradamente o termo SPAM, marca de um presunto enlatado americano. 

Sua definição a nível prático refere-se ao envio abusivo de correio eletrônico não solicitado em grande quantidade distribuindo propaganda, correntes e esquemas de "ganhe dinheiro fácil". É o envio de correio tentando forçar a leitura pela pessoa que recebe que outroura sequer optou por este recebimento. Um desperdício de recursos da rede pago por quem recebe. Observando de modo restrito, que mal faz enviar algumas centenas de correios em mala-direta para outrem? De modo mais amplo, quanto não se gasta levando em consideração o absurdo volume anual de correio 
eletrônico enviado? 

No ambiente internet, "spam" significa enviar uma mensagem qualquer para uma grande quantidade de usuários, sem primeiro verificar a utilidade do conteúdo da mensagem para aqueles destinatários. Este procedimento, propiciado pelo baixo custo de envio de mensagem eletrônica, causa inconveniência e custo para o destinatário. O "spammer" (o autor do "spam") só está olhando para os seus interesses egoistas e imediatos. Por eles, ele é capaz de passar por cima de qualquer regra mínima de convivência. Às mensagens enviadas pelo "spammer" nos referimos como "Mensagens Não Solicitadas". Este não é o termo próprio, pois é um contrasenso admitir-se que alguém precisa de uma autorização especial para nos enviar uma correspondência. Na verdade, o que se quer é ter mecanismos que reduzam 
a níveis mínimos o volume de "junk emails" (mensagens "lixo") em nossas caixas postais eletrônicas. 

2 - Por que não enviar SPAM, mailbombs, etc. ?
Primeiramente, cada um não deve e não pode ter sua privacidade invadida recebendo algo pelo qual não solicitou. Malas-diretas, correntes, esquemas de ganhe dinheiro-facil exemplificam este tipo de situação. Situação esta que quem sai no prejuío é quem recebe. Um exemplo notório e clássico americano foi o SPAM enviado pela CyberPromotions a AOL. 1,8 milhõs de correios eletrõnicos diários até o início de um processo judicial. Considerando que um usuário típico da AOL leve 5 segundos para identificar e descartar a mensagem, já se foram 5000 horas por dia de conexão por dia 
desperdiçados com SPAM, apenas neste caso. Em contraste, o SPAM não deve ter gasto R$100,00/ dia para o envio de sua publicidade. 

Outro prejuízo que se tem é o gasto desnecessário dos recursos da rede. Se fosse bem devido este tipo de prática, provavelmente a Internet pararia, em muitos lugares, apenas para entregar as mensagens com propagandas/correntes/esquema de fico-rico-num-dia. 

Outra peculiaridade do SPAM é a falsidade que trazem os conteúdos das mensagens. A maioria das pessoas, por exemplo, que assinam as correntes e esquemas de fiquei-rico-num-dia, sequer existem. 

Qualquer formulário que requisitar seu correio eletrônico numa página da Internet poderá usar seu email para tais malas-diretas indesejadas e mais, divulgar para bancos de correios eletrônicos cujo único fim é entregá-los a outras empresas de marketing e propaganda. 

Muitos desses correios também são ilegais em muitos países. Pornografia infantil, por exemplo, é crime passivo de prisão em muitos países. 

Negue qualquer tipo de lixo enviado a sua caixa-postal que não tenha solicitado e que não tenha te agradado. 

3 - Bloqueando, Filtrando....(DENY)
As técnicas de bloqueio utilizadas por nossos sistemas são todas destinadas a sistema Unix praticamente. Admistradores de Sistema em NT, poderão remeter email a abuse@magiclink.com.br com suas contribuições. 

Estamos apresentando a técnica para bloqueio de sites utilizando-se regras no programa sendmail, nos roteadores CISCO e Cyclades. 
 

4 - Regras de Bloqueio - Sendmail 8.8.x 
Regras de Relaying Deny - Sendmail 8.8.x 

-[Adicionando as regras anti-relay e anti-spam]-[Rev 1.1 - Sat Nov 22 10:46:02 1997] 

1o PASSO: 

Logue Como root na maquina. 

2o PASSO: 

Crie um diretorio e copie seu SENDMAIL.CF (arquivo de configuracao do sendmail) para ele. 

$~# mkdir /anti-spam 
$~# cd /anti-spam 
$~# cp /etc/sendmail.cf /anti-spam 

3o PASSO: 

Edite o SENDMAIL.CF que esta no diretorio anti-spam e adicione as regras . 

$~# pico /anti-spam/sendmail.cf

Ok, uma vez dentro do 'PICO' voce deve ir para a linha abaixo de 'localhost'. Para adicionar as regras use o seguinte comando do PICO: 

^R (CTRL + R) e la procure pelo primeiro arquivo (REGRAS1.TXT). Se tudo der certo ficara +- assim: 
 

################## 
# local info # 
################## 

Cwlocalhost 

# Regras Anti Relay hosts 
F{LocalIP} /etc/mail/LocalIP 
F{RelayTo} /etc/mail/relayto 
F{DeniedIP} -o /etc/mail/DeniedIP 
F{DeniedNames} -o /etc/mail/DeniedNames 
Kjunk hash -a@JUNK /etc/mail/junk 

Ok, Salve o seu arquivo. Respire, beba uma coca-cola e vamos para o proximo passo. 

4o PASSO: 

Agora vamos adicionar o arquivo (REGRAS2.TXT) 

$~# pico /anti-spam/sendmail.cf 

Com o arquivo editado procure por RULESET 98. (lembre-se que para procurar com o pico use o comando): 

^W (CTRL + W) 

Apos ter achado a linha, insira a proxima regra (REGRAS2.TXT) usando o ^R (CTRL + R). 
Se tudo der certo vai ficar +- assim: 
 

################################################################### 
### Ruleset 98 -- local part of ruleset zero (can be null) ### 
################################################################### 

Scheck_rcpt 
# make sure you have TABs here, not BLANKs! sendmail will complain otherwise... 
# first: get client addr 
R$+ $: $(dequote "" $&{client_addr} $) $| $13 
R0 $| $* $@ ok no client addr: directly invoked 
R$={LocalIP}$* $| $* $@ ok from here 
# not local, check rcpt 
R$* $| $* $: $>3 $2 
# remove local part, maybe repeatedly 
R$*<@$=w.>$* $>3 $1 $3 
# alternatively (or even both): 
# if you use RelayTo, uncomment the next line! 
# R$*<@$*$={RelayTo}.>$* $>3 $1 $4 
# still something left? 
# R$*<@$+>$* $#error $@ 5.7.1 $: 551 we do not relay 
R$*<@$+>$* $#error $@ 5.7.1 $: 551 Relay Negado - Contate o Administrador de seu sistema. 

Scheck_relay 
R$+ $| $={DeniedIP}$* $#error $@ 5.7.1 $: "no access from your IP address" 
R$*$={DeniedNames} $| $* $#error $@ 5.7.1 $: "no access from your host" 

# check for junk domain/spammers Sjunk 
# lookup domain in database 
R$*<@$+> $:$1<@$(junk $2$)> 
# exists? return 
R$*<@JUNK@JUNK> $@$1<@ "551 mail from your spam domain not accepted." @JUNK> 
R$*<@$*@JUNK> $@$1<@$2@JUNK> 
# lookup address in database 
R$*<@$+> $:$1<@$(junk $1@$2 $:$2$)> 
# exists? return 
R$*<@SPAMMER@JUNK> $@$1<@ "551 mail from your spam address not accepted." @JUNK> 
R$*<@$*@JUNK> $@$1<@$2@JUNK> 
# remove one subdomain, try again 
R$*<@$-.$-.$+> $: $>junk $1<@$3.$4> 

Scheck_mail 
# don't check these 
R<$*@$=w> $@ ok shortcut 
# idea from Steven Schultz 
R<> $: <$n @ $(dequote "" $&{client_name} $) > 
# mark address 
#R$* $:<@>$1 
# is the syntax ok (uses <> and no dot at the end?) 
#R<@><$*@$*$~.> $:<$1@$2$3> 
# mark still there: error... 
#R<@>$* $#error $@ 5.1.8 $: 551 illegal MAIL FROM $1, 
# if we don't to the above: remove at least the dot... 
R<$*@$*.> <$1@$2> 
R$* $: $>3 $1 canonify 
R$- $@ ok local host 
# no host without a . in the FQHN ? 
# if you get local e-mail from hosts without full domains, 
# put a hash in front of the next rule 
R$*<@$->$* $#error $@ 5.1.8 $: 551 invalid host name $2, check your configuration. 
# lookup IP address (reverse mapping available?) 
# R$*<@[$-.$-.$-.$-]>$* $: $1 < @ $[ [ $2.$3.$4.$5 ] $] > $6 
# copy the result of the lookup 
R$* $:$1 $| $1 
# now remove the dot 
R$* $| $*<@$*.>$* $: $1 $| $2<@$3>$4 
# and check the database 
R$* $| $*<@$*>$* $: $1 $| $>junk $2<@$3> 
# match: return given error code (rhs of map) 
R$* $| $*<@$*@JUNK>$* $#error $@ 5.7.1 $: $3 
# restore original value (after canonicalization by ruleset 3) 
# this is only required if you want to enable the last rule 
# R$* $| $* $: $1 
# this is dangerous! no real name 
# R$*<@$*$~P>$* $#error $@ 4.1.8 $: 451 unresolvable host name $2$3, check your setup. 

S98 

Salve seu SENDMAIL.CF. 
 

5o PASSO: 

Crie um diretorio chamado mail dentro do diretorio /ETC 

$~# mkdir /etc/mail 

Em seguida crie os seguintes arquivos: 

$~# cd /etc/mail 
$~# echo > LocalIP 
$~# echo > relayto 
$~# echo > DeniedIP 
$~# echo > DeniedNames 
$~# echo > junk 
 

LocalIP -> Deve conter o ip de suas maquinas 

ex: 

127.0.0.1 
2.34.56.78 
2.34.56.78. 
2.34.56 

relayto -> Deve conter o IP e HOSTS das maquinas que podem fazer 'RELAY' pelo seu servidor 

ex: 

chica-da-silva-muito-boa.org 
debora.rodrigues.e.gostosa.com 
www.minha-maquina.com 
www.maquina.dominio.org 
222.54.22.09 
2.34.56.78 

DeniedIP -> Deve conter o IP das maquinas que estao banidas por voce 

ex: 

2.34.56.78 
222.234.244.555 
 

DeniedNames -> Deve conter o DOMINIO das maquinas banidas por voce 

ex: 

www.maquina.dominio.org 
www.disneylandia.com 
pornografia.net 

junk -> Deve conter hosts e nomes de usuarios banidos 

ex: 

mickey@disneylandia.com "551 ISSO AQUI NAO E A DISNEYLANDIA !!" 
@louraburra.com "551 DiE DiE DiE BUNGHOLE" 
so.what.com "Voce esta banido" 
so.what.com "551 oi spammers" 

Determinando seus IPs banidos e IPs habilitados voce tem de gerar um pequeno banco de dados: 

$~# makemap -v hash LocalIP.db < LocalIP (opcional) 
$~# makemap -v hash relayto.db < relayto (opcional) 
$~# makemap -v hash DeniedNames.db < DeniedNames 
$~# makemap -v hash DeniedIP.db < DeniedIP 
$~# makemap -v hash junk.db < junk 

Obs: Alguns Sistemas Operacionais (OS) nao aceitam 'HASH' voce pode usar 'DBM', 'BTREE', nao se esqueca somente de alterar as PRIMEIRAS REGRAS. Trocando a o comando 'HASH' por qualquer um dos descritos acima. 

6o PASSO: 

Crie um diretorio chamado 'SEND-ORIG' 

$~# mkdir /etc/send-orig 
$~# cp /etc/sendmail.cf /etc/send-orig 

Chegamos no CLIMAX da instalacao, agora voce deve derrubar seu sendmail e por seu novo .CF para funcionar. 

$~# killall sendmail 
$~# rm /etc/sendmail.cf 
$~# cp /anti-spam/sendmail.cf /etc/ 
$~# /usr/sbin/sendmail -bd -q 15m 

Se tudo der certo seu sendmail com regras anti-spam estarao no ar, para certifica-se disso de um telnet para sua porta 25. 

$~# telnet localhost 25 

220 sua.makina.com.br xxxxxxxxxxxxxx 

Caso nao de certo, derrube seu sendmail mais uma vez e volte as configuracoes antigas e nos mande um email. (askion@rio.com.br) 

$~# rm /etc/sendmail.cf 
$~# cp /etc/send-orig/sendmail.cf /etc 
$~# /usr/sbin/sendmail -bd -q 15m 

5 - Regras de Bloqueio - Roteador CISCO
Estamos apresentando a seguir a técnica para bloqueio de sites utilizando-se dos ACCESS-LIST no Roteador CISCO. 

-[Deny pelo CISCO 2500 - 250*]-[Versao 1.0b - Thu Nov 27 16:58:18 EDT 1997] 

# HABILITANDO A 'LISTA 101' 

1- de telnet para seu cisco 
2- entre com ENABLE e depois o password 
3- Siga os comandos abaixo atenciosamente: 

Router# conf t 
Router(config)# int ser0 
Router(config-if)# ip access-group 101 in 
Router(config-if)# exit 

4- Com os comandos acima, voce habilitou a lista numero 101 (as listas com poder de selecao de pacotes sao de 100 a 199) 

# CONSTRUINDO A 'LISTA 101' 

Obs: Toda a linha da access-list eh algo assim: 

Router# access-list numero acao protocolo origem destino modificadores 

Numero = Eh o numero da acess-list 
ex: access-list 101 

Acao = Eh o que voce vai fazer com o PACOTE. (DENY - PERMIT) 
ex: access-list 101 deny 

Protocolo = Os protocolos (IP - TCP - UDP - ICMP) 
ex: access-list 101 deny icmp 

Origem = Da onde vem o pacote (o IP origem com o endereco e NETMASK invertido) 

Destino = E para onde vai o pacote (O IP destino, com endereco e netmask invertidos) 

Modificadores = Sao opcoes de selecao de portas e flags de pacotes. (EQ, ESTABLISHED, entre outros) 

Como exemplo vamos pegar uma acess-list do UOL-deny: 

Router(config)# no access-list 101 
Router(config)# access-list 101 permit tcp 200.246.5.87 0.0.0.0 any eq 25 established 
Router(config)# access-list 101 deny tcp 200.246.5.87 0.0.0.0 any eq 25 
Router(config)# access-list 101 permit ip any any 
Router(config)# exit 
Router(config)# write mem 

Assim esta feito o seu 'DENY'. Vale ressaltar que DENY pelo cisco nao é aconselhavel uma vez que o servidor deles sem conexao ao seu acusara nao ENVIO de correio, enquanto voce usando as REGRAS DO SENDMAIL, o correio nao sera enviado e voltara com o motivo do BANIMENTO. 
Quaisquer duvidas e/ou comentarios envie e-mail para askion@rio.com.br. 
 

6 - Regras de Bloqueio - Roteador Cyclades (em Construção) 



 
<=

http://www.absoluta.org      ---oOo---      verdade@absoluta.org

Copyright © 1998 - 1999  Verdade @bsoluta