quinta-feira, 26 de julho de 2007

PASSO 8 - Criptografar o tráfico entre o servidor e os clientes do Banco de Dados

Agora, você precisa proteger a comunicação entre o servidor de base de dados e a aplicação, para assegurar que os aspectos de rede associados ao modelo de segurança em níveis sejam contemplados.

Como padrão, esta comunicação entre cliente e servidor é transmitida pela rede na forma de texto, desta forma qualquer um que utilizar um monitor de rede pode escutar ou capturar o texto e obter acesso à informação.

O SQL Server 2005 suporta o uso de SSL (Secure Sockets Layer) para criptografar o tráfego entre o cliente e o servidor, garantindo a identidade do servidor e evitando o risco de ataques do tipo acima.

Para proteger comunicações com SSL você precisa obter um certificado de um PKI (enterprise public key infrastructure) através do Microsoft's Certificate Services ou de outra instituição como VeriSign. O Certificado SSL deve conter o nome do host ou o FQDN (fully qualified domain name) do servidor da base de dados e deve estar armazenado no no computador local caso o SQL Server 2005 estiver executando no contexto de LocalSystem, caso contrário o certificado
deve estar armazenado no mesmo host que detém a conta que executa o serviço.

Uma vez que o certificado está instalado, abra o SQL Server Configuration Manager, expanda o SQL Server 2005 Network Configuration e dê um clique com o botão da direita em Protocols e selecione Properties. Na guia de Certificados, selecione o certificado desejado (na lista), na guia General selecione Force Encryption e modifique o valor para Yes. Uma vez configurado o SQL Server 2005 para usar o certificado, você precisa restartar o SQL Server 2005 para que as modificações tenham efeito.

Uma segunda maneira de criptografar o tráfego entre cliente e servidor é utilizando o IPsec. O benefício do IPsec é que nenhum configuração é exigida no SQL Server 2005, e pode ser utilizado para criptografar todo o tráfego (não só do SQL) e restringe o acesso ao servidor. Para mais informações sobre utilizar o IPsec com o SQL Server 2005, visite http://www.microsoft.com/sdisolation.

quarta-feira, 25 de julho de 2007

PASSO 7 - Executar o SQL Server Surface Area Configuration Tool

O próximo passo é executar o SQL Server Surface Area Configuration Tool. Sugiro executá-lo após adicionar ou remover todos os componentes desejados da instalação do SQL e também após passar todos os services packs/atualizações.
Você encontra o SQLSSAC em Configuration Tools, que é um submenu de Microsoft SQL Server 2005. O
Surface Area Configuration Tool, quando executado, aponta automaticamente para o localhost, mas você pode utilizá-lo em outras instalações do SQL Server. Você pode escolher a visualização para configuração por serviços e conecções ou por características (features) (veja imagem). Para ajustes na segurança do SQL Server, esta ferramenta é a preferencial.

terça-feira, 24 de julho de 2007

PASSO 6 - Depois de instalar o SQL Server, aplicar suas atualizações e Service Packs

A primeira instalação, após a conclusão da instalação do SQL Server, é dos seus Services Packs e de suas atualizações. Link para o último SP http://technet.microsoft.com/en-us/sqlserver/bb426877.aspx

PASSO 5 - Instalar o SQL Server 2005

Uma vez preparado o servidor, a instalação do SQL Server pode ser iniciada. Neste passo selecione criteriosamente e com cuidado as opções de instalação.
A primeira seleção que você deverá fazer é: quais componentes instalar ? Você não deve instalar componentes que não necessita (lembre-se que o objetivo é minimizar a superfície ou área de ataque). A recomendação é que quando for solicitado os Components para instalação no Setup Wizard, você clique em Advanced para selecionar apenas as ferramamentas que mais necessita.
Por exemplo, você pode escolher se instala ou não a replicação ou o full-text search e você está instalando uma instância individual do SQL Server 2005 que não será replicada para outros servidores e se não pretente utilizar buscas rápidas em texto então não selecione para instalação estas ferramentas.
Entre cuidadosamente com as credenciais criadas no Passo 4 para cada serviço. Quando for perguntando do mode de autenticação, selecione Windows Authentication Mode sempre que possível. Em algumas situações você ira precisar do Mixed Mode, que permite os dois métodos de autenticação. Se você escolher Mixed Mode, precisará entrar com a senha do SQL Server systems administrator (sa) Assim como as contas criadas no Passo 4, você deve assegurar que a senha é forte além de definir uma agenda para substituição/mudança dela.

PASSO 4 - Criar conta para executar o SQL Server

O último passo na preparação para a instalação do SQL Server 2005 é crair contas para serem utilizadas na execução dos serviços. O número de contas vai depender de dois fatores: o número de serviços que você pretente instalar com SQL e o número de instalações SQL já existentes. Você pode utilizar uma conta para todos os serviços do SQL Server 2005, porém é recomendado utilizar uma conta para cada serviço. Desta forma, o ideal, seria criar uma conta para cada serviço para cada instalação do SQL Server 2005. Outro detalhe importante é que se sua instalação do SQL nunca precisar acessar outro servidor ou serviço através da rede, você pode utilizar contas locais do servidor. Para finalizar, estas contas devem ser normais, ou seja, com privilégios de um usuário normal, e as senhas devem ser fortes e substituidas com frequencia.

PASSO 3 - Limitar o acesso ao Servidor/Host

Neste passo, o foco está no servidor e no ambiente físico, já que uma invasão pode ser realizada de diversas maneiras como através da rede, por interatividade ou fisicamente quando o SO não está executando.
Você limita a interatividade assegurando que a base de dados SAM não contém contas desnecessárias e apenas contas do domínio possuem acesso. Você pode consultar e retirar contas do sistema utilizando o MMC (Microsoft Management Console) Gerenciamento do Computador (Computer Management snap-in) (compmgmt.msc).
A limitação de um logon interativo no servidor pode ser feita através do Group Policy ou utilizando o MMC Diretiva de Segurança Local (Local Security Settings snap-in)(secpol.msc), em Diretivas locais, Atribuição de direitos de usuários, Fazer logon local e Negar logon local. Você terá que dar uma atenção específica para membros do domínio, já que em muitos casos os membros do grupo Admins. do Domínio também são administradores do banco de dados, mas em alguns casos eles não 'devem' ser. Para retirar esta pré-definição, remova o grupo "Admins. do Domínio" do grupo local "Administradores" do servidor, e adicione quem você desejar.
Para previnir ataques remotos através da rede, você deve colocar o servidor em um segmento de rede seguro e utilizar pelo menos um firewall como por exemplo aquele que já vem incluído no Windows Server 2003 SP1 por exemplo. E finalmente, para garantir a segurança fisica do sevidor, ele deve permanecer em um local com acesso restrito, já que os 'attackers', se tiverem acesso ao equipamento, podem 'bootar' um SO alternativo e resetar a senha do administrador.

PASSO 2 - Aplicar todos os Service Packs e atualizaçõeses de segurança no Servidor/Host

Este segundo passo também se concentra no servidor/host para assegurar que todos os últimos Service Packs e atualizações de software foram aplicados ao Sistema Operacional (SO). Este passo é fundamental para a segurança da sua instalação do SQL, já os 'attackers' podem ganhar acesso ao seu sistema através de serviços e/ou aplicativos que são executados no servidor.

segunda-feira, 23 de julho de 2007

PASSO 1 - Preparando para Instalar o SQL Server 2005

