Arquivo da categoria: Linux

Anotações sobre Linux

Client does not support authentication protocol requested by server; consider upgrading MySQL client

Olá pessoal,

Erro causado pela diferença no formato da senha.
Eu particularmente tive esse erro ao tentar me conectar através de um servidor Windows com driver antigo em uma base MySQL5 em um servidor Linux.

A solução:
– Atualizar o driver para um mais novo como orienta a mensagem de erro.
– Alterar o formato da senha do MySQL para o antigo.

Veja como mudar o formato da senha:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(‘newpwd’)
-> WHERE Host = ‘some_host’ AND User = ‘some_user’;
mysql> FLUSH PRIVILEGES;

Abraços!

ERROR: Can’t lock database directory: /usr/local/share/clamav

Quando tiver esse problema ao executar o freshscan para atualizar a base de vírus, apague todo o conteúdo da pasta /usr/local/share/clamav (incluíndo o arquivo .dbLock que as vezes é criado quando esse errro ocorre) e tente executar novamente o comando freshscan.

O comando irá baixar novamente a base inteira de vírus e voltará a funcionar.

connect(): No such file or directory

Olá pessoal,

Quando esse erro ocorrer ao tentarmos executar o clamav, siga os passos abaixo para resolver:

Esse erro ocorre pois o arquivo /tmp/clamd está corrrompido ou após um reboot (máquina que travou, etc) ele não foi apagado.
No meu caso utilizo o clamav em uma máquina com qmail.

Para resolver, faça o seguinte:

(Pára o clamd que no caso roda com o supervise)
# svc -d /service/clamd

(Remove o /tp/clamd com problemas)
# rm /tmp/clamd

(Inicia novamente o clamd pelo supervise e ele recria o /tmp/clamd)
# svc -u /service/clamd

Resolvendo License File Expired cpanel

Olá pessoal,

Bom dia.

Caso tente acessar WHM e receba essa mensagem, execute o procedimento abaixo para resolver.

É provável que seu firewall não esteja configurado corretamente para permitir a atualização automática da licensa. Por isso, ou configure o firewall ou desligue-o temporariamente.

Execute o comando na shell como root.
/usr/local/cpanel/cpkeyclt

Espere 20 segundos e pronto.

PS: Caso não costume atualizar seu cpanel frequentemente, pode ser necessário faze-lo agora. Caso receba alguma mensagem de erro na verificação da licensa, tente atualizar o cpanel e depois executar o comando mostrado acima.

Não esqueça de ligar o firewall novamente!

Abraços!
João

Instalando e configurando o mod_secutity no apache1

Olá pessoal,

O mod_security é um módulo muito importante no apache na questão de segurança.
Com ele é possível filtrar o que é passado na URL, ou enviado por post ou get.
Um dos roblemas que podem ser reoslvidos com esse módulo é a vulnerabilidade em scripts de clientes. No meu caso o principal problema era os formulários de clientes que aceitavam código bcc:…. e um monte de endereços de e-mail. Com isso o spammer enviava e-mail para a lista toda dele, através de uma vulnerabilidade de código de um cliente.

Agora vamos bloquear o espertinho!

– Download
Faça o download do mod_security no site http://www.modsecurity.org. Lembro que para o apache1 baixe versão do mod_security 1.9.x.

– Compilando:
* Faça um backup or segurança de seu arquivo httpd.conf
tar -xzpf modsecurity-apache_1.9.5.tar.gz
cd modsecurity-apache_1.9.5/apache1/
apxs -cia mod_security.c
mkdir /usr/logs
touch /usr/logs/audit_log

O que fizemos agora foi compilar o mod_security e criar o local onde serão guardados os logs suspeitos.

– Adicionando regras:
Edite o arquivo httpd.conf e verifique se existem essas 2 linhas sobre o mod_securuty:
LoadModule security_module    libexec/mod_security.so
Mais embaixo agora….
AddModule mod_security.c

Inclua as regras de filtro.

Continue lendo

Melhorar a segurança SSH

Olá pessoal,

O acesso SSH é muito usado para administração de servidores Linux, e por isso também é muito importante mantermos em dia a segurança.
Algumas medidas simples podem ser tomadas utilizando os próprios recursos do SSH, além de outras a nível firewall.

Vou listar algumas que acho interessante e utilizo muito.

1 – Alterar a porta padrão do SSH de 22 para alguma outra. Essa alteração irá reduzir drasticamente a possibilidade de quebra de senha, já que diminuirá demais as tentativas de ataque de dicionário. Para alterar a porta edite a opção “Port” do arquivo /etc/ssh/sshd_config e reinicie o SSH.

2 – Utilize sempre senhas fortes. Nada de usar o nome do cachorro, data de nascimento, etc. Utilize caracteres especiais, mesclando com letras maiúsculas e minúsculas.

3 – Verifique se o SSHD está rodando com separação de prvilégios. Isso é default no SSH, mas é bom conferir. Verifique se não existe uma linha com “UsePrivilegeSeparation no” no arquivo /etc/ssh/sshd_config.

4 – Não permita acesso root direto pelo ssh. Na prática, o usuário terá que logar com um usuário sem privilégio root. Para pegar o root, bastará executar o comando “su” e digitar a senha root assim que for solicitada. Para fazer isso, edite o arquivo /etc/ssh/sshd_config, adicionando a linha “PermitRootLogin no”. Não esqueça de reiniciar o SSHD.

5 – Crie um usuário limitado apenas ao uso de SSH. Evite utilizar o memso usuário de FTP com permissões de acesso ssh.

Apenas essas medidas já devem melhorar bastante o que já vem default do SSH.
Uma outra que acho bem interessante é restringir o acesso a apenas seu IP se possuir IP fixo, ou a sua rede caso não possua.
Para fazer isso é necessário incluir algumas regras no firewall. Nada muito complicado, mas vou deixar para um próximo post.

Abraços!

Upgrade MySQL 4.1 para MySQL5 WHM cpanel

Olá pessoal,

A atualização do MySQL 4.1 para o MySQL 5.0 pode ser feita facilmente pelo WHM (cpanel).
Para fazer, siga os passos:

1 – Logue no WHM como root e clique em “Server Configuration / Tweak Settings“. Marque o MySQL 5.
2 – Rode o script /scripts/mysqlup Para ele baixar e instalar a última versão do MySQL5 disponível.
3 – Depois de completar, você deve recompilar suas bibliotecas perl, mysql e apache. Para isso execute os comandos abaixo:
/scripts/perlinstaller –force Bundle::DBD::mysql
e para o apache:
/scripts/easyapache

PS1: Você deve estar ciente que a atualização não é reversíve. Por esse motivo, faça um backup de tudo antes de executar o upgrade.
PS2: Após o upgrade, o MySQL pode não subir.
Eu executei esse procedimento no RHEL4. Não sei se em outras versão o mesmo problema ocorre. Veja o erro:
/etc/init.d/mysql start
Starting MySQLCouldn’t find MySQL manager or server        [FAILED]

Caso ocorra esse erro, edite o arquivo /etc/my.cnf fazendo a seguinte alteração:
Continue lendo

Ler um arquivo texto linha a linha em bash

Olá pessoal,

Esse é um problema constante que tenho quando estou programando em bash para automatizar alguma tarefa, ler algum log, etc.
Quando faço um for dando um cat em um arquivo texto, dependendo do arquivo ele não interpreta que desejo ler linha a linha, pois utiliza o espço em branco como separador.

Para resolver, veja um exemplo abaixo:
#!/bin/bash
  ORI_IFS=$IFS
  IFS=$’\n’
  for LINHA in $(cat /tmp/comandos.txt); do
     # seus comandos aqui
      echo $LINHA
  done
  IFS=$ORI_IFS

Descompactar arquivos tar.gz em outra pasta

Olá pessoal,

Normalmente quando descompactamos arquicos .tar.gz ele o faz na pasta corrente.
O problema é quando desejamos que ele seja salvo em alguma outra pasta diretamente, sem que seja necessário após a descompactação utilizar o comando mv.

Bom, é muito simples. Basta utilizar o parâmetro “-C pasta_destino”. Veja abaixo um exemplo:
tar zxvf arquivo.tar.gz -C /home/usuario/fotos/
./
./joao.gif
./foto.gif

Abraços!

Atualizando o RedHat com up2date

Bom dia galera!

Para que usa redhat, essa é uma informação muito importante e que pode economizar horas quando precisamos resolver dependências de pacotes.

Para executar é recomendável baixar os pacotes antes e depois instalar. Para isso execute:
up2date –nosrc –nox -u -v -d

Explicação:
–nosrc é para não fazer download dos fontes.
–nox é para executar sem tela “gráfica”.
-u é para atualizar (update) o sistema.
-v é para informar o que está acontecendo (verbose).
-d faz apenas o download do pacote.

Caso queira instalar os pacotes automaticamente, acrescente no final a opção -i (install) e remova a -d.

Para instalar um pacote apenas, digite:
up2date -i PACOTE

Abraços!