71
MINICURSO DE REDES Servidores, vulnerabilidades e segurança Instrutores : Angela Lemos Gabriele Vieira Guilherme Neumann Mariane Batista

Minicurso de redes - Vulnerabilidades e segurança

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Minicurso de redes - Vulnerabilidades e segurança

MINICURSO DE REDES

Servidores, vulnerabilidades e segurança

Instrutores : Angela Lemos

Gabriele Vieira

Guilherme Neumann

Mariane Batista

Page 2: Minicurso de redes - Vulnerabilidades e segurança

- Introdução

Servidores:

- Apache;

- FTP;

- SSH;

- SFTP;

- DNS;

Page 3: Minicurso de redes - Vulnerabilidades e segurança

- Introdução

Vulnerabilidades:

- Wireshark;

- Nmap;

Page 4: Minicurso de redes - Vulnerabilidades e segurança

- Introdução

Segurança:

Firewall

Page 5: Minicurso de redes - Vulnerabilidades e segurança

- Servidores

0

Page 6: Minicurso de redes - Vulnerabilidades e segurança

- Apache

O apache é um servidor web. Nele que estão presentes as páginas em html dos sites.

Talvez você nunca tenha parado para pensar, mas toda vez que você acessa uma página na internet, você está acessando um servidor web.

Page 7: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Instalando:

Para começar você tem que estar como sudo ou como root

Para instalar ou remover um servidor você sempre utilizará o comando apt-get, nesse caso: sudo apt-get install apache2 sudo apt-get install apache2

Page 8: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Para verificar se tudo ocorreu corretamente abra uma guia no navegador com o IP da sua máquina.

Se na sua tela aparecer: significa que está tudo pronto!

Page 9: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Caso você queira colocar mais páginas html disponíveis em sua rede, estas serão armazenadas no diretório /var/www./var/www.

Para visualizar suas novas páginas é necessário colocar a estrutura: http://ipdo servidor/nomedanovapágina.html

Page 10: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Criando uma página

No terminal estando como sudo sudo digite gedit. gedit.

Salve a pasta em /var/www/var/www

Depois digite no navegador o ip do ip do servidor/onomedapáginaservidor/onomedapágina

Page 11: Minicurso de redes - Vulnerabilidades e segurança

- Wireshark

É um programa que analisa o tráfego da rede, organizando-o através de protocolos

Tempo de transmissão

Espionagem

Page 12: Minicurso de redes - Vulnerabilidades e segurança

- Wireshark

Arquivos seguros e não-seguro

Filtrar ips específicos

ICMP

Page 13: Minicurso de redes - Vulnerabilidades e segurança

- Wireshark

Page 14: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Configuração

Para configurar seu servidor digite no seu terminal:

sudo gedit /etc/apache2/apache2.confsudo gedit /etc/apache2/apache2.conf

Page 15: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Para mudar o número de conexões que seu servidor terá altere as linhas :

Timeout 1Timeout 1

KeepAlive OnKeepAlive On

MaxKeepAliveRequests 3MaxKeepAliveRequests 3

KeepAliveTimeout 1000KeepAliveTimeout 1000

Page 16: Minicurso de redes - Vulnerabilidades e segurança

- Apache

<IfModule mpm_prefork_module><IfModule mpm_prefork_module>

StartServers 1StartServers 1

MinSpareServers 1MinSpareServers 1

MaxSpareServers 1MaxSpareServers 1

MaxClients 1MaxClients 1

MaxRequestsPerChild 0MaxRequestsPerChild 0

</IfModule></IfModule>

Page 17: Minicurso de redes - Vulnerabilidades e segurança

- Apache

<IfModule mpm_worker_module><IfModule mpm_worker_module>

StartServers 1 StartServers 1

MinSpareThreads 1MinSpareThreads 1

MaxSpareThreads 1 MaxSpareThreads 1

ThreadLimit 64ThreadLimit 64

ThreadsPerChild 1ThreadsPerChild 1

MaxClients 1MaxClients 1

MaxRequestsPerChild 0MaxRequestsPerChild 0

</IfModule></IfModule>

Page 18: Minicurso de redes - Vulnerabilidades e segurança

- Apache

<IfModule mpm_event_module><IfModule mpm_event_module>

StartServers 1StartServers 1

MaxClients 1MaxClients 1

MinSpareThreads 25MinSpareThreads 25

MaxSpareThreads 75 MaxSpareThreads 75

ThreadLimit 64ThreadLimit 64

ThreadsPerChild 25ThreadsPerChild 25

MaxRequestsPerChild 0MaxRequestsPerChild 0

</IfModule></IfModule>

Page 19: Minicurso de redes - Vulnerabilidades e segurança

- Apache

Prática

- configurar

- restart no Apache

- limpar cache dos navegadores

- abrir wireshark e filtrar pelo ip do servidor

- colocar no navegador o ip/nome do servidor

Page 20: Minicurso de redes - Vulnerabilidades e segurança

- DNS

O DNS (Domain Name Server) surgiu da necessidade de traduzir nomes mais fáceis de serem lembrados para seus respectivos endereços na rede, algo bem mais difícil de lembrar.

Ex: 200.35.88.14 ou minicurso.com

Page 21: Minicurso de redes - Vulnerabilidades e segurança

- DNS

Bind 9:

- É o servidor para o protocolo DNS mais utilizado na Internet, especialmente em sistemas do tipo UNIX

Page 22: Minicurso de redes - Vulnerabilidades e segurança

- DNS

Instalação:

- iniciamos com a instalação do bind pelo prompt : apt-get install bind9apt-get install bind9

Page 23: Minicurso de redes - Vulnerabilidades e segurança

- DNS

Adicionando uma zona:

- Definição: é o espaço que você utiliza para fazer as conversões de nome para ip.

- As seguintes zonas já devem aparecer como padrão, então iremos adicionar a zona ”minicurso” para nosso teste.

gedit /etc/bind/named.conf.default-zonesgedit /etc/bind/named.conf.default-zones

Page 24: Minicurso de redes - Vulnerabilidades e segurança

-DNS

As primeiras 5 zonas são padrão, a partir daí você pode criar suas zonas.

No nosso caso criamos a zona minicurso.

Page 25: Minicurso de redes - Vulnerabilidades e segurança

-DNS

Criando uma zona...

- é necessário que você abra o gedit pelo prompt e crie o arquivo.dns, onde estarão os ips e respectivos nomes.

Page 26: Minicurso de redes - Vulnerabilidades e segurança

-DNS

PING

- Quando vocês pingarem "minicurso" serão redirecionados para o IP 192.168.58.133

Utilizando o comando /etc/init.d/bind9/etc/init.d/bind9 reloadreload você estará pronto para usufruir de seu servidor

Entretanto, você precisará configurar as máquinas da rede, para que elas reconheçam o seu DNS como servidor padrão.

Page 27: Minicurso de redes - Vulnerabilidades e segurança

-DNS

Configurando as máquinas

Page 28: Minicurso de redes - Vulnerabilidades e segurança

-DNS

Toda máquina que a partir de agora pingar outra máquina ,entrar na internet ou acessar uma página que está no servidor apache, estará passando pelo DNS.

Page 29: Minicurso de redes - Vulnerabilidades e segurança

-DNS

Comando: NSLOOKUP

É um comando para consulta dos nomes de domínios de uma rede;

Page 30: Minicurso de redes - Vulnerabilidades e segurança

MINICURSO DE REDES

Servidores, vulnerabilidades e segurança

Segundo dia

Instrutores : Angela Lemos

Gabriele Vieira

Guilherme Neumann

Mariane Batista

Page 31: Minicurso de redes - Vulnerabilidades e segurança

- Vulnerabilidades

Page 32: Minicurso de redes - Vulnerabilidades e segurança

- FTP

O FTP (File Transfer Protocol), é um protocolo para transferência de arquivos.

Page 33: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Fácil

Rápido

Vulnerável

Page 34: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Instalação em diferentes distribuições:

- Debian, Ubuntu : Através do comando no prompt : apt-get install proftpd apt-get install proftpd

- Fedora, Red Hat : Através do comando no prompt : yum install proftpd yum install proftpd ou yum search yum search proftpd proftpd

Page 35: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Configurando o proftpd

Digite o comando gedit /etc/proftpd.confgedit /etc/proftpd.conf

Então aparecerá

Page 36: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Neste arquivo de configuração você poderá realizar algumas configurações como:

#Nome do Servidor

ServerName ''Nome do seu servidor''

#Modo no qual rodará (standalone ou inetd)

ServerType standalone

#Define o login anônimo como sinônimo do login ftp

UserAlias anonymous ftp

Page 37: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Login anônimo:

Clientes que não possuem login no ftp

Só podem ver arquivos , mas não podem fazer download dos mesmos

Page 38: Minicurso de redes - Vulnerabilidades e segurança

- FTP

#Porta para socket de controle

Port 21

#Máximo de usuários autenticados

MaxClientesPerHost 4 ''Mensagem de erro para usuário''

Page 39: Minicurso de redes - Vulnerabilidades e segurança

- FTP

#Tempo Máximo sem transferência de dados

TimeoutNoTransfer 600s

#Tempo Máximo com transferência parada(travada)

TimeoutStalled 600s

#Tempo Máximo conectado mas sem troca de dados

TimeoutIdle 1200s

Page 40: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Depois de instalado, reinicie-o através do comando /etc/init.d/proftpd restart /etc/init.d/proftpd restart

Agora crie usuários linux através do comando adduser abelardo adduser abelardo

Terminado, abra qualquer browser e digite

ftp://ipdoservidorftp://ipdoservidor

Ele irá pedir um usuário e senha, agora você entra com "abelardo" e sua senha.

Page 41: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Page 42: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Page 43: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Page 44: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Page 45: Minicurso de redes - Vulnerabilidades e segurança

- FTP

Para pegar um arquivo no servidor

get nomedoarquivoget nomedoarquivo

Para enviar um arquivo para o servidor

put/send nomedoarquivoput/send nomedoarquivo

Page 46: Minicurso de redes - Vulnerabilidades e segurança

- SSH

O SSH (Secure Shell), desenvolvido em 1995 por Tatu Ylonen, permite administrar máquinas remotamente. Permite transferir arquivos e também encapsular outros protocolos.

- ênfase na segurança

- utiliza a porta 22 mas pode ser modificada

Page 47: Minicurso de redes - Vulnerabilidades e segurança

- SSH

O SSH é dividido em dois módulos:

- SSHD: módulo do servidor

- SSH: módulo do cliente

Page 48: Minicurso de redes - Vulnerabilidades e segurança

- SSH

Para instalar o SSH no servidor, iremos utilizar o comando : apt-get install apt-get install openssh-server openssh-server

Para ativar (ubuntu): /etc/init.d/ssh start /etc/init.d/ssh start ou

service sshd startservice sshd start

Page 49: Minicurso de redes - Vulnerabilidades e segurança

- SSH

A configuração do servidor SSH é feita no arquivo : /etc/ssh/sshd_config /etc/ssh/sshd_config e a do cliente : /etc/ssh/ssh_config/etc/ssh/ssh_config

Page 50: Minicurso de redes - Vulnerabilidades e segurança

- SSH

Configurando o cliente :

- para que o SSH permita rodar aplicativos gráficos basta modificar a linha: ForwardX11 ForwardX11 no no ,trocando o no para yes ;

- para,no uso de um servidor acessível à internet, redução do consumo de banda (compressão dos dados via gzip) adiciona-se a linha: Compression = yesCompression = yes

Page 51: Minicurso de redes - Vulnerabilidades e segurança

- SSH

- para que o cliente envie pacotes periodicamente para o servidor, adiciona-se a linha: ServerAliveInterval 120ServerAliveInterval 120 ( no caso a cada 120 segundos)

Page 52: Minicurso de redes - Vulnerabilidades e segurança

- SSH

Configuração do servidor :

- controle de acesso : no caso de um servidor em uma máquina com duas ou mais placas de rede (roteador) onde se é desejável limitar o acesso ao servidor a apenas uma interface, para isso adicona-se a linha : ListenAddress ListenAddress ipdaredeipdarede

- para restringir o acesso ao servidor, criando uma lista de quem pode acessá-lo, adiciona-se a linha : AllowUsers fulano1 fulano 2AllowUsers fulano1 fulano 2

Page 53: Minicurso de redes - Vulnerabilidades e segurança

- SSH

- invertendo a lógica, é possível também criar uma lista de quem não pode acessar o servidor, adicionando a linha: DenyUsers DenyUsers fulano3 fulano4fulano3 fulano4

- para restringir o acesso de usuários sem senha : PermitEmptyPasswords noPermitEmptyPasswords no

- antes do cliente, é possível também determinar se o servidor permitirá que os clientes executem aplicativos gráficos, na linha : X11Forwarding yesX11Forwarding yes

Page 54: Minicurso de redes - Vulnerabilidades e segurança

- SSH

Utilizando o SSH : ao ser ativado, o SSH, por padrão, permite acesso de qualquer conta de usuário cadastrado no sistema ( a não ser que se tenha restringido o acesso ).

Page 55: Minicurso de redes - Vulnerabilidades e segurança

- SSH

logando no servidor : ssh usuário@ip do ssh usuário@ip do servidor. servidor. Logo após o servidor pedirá a senha do usuário

Page 56: Minicurso de redes - Vulnerabilidades e segurança

- SSH

Utilizando o comando help help dentro do ssh, ele nos lista vários comandos possíveis nele.

Page 57: Minicurso de redes - Vulnerabilidades e segurança

- SSH (SFTP)

O SFTP, assim como o FTP, é um protocolo para transferência de arquivos, mas dentro do SSH e utilizando a segurança oferecida por ele.

- ele é ativado através da linha : Subsystem sftp Subsystem sftp /usr/lib/sftp-server /usr/lib/sftp-server (no arquivo de configuração do servidor SSH)

Page 58: Minicurso de redes - Vulnerabilidades e segurança

- SSH (SFTP)

Utilizando o SFTP: muito parecido com o modo se logar no SSH : sftp usuário@ip do servidorsftp usuário@ip do servidor , e logo depois a senha.

- o comando help help também é utilizado no SFTP.

Enviando e baixando arquivos do servidor:

- enviando : put nomedoarquivoput nomedoarquivo

- baixando : get nomedoarquivo get nomedoarquivo

Page 59: Minicurso de redes - Vulnerabilidades e segurança

- Nmap

PortScan (escaneador de portas)

Possui diferentes funções entre elas :

verificação de topologias

fazer mapeamento da rede

verificação de sistema operacional

verificação de serviços

Page 60: Minicurso de redes - Vulnerabilidades e segurança

- Nmap

A saída do Nmap é uma lista de alvos escaneados.

Uma informação chave é a tabela de portas:

- Essa tabela lista o número da porta e o protocolo, o nome do serviço e o estado.

Page 61: Minicurso de redes - Vulnerabilidades e segurança

- Nmap

O estado pode ser:

- Aberto (open)

- Filtrado (filtered)

- Fechado (closed)

- Não-filtrado (unfiltered)

O Nmap também reporta combinações como: Aberta|filtrada e fechada|filtrada.

Page 62: Minicurso de redes - Vulnerabilidades e segurança

- Nmap

Page 63: Minicurso de redes - Vulnerabilidades e segurança

- Nmap: Comandos

Descoberta de Hosts:

-sL (Scan Listagem)

-sP (Scan usando ping)

-P0 (Sem ping)

-PS (Ping usando TCP SYN)

-PA (Ping usando TCP ACK)

-PU (Ping usando UDP)

-PE; PP; PM (Tipos de ping do ICMP)

Page 64: Minicurso de redes - Vulnerabilidades e segurança

- Nmap: Comandos

Descoberta de Hosts:

-PR (Ping usando ARP)

Page 65: Minicurso de redes - Vulnerabilidades e segurança

- Nmap: Comandos

Técnicas de escaneamento de portas:

-sS: scan TCP SYN

-sT: scan TCP connect

-sU: scans UDP

-sA: scan TCP ACK

-s0: Scans do protocolo IP

Page 66: Minicurso de redes - Vulnerabilidades e segurança

- Nmap: Comandos

-T: Estabelece um padrão de temporização

Ex: -T4 proibe que o atraso dinâmico de escaneamento exceda 10ms para portas TCP;

Page 67: Minicurso de redes - Vulnerabilidades e segurança

- Nmap: Comandos

Outros comandos:

-p (Escaneia apenas as portas especificadas

-F (Scan Rápido – portas limitadas)

-r (Não usa portas de forma aleatória)

-A (Detecção tanto de SO como de versão)

-O (Detecção de SO)

-v (Aumenta o nível de verbosidade)

Page 68: Minicurso de redes - Vulnerabilidades e segurança

- Nmap

IMPORTANTE : não utilizar o portscan para serviços na internet, pois pode ser considerado ataque de hacker.

Page 69: Minicurso de redes - Vulnerabilidades e segurança

- Firewall

É uma ferramenta utilizada para o controle da sua máquina pessoal ou da rede.

Com ela você pode permitir e bloquear diversas ações da sua máquina com o mundo externo(rede).

Pode trabalhar em conjunto com o anti-vírus

Page 70: Minicurso de redes - Vulnerabilidades e segurança

- Firewall : COMODO

Interface mais intuitiva (amigável)

Além de firewall ele é um IPS(sistema de proteção contra intrusos) que faz com que processos que acessem a internet sejam identificados.

Page 71: Minicurso de redes - Vulnerabilidades e segurança

- Firewall : COMODO

Garante o controle completo dos programas que permitem acesso a internet

Fique protegido contra novas ameaças via atualizações online automáticas

O monitoramento do tráfego em tempo real possibilita sua reação instantânea as ameaças

Gratuito - proteção completa para redes ou usuários domésticos, sem nenhum custo