Um dos passos mais importantes no sentido de proteger suas bases de dados é preparar o ambiente para a instalação do SQL Server.
Neste sentido, o primeiro passo é preparar cuidadosamente o servidor que, particularmente, sugiro que seja dedicado à tarefa de servir um Banco de Dados, portanto, não utilize servidores IIS (web), controladores de domínio (DC), etc.Desinstale todos os aplicativos e desabilite todos os serviços desnecessários do servidor, deixe apenas o SQL Server 2005.

SQL SERVER 2005 – Segurança em 10 passos

Em geral a Microsoft recomenda uma abordagem de defesa por nível para aumentar ou definir a segurança dos componentes da infra-estrutura, como servidores de banco de dados.Em seguida mostrarei os 10 passos que devem ser realizados antes, durante e depois da instalação, para aumentar a segurança do SQL Server 2005 (alguns passos podem ser seguidos em um ambiente com SQL Server 2000).
Continua...

terça-feira, 10 de julho de 2007

FILL FACTOR do SQL Server

Imagine uma prateleira com 100 livros organizados, por exemplo, em ordem alfabética. Se você colar os livros um no outro, e tiver que adicionar algum novo livro, terá que empurrar os demais livros da prateleira para liberar espaço para este novo livro. Agora, se você deixar um espaço entre os livros, você não terá que fazer tanto esforço para incluir um novo.

Os índices das tabelas, no SQL Server, funciona da mesma forma, e quem define o percentual % livre por página[1] é a opção FILL FACTOR.

Quando você cria índices para suas tabelas, o SQL Server organiza os dados dentro de páginas de índices, desta forma qualquer alteração nos dados de um atributo (campo) pertencente a um índice, exige que o SQL Server reorganize a página de índice, e isto leva tempo. A opção FILL FACTOR define quanto de uma página de dados (em %) deve ser preenchida e quanto deve ser mantida em branco, que será reservada para uso futuro.

Após a criação do índice o espaço em branco deixado através da opção FILL FACTOR será utilizado para alterações, inclusões, etc.

A má notícia é que o SQL Server não refaz o índice, o que vai exigir que você, depois de um tempo, recrie para liberar novamente o espaço livre.

Não existe regra para a definição do FILL FACTOR, porém, o valor de 100% é utilizado quando o índice é destinado a uma tabela apenas para consulta. Você pode calcular um percentual com base nas tuplas (registros) que a tabela já tem, com a estimativa de quantas tuplas serão adicionadas ou alteradas por dia, e o tempo que você deseja ter para fazer nova manutenção na base de dados. Se o FILL FACTOR for muito baixo, o SQL Server deverá percorrer muitas páginas para localizar a informação tornando a consulta, tecnicamente, um pouco lenta.

[1] Página é a unidade fundamental/básica de armazenamento de dados do SQL Server. No SQL Server 2000 o tamanho de uma página é 8 Kb. A quantidade utilizada pelo índice irá depender do tipo do dado.
Mais informações em
http://www.jcarvalhojr.eti.br/

segunda-feira, 9 de julho de 2007

DEFINIÇÃO DE UM PADRÃO BASEADO EM XML PARA DESCRIÇÃO DE NORMAS JURÍDICAS BRASILEIRAS

Até 1998 não existia nenhuma lei regulamentando a elaboração, criação e
alteração das normas jurídicas brasileiras. Isto dificultou muito o processo de
estruturação e conseqüentemente o seu armazenamento em formato digital, criando
diversas soluções paliativas, mas não definitivas. Com o advento desta
regulamentação, a gerência de uma legislação tornou-se viável.
Este trabalho apresenta uma descrição XML para normas jurídicas brasileiras.
Esta descrição está baseada nas leis complementares 95 e 107, define uma
estrutura para a construção de arquivos XML e descreve as relações existentes
entre as normas.
O modelo proposto leva em conta aspectos temporais de controle de versões
e de interdependência entre as normas, utilizando referências cruzadas na descrição
XML.

Link para o documento final: http://dspace.c3sl.ufpr.br/dspace/bitstream/1884/2275/1/dissertacao+v8.pdf