Anotações.org

Dicas, informação e principalmente anotações!

Busca:
  • Home
  • Sobre
  • Sobre

    Escreva neste espaço um pouco sobre você ou sobre o seu blog.

  • Categorias

    • Geral
    • Linux
    • SEO
    • Windows
  • Arquivos

    • Março 2009
    • Julho 2008
    • Maio 2008
    • Fevereiro 2008
    • Janeiro 2008
    • Dezembro 2007
    • Novembro 2007
  • Artigos Recentes

    • Testar se IP do servidore está em alguma RBL (blacklist)
    • Client does not support authentication protocol requested by server; consider upgrading MySQL client
    • ERROR: Can’t lock database directory: /usr/local/share/clamav
    • connect(): No such file or directory
    • Links com nofollow sendo contabilizados?
    • Prêmio Ibest
    • Resolvendo License File Expired cpanel
    • Speedy nunca esteve tão ruim.
    • Erro ASP: Disallowed Parent Path
    • O Google mais perto do Webmaster
  • Nuvem de Tags

    apache ataque backup bash clamav clamd cpanel ddos dos dump e-mail exim for freshscan IFS Linux mysql mysql4.1 mysql5 mysqldump netstat nobody php redhat sendmail shell spam tar.gz up2date upgrade
  • BlogRoll

    • Hospedagem de Site - Hospedagem de Sites com velocidade e qualidade
    • Tudo Sobre o Google - Seo, Google, Adsense, Adwords e muitos mais. Tudo Sobre o mundo da otimização de sitese como melhorar sua posição nos buscadores

Monitorar usuário nobody no envio de e-mails PHP

Por admin | Em 28/11/2007 | Arquivado em Linux

Olá pessoal,

Já tive problemas no passado para identificar de qual site hospedado em meu servidores estava partindo SPAM, já que todos os e-mails na fila tinha o usuário nobody.
O SPAM em sites php pode ser enviados pelo próprio dono do site ou por uma vulnerabilidade na programação, que permite o spammer fazer um include de um código para evio de e-mails.
Um exemplo:
http://www.exemplo.com/index.php?pagina=http://www.uol.com.br
Se acessar um endereço assim e abria a página do UOL no meio do site, ele está vulnerável!
Depois de muito procurar, encontrei uma solução genial na internet, e acom algumas modificações estou espondo aqui.
Pena que não lembro o site onde encontrei. Poderia por as referências.

Mãos a obra!

1 - Logar como root no servidor.
2 - Criar um arquivo que será o repsonsável por chamar o sendmail e gravar os logs.
vi /usr/sbin/sendmail.exe
#!/usr/local/bin/perl

use Env;
my $date = `date`;
chomp $date;
open (INFO, “>>/var/log/spam_log”) || die “Failed to open file: $!”;
my $uid = $>;
my @info = getpwuid($uid);
if($REMOTE_ADDR) {
        print INFO “$date - $REMOTE_ADDR ran $SCRIPT_NAME at $SERVER_NAME \n”;
}
else {
       print INFO “$date - $PWD -  @info \n”;
}
my $mailprog = ‘/usr/sbin/sendmail’;
foreach  (@ARGV) {
        $arg=”$arg” . ” $_”;
}
close (INFO);

open (MAIL,”|$mailprog $arg”) || die “cannot open $mailprog: $! \n”;
while (<STDIN> ) {
        print MAIL;
}
close (MAIL);

3 - Permissão no arquivo:
chmod +x /usr/sbin/sendmail.exe

4 - Vamos criar o arquivo onde será gravado o log:
touch /var/log/spam_log
chmod 0777 /var/log/spam_log

5 - Abra o php.ini e edite a linha correspondente ao programa de e-mail:
vi /usr/lib/php.ini
Edite o que estiver como:
sendmail_path = /usr/sbin/sendmail
Para:
sendmail_path = /usr/sbin/sendmail.exe

6 - Restart no apache e pronto!

Para ver os logs de quem envia o e-mail digite:
tail -f /var/log/spam_log

Pra sair dos logs, é só apertar CTRL+C

PS: Mesmo que você não utilize o sendmail como servidor de e-mails, pode seguir o mesmo procedimento, apenas alterando para as definições de seu servidor (Exim, Qmail, Postfix, etc).

Abraços!

Tags: apache, e-mail, exim, nobody, php, sendmail, spam

« Backup MySQL pela shell DUMP Como identificar ataque DOS netstat »

  • Feed dos comentários
  • URL para Trackback

Nenhuma Resposta para 'Monitorar usuário nobody no envio de e-mails PHP':

Lamento, mas os comentários para este artigo foram fechados.

 

Arquivos

  • Março 2009
  • Julho 2008
  • Maio 2008
  • Fevereiro 2008
  • Janeiro 2008
  • Dezembro 2007
  • Novembro 2007

Artigos Recentes

  • Testar se IP do servidore está em alguma RBL (blacklist)
  • Client does not support authentication protocol requested by server; consider upgrading MySQL client
  • ERROR: Can’t lock database directory: /usr/local/share/clamav
  • connect(): No such file or directory
  • Links com nofollow sendo contabilizados?

Admin

  • Entrar
  • WordPress

© 2012 Anotações.org