SQL Server 2008 R2: virando um ninja para reduzir as ameaças ao SQL Server 2008 R2

SQL Server Proteger corretamente seus servidores SQL Server 2008 R2 é mais do que apenas manter a segurança física e da rede e reduzir a superfície de ataque. Veja aqui como realizar essa tarefa.

Poucas questões são tão capazes de polarizar uma sala cheia de administradores de bancos de dados quanto à segurança. Isso se torna ainda mais evidente quando se trata de práticas recomendadas para reduzir ameaças e vulnerabilidades. As práticas tradicionais exigem que os DBAs se concentrem na segurança física, na segurança da rede e na minimização da superfície de ataque.

E esses são aspectos realmente válidos da segurança do SQL. É preciso garantir a segurança física do hardware do SQL Server. É preciso configurar corretamente os protocolos de rede e de segurança da rede nos SQL Servers e nos clientes do SQL Server. E também é preciso reduzir a superfície de ataque para proteger seus dados e seus servidores.

Você pode reduzir a superfície de ataque geral do SQL Server e aumentar muito a segurança habilitando apenas os recursos de que seus clientes e aplicativos necessitam. Isso limitará as maneiras pelas quais os usuários mal-intencionados podem explorar o SQL Server. E também fechará as avenidas de acesso para potenciais ataques. Os recursos de área de superfície que você pode gerenciar para o SQL Server Database Engine, Analysis Services e Reporting Services são os seguintes:

DATABASE ENGINE

 

AdHocRemoteQueriesEnabled

As funções OPENROWSET e OPENDATASOURCE podem usar conexões ad hoc para trabalhar com fontes de dados remotas sem configurar, especificamente, servidores vinculados ou remotos. Essa funcionalidade deve ser habilitada se os seus aplicativos ou scripts usarem essas funções. Caso contrário, desabilite o recurso.

ClrIntegrationEnabled

A integração CLR permite elaborar procedimentos armazenados, gatilhos, tipos definidos pelo usuário e funções definidas pelo usuário usando o Microsoft Visual Basic, o C# e qualquer outra linguagem do Microsoft .NET Framework. Habilite esse recurso se os seus aplicativos ou scripts usarem linguagens do .NET Framework; caso contrário, desabilite o recurso.

DatabaseMailEnabled

O Database Mail substitui o SQL Mail como técnica preferencial para enviar mensagens de email do SQL Server via SMTP. Habilite esse recurso se tiver criado um banco de dados host de email e os perfis de email do banco de dados necessários e quiser que seus aplicativos e scripts sejam capazes de usar o procedimento armazenado sp_send_dbmail para enviar mensagens de email a partir do SQL Server. Caso contrário, desabilite o recurso.

RemoteDacEnabled

Por padrão, o SQL Server só permite conexões dedicadas locais. Se você quiser autorizar conexões dedicadas remotas, habilite esse recurso. Caso contrário, desabilite-o.

SoapEndpointsEnabled

As mensagens SOAP contêm comandos baseados em texto e formatados em XML. Se você pretender usar o SOAP para a troca de dados e tiver configurado os pontos de extremidade HTTP necessários, poderá habilitar esse recurso e configurar o estado de cada ponto de extremidade.

OleAutomationEnabled

A Automação OLE permite usar lotes Transact-SQL, procedimentos armazenados e gatilhos para fazer referência a DMOs (DirectX Media Objects) do SQL e a objetos de Automação OLE personalizados. Habilite esse recurso se quiser usar a Automação OLE; caso contrário, desabilite-o.

ServiceBrokerEndpointActive

O Service Broker fornece o enfileiramento e o sistema de mensagens para o Database Engine, que seus aplicativos podem usar para a comunicação entre instâncias do SQL Server. Se os seus aplicativos usarem o Service Broker e você tiver configurado os pontos de extremidade HTTP necessários, poderá habilitar esse recurso e configurar o estado de cada ponto de extremidade.

SqlMailEnabled

Você pode usar o SQL Mail para enviar mensagens de email do SQL Server para aplicativos herdados usando o SMTP. Habilite esse recurso se quiser que seus aplicativos e scripts herdados sejam capazes de usar o procedimento armazenado xp_sendmail para enviar mensagens de email a partir do SQL Server. Caso contrário, desabilite o recurso.

XPCmdShellEnabled

O xp_cmdshell executa cadeias de caracteres de comandos usando o shell de comando do sistema operacional e retorna os resultados em forma de linhas de texto. Se você quiser que os aplicativos e scripts executem comandos do sistema operacional, terá que habilitar esse recurso.

WebAssistantEnabled

Nas versões anteriores do SQL Server, o Assistente da Web armazenava procedimentos para gerar arquivos HTML a partir de dados do SQL Server. No SQL Server 2005 e no SQL Server 2008, o Reporting Services substitui esses procedimentos armazenados. Se você tiver aplicativos herdados ou scripts que usem o Assistente da Web, habilite esse recurso. Caso contrário, desabilite-o.

