Viablog | TI e desenvolvimento de Software

TAG | MySQL



Parece que mais uma vez o MySQL foi alvo de uma grave falha de segurança, desta vez mesmo que seja digitada uma senha incorreta o MySQL a considera válida e garante o acesso ao atacante, até mesmo acesso de root.

Mesmo utilizando criptografia para as senhas armazenadas e um conjunto de caracteres aleatórios para evitar ataques do tipo de brute force uma falha interna (que não foi divulgada) permite que esse conjunto de checagens falhe.

A estimativa é que 1 para cada 256 tentativas de acesso libere o mesmo de forma errônea, o que podemos considerar como extremamente grave, pois qualquer script pode executar dezenas de milhares de tentativas de acesso em poucos segundos, basta saber o nome do usuário.

As versões do MySQL afetadas são as 5.1.61, 5.2.11, 5.3.5, 5.5.22 e anteriores, sendo executadas  Ubuntu, Arch Linux, openSUSE 12.1 e Fedora 16, as versões mais recentes já foram corrigidas para evitar esta falha de segurança.

Se você estiver preocupado e quiser testar o seu servidor pode utilizar este script para isso.

Fonte: Tecnoblog

Leia mais:

· ·


Algum tempo atrás uma notícia correu toda a Internet, o site MySQL.com havia sido atacado com sucesso via SQL Injection, e até dias atrás tínhamos a impressão que a situação havia se normalizado.

Agora vazou que o site MySQL.com foi novamente atacado com sucesso e desta vez o atacante tinha acesso privilegiado, pois alterou a home para a cada acesso um script tentava instalar um programa Java malicioso.

A estimativa é que cerca de 120 mil usuários estejam infectados.

Hoje o site do MySQL.com já estava regularizado, mas temos que tomar cuidado pois tem alguém atacando de forma sistemática o site que para ajudar ainda mais parece ter a segurança baixa.

Mas ainda tenho esperança que o problema seja mesmo com alguma configuração de segurança do servidor Web ou ainda algum arquivo do site tenha sido mal programado permitindo o acesso, pois se o problema se concentrar no banco de dados o problema é ainda maior, visto a enorme quantidade de sites e sistemas Web que utilizam o MySQL em seus sistemas.

Fonte: Tecnoblog

Leia mais:

· ·


Sistemas 100% seguros são pura lenda, eu já cansei de afirmar isso. Mas um sistema de uma grande corporação deve no mínimo respeitas os princípios básicos de segurança em desenvolvimento de software Web e é isso que o pessoal que desenvolve o sistema do site mysql.com mostrou não saber ou não querer fazer.

Hoje foi noticiado que o site mysql.com foi invadido de uma das formas mais idiotas que existem, via SQL Injection.

O pior é que a equipe de desenvolvimento além de não fazer nenhum tipo de filtragem para os dados oriundos da Internet (usuário) também deve executar o usuário de acesso ao banco pelo servidor Web com altos privilégios, não consegui acesso ao tipo de comando que executaram, mas pelo que dizem as más línguas não foi um usuário completamente capado do banco de dados.

Vários dados foram roubados, tanto de usuários do site como de funcionários internos.

As senhas estão criptografadas, porém as quebras de senhas já começaram a ocorrer.

A recomendação por hora é que todos os usuários que tenham cadastro no mysql.com alterem suas senhas e que se estas senhas são iguais as de outros serviços que alterem destes serviços também.

Fonte: Tecnoblog

Leia mais:

· ·

O nome da SQL

Praticamente todo desenvolvedor de software tem que conhecer SQL, mesmo que não seja a sua habilidade principal, pelo menos o básico ele irá precisar em algum momento da sua carreira.

A SQL (Structured Query Language) que nasceu com base na álgebra relacional dá liberdade na execução de tarefas diretamente no banco de dados, seja ele qual for a SQL sempre estará presente.

Exemplo de uma simples consulta:

SELECT * FROM sua_tabela

Mas você que já utiliza a SQL há anos com certeza deve estar acostumado a pronunciar da seguinte forma: esse-que-ele, mas você sabia que a sua pronúncia está incorreta?

O correto é pronunciar síquel, que tem origem no inglês Sequel que quer dizer: alguma coisa que segue outra coisa.

Dessa pouca gente sabe.

Leia mais:

· · ·


Muita gente utiliza o SQL Developer (desenvolvido pela Oracle) para trabalhar com o banco de dados Oracle ou com desenvolvimento em PL/SQL, porém muita pouca gente sabe que o SQL Developer também aceita conexões com outros bancos de dados via drivers JBDC externos.

Para quem não sabe, um driver JBDC (que é geralmente fornecido pelo próprio desenvolvedor do banco de dados) é um conjunto de recursos que permite que aplicações Java utilizem o banco de dados indicado, hoje todos os principais bancos de dados tem um driver JBDC fornecido.

Agregar um driver JBDC no SQL Developer é bem simples, basta ir no menu superior e abrir as Preferências, na tela que irá surgir clique no sinal de “+” e depois em Drivers JBDC de Terceiros e depois no botão Adicionar Entrada.

Agora é só buscar o driver JBDC do MySQL no seu disco rígido e depois criar a conexão como é criada a conexão do Oracle e pronto, o seu SQL Developer já estará apto a utilizar o banco MySQL.

Leia mais:

· ·


Nós já tínhamos falado sobre a criação de usuários no MySQL mas o GRANT que passamos para ilustrar o nosso exemplo liberava permissões demais, a menos que o usuário criado fosse um administrador, isso é um risco de segurança muito grave ainda mais se for um usuário para acesso a alguma aplicação.

Uma boa opção de privilégios para o novo usuário é o demonstrado pelo exemplo abaixo:

grant select, insert, delete on algum_bd.* to
user@ip_de_onde_ele_ira-acessar IDENTIFIED BY 'password_do_usuario'

Dessa forma o usuário especificado ter permissão apenas para fazer um consultar, inserir ou apagar dados nas tabelas do banco de dados especificado, além de ser especificado um IP de acesso restringindo o acesso de outros computadores promovendo mais segurança ao MySQL.

Leia mais:

·


Eu estava falando sobre como utilizar de forma básica o MySQL, então vou dar mais uma dica que cedo ou tarde será necessária.

Sempre existe aquele usuário que esquece a sua senha, para alterar a senha no MySQL é simples, basta logar com um usuário que tenha permissão para utilizar o comando SET PASSWORD e fazer o seguinte:

SET PASSWORD FOR user@IP_MAQUINA=PASSWORD('nova_senha');

Assim o usuário terá uma nova senha redefinida e poderá novamente obter acesso ao MySQL.

Leia mais:

·


Principalmente em projetos Web o MySQL é hoje sem dúvida o banco de dados mais utilizado, a anos atrás a sua devida simplicidade hoje se transformou em um estigma, pois muitos profissionais de TI que não o conhecem (ou conhecem somente informações de 4 anos atrás) o relegam a um banco de dados de brinquedo, o que não é verdade.

Como o mundo Web é literalmente dominado por PHP + MySQL vou começar a passar alguns comandos para facilitar a utilição do MySQL por quem queira conhece-lo melhor, o primeiro é o GRANT que serve para a definição de privilégios para usuários.

Nota: quando instalar o MySQL, seja em ambiente de testes ou de
produção nunca, eu disse nunca, deixe o usuário root com a senha
em branco e nem conceda acesso remoto a todos os usuários.

O primeiro exemplo do comando GRANT:

GRANT ALL PRIVILEGES ON *.* TO
user@IP_MAQUINA IDENTIFIED BY 'alguma_senha' WITH GRANT OPTION;

Esse comando serve para liberar todos os recursos, incluse o próprio comando GRANT para o usuário definido pelo IP da máquina de acesso, então você já sabe o tamanho da encrenca em utilizar esse comando sem critério algum.

Outro exemplo:

GRANT ALL PRIVILEGES ON *.*
TO user@'%' IDENTIFIED BY 'alguma_senha' WITH GRANT OPTION;

Nesse aqui semelhante ao anterior a única diferença é que o usuário além de ter todos os privilégios também poderá conseguir acesso de qualquer computador.

Como medida de precaução ao utilizar o GRANT no MySQL nunca libere todos os os privilérios, escolha os que o usuário poderá fazer uso, é mais seguro e garanto que irá evitar muita dor de cabeça futura.

Leia mais:

·

Theme Design by devolux.nh2.me