quinta-feira, 25 de outubro de 2018

Adjust Daylight Saving Time - Red Hat/CentOS

Adjust Daylight Saving Time - Red Hat/CentOS - Create the file in anywhere:
 # vi Sao_Paulo.zic 
 

Rule    BrazilSP  2018    only    -       Nov     04      0:00    1:00    S
Rule    BrazilSP  2019    only    -       Feb     17      0:00    0       -

# Zone  NAME                    GMTOFF  RULES/SAVE      FORMAT  [UNTIL]
Zone    America/Sao_Paulo       -3:00   BrazilSP        BR%sT

 # zic  Sao_Paulo.zic 
- Check out if the daylight time interval changed in the timezone:
 # zdump -v /usr/share/zoneinfo/America/Sao_Paulo | grep 2018 
- Create a link symbolic
 # ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime 
 # env | grep TZ 
- Type the timezone to be used:
 # vi /etc/profile 
 # export TZ=America/Sao_Paulo 
 # source /etc/profile 
Done!! Check if the Daylight is being displayed right!!

domingo, 26 de agosto de 2018

Not found ifconfig in CentOS?

Don't worry, if you have installed your CentOS/RedHat using minimal mode. The OS comes lightly without some of well-known binaries. Following how to install some of these necessary admin programs via yum:

1 - ifconfig:

# yum install net-tools

2 - killall:

yum install psmisc

3 - snmpwalk:

yum install net-snmp-utils

terça-feira, 18 de fevereiro de 2014

Sessão Fix: MISCONFIGURATION

MISCONFIGURATIONkernel rp_filter settings, reverse path filtering
Sistema utilizadoRed Hat Enterprise Linux Server release 5.10 (Tikanga)

SINTOMA: 

Configuramos o servidor para ser um banco de dados Oracle, esse server ficava durante um tempo, tipo 1 dia, funcionando normalmente mas de repente o mesmo parava de responder a qualquer tipo de conexão vindo de determinadas máquinas, simplesmente os pacotes chegavam no servidor, em sua interface de rede, e o mesmo não respondia não importando o tipo de conexão vindas de determinadas máquinas. O firewall deste servidor assim como SELinux estavam desativados e não existia também nenhum filtro no caminho entre os servidores envolvidos nessa comunicação.

PROBLEMA:

O esquema de segurança contra ataque tipo Spoofing é assegurado por um parâmetro de Kernel rp_filter settings no Red Hat e esse parâmetro  foi ajustado incorretamente. A versão 5 do Red Hat admite somente dois valores para esse parâmetro(0 ou 1), já  a versão 6 do Red hat admite 3 valores(0,1 e 2).

No Red Hat 5:

rp_filter - BOOLEAN
        1 - Faz a validação da origem usando o caminho reverso, como especificado no RFC1812. Opção recomendada para servidores e roteadores de rede. Poderá causar problemas para redes complexas rodando um protocolo não confiável e lento(tipo RIP) ou que usa rotas estáticas.

         0 - Sem validação de origem.

        conf/all/rp_filter deve ser também configurado para TRUE para fazer a validação de origem na interface.

 Valor padrão é 0. Observe que algumas distribuições habilitam essa opção nos scripts de inicialização.

No Red Hat 6:

rp_filter - INTEGER
        0 - Sem validação de origem.

        1 - Modo rígido como definido na RFC3704. Cada pacote que chega é testado contra a FIB(Forwarding Information Base, encontra a interface apropriada para a qual a interface de entrada deverá encaminhar um pacote) e se a interface não é o melhor caminho reverso o check do pacote falhará. Por padrão pacotes que falharam são descartados.
   
        2 - Modo folgado como definido na RFC3704 cada endereço de origem do pacote que chega é também testado contra a FIB e se o endereço de origem não é alcançável via qualquer interface o check do pacote falhará.

SOLUÇÃO:

Se este problema de comunicação estiver acontecendo em seu servidor devemos primeiramente habilitar o log de martians packet:

echo 1 > /proc/sys/net/ipv4/conf/eth0/log_martians

sysctl -w net.ipv4.conf.default.log_martians=1

sysctl -p

Check os logs no dmesg:

dmesg | grep -i martian

Algo do tipo "martian source 169.254.179.40 from 169.254.179.43, on dev eth0" irá aparecer no seu log.

O nosso problema foi que configuramos o parâmetro rp_filter no arquivo /etc/sysctl.conf na versão 5 do Red Hat com o valor 2(Sendo que essa versão só aceita dois valores 0 ou 1):