ANALYSIS SERVICES
AdHocDataMiningQueriesEnabled

A função OPENROWSET do Data Mining Extensions estabelece conexões com objetos de fontes de dados que permitem conexões ad hoc com fontes de dados remotas sem configurar, especificamente, esses servidores vinculados ou remotos. Habilite esse recurso se os seus aplicativos ou scripts usarem o OPENROWSET com o Data Mining; caso contrário, desabilite-o.

AnonymousConnectionsEnabled

Com as conexões anônimas, os usuários não autenticados podem estabelecer conexões com o Analysis Services. Habilite esse recurso se os seus aplicativos e scripts exigirem acesso de usuário não autenticado. Caso contrário, desabilite o recurso.

LinkedObjectsLinksFromOtherInstancesEnabled

Com o Analysis Services, você pode usar objetos vinculados para vincular dimensões e grupos de medidas entre servidores. Se você quiser vincular uma instância a outros servidores, habilite esse recurso. Caso contrário, desabilite-o.

ListenOnlyOnLocalConnections

O Analysis Services funciona com recursos remotos, assim como com recursos locais. Se você quiser que o Analysis Services funcione apenas com recursos locais, habilite esse recurso. Caso contrário, desabilite o recurso.

UserDefinedFunctionsEnabled

O Analysis Services é integrado ao .NET Framework. Ele pode carregar assemblies contendo funções definidas pelo usuário. Habilite esse recurso se os seus aplicativos e scripts exigirem funções COM definidas pelo usuário. Caso contrário, configure o recurso para permitir apenas funções CLR.

REPORTING SERVICES
ScheduledEventsAndReportDeliveryEnabled

Com o Reporting Services, você pode usar relatórios ad hoc sob demanda e relatórios programados. Geralmente, quando você instala o Reporting Services, ele habilita dois tipos de relatórios. Se você não usar os relatórios programados, poderá desabilitar esse aspecto da geração e entrega de relatórios desabilitando esse recurso.

WebServiceRequestsAndHTTPAccessEnabled

Os componentes do Reporting Services usam o sistema de mensagens SOAP sobre HTTP para as comunicações e o HTTP para as solicitações de acesso a URLs. Habilite esse recurso se os seus aplicativos cliente usarem o Serviço Web Servidor de Relatórios ou se você usar o Gerenciador de relatórios, o Designer de relatórios ou o SQL Server Management Studio com essa instalação do Reporting Services. Caso contrário, desabilite-o.

ReportManagerEnabled

O Gerenciador de relatórios é um aplicativo baseado na Web para a exibição de relatórios, o gerenciamento do conteúdo de servidores de relatórios e o controle do acesso a servidores de relatórios executados em Modo nativo. Habilite esse recurso se você usar o Gerenciador de relatórios com essa instalação do Reporting Services. Caso contrário, desabilite o recurso.

Sempre um assunto quente

Se garantir a segurança física, a segurança da rede e a redução da superfície de ataque fosse realmente suficiente para reduzir as ameaças e vulnerabilidades do SQL Server, a segurança não seria uma questão tão delicada. Mas a segurança é uma questão delicada para o SQL Server, e provavelmente continuará sendo indefinidamente, porque os dados de sua empresa formam um de seus mais valiosos ativos.

Por padrão, todos os recursos de área de superfície listados acima são desabilitados no SQL Server 2008. Você pode gerenciá-los usando o Gerenciamento com base em políticas. Para saber mais sobre as políticas do SQL Server, verifique as diretrizes sobre Administração de servidores usando o Gerenciamento com base em políticas.

Existem vários recursos excelentes para orientá-lo pelos pontos básicos. O white paper “Segurança física na Microsoft” fornece uma visão abrangente das práticas de segurança física. Para obter ajuda na configuração do ambiente de rede para servidores e clientes, você encontrará bons recursos nas seções Configuração da rede de servidores e Configuração da rede de clientes dos livros online sobre o SQL Server 2008 R2.

Arte versus ciência

Quando se trata da segurança de dados e de bancos de dados, a simples aplicação de práticas recomendadas nem sempre é suficiente. A redução de ameaças e vulnerabilidades é tanto uma arte quanto uma ciência. Às vezes, parece que temos que ser meio ninjas para fazer o trabalho direito. Ser um ninja significa tentar pensar como a oposição para poder combatê-la, mas, na vida real, é pouco provável que possamos imaginar todas as maneiras sofisticadas pelas quais alguém pode atacar um sistema.

Mesmo assim, é preciso estar atento às ameaças atuais. Você precisa saber quais vetores de ataque os hackers costumam usar. Você precisa saber como analisar seus ambientes cliente-servidor tendo em mente determinadas ameaças e como reduzir essas ameaças usando as ferramentas e técnicas disponíveis. A educação quanto à segurança é tão importante quanto seus esforços de redução. As ameaças internas representam tanto risco quanto as externas. Por exemplo, há riscos quando um usuário — administrador ou não — que tem privilégios no banco de dados deixa seu computador desbloqueado e sozinho.

