Segurança e Auditoria de Sistemas. Jéfer Benedett Dörr

Documentos relacionados
André Luis Staroski Clovis Cristiano Brignoli Fabiano F. Maciel Guimarães

Disciplina: Segurança de Redes. Professor: Roitier Campos

Levantamento de informação (Fingerprint)

Administração dos serviços de redes utilizando linux

Configuração do Servidor Gateway Firewall e DHCP

Configurações iniciais

CST em Redes de Computadores

Redes de computadores

Projeto de Ensino. iptables. Grupo de Estudos em Tecnologia de Redes e Processamento Paralelo. Prof. Luiz Antonio Unioeste

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

GUIA DE CONFIGURAÇÃO. Conexões VPN SSL (Rede a Rede)

Os vírus se espalham através de (MORIMOTO, 2011, p. 403):

GUIA DE CONFIGURAÇÃO. VPN SSL Client to Server

NFAS. Node.js Full Application Server. Versão 0.1 de Alain Mouette,

PROCESSO DE SELEÇÃO DE ESTAGIÁRIO EDITAL 100/2017

Hardening de equipamentos

(In)segurança Utilizando Software Livre. Maycon Maia Vitali

Preparação AV3 Fundamentos de Redes de Computadores

Redes de Computadores Aula 23

Unidade Curricular Segurança em Redes. Diego Dummer Vaz. THC-Hydra

MANUAL DE INSTALAÇÃO

Ademar de Souza Reis Jr. XII Congresso C. Computação Bolívia Tarija Bolívia Outubro 2005

Configurando VPS Proxy e SSH

GUIA DE CONFIGURAÇÃO. Conexões VPN SSL (Rede a Rede)

Apostila 4. Ameaças e Contramedidas de Segurança no Host

Firewall - Inspeção com estado. (Stateful Inspection)

Principais características:

Manual de Instalação do pacote SICWEB

Protocolos de Rede. Protocolos em camadas

Manual de Configuração.

INSTALANDO O HYPER-V EM SISTEMAS OPERACIONAIS WINDOWS

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Testes de Penetração: Força Bruta para Login em SSH

Ponto de Acesso Sem Fio

Testes de Penetração: Explorador de Portas

Etec Prof. Armando José Farinazzo 138

Princípios em Segurança da Informação

Disciplina: Redes de Computadores I (R1)

Trabalhando com Redes de Computadores - 2ª Edição Plano de Aula - 24 Aulas (Aulas de 1 Hora)

REDES DE COMPUTADORES

DESCRIÇÃO E JUSTIFICATIVAS TECNICAS SOBRE A INFLUÊNCIA DO SISTEMA OPERACIONAL NA SEGURANÇA DOS SERVIÇOS IPS

Xerox FreeFlow Core, 4.0 SP3 ( ) Livro Versão 1.3 Outubro de P Xerox FreeFlow Core Guia de segurança

Firewall. Prof. Marciano dos Santos Dionizio

Infra-Estrutura de Redes de Computadores

Fazendo cópia de segurança

Aula 11 DHCP. Monitoramento de LOGs. (Dinamic Host Configuration Protocol) em Sistemas Linux. Prof. Roitier Campos Gonçalves

Verificando se os hosts estão ativos

Prof. Marcelo Cunha Parte 6

Perguntas frequentes sobre o uso seguro do Remote Support Platform para SAP Business One (RSP)

Redes de Computadores. Laboratório de Interconexão de Redes e Serviços - 4º Período

Manual do Usuário Brother Meter Read Tool

Os três principais tipos de firewall são o filtro de pacotes, o filtro de pacotes com estado e o proxy.

Protocolos e Serviços de Redes

Estas etapas preliminares devem ser executadas para todas as impressoras:

Netfilter e Iptables

Configuração do log de sistema no Roteadores RV016, RV042, RV042G e RV082 VPN

Instalação e Configuração do Servidor de DHCP