net.ipv4.conf.default.rp_filter = 2


Modificamos o parâmetro para o valor certo em dois parâmetros e o sistema parou de logar martian packet e derrubar as conexões legitimas vindas outros servidores da nossa rede:

net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1


quinta-feira, 27 de junho de 2013

Localizar arquivos ou diretórios grandes ocupando a partição /

Uma forma simples para pesquisar arquivos que possivelmente esteja ocupando espaço na sua partição, usamos os seguintes e simples comandos: 1 - Acessar a partição que deseja pesquisar quem são os maiores arquivos:
# cd /
2 - Listar e filtrar por arquivos ou diretórios que o tamanho esteja em gigabyte(G):
# du -h | awk '{print $1}'|grep G
5.1G
6.0G
6.0G
1.8G
2.0G
8.4G
1.4G
2.8G
2.9G
3.2G
6.4G
3 - Com uma das linhas do resultado acima, que informa os diretórios ou arquivos que possuem tamanho em giga, execute o seguinte comando para saber qual o diretório ou arquivo, por exemplo:
# du -h | grep 8.4G
8.4G    ./var
4 - Podemos realizar esse mesmo procedimento entrando na partição /var e depois executar os passos 2 e 3 afim de refinar mais ainda a nossa pesquisa para encontrar o diretório ou arquivo que esteja ocupando muito espaço em nossa partição.

sexta-feira, 21 de dezembro de 2012

Script deletar e-mails da fila do Qmail

Quando uma conta de e-mail de seu domínio esta sendo utilizada para enviar spam para internet(provavelmente por que esteja com uma senha frágil) será necessário deletar os e-mails que estão na fila para serem enviados. Você identificará isso quando ver que sua fila de e-mails está muito grande e que existe uma conta sendo a responsável pelo envio dessa massa de e-mails. 1 - Para visualizar a sua fila de e-mails no Qmail utilize o comando:
# qmailctl queue
2 - As vezes o mailfrom pode ser um e-mail que não pertença ao seu domínio, os spammers nesse caso somente utilizam a conta de algum usuário do seu servidor de e-mail para realizar o login e ter permissão para enviar os spam e ai trocam o mailfrom que aparece quando você manda listar a fila. Para identificar a conta do usuário que está sendo utilizada procure nos logs do smtpd faço um filtro usando o mailfrom que aparece lá na fila. 3 - O script abaixo deletar e-mails da fila com base no mailfrom que aparece lá na fila. Então para utiliza-lo você deverá parar o serviço Qmail e então executar o script informando o mailfrom que está enviando a massa de e-mails. OBS.: Não esqueça, logicamente, de redefinir a senha da conta que estava sendo utilizada para enviar spam.
###############################################################
# Deletar spam de acordo com remetente local
# Por Leonardo Couto Conrado
# Em 16.11.2012
###############################################################
#!/bin/sh

path=/var/qmail/queue
cmdFind=/usr/bin/find
cmdQmailCtl=/usr/local/bin/qmailctl
cmdGrep=/bin/grep
cmdEcho=/bin/echo
cmdLs=/bin/ls
cmdRm=/bin/rm
cmdAwk=/bin/awk

$cmdEcho -n "Informe o e-mail que esta sendo usado para enviar spam: "; read emailUsedAsSpammer


$cmdEcho "O servico do Qmail ja esta parado e o e-mail usado como spam e $emailUsedAsSpammer? yes, no ou quit?"
read opt
case $opt in
"quit")
        $cmdEcho "Saindo..."
        exit
        ;;
"yes")
        $cmdEcho "Entrando em processo de exclusao de e-mails..."
        for i in $( $cmdQmailCtl queue | $cmdGrep $emailUsedAsSpammer |$cmdAwk -F '#' '{ print $2 }' | $cmdAwk '{ print $1 }' ); do
        $cmdFind $path -name $i -exec $cmdRm -rf {} \;
        $cmdEcho "Vai ser deletado= " $i
        done
        ;;

"no")
        $cmdEcho "Você deve parar o servico do qmail antes de deletar mensagens na fila e ter certeza do e-mail que esta sendo usado como spam."
        exit
        ;;

*)
        $cmdEcho "O servico do Qmail ja esta parado e o e-mail usado como spam e $emailUsedAsSpammer? yes, no ou quit?"
        ;;
esac

Seguidores