Recentemente (mas também é uma pergunta recorrente), vimos três tópicos interessantes sobre hackers e segurança:
Como faço para lidar com um servidor comprometido? .
Localizando como um servidor invadido foi invadido
Pergunta sobre permissões de arquivo
O último não está diretamente relacionado, mas destaca como é fácil atrapalhar a administração de um servidor web.
Como existem várias coisas que podem ser feitas, antes que algo ruim aconteça, gostaria de receber suas sugestões em termos de boas práticas para limitar os efeitos colaterais de um ataque e como reagir no caso triste acontecerá.
Não se trata apenas de proteger o servidor e o código, mas também de auditoria, registro e contramedidas.
Você tem alguma lista de boas práticas ou prefere confiar em software ou em especialistas que analisam continuamente seus servidores da Web (ou nada)?
Se sim, você pode compartilhar sua lista e suas idéias / opiniões?
ATUALIZAR
Recebi vários comentários bons e interessantes.
Eu gostaria de ter uma lista simples, para que possa ser útil para os administradores de segurança de TI, mas também para os mestres de fatos da web .
Mesmo que todo mundo desse respostas boas e corretas, no momento eu prefiro a de Robert , pois é a mais simples, clara e concisa, e a de sysadmin1138, como a mais completa e precisa.
Mas ninguém considera a perspectiva e a percepção do usuário, acho que é a primeira a ser considerada.
O que o usuário pensará quando visitará meu site invadido, e muito mais se você possui dados confidenciais sobre eles. Não é apenas uma questão de onde armazenar dados, mas como acalmar usuários irritados.
E quanto a dados, mídias, autoridades e concorrentes?
Respostas:
Existem duas grandes áreas para focar:
Tornando difícil entrar
Este é um tópico muito complexo, e grande parte dele se concentra em garantir que você tenha informações suficientes para descobrir se o WTF aconteceu após o fato. O marcador abstrato aponta para simplicidade:
Criar políticas e procedimentos para lidar com calma e eficiência com o evento de alguém entrar
Uma política de eventos de segurança é essencial para todas as organizações. Isso reduz bastante a fase de resposta "correr por aí com a cabeça decepada", pois as pessoas tendem a ficar irracionais quando confrontadas com eventos como esses. Intrusões são assuntos grandes e assustadores. A vergonha de sofrer uma intrusão pode fazer com que os administradores de sistemas, de outra maneira, comecem a reagir de maneira incorreta.
Todos os níveis da organização precisam estar cientes das políticas. Quanto maior o incidente, maior a probabilidade de a alta gerência se envolver de alguma maneira, e a definição de procedimentos para lidar com as coisas ajudará muito a evitar a "ajuda" do alto. Também fornece um nível de cobertura para os técnicos diretamente envolvidos na resposta a incidentes, na forma de procedimentos para a gerência intermediária interagir com o restante da organização.
Idealmente, sua política de Recuperação de Desastres já definiu por quanto tempo certos serviços podem ficar indisponíveis antes que a política de DR entre em ação. Isso ajudará na resposta a incidentes, pois esses tipos de eventos são desastres. Se o evento for de um tipo em que a janela de recuperação NÃO será atendida (exemplo: um site de recuperação de desastres de backup ativo recebe um feed em tempo real dos dados alterados, e os invasores excluíram um monte de dados que foram replicados no site de recuperação de desastres antes de serem restaurados Portanto, os procedimentos de recuperação a frio precisarão ser utilizados) e a alta gerência precisará se envolver nas negociações de avaliação de riscos.
Alguns componentes de qualquer plano de resposta a incidentes:
Ter políticas e procedimentos em vigor antes de um compromisso, e bem conhecido pelas pessoas que os implementarão no caso de um compromisso, é algo que só precisa ser feito. Ele fornece a todos uma estrutura de resposta em um momento em que as pessoas não pensam direito. A alta administração pode trovejar e explodir sobre ações judiciais e acusações criminais, mas, na verdade, reunir um caso é um processo caro e saber que de antemão pode ajudar a atenuar a fúria.
Também observo que esses tipos de eventos precisam ser incluídos no plano geral de resposta a desastres. Um compromisso provavelmente desencadeará a política de resposta 'hardware perdido' e também provavelmente a resposta 'perda de dados'. O conhecimento dos tempos de recuperação do serviço ajuda a definir as expectativas de quanto tempo a equipe de resposta de segurança pode ter para analisar o sistema comprometido real (se não manter as evidências legais) antes de ser necessário na recuperação do serviço.
fonte
Como procedimentos adequados de assistência técnica podem ajudar
Precisamos considerar como os clientes são tratados aqui (isso se aplica a clientes internos e externos que entram em contato com o suporte técnico).
Primeiro de tudo, a comunicação é importante ; os usuários ficarão irritados com a interrupção dos negócios e também poderão se preocupar com a extensão / consequências de quaisquer violações de informações que possam ter ocorrido como parte de uma invasão. Manter essas pessoas informadas ajudará a gerenciar sua raiva e preocupação, tanto do ponto de vista de que o compartilhamento de conhecimento é bom, quanto do ponto de vista talvez um pouco menos óbvio de que uma coisa que eles precisam ouvir é que você está no controle da situação. situação.
O suporte técnico e o gerenciamento de TI precisam agir como um "guarda-chuva" neste momento, protegendo as pessoas que estão fazendo o trabalho para determinar a extensão da invasão e restaurar serviços de inúmeras consultas que atrapalham esse trabalho.
Como os padrões de implantação podem ajudar
A implantação em um modelo definido (ou pelo menos uma lista de verificação) também ajuda, juntamente com a prática de controle / gerenciamento de alterações sobre quaisquer personalizações / atualizações no seu modelo de implantação. Você pode ter vários modelos para contabilizar servidores executando trabalhos diferentes (por exemplo, um modelo de servidor de correio, um modelo de servidor web, etc.).
Um modelo deve funcionar para sistemas operacionais e aplicativos e incluir não apenas a segurança, mas todas as configurações usadas, e deve ser idealmente script (por exemplo, um modelo), em vez de ser aplicado manualmente (por exemplo, uma lista de verificação) para eliminar o máximo de erros humanos.
Isso ajuda de várias maneiras:
fonte
Para a maioria de nossos servidores, contamos com firewalls de host e de rede, software antivírus / spyware, IDS de rede e IDS de host durante a maior parte de nossa prevenção. Isso, juntamente com todas as diretrizes gerais, como privs mínimos, programas não essenciais desinstalados, atualizações etc. A partir daí, usamos produtos como Nagios, Cacti e uma solução SIEM para vários revestimentos básicos e notificações de quando os eventos ocorrem. Nosso HIDS (OSSEC) também faz muitos registros do tipo SIEM, o que é bom. Basicamente, tentamos fazer as coisas do bloco o máximo possível, mas depois registramos centralmente para que, se algo acontecer, possamos analisar e correlacionar.
fonte
O que você realmente deseja pode se dividir em três áreas básicas:
Se você tiver alguma equipe de informações (garantia | segurança) disponível, definitivamente converse com eles. Embora a resposta a incidentes seja frequentemente a única competência do referido escritório, o restante deve ser um esforço conjunto de desenvolvimento entre todas as partes afetadas.
Correndo o risco de auto-cafetão, esta resposta a uma pergunta relacionada deve indexar muitos recursos úteis para você: Dicas para proteger um servidor LAMP.
Idealmente, você deve ter o menor número de sistemas operacionais suportados e criar cada um usando uma imagem de base. Você deve desviar-se da base apenas o necessário para fornecer quaisquer serviços que o servidor forneça. Os desvios devem ser documentados ou podem ser necessários se você precisar atender ao PCI / HIPAA / etc. ou outras conformidades. O uso de sistemas de gerenciamento de implantação e configuração pode ajudar muito nesse sentido. Os detalhes dependerão muito do seu sistema operacional, sapateiro / fantoche / Altiris / DeployStudio / SCCM, etc.
Você definitivamente deve executar algum tipo de revisão regular de log. Dada a opção, um SIEM pode ser muito útil, mas eles também têm a desvantagem de serem caros, tanto no preço de compra quanto nos custos de construção. Confira esta pergunta no site do IT Security SE para alguns comentários sobre a análise de log: Como você lida com a análise de log? Se isso ainda for muito pesado, até mesmo ferramentas comuns, como o LogWatch, podem fornecer um bom contexto para o que está acontecendo. A peça importante, no entanto, é apenas reservar um tempo para examinar os logs. Isso o ajudará a se familiarizar com o que constitui um comportamento normal, para que você possa reconhecer anormalmente.
Além da revisão do log, o monitoramento do estado do servidor também é importante. Saber quando ocorrem mudanças, planejadas ou não, é crucial. A utilização de uma ferramenta de monitoramento local como o Tripwire pode alertar o administrador sobre alterações. Infelizmente, assim como os SIEMs e IDSes, tem o lado negativo de ser caro para ajustar e / ou comprar. Além disso, sem uma boa sintonia, seus limites de alerta serão tão altos que qualquer boa mensagem será perdida no ruído e se tornará inútil.
fonte
Uma política adequada de Gerenciamento de informações e eventos de segurança (SIEM) em vigor ajudará bastante a tornar sua vida mais segura.
fonte
Eu não sou especialista em segurança, por isso, principalmente, adoro eles; mas começar pelo Principal of Least Privilege quase sempre facilita significativamente o trabalho. A aplicação desse tipo de solução funciona bem para muitos aspectos da segurança: permissões de arquivo, usuários em tempo de execução, regras de firewall etc. O KISS também não é prejudicial.
fonte
A maior parte da solução mencionada aqui é aplicável no nível do host e da rede, mas geralmente esquecemos aplicativos da Web inseguros. As aplicações Web são as falhas de segurança mais comuns. Por meio de aplicativos da Web, um invasor pode obter acesso ao seu banco de dados ou host. Nenhum firewall, IDS, firewall pode protegê-lo contra esses. O OWASP mantém uma lista das 10 principais vulnerabilidades mais críticas e oferece correções para elas.
http://www.scribd.com/doc/19982/OWASP-Web-Security-Guide
fonte