Aplicações de Rede DHCP

Autenticação Segura. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

monsta Manual de Instalação

Administração de sistemas Linux. Gerenciamento de serviços

SNORT. Sistema de Detecção de Intrusão de Rede. Amanda Argou Vilnei Neves REDES II

Aspectos de Segurança no IPv6

1 FIREWALL PARÂMETROS DE SEGURANÇA

Para verificar se o Servidor e/ou o Cliente acessa o SisMÉDICO

Protocolos e Serviços de Redes

Gerência de Redes de Computadores Zabbix Instalação. Prof. Alex Furtunato

Interface gráfica do linux

Alunos em técnico em Informática da EAFS: Leandro Cavalari, Maria Matos e Renata Rasche.

Firewalls - IPTables. Carlos Gustavo A. da Rocha. ASSR

Configurando um Servidor de Arquivos SAMBA. Prof. Armando Martins de Souza

474QU35 J1y4n y4r

Introdução à Computação

2. Instalação do WinThor Anywhere (Linux ambiente terminal/console)... 10

Configurar o acesso do telnet/ssh ao dispositivo com VRF

Configuração do Samba no Metasys (Modo Gráfico)

Aula 2 DHCP. (Dinamic Host Configuration Protocol) Servidor DHCP. Prof. Roitier Campos Gonçalves

Sugestões para defesa contra ataques de força bruta para SSH Autor: Nelson Murilo

Ferramenta Nessus e suas funcionalidades

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Resumo P2. Internet e Arquitetura TCP/IP

Firewalls. Carlos Gustavo A. da Rocha. ASSR

2. Execute o instalador do V-Ray 2.0. Você chegará à tela de bem-vindo, como na imagem abaixo. Clique no botão Next para prosseguir.

Configurando uma regra de descoberta de rede

Gerência de Redes de Computadores NAGIOS. Prof. Alex Furtunato

Instalar e desinstalar o CFC

MANUAL DE INSTALAÇÃO

Aula 11 - Enjaulamento de SO

Brasil Pentest Ethical Hacking. Nmap- Um Conceito de Network Mapper e Port Scanner.

DHCP Dynamic Host Configuration Protocol

Instituição Faculdade de Tecnologia SENAC Pelotas/ RS. Barbara Timm, Elias Fernandes, Elison Silva e Pamela Barreto.

Transferência de arquivo ASA com exemplo de configuração FXP

Protocolos Telnet e SSH. Professor Leonardo Larback

Pesquisando defeitos a vizinhança de rede Microsoft após ter estabelecido um túnel VPN com o Cisco VPN Client

Transcrição:

Segurança e Auditoria de Sistemas Jéfer Benedett Dörr prof.jefer@gmail.com

Conteúdo Ssh menos brute force nmap

Bloqueando ataques de força bruta no SSH O SSH é um protocolo de acesso remoto muito seguro, que prevê respostas para quase todo tipo de ataque possível. O SSH detecta casos em que o servidor tenha sido substituído por outra máquina. Qualquer algoritmo de encriptação pode ser quebrado via força bruta, onde simplesmente são testadas todas as possibilidades possíveis, até encontrar a combinação correta. Porém, isso só é realmente possível para chaves de 40 ou no máximo 64 bits; acima disso é inviável, pois a cada bit adicionado, o processo torna-se exponencialmente mais demorado.

Bloqueando ataques de força bruta no SSH O WEP de 64 bits (que na verdade utiliza uma chave de 40 bits), usado em redes wireless pouco protegidas, pode ser quebrado em pouco tempo, caso você consiga capturar um volume considerável de transmissões usando um sniffer. O DES, um dos algoritmos mais tradicionais, que usa chaves de 64 bits (reais), pode ser quebrado em alguns dias, caso você tenha acesso a um cluster de 100 máquinas Athlon 64. Uma chave de 64 bits é cerca de 16 milhões de vezes mais difícil de quebrar via força bruta do que uma de 40 bits, como as que eram utilizadas no SSL dos navegadores a até poucos anos atrás. Uma chave de 128 bits por sua vez, é (arredondando) 18.447.000.000.000.000.000 vezes mais demorada de quebrar que uma de 64 bits, de forma que, uma chave de 64 bits pode ser quebrada caso você tenha o tempo e os recursos necessários à disposição, mas uma de 128 (sem brechas conhecidas) é impossível de quebrar com tecnologia atual.

Bloqueando ataques de força bruta no SSH O SSH é usado em tantos servidores importantes que uma brecha grave poderia (literalmente) parar o mundo. Por isso, todo o código é exaustivamente auditado por uma variedade de empresas e órgãos governamentais. Quando você se conecta a um servidor SSH, seu micro e o servidor trocam suas chaves públicas, permitindo que um envie informações para o outro de forma segura. tudo é feito utilizando chaves de 512 bits ou mais (de acordo com a configuração). O problema é que, embora impossível de quebrar, este nível de encriptação demanda uma quantidade muito grande de processamento. Se todas as informações fossem transmitidas desta forma, o SSH seria muito lento. Para solucionar este problema, depois de fazer a autenticação, o SSH passa a utilizar um algoritmo mais simples, que demanda muito menos processamento, para transmitir os dados. Por padrão é utilizado o 3DES (triple-des), que utiliza uma combinação de três chaves DES, de 64 bits cada.

Bloqueando ataques de força bruta no SSH Outra precaução importante é a proteção contra ataques do tipo "man in the middle", onde alguém com acesso físico à rede muda o cabeamento ou configuração, de forma que outra máquina se apresente no lugar do servidor, com o objetivo de roubar senhas. O servidor tem uma chave pública, que envia ao cliente na primeira conexão. As identificações de todos os servidores conhecidos ficam armazenadas no arquivo ".ssh/known_hosts" dentro do seu diretório home. Sempre que você se conecta daí em diante, o cliente SSH envia um "desafio" ao servidor, uma frase encriptada usando a chave pública, que só pode ser descoberta usando a chave privada.

Bloqueando ataques de força bruta no SSH o SSH percebe que a identificação do servidor mudou e lhe avisa do problema:

Bloqueando ataques de força bruta no SSH Com tantas camadas de proteção o elo mais fraco da cadeia acabam sendo as senhas de acesso, já que alguém com posse da senha, pode se logar no servidor sem dificuldades, assumindo o lugar do dono da conta. Existe também a possibilidade de um bot ficar testando várias possibilidades durante um longo período e, num golpe de sorte, conseguir descobrir a senha de root do servidor. O SSH impões por default um tempo de espera de dois segundos entre cada tentativa, o que torna os ataques de força bruta inefetivos, já que não é possível testar mais do que 1.800 combinações de senha por hora, mas isso não impede que um número crescente de bots fique martelando os servidos diretamente conectados e acabem descobrindo senhas de acesso em alguns deles

Uma medida simples que pode ser usada para eliminar este último risco é utilizar o fail2ban, um pequeno daemon que monitora os arquivos de log do servidor e bloqueia os endereços IP dos atacantes utilizando regras de firewall. Você pode instalá-lo rapidamente no Debian, Ubuntu ou derivados usando o apt-get: # apt-get install fail2ban Bloqueando ataques de força bruta no SSH

A configuração é feita através do arquivo "/etc/fail2ban/jail.conf", onde são listados os arquivos de log que serão monitorados, o número máximo de tentativas antes de aplicar o bloqueio e o tempo que ele vigorará. Por padrão, ele é configurado para banir por 10 minutos endereços a partir dos quais sejam feitas mais do que 5 tentativas mal-sucedidas. Além do SSH, ele monitora também os arquivos de log do apache (monitorando tentativas de acesso a pastas protegidas por senha através de arquivos.htaccess) e até mesmo tentativas de acesso ao servidor de e-mails (caso seja utilizado o postfix) ou ao servidor FTP. O tempo de banimento é especificado (em segundos) através da opção "bantime" dentro do arquivo, como em: bantime = 600 Bloqueando ataques de força bruta no SSH

O número de tentativas toleradas para cada serviço, assim como seu respectivo arquivo de log (que o fail2ban monitora, identificando as tentativas de login que não foram bem sucedidas) são especificados em uma seção separada, como em: [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 Bloqueando ataques de força bruta no SSH É possível também criar uma lista branca de endereços que nunca serão bloqueados, independentemente do número de tentativas, através da opção "ignoreip". Se você administra seus servidores a partir de um link com IP fixo, é interessante colocar seu endereço na lista, para evitar acidentes.

Você pode especificar vários endereços, separando-os com espaços, como em: ignoreip = 127.0.0.1 200.23.43.65 201.34.21.213 Depois de fazer modificações no arquivo, reinicie o serviço com o comando: # /etc/init.d/fail2ban restart Bloqueando ataques de força bruta no SSH

Usando o Nmap

Usando o Nmap O Nmap é um portscan de uso geral, que pode ser usado, sempre que você precisar verificar rapidamente as portas abertas em determinado host, seja na sua rede local, seja na Internet. O Nmap é um pacote muito utilizado e por isso está disponível em todas as principais distribuições. # apt-get install nmap

Usando o Nmap Para usar todos os recursos do Nmap, você deve executá-lo como root. O uso mais simples é escanear diretamente uma máquina da rede, como em: # nmap 192.168.0.3 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) Interesting ports on 192.168.0.3: (The 1661 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 68/tcp open dhcpclient 631/tcp open ipp MAC Address: 00:0F:B0:55:EE:16 (Compal Electronics) Nmap finished: 1 IP address (1 host up) scanned in 0.339 seconds

Usando o Nmap Neste exemplo, o teste foi disparado contra uma máquina Linux, rodando uma instalação personalizada do Debian Sarge. As duas portas abertas são o cliente DHCP (é normal que a porta 68 fique aberta em clientes configurados via DHCP) e o servidor Cups, que escuta na porta 631. O Cups mantém esta porta aberta sempre que é ativado (você precisa dele para imprimir, tanto em compartilhamentos da rede, quanto em impressoras locais). Por padrão, ele permite apenas que o localhost imprima e acesse a interface de administração, mas é possível configurá-lo para compartilhar as impressoras com a rede de forma bem simples através do arquivo "/etc/cups/cupsd.conf".

Usando o Nmap Nem o cliente DHCP nem o Cups permitem acesso via shell, por isso, salvo eventuais graves brechas de segurança, os ataques mais graves que poderiam ser lançados neste caso seriam tentar modificar a configuração de rede, tentando responder ao cliente DHCP no lugar do servidor DHCP da rede, ou tentar usar impressoras compartilhadas no Cups. O simples fato de uma determinada porta estar aberta, não significa que a máquina está vulnerável, mas apenas que existem serviços ativos e as portas não estão sendo bloqueadas por nenhum firewall.

Usando o Nmap Você pode obter mais informações sobre as portas abertas, incluindo a versão de cada serviço ativo usando a opção "-sv", como em: # nmap -sv 192.168.0.3 Esta opção é muito mais demorada, no lugar dela você pode preferir fazer logo um scan completo usando o Nessus. É possível também escanear de uma vez toda uma faixa de endereços, como em: # nmap 192.168.0.1-254

Usando o Nmap Outro parâmetro interessante é a opção "-O", que faz com que o Nmap tente identificar qual é o sistema operacional usado em cada máquina. Veja um exemplo: Neste caso temos uma instalação limpa do Windows XP, sem o firewall ativo. # nmap -O 192.168.0.4

Starting nmap 3.81 ( http://www.insecure.org/nmap/ Usando o Nmap ) Interesting ports on 192.168.1.35: (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS 5000/tcp open UPnP MAC Address: 02:0F:B0:55:EE:16 (Unknown) Device type: general purpose Running: Microsoft Windows 95/98/ME NT/2K/XP OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Pro or Advanced Server, or Windows XP Nmap finished: 1 IP address (1 host up) scanned in 1.145 seconds

Usando o Nmap Nmap podem ser facilmente detectados caso alguma das máquinas-alvo esteja com o Snort, ou outro detector de intrusões ativo, o que vai lhe render no mínimo um puxão de orelha do administrador da rede. Para dificultar isso, o Nmap oferece a opção de fazer um half-open scan, especificando a opção "-ss", como em: # nmap -ss 192.168.0.1-254 Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação sem, entretanto, responder com o segundo pacote ACK, que abriria a conexão. Isso permite burlar muitos programas de detecção de intrusão, que monitoram e logam apenas conexões efetivamente estabelecidas.

Usando o Nmap firewalls são configurados para bloquear apenas as portas TCP. Escanear as portas UDP é uma forma alternativa de detectar serviços abertos em uma máquina, mesmo que todas as portas TCP estejam fechadas no firewall. Existem também casos de backdoors acessíveis via UDP, como o Back Orifice (no Windows) Os scans de UDP são rápidos se direcionados a máquinas Windows, mas são absurdamente lentos se feitos contra máquinas Linux ou BSD, onde o sistema limita o número de erros de ICMP (dos quais o scan do Nmap depende) a uma taxa de aproximadamente 20 por segundo. No Windows não existe limite. Para usar o scan UDP, usamos a opção "-su", como em: # nmap -su 192.168.0.4

Usando o Nmap Por padrão, o Nmap escaneia apenas um conjunto de 1661 portas, que incluem as usadas pelos serviços mais comuns. Uma media de segurança comum é esconder serviços como o SSH em portas altas, de forma que eles sejam mais difíceis de detectar. Nesses casos, você pode fazer um scan completo, incluindo todas as portas TCP (ou UDP) usando a opção "-p 0-65535", como em: # nmap -ss -p 0-65535 192.168.0.4 A opção "-p" pode ser usada para escanear apenas uma porta específica, ou uma faixa de portas em que esteja interessado.

Usando o Nmap A opção "-ss", combinada com a "-p 0-65535", permite localizar serviços escondidos em portas altas, mas não é capaz de dizer muito sobre eles. Ele sempre retorna algo como: 22543/tcp open unknown Você pode escanear esta porta específica usando a opção "-sv" para descobrir mais sobre ela, como em: # nmap -sv -p 22543 192.168.0.4 PORT STATE SERVICE VERSION 22543/tcp open ssh OpenSSH 3.8.1p1 Debian-8.sarge.4 (protocol 1.99) Nmap finished: 1 IP address (1 host up) scanned in 0.284 seconds Agora você sabe que a máquina tem ativo um servidor OpenSSH (versão 3.8.1, do Debian Sarge), escondido na porta 22543.

Usando o Nmap Um firewall configurado para descartar (DROP) todos os pacotes recebidos, faz com que o scan torne-se extremamente lento. Nestes casos, você pode forçar o Nmap a concluir o teste, a fim de detectar serviços escondidos em portas altas usando o parâmetro "-P0", como em: # nmap -ss -P0 -p 0-65535 192.168.0.4 O problema neste caso é que o scan demora muito mais que o normal, já que, por não receber respostas, ele precisa aguardar um tempo muito maior antes de passar para a porta seguinte. Um teste executado contra um micro na Internet, através de uma conexão lenta, pode literalmente demorar dias. Apesar de não responder, o micro remoto pode ser configurado para logar suas tentativas, permitindo que o administrador tome conhecimento e aja de acordo, bloqueando seu endereço IP ou contatando seu provedor de acesso. Um firewall bem configurado é realmente uma grande vantagem de segurança para qualquer servidor.