domingo, 21 de outubro de 2012

Receber e-mail quando o root logar via SSH

Segue uma dica valiosa de segurança: receba e-mail quando o root logar-se via SSH. 

Imagine que você deu, por algum motivo, a senha de acesso ao servidor, via SSH, ou alguém a tenha descoberto. Será muito bom que você saiba quando e quem, (IP de origem) se logou. 

Vamos ao script. 

1. Logue no em server como root e, se já não tiver caído no diretório /root, mude para ele. 

2. Edite com seu editor de textos preferencial, eu uso e gosto do Vi, o arquivo /root/.bashrc, inserindo, logo abaixo da linha: # .bashrc , o seguinte conteúdo: 

echo 'ATENCAO - O Root acessou (SERVIDOR) on:' `date` `who` | mail -s "Atencao: Root acessou de `who | cut -d"(" -f2 | cut -d")" -f1`" meuemail@qqrcoisa


3. Troque "meuemail@qqrcoisa" pelo seu e-mail desejado. 

* Existe um espaço antes do e-mail. 

4. Saia do SSH, logue-se como root e confira a mensagem! 

Se o seu servidor tiver configurado para envio de e-mails para o meio externo direitinho, você receberá um e-mail (melhor opção); caso contrário, você poderá checar a mensagem interna via: /var/spool/mail/root (opção razoável). 

P.s.: Posteriormente, eu colocarei aqui um "super plus" sobre como receber e-mail externo - fácil, fácil!

Script para checar se o serviço esta em execução


checkServices.sh

-------------------------------------------------------------------

#!/bin/sh

SERVICOS="service1 service2 service3";

for SERVICE in $SERVICOS

do

if ps ax | grep -v grep | grep $SERVICE > /dev/null

then

echo "$SERVICE service running, ok " >> /var/mail/mail | date >> /var/mail/mail

else

echo "$SERVICE is not running!" >> /var/mail/mail | mail -s "$SERVICE em baixo" root |/sbin/shutdown -r now | date >> /var/mail/mail

fi

done


exit 0

-------------------------------------------------------------------

OBS: Esse se naum estiver em execucao ele reinciar o servidor, mais vc pode colocar qualquer função a ser executada, apos o ELSE.

Checar os e-mails enviado pelo sistema em /var/mail/nome-usuario


Existe varias formas...

1 - less /var/mail/nome-usuario
2 - cat /var/mail/nome-usuario
3 - tail -f /var/mail/nome-usuario

ou melhor usando o comando # mutt

Ler todos os e-mails enviado do sistema.

OBS: A primeira vez que vc o execulta diga SIM para ele criar o sistemas de leitura dos e-mails do sistema,


Desativando Horario de Verão no Linux


O Linux utiliza o arquivo /etc/localtime para saber qual zona utilizar. Se seu arquivo /etc/localtime for um link simbólico(*1) para /usr/share/zoneinfo/America/Araguaina já está tudo certo. 

Caso não seja um link, basta copiar o que você acabou de alterar no lugar do atual. Como root: 

# cp /etc/localtime /etc/localtime.backup
# cp /usr/share/zoneinfo/America/Araguaina /etc/localtime
 


E estará pronto! Basta conferir utilizando o comando date: 

$ date
Sun Out 7 23:06:52 BRT 2012 

Caso queira usar o Horario de verão  só copiar o a Zona Sao_Paulo.


ex: 


# cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime


Flw.