Estenda suas práticas de segurança das políticas de servidor para sua política e suas práticas corporativas, a fim de aumentar a segurança. Combata todas as ameaças — internas e externas — com uma abordagem holística da segurança de dados e servidores. Assim como os produtos têm um ciclo de vida, seu programa de segurança também deve ter. Você poderia chamar isso de SOL (Security Operations Lifecycle, ou Ciclo de vida das operações de segurança).

Como parte do SOL, todos os que trabalham com aplicativos cliente do SQL Server e com o SQL Server devem passar por um treinamento formal em segurança todos os anos. Para cada membro da equipe técnica, esse treinamento deve abranger testes de segurança, modelagem de ameaças, vulnerabilidades e explorações atuais e exame de respostas da segurança. Além do treinamento formal, os membros da equipe técnica precisam fazer da segurança uma parte de seu trabalho diário. Não é possível fazer um trabalho único quando se trata de segurança. Você coloca a segurança em seus processos diários:

  • Testando periodicamente o sistema quanto a vulnerabilidades e explorações
  • Monitorando rotineiramente a existência de problemas de segurança
  • Modelando problemas potenciais
  • Planejando sua resposta a incidentes inevitáveis

Cada membro técnico de sua organização deve ter uma compreensão sólida do SOL. Qualquer um que trabalhe com o SQL Server por meio de aplicativos cliente também deve ter uma compreensão básica do SOL. A necessidade de vigilância constante é altíssima. É preciso realmente acreditar que a segurança das operações requer vigilância constante. Não existe a vulnerabilidade zero.

Um mundo repleto de vilões

Os hackers, crackers e usuários mal-intencionados estão por aí, esperando e procurando pela inevitável brecha na sua armadura de segurança. Não deixe que vulnerabilidades acidentais anulem ou reduzam a eficácia de seu planejamento de segurança.

Use estratégias seguras por padrão para garantir que seus SQL Servers estejam o mais seguros possível. Use estratégias de defesa aprofundada para garantir que cada camada das interfaces de clientes e da Web com seus bancos de dados do SQL Server e sistemas de arquivos esteja o mais segura possível. Essas estratégias ajudarão a manter barreiras eficazes que fornecem mais oportunidades de detecção a longo prazo.

Usar uma abordagem segura por padrão e de defesa aprofundada ajuda, mas os objetivos maiores de seu plano de segurança devem ser a redução do número de vulnerabilidades e de seu impacto potencial. As falhas são inevitáveis. A forma como você reage à exploração delas é da máxima importância. Você deve ter uma resposta formal preparada e tomar a atitude apropriada. Você deve acreditar que nenhum incidente é uma ocorrência isolada. Use as lições aprendidas em cada incidente e dissemine-as em sua organização, nos níveis apropriados. Compartilhar esses dados de eventos com as equipes técnica, de desenvolvimento e de operações ajudará a criar uma consciência de segurança organizacional.

Facilite os relatos de vulnerabilidades e de outros problemas para os usuários de seus aplicativos. Use a modelagem de ameaças para garantir que recursos e funções sejam operados tendo em mente a segurança. Execute a modelagem de ameaças perguntando-se com quais ameaças está preocupado, dada a natureza cliente-servidor das operações de bancos de dados do SQL Server. Determine as superfícies de ataque de seus aplicativos de front-end e dos bancos de dados de back-end e tome as atitudes apropriadas.

O teste de fuzzing é essencial para proteger seus bancos de dados de back-end contra explorações de aplicativos de front-end. Os testes de fuzzing são envios intencionais de dados malformados, como dados e valores fora dos limites aceitos por um aplicativo. Um aplicativo que falha ou que estoura os buffers como resultado de testes de fuzzing pode abrir uma potencial exploração do SQL Server.

Suas equipes técnicas sabem como seus aplicativos de front-end são escritos e como funcionam as consultas do SQL Server. Use esse conhecimento para executar testes de fuzzing mais aprofundados. Seu conhecimento interno pode ajudá-lo a criar testes de fuzzing que vão além das verificações iniciais, para que você possa executar testes mais aprofundados.

Adotar uma abordagem de ciclo de vida da segurança faz da segurança um processo contínuo. As mudanças são constantes, portanto, a ênfase sobre o SOL também deve ser.

Para ver outros procedimentos passo a passo de redução de ameaças e vulnerabilidades por componentes do SQL Server 2008 R2, consulte:

    Fonte:Desmonta&CIA

Anúncios

Tags:

About Desmonta&CIA

Somos um blog que busca informar aos apaixonados por tecnologia tudo sobre o mundo de TI.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: