Minicurso de redes - Vulnerabilidades e segurança

Preview:

DESCRIPTION

 

Citation preview

MINICURSO DE REDES

Servidores, vulnerabilidades e segurança

Instrutores : Angela Lemos

Gabriele Vieira

Guilherme Neumann

Mariane Batista

- Introdução

Servidores:

- Apache;

- FTP;

- SSH;

- SFTP;

- DNS;

- Introdução

Vulnerabilidades:

- Wireshark;

- Nmap;

- Introdução

Segurança:

Firewall

- Servidores

0

- 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.

- 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

- 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!

- 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

- 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

- Wireshark

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

Tempo de transmissão

Espionagem

- Wireshark

Arquivos seguros e não-seguro

Filtrar ips específicos

ICMP

- Wireshark

- Apache

Configuração

Para configurar seu servidor digite no seu terminal:

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

- 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

- 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>

- 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>

- 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>

- 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

- 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

- DNS

Bind 9:

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

- DNS

Instalação:

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

- 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

-DNS

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

No nosso caso criamos a zona minicurso.

-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.

-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.

-DNS

Configurando as máquinas

-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.

-DNS

Comando: NSLOOKUP

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

MINICURSO DE REDES

Servidores, vulnerabilidades e segurança

Segundo dia

Instrutores : Angela Lemos

Gabriele Vieira

Guilherme Neumann

Mariane Batista

- Vulnerabilidades

- FTP

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

- FTP

Fácil

Rápido

Vulnerável

- 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

- FTP

Configurando o proftpd

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

Então aparecerá

- 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

- FTP

Login anônimo:

Clientes que não possuem login no ftp

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

- FTP

#Porta para socket de controle

Port 21

#Máximo de usuários autenticados

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

- 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

- 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.

- FTP

- FTP

- FTP

- FTP

- FTP

Para pegar um arquivo no servidor

get nomedoarquivoget nomedoarquivo

Para enviar um arquivo para o servidor

put/send nomedoarquivoput/send nomedoarquivo

- 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

- SSH

O SSH é dividido em dois módulos:

- SSHD: módulo do servidor

- SSH: módulo do cliente

- 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

- 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

- 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

- SSH

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

- 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

- 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

- 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 ).

- 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

- SSH

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

- 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)

- 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

- 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

- 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.

- 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.

- Nmap

- 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)

- Nmap: Comandos

Descoberta de Hosts:

-PR (Ping usando ARP)

- 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

- 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;

- 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)

- Nmap

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

- 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

- 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.

- 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

Recommended