A você, minha filha.
Sumário
Prefácio Introdução
1 - Cofre de Senhas
1.2 Segundo Fator de Autenticação 1.3 Resumo
2 - Firewall
2.1 Firewall Builder 2.2 Bloqueio de Países 2.3 Resumo
3 - HIDS 3.1 NTP
3.2 RSYSLOG
3.3 Classificação das Regras 3.4 Grupo de Regras
3.5 Configuração do Web Server 3.6 Resumo
4 - Proxy Reverso 4.1 HARDENING
4.1.1 Upgrades de Segurança Automáticos 4.1.2 Bloqueio a áreas do seu site
4.1.3 Instalação de Softwares de Forense
4.1.4 Serviços desnecessários e execução em partições 4.2 Resumo
5 - Web Application Firewall 5.1 Resumo
6 - SIEM
6.1 Resumo 7 - Geoip Map Attack
7.1 Normalização do log 7.2 Resumo
Considerações finais Apêndice 1
Básico de Sistema Operacional Linux 1 - Instalação do Debian
2 - Comandos básicos Apêndice 2
Básico de Linguagem Shell Script Bibliografia
Prefácio
Geralmente um prefácio é escrito por autores renomados e prestigiados como forma de avalizar um novo escritor que se apresenta. Já lhe digo:
não espere nada disso de mim. Não sou sequer autora ou escritora.
Sou apenas uma pessoa que há alguns anos trabalha diretamente com o Diego – ora como colega de baia ora coordenando o seu trabalho – e que sabe o quanto ele é determinado, desbravador, conhecedor e aficionado por Segurança da Informação. Portanto, acredite: se você trabalha ou pensa em enveredar nesta área, não deixe de conhecer este livro!
Conheci o Diego no final de 2015 quando começamos a trabalhar
juntos. Eu enquanto Tecnóloga em Redes de Computadores e ele como Tecnólogo em Segurança da Informação. A missão era árdua, mas profundamente instigante. Em busca de soluções, ele adentrou no universo de ferramentas Open Source voltadas à Segurança da
Informação. Ali se deparou com muitas dificuldades, dúvidas, trabalho e retrabalho, mas, também, com conquistas diárias. Muitas das soluções que na época precisávamos surgiram a partir das ferramentas que aqui serão apresentadas e pela forma como foram implementadas. Mérito do autor.
Essa obra também permite a reflexão se, de fato, um ambiente seguro é aquele que se tem um alto custo de investimento a ele atrelado, ao apresentar ferramentas gratuitas que, quando bem configuradas e associadas a algumas práticas simples que vão desde troca de senhas à conscientização dos usuários, são exemplos de procedimentos com baixo ou sem nenhum custo financeiro que têm um grande impacto quando o assunto é Segurança da Informação.
Todo esse conhecimento e essa curva de aprendizagem lhes são oferecidos neste livro, numa linguagem clara e didática, para que você otimize o seu tempo, de forma a utilizá-lo para novas descobertas e não para enfrentar questões que já foram vencidas por alguém em outra oportunidade.
Quer saber como instalar e configurar ferramentas Open Source como Sistema Operacional Linux, cofre de senhas, segundo fator de
autenticação, firewall, HIDS, proxy reverso, WAF, SIEM, mapa de ataque, dentre outras? Então navegue por esse livro e encontrará um capítulo dedicado a cada uma das ferramentas apresentadas, com tutorial que lhe guiará durante todo o processo: download, instalação e configuração. Tudo isso para você aproveitar a ferramenta da melhor maneira possível e ainda otimizar o seu tempo.
Computador, internet e livro a postos? Então, mãos à obra!!!
Edimaria Cerqueira Rodrigues Lamounier, especialista em Redes de Computadores.
Introdução
Trabalho com Segurança da Informação desde 2015. Comecei a me interessar pelo assunto quando ainda era Tenente da Força Aérea Brasileira. Lembro que houve um defacement (ataque que visa modificar uma página web, tipo uma pichação) num dos sistemas web da aeronáutica e isso me causou perplexidade, pois acreditava que a rede era bem protegida. Só depois, trabalhando na área, percebi que às vezes o que ocorre é uma falsa sensação de segurança, talvez devido aos enormes gastos com as melhores soluções de Firewall, WAF (Web Application Firewall), Antivírus, etc… Percebi que, ainda que se tenha recursos para todas essas soluções, nada substitui a atuação de uma equipe fazendo os ajustes nessas ferramentas e principalmente investindo em visibilidade da rede. Saber o que acontece é fundamental.
Acredito que um dos melhores recursos da área de segurança são os Logs (eventos de sistemas). Saber o que está acontecendo na sua rede, de onde vêm os ataques, quais os alvos e qual tipo de exploração está tentando ser feita em seu ambiente faz toda a diferença. Um bom IDS (Intrusion Detection System) já é capaz de revolucionar a segurança na sua rede.
Aprendi a importância de se saber o que acontece na rede da pior forma possível. Meus primeiros dias trabalhando com segurança da informação não foram nada fáceis. Era um ataque atrás do outro, site web invadido, malware na rede comprometendo o domínio, dentre outros. Tudo que havia para proteger a rede era um Firewall e um antivírus. Eu não tinha ideia do que estava acontecendo e trabalhava praticamente no escuro.
Percebi que o trabalho seria implementar uma arquitetura de segurança, que envolveria ferramentas, mas também processos que, apesar de simples, foram fundamentais. A simples gestão das senhas da rede e a atualização de todos os sistemas/softwares já deram um grande salto na segurança. Depois vieram as ferramentas e, para a minha surpresa, havia excelentes opções Open Source (código aberto).
Minha motivação para este livro foi justamente ajudar aqueles que têm a árdua missão de proteger a rede de onde trabalham. As ferramentas e processos descritos aqui me ajudaram muito e creio que possam ser a solução para muitos administradores de rede e analistas de segurança.
“Se você conhece o inimigo e conhece a si mesmo, não precisa temer o resultado de cem batalhas.
Se você se conhece mas não conhece o inimigo, para cada vitória ganha sofrerá também uma derrota.
Se você não conhece nem o inimigo nem a si mesmo, perderá todas as batalhas.”
- Sun Tzu
1 - Cofre de Senhas
Eu não poderia começar por outra ferramenta que não o Cofre de Senhas, pois ainda se dá pouca importância à gestão da senha. A Segurança de Informação está nos detalhes. Quando se fala em Segurança da Informação, muitos só pensam em soluções complexas, engenhosas e caras. Não faltam escândalos de vazamento de senhas mesmo em grandes empresas e o estrago é grande, principalmente porque muitas pessoas não utilizam o Segundo Fator de Autenticação. A melhor segurança em relação a senhas é aquela que utiliza pelo menos dois dos três fatores de autenticação:
● Aquilo que você sabe (Senha);
● Aquilo que você tem (Token);
● Aquilo que você é (Biometria).
Com esses vazamentos, não adianta você ter a melhor senha do mundo, com muitos caracteres ou de alta complexidade. Bom, é claro que isso vai gerar um HASH difícil de decifrar pelas Rainbow Tables (tabelas de HASH pré calculados), mas na dúvida, e visando uma melhor segurança dos seus dados pessoais, recomendo fortemente que usem, se possível em todas as suas contas na internet, o Segundo Fator de Autenticação.
A ideia é que o administrador de rede, e sua equipe, utilize um Cofre onde se faz a gestão das senhas da rede e a compartilhe apenas com sua equipe. O Cofre ajudará na criação de senhas fortes e uma série de outras informações sobre a senha. A ferramenta que recomendo é a KeePass (https://keepass.info).
Trata-se de uma ferramenta Open Source, como todas que mostrarei neste livro, com versões para várias plataformas de sistemas operacionais e muito simples de usar.
Vamos então testar a ferramenta. Primeiro baixe-a no menu Downloads do site do keepass.
Figura 1.1 - Site do KeePass
Figura 1.2 - Área de downloads do KeePass
Vou baixar a versão para Mac OS (MacPass), que é a plataforma que estou utilizando. Agora é instalar e criar um novo banco de dados.
Figura 1.3 - Criação de banco de dados de senha
Veja que o MacPass já possui grupos de senha, como Windows, Network, Internet, Email e Homebanking. Mas você pode criar outros ou excluir esses. No exemplo abaixo eu criarei uma senha no grupo Windows.
Figura 1.4 - Nova senha
Aqui no MacPass, ao clicar em New Entry, foi perguntado se eu gostaria de criar a senha de acesso ao Cofre de Senhas. Conforme imagem abaixo:
Figura 1.5 - Senha de acesso ao Cofre de Senhas
São fornecidas as opções de criar uma senha ou criar um Arquivo Senha (KeyFile). Criar uma senha para o cofre de senha nos leva a um problema, pois estamos criando um Cofre de Senha para justamente não ficar compartilhando uma senha que acabará em algum post-it no monitor do administrador de rede. Então eu recomendo que se use o Arquivo Senha e se faça um controle através do GitLab (gerenciador de repositório de software baseado em git). O GitLab também é Open Source e excelente para se fazer o controle de versão de software. Ele pode ser utilizado para gerir as modificações no seu Cofre de Senha e no seu arquivo de Firewall, como veremos no próximo capítulo. Contudo, a instalação e a instrução de uso do GitLab estão fora do escopo deste livro. A ideia é bem simples: gerar o Arquivo de Senha e colocá-lo no projeto do GitLab juntamente com o banco de dados do Cofre de Senha, de tal forma que somente os membros do projeto poderão ter acesso, tanto ao banco do Cofre de Senhas, quanto do Arquivo de Senhas.
Continuando na criação da senha, o KeePass (ou MacPass) já cria uma senha para você, que pode ser vista clicando no ícone ao lado do campo de senha. Entretanto, recomendo que se mude a senha colocando-a de acordo com sua Política de Segurança da Informação, na questão do tamanho e complexidade.
Figura 1.6 - Criação de senha
Figura 1.7 - Botão Generate
Ao clicar em Generate, pode-se customizar a senha de acordo com suas necessidades.
1.2 Segundo Fator de Autenticação
Entendida a importância do segundo fator de autenticação, vamos implementá-lo num servidor Linux. Mais à frente, instalaremos outras soluções e faremos configurações de segurança e todas elas ocorrerão no ambiente Linux, portanto recomendo que se instale um ambiente de virtualização, como o VirtualBox, e que se baixe o Linux Debian versão 9 (a última versão disponível quando escrevia este livro).
Por que Debian? Primeiro porque se trata, dentre as opções de distribuição Linux, de uma das mais fiéis ao movimento Open Source.
Além disso, é extremamente estável, seguro (contanto que se mantenha atualizado) e fácil de usar. Caso queira usar outra distribuição, não haverá nenhum problema.
A instalação do SO Linux está disponível no Apêndice 1.
Após a instalação do SO Linux, vamos aos comandos necessários para que implementemos um acesso SSH com autenticação em dois fatores.
Figura 1.8 - IP da rede wifi
Figura 1.9 - IP 192.168.15.7
Figura 1.10 - ssh no servidor 192.168.15.7
Primeiro vamos instalar o pacote do google-authenticator no Linux:
apt-get install libpam-google-authenticator -y
Depois, executar o google-authenticator: google-authenticator
Figura 1.11 - execução do google-authenticator
Ao responder y à pergunta, será gerado um QR Code e os códigos de emergência, como um backup do QR Code.
Figura 1.12 - QR Code
Use seu celular, com o aplicativo de segundo fator de autenticação, e insira a chave secreta ou escaneie o QR Code.
Figura 1.13 - aplicativo no celular
Ao fazer uso do aplicativo, agora terá um token como o da imagem acima.
Serão cinco perguntas, a primeira, ao responder y, fez aparecer o QR Code e os códigos de emergência. A segunda pergunta sobre criar um arquivo oculto no home do usuário que está instalando o google authenticator. Digite y, pois é nesse arquivo que será verificado se o código que foi inserido está correto na hora do login via ssh. A terceira quer saber se será habilitado o uso do mesmo token por múltiplos usuários. Digite y, pois a ideia é que só os membros da equipe compartilhem do token e do acesso ao Cofre de Senha. A penúltima quer saber se haverá aumento na janela de tempo caso haja problemas de sincronização da hora no seu servidor. Para nosso livro, onde ainda não configuramos um serviço NTP (Network Time Protocol), algo que veremos no capítulo de Hardening, digite y. Por último, digite y para bloquear várias tentativas de login.
Finalizamos a parte de instalação, resta agora configurar o serviço SSH para usar a senha (algo que você sabe) e o token (algo que você tem). Primeiro edite o arquivo /etc/pam.d/sshd.
Coloque abaixo da linha do @include common-auth o auth required pam_google_authenticator.so.
Figura 1.14 - /etc/pam.d/sshd
Salve e edite agora o arquivo /etc/ssh/sshd_config. Somente para este livro, para fins de facilitar o processo, habilite o acesso ssh com o usuário root: PermitRootLogin yes. Depois, ChallengeResponseAuthentication yes. Salve o arquivo e restarte o serviço ssh: service ssh restart
Vamos testar, abra um terminal e tente o acesso SSH com o usuário root no IP 192.168.15.7:
Figura 1.15 - 2 fatores de autenticação funcionando
Figura 1.16 - login bem sucedido
1.3 Resumo
Vimos que a gestão das senhas é algo importante na administração de rede e também na sua casa. Sim, recomendo fortemente que se utilize cofre de senha também para as suas senhas domésticas, fazendo com que você diversifique suas senhas e as torne mais complexas. O Segundo Fator de Autenticação é algo a se
considerar também para uso na sua rede (empresarial ou não), pois como vimos isso dificulta e pode inviabilizar o acesso de terceiros que eventualmente tenham descoberto suas senhas.