terça-feira, março 09, 2010

[Dicas-L] Infraestrutura para Aplicações Web Seguras parte 2 - SGBDs

[Dicas-L] - Infraestrutura para Aplicações Web Seguras parte 2 - SGBDs

Caso não consiga visualizar esta mensagem, clique aqui.
URL deste artigo: http://www.Dicas-L.com.br/dicas-l/20100309.php

Logotipo Dicas-L, por Ricardo Burile

Acompanhe a Dicas-L no twitter

J2ME - Desenvolvendo jogos para Celulares
Como criar jogos 2D utilizando a Game API do J2ME
Saiba mais

Infraestrutura para Aplicações Web Seguras parte 2 - SGBDs

Colaboração: Alexandro Silva

Data de Publicação: 09 de março de 2010

O SGBD é ao mesmo tempo o bom e o mau elemento deste processo. Se bem configurado e mantido será um aliado poderoso, infelizmente isto nem sempre ocorre sendo bastante otimista.

As últimas noticias revelam que as boas práticas não estão sendo obedecidas. A técnica de ataque mais utilizada atualmente é o SQL Injection que nada mais é injectar código malicioso permitindo desde a criação de um simples usuário até a total indisponibilidade do serviço.

99.99% dos sites comprometidos (defacements) diariamente estão vulneráveis a este de ataque.Esta falha não está somente ligada ao SGBD, um código mau escrito abre esta e outras vulnerabilidades na aplicação como veremos na 3a. parte do nosso artigo.

Os SGBDs mais utilizados numa infraestrutura baseada em software livre são o MySQL e o Postgresql. Cada um destes sistemas possuem características que atendem a várias demandas de performance, produtividade, escalabilidade e segurança.

A implementação de uma infraestrutura segura para banco de dados inicia-se na modelagem do banco. Uma modelagem bem feita permitirá que sua base de dados expanda mantendo a total integridade, escalabilidade e segurança. Evitando brechas de segurança e evitando as sempre presentes "gambiarras".

Como definimos anteriormente o sistema de arquivos e o tipo de redundância dos discos serão itens criticos de performance e segurança na manipulação dos dados.

SGBD MySQL Seguro

  1. Amplie a segurança local Desabilite o uso do comando LOAD DATA LOCAL INFILE prevenindo contra ataques que permitem a leitura dos arquivos locais. Isso é importante caso haja ataque de SQL Injection através de uma vulnerabilidade no código PHP.

    Adicione o seguinte parâmetro na seção [mysqld] do arquivo /chroot/mysql/etc/my.cnf:

       set-variable=local-infile=0 

  2. Altere a senha do usuário root do banco

       mysqladmin -u root password 'NOVA_SENHA' -p 

  3. Remova usuários e bases padrões

       mysql> drop database test;   mysql> use mysql;   mysql> delete from db;   mysql> delete from user where not (host="localhost" and user="root");   mysql> flush privileges; 

  4. Renomeie a conta do admin ( root )

       mysql> update user set user="mydbadmin" where user="root";   mysql> flush privileges; 

  5. Crie contas de usuários separadas para cada aplicação

       mysql -u mydbadmin -p      mysql> CREATE DATABASE blog;   mysql> CREATE DATABASE guestbook;      mysql> CREATE USER 'blgu'@'localhost' IDENTIFIED BY 'SENHA';   mysql> CREATE USER 'gbu'@'localhost' IDENTIFIED BY 'OUTRASENHA';      mysql> GRANT ALL PRIVILEGES ON blog.* TO 'blgu'@'localhost' WITH GRANT OPTION;   mysql> GRANT ALL PRIVILEGES ON guestbook.* TO 'gbu'@'localhost' WITH GRANT OPTION;      mysql> FLUSH PRIVILEGES; 

MySQL Tunning

Para fazer o tunning do MyQSL recomendo o uso do script MySQL Performance Tuning Primer Script.

O uso desta ferrramenta é recomendado após 48 horas de uso do banco permitindo que o script detecte os valores corretos para o tunning do banco.

Links Recomendados

SGBD Postgresql Seguro

No caso do Postgresql recomendo a leitura do material do Fernando Ike aka Fike, o cara é uma sumidade no assunto. Nesta apresentação ele aborda o tunning de performance e segurança do Postgresql

Links Recomendados

Ferramentas

Links

Blog do Autor: http://blog.alexos.com.br

+ comente esta mensagem

J2ME - Desenvolvendo jogos para Celulares
Como criar jogos 2D utilizando a Game API do J2ME
Saiba mais

Dicas-L: Uma dica por dia desde 3 de março de 1997
As mensagens da lista Dicas-L são veiculadas diariamente
para 29569 assinantes.
Newsfeed RSS: http://www.dicas-l.com.br/index.xml
Caso não queira mais receber estas mensagens clique aqui.

Apoio
A Dicas-L tem o apoio da Locaweb

Nenhum comentário: