Histórico por ‘Linux’ Categoria:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
O problema:
Você instala o MySQL e quando tenta fazer qualquer coisa (até mesmo alterar a senha do root), recebe a seguinte mensagem:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
Este é um problema obscuro no mysql, gastei varias horas tentando descobrir a causa, meu sistema operacional é o Linux CentOS, depois de alguma pesquisa descobri que pode acontecer também no windows, segundo uma post no forum do mysql isto ocorre por um dos motivo abaixo:
1. pelo fato de não se ter permissões de acesso ao diretorio /var/lib/mysql/whatever.sock. porque mysql é o dono desta pasta (legal, mas então porque me configurou para gravar o .sock lá?)
2. O /path/whatever.sock não existe (O que definitivamente não era o caso)
A Solução:
Então a solução oferecida pelo post é: editar o arquivo (Especificamente para o linux, em outro OS deve se procurar o mesmo arquivo) /etc/my.cnf e alterar/adicionar as seguintes linhas:
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
A primeira tentativa pareceu frustrada mas ai percebi que o serviço mysqld estava parado, foi só inicializa-lo e tudo funcionou!
Link: http://forums.mysql.com/read.php?11,27769,59865
Segurança no ssh.
O SSH é um serviço muito interessante e útil no mundo linux, praticamente todo servidor em que se deseje a administração remota é preciso estar rodando este serviço, pois bem, apenas um dia depois que liberei este serviço no firewall de 2 servidores SuSe, encontrei centenas de linhas de tentativas de logins invalidos no /var/log/messages, ou seja são varios ataques de força bruta através do ssh, então começei a pesquisar de como se proteger destes ataques e acabei montando a seguinte estratégia:
Antes de iniciar voce pode verificar se ha alguma tentativa destes ataques em seu servidor, listando as ultimas 500 linhas do arquivo de log de sua distribuição, para isto use o comando tail, abaixo listo 3 exemplos que abrange 6 distribuições diferentes:
Rhedhat ou Fedora:
tail -n500 /var/log/secure | more
Mandrake, FreeBSD ou OpenBSD:
tail -n500 /var/log/auth.log | more
SuSe:
tail -n500 /var/log/messages | more
1 – Altere a porta default
A porta default do ssh é a 22, porque deixar o padrão? dificulte mais um pouco, altere-a, para isto edit o arquivo /etc/ssh/sshd_config e descomente a linha
#Port 22
Altere-a para 2222, por exemplo, embora seja óbvio que os atacantes tentem portas que não a default mas a simples alteração da porta reduz drasticamente os ataques de força bruta. Logo que descobri os ataques imediatamente me veio a mente de trocar a porta como medida emergencial e assim o fiz, o primeiro ataque só surgiu apos aprox 72 horas, quando estava na 22 os ataques eram constantes durante todo o dia.
Obs.: Não se esqueça de reconfigurar seu firewall fechando a 22 e abrindo a nova porta.
2 – Use senhas fortes
Para os usuarios, uma estrategia para uma senha forte que seja fácil de ser lembrada é pensar em algo que voce goste muito ou odeia e associar a um numero que seja significativo para voce (separados por um ponto), claro que vai depender do contexto de cada um mas posso citar como exemplo:
whiskychivas.12anos
chocolateamargo.2007
volkswagennewbeatle.2008
Voce pode também desabilitar o acesso via senha e permitir somente via chave publica, mas não uso esta abordagem porque torna-se complexo acessar o servidor com equipamentos de terceiros
3 – Desabilite o login do root
Nos logs que pesquisei não havia nenhuma tentativa de logar com o root mas é claro que um ou outro ataque vai acabar fazendo este tipo de tentativa então acho prudente desabilitar o login como root no ssh, para isto volte ao arquivo /etc/ssh/sshd_config e descomente a linha onde se lê “PermitRootLogin yes” e altere-a para “PermitRootLogin no”
4 – Limite as conexoes
Ataques via ssh são espécies de flood onde o agressor tenta logar ao servidor com nomes/senhas provavelmente extraidos de dicionarios, por repetidas vezes sucessivamente. Se o servidor estiver protegido por um firewall usando iptables é fácil e rápido criar uma regra para que as conexoes não passam ultrapassar um determinado numero de vezes em um determinado tempo, reduzindo drasticamente a possibilidade de sucesso de um destes ataques, para ver mais detalhes a respeito consultei este link: http://starbridge.org/spip/spip.php?article22 de onde também retirei o exemplo abaixo que limita a 3 por minuto as tentativas de login a porta 2222, isto será praticamente imperceptivel para usuários legítimos.
iptables -I INPUT -p tcp –dport 2222 -i eth0 -m state –state NEW -m recent –set
iptables -I INPUT -p tcp –dport 2222 -i eth0 -m state –state NEW -m recent \
–update –seconds 600 –hitcount 2 -j DROP
5 – Instale ferramentas contra atques de força bruta.
Existem várias ferramentas para esta finalidade: DenyHost, SSHDFilter, pam_abl, Brute-Force Detection, SSHGuard, etc. etc, no momento estou tentando instalar o primeiro da lista (DenyHost) mas com certeza isto é assunto para um novo artigo neste blog.
Para usuários do NXServer:
Se voce usa o NXServer, precisará configura-lo para a nova porta do sshd, edit o arquivo /usr/NX/etc/server.cfg e descomente a linha onde se lê: SSHDPort = “22″ e altere para a porta que vc escolheu