Faculdade de Engenharia da Computação - univap.br fileCliente Servidor SO SO SO – Sistema...

Post on 29-Jun-2018

215 views 0 download

Transcript of Faculdade de Engenharia da Computação - univap.br fileCliente Servidor SO SO SO – Sistema...

1

Faculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoDisciplina:

Segurança Aplicada à Computação

Sistemas de Defesa para Segurança da Informação

Site : http://www1.univap.br/~wagner/ec.html

Prof. ResponsáveisWagner Santos C. de Jesus

Conceito de Port Scanner

2

Os PortScanner

São programas que percorrem asprincipais portas e serviços do sistema embusca de respostas.

3

0

1

2

3

....

n+1

6000

PortScanner

Tipos de Scanner das portas:

1 - TCP Connect Scan:

Esse tipo de Scanner se conecta àporta e executa os três hand-shakesbásicos (SYN, SYN/ACK e ACK). Ele éfacilmente detectável.

4

Synchronize sequence numbersAcknowledgment field significant Aviso campo significativa

Sincronizar números de seqüência

Connect Scan

5

Backlog - 1 Escuta Passiva

Backlog Cheio

Inicia ligação

TimeoutSYN

ACK

SYN-ACK

SYN

Backlog Cheio

2 - UDP Scan

Trata-se de um dos processos maislentos de scanning, pois depende defatores de utilização da rede e de recursosde sistema. O scanner envia um pacoteUDP para a porta-alvo, se a resposta forICMP (port unreachable), a portaencontra-se fechada, caso contrário, oscanner deduz que a porta está abeta.

6

Algoritmo UDP Scan

7

Pacote (UDP)

Porta N

Porta = 0

Porta Aberta

N = N + 1N

S

3 - TCP Null Scan

Neste caso, o scanner desativa todosos flags e aguarda do alvo um RST(Resetthe connection) para identificar todas asportas fechadas.

8Redefinição da Conexão

3 - TCP Null Scan

9

Backlog Cheio

Inicia ligação

Timeout

SYN

Backlog CheioRST

SYN

4 – TCP FIN Scan

O Scanner envia um pacote FIN para aporta-alvo e espera o retorno de um RSTpara as portas fechadas.

10

4 - TCP FIN Scan

11

Transferência de dados

FIN

ACK

FIN

Transferência de dados

ACK

Termina Conexão

ConexãoTerminada

ConexãoTerminada

5 – TCP TREE Scan

Efetua o envio de pacotes FIN, URG ePush para a porta alvo e espera o retornode um RST para as portas fechadas.

12

5 – TCP TREE Scan

13

Transferência de dados FIN

Transferência de dados

ACK

URG

ACK

PUSHACK

RST

Criando um PortScanner

UDP14

15

Inter-redeTCP/IP

Usando Java para comunicação de dados via TCP/IP

• Implementando a comunicação clienteservidor por intermédio de socket(tomada).

ClienteServidor

SOSO

SO – Sistema Operacional

TCP

Protocolos

• Não Orientado a conexão UDP• Orientado a conexão TCP

16

17

Pacotes(Bibliotecas) net / io

• net - Pacote java para acesso a comandode transmissão via rede.

• io – Pacote para controle de entradas esaídas.

Realizando transmissão não orientada a conexão

(UDP)

18

Conexão de envio de dados para o Cliente

19

Classe InetAddress()

Classe que idenficar o host de uma máquina.

20

Método estático getByName()

getByName() : Encapsula o endereço da máquina destino.

Sintaxe:

InetAddress addr = InetAddress.getByName(“192.168.0.10”);

21

getHostAddress()

Retorna com endereço IP de conexão deum determinado endereço remoto.

22

DatagramPacket()

Montagem do pacote Datagrama a ser enviado.

Sintaxe:

DatagramPacket pkg = new DatagramPacket(byte[],leng th, addr, port);

23

bytelengthaddrport

Seqüência de byte a ser enviada.Comprimento da mensagem de envio.Endereço de do destinatário.Porta de comunicação

DatagramSocket()

Classe que monta o socket que seráresponsável pelo envio.

Sintaxe:

DatagramSocket ds = new DatagramSocket();

24

getPort()

Retorna o número da porta remoto para o qual este soquete está conectado.

25

Portaqualquer

ProcessoCliente

ProcessoServidor

PortaConhecida

Host: 138.36.95.240 Host: 138.37.58.250

Socket = IP + Porta

Método: send()

Associa o pacote datagrama com o socket que irá enviar a mensagem.

Sintaxe:

<Dtsocket>.send(<PacoteDat>);

26

Método: close()

Fecha a conexão em uma transmissão UDP.

Exemplo: ds.close()27

28

Tratamento de erro para envio de mensagens

try {...Programa

}catch(Exception e){

System.err.println(e);}

Conexão de recebimento de dados para o servidor

29

DatagramSocket()

Conecta Socket na porta do cliente.

Sintaxe

DatagramSocket ds = new DatagramSocket(port);

30

DatagramPacket()

Prepara packote para recebimento de dados.

Sintaxe:

DatagramPacket pkg = new DatagramPacket(byte[], length);

31

Método: receive()

Associa o pacote com o datagrama e recebe a mensagem do cliente.

Sintaxe:

<ds>.receive(<pkg>);

32

Método: close()

Fecha a conexão em uma transmissão UDP.

Exemplo: ds.close()33

Realizando transmissão orientada a conexão

(TCP)Conexão (Cliente)

34

Socket(): Criar canal de comunicação na rede.

Socket clisoc = new Socket(<SIP>,<Iporta>);

Sintaxe:

<SIP>: String para endereçamento da máquina do servidor.<Iporta>: Número da porta de comunicação.

35

PrintStream: Saída de Stream

Realiza conexões de saída (envio dedados para um servidor).

36

Portaqualquer

ProcessoCliente

ProcessoServidor

PortaConhecida

Host: 138.36.95.240 Host: 138.37.58.250

Socket = IP + Porta

getOutputStream()

Este método retorna o fluxo de saída ligadoà entrada normal do sub-processo.

Sintaxe:

coutput = new PrintStream(<socket>.getOutputStream());

37

println()

Envia dados para o servidor.

Exemplo:

coutput.println("SYN");

38

close()

Fechar o fluxo de saída.

Exemplo:

coutput.close();

39

Protegendo -se contra PortScanners TCP

Connection

40

TCP - Connection

Para se entender como proteger umsistema de ataques de Portscann énecessário antes ter em mente asseguintes afirmações:

41

TCP - Connection

1. Todos os sistemas que disponibiliza um serviço parausuários provenientes da Internet deverá ter uma portaaberta em seu computador.

2. A maioria dos programas utilizados para servir usuáriosproveniente da Internet ou até mesmo da rede localpossuem portas padrão.

3. 95% dos programas de PortScanning disponíveis daInternet procuram por portas padrão.

4. Toda porta pode ser fechada e suas conexõescanceladas ou rejeitadas.

42

Portas (Cuidados)

43

Portas Serviços

25 SMTP

110 POP

79 Finger (Inf. Usuário)

43 WHOIS

23 TELNET

21 FTP

80 http

Cuidado porta (79)

Login : indica o login do usuário que foi passado como parâmetro aocomando finger ;Name: o nome real do usuário associado ao login;Directory : local em que fica o diretório pertencente ao usuário(home do usuário);Shell : o interpretador de comandos usado pelo usuário;Last login : mostra quando o usuário esta, ou esteve, logado. Exibetambém a data, a hora que ocorreu o login e de que máquina;Mail : indica se o usuário tem email na sua caixa postal;Plan : apresenta o texto deixado pelo usuário no arquivo plan quedeve estar localizado no diretório pessoal de cada usuário.

44

Bloqueio de Portas

45

WAN

Linux (ipfwadm)Windows

Criando bloqueio em uma porta de comunicação

Firewall46

Criando bloqueio de acessoACL (Access Control List)

47

Rede LAN192.168.1.0

Rede WAN10.0.0.128

192.168.1.110.0.0.11

Firewall

10.0.0.0

Criação de Bloqueio com ACLs

Protocolo de acesso de IP utilizadopara realizar filtragem em pacotes IPbaseados em endereço de origem,endereço de destino e tipo de Pacote.

48

Serviço

access-list

Rede-B Rede-A

Protocolo access-list

Permite efetuar bloqueios de serviçoslistados em uma determinada porta decomunicação.

49

access-list <porta> <tipo-acess> <host> <IP>

Bloqueio de trafego do Protocolo ICMP

50

Retirando Acesso

access-list 101 deny icmp any any host-unreachable

51

Porta de acesso

Negativa para porta

Tipo de serviço

Qualquer dispositivo da rede

Status Inacessível

Permitindo o acesso

52

Tipo de serviço

access-list 101 permit tcp any any eq www

Porta de acesso

Permissão (Ok)

Qualquer dispositivo da rede

Serviço de web

Determinar porta física do Roteador

53

interface fastEthernet 0/0

Neste contexto irádeterminar qual adireção tráfego queserá realizado obloqueio.

Grupos de acesso

Permite que os acessos com IP na porta 101 seja apenas de entrada.

54

ip access-group 101 in

Aplicação prática de um Firewall usando restrição

de acesso

55

Configurando Roteamento de acesso

56

Router>enableRouter#conf termRouter(config)#access-list 101 deny icmp any any host-unreachableRouter(config)#access-list 101 permit tcp any any eq wwwRouter(config)#interface fast 0/0Router(config-if)#ip access-group 101 inRouter(config-if)#exitRouter(config)#exit

Tecnologia de Segurança ASA

Adaptive Security Appliance(Dispositivo Adaptativo

de Segurança)

57

Tecnologia ASA

É uma plataforma modular que fornece apróxima geração de segurança e serviçosVPN para ambientes que variam depequenas e médias empresas.

58

Benefícios - ASA

• Proteção contra ameaças e controle deconteúdo.

• Baixo Custo de Hardware.• Reduz custos de manutenção - Libera os

recursos de suporte em TI.• Habilita o acesso remoto seguro.

59

Conceito de VPN(Virtual Private

Network)

60

VPNUma rede de comunicação privadaconstruída sobre uma rede de comunicaçãopublica. Onde o trafego de dados é levadopela rede publica não necessariamentesegura.

61

Acesso Servidores

Fora Dentro

Autenticação

Se Autentica Acesso livre

Tunelamento

VPNS Seguras

Usam protocolos de criptografia via tunelamento.

Fornecendo:

Confidencialidade,Autenticidade,Integridade

62

Conceito de DMZ(Zona Desmilitarizada)

63

Conceito DMZ

Sua função é de manter todos os serviçosque possuem acesso externo, como FTP,HTTP e outros), juntos em uma rede local,limitando danos comprometimento da redeem casos de invasão.

64

Topologia DMZ

65

http smtp SGBD

DMZ

Rede Local

Provedor

Internet

Conceito de SSL(Secure Socket Layer)

66

Conceito

• Em uma conexão SSL, seu servidor web criará duas chaves criptográficas:

Chave Privada (Private Key) – (Secreta)Chave Pública (Public Key) – (Divulgada)

67

VPN SSL Modos

• ClientlessOferece segurança para conteúdos (Web,Banco de dados)

• Thin Clent (port-forwarding Java applet)Acesso remoto baseados em aplicações TCP (Correio,

SSH e Telnet)

• Tunnel ModeModo Tunelamento completo.

68

Configuração ASA VPN

• Habilita WebVPN em uma interface ASA.• Definir lista de usuário em serviços de

autenticação.• Gerar uma lista de servidores e/ou URL para

acesso VPN.• Criar um grupos de politicas para os

usuários WebVPN.• Aplicar o novo grupo de politicas ao

tunelamento.69

Topologia para ASA VPN - 5505

70

servidores

192.168.2.1

192.168.2.X

Servidor: 192.168.1.2 Gateway 192.168.1.1

Aplicação de uma Rede VPN SSL ASA

71

Configuração do Dispositivo ASA

72

Visualizando configurações padrão

enableshow run

73

Configuração do terminal

Prepara o terminal dos dispositivos para realização de configurações.

Exemplo:

ciscoasa# conf terminal

74

Configuração da interface

Possibilita a determinação de qual adistribuição vlan será direcionada.

Exemplo:

ciscoasa(config)# interface vlan2

75

ip address

Criação de identificação do endereço que será direcionada a vlan com sua respectiva mascara de rede.

Exemplo:

ciscoasa(config-if)# ip address 192.168.2.1 255.255.255.0

76

interface ethernet0

Determina a porta física de comunicaçãoque será usada pela vlan correspondente.

Exemplo:

ciscoasa(config-if)# interface ethernet0/0

77

Não desligar

Não efetuar desligamento de estado de configuração do dispositivo.

Exemplo:

ciscoasa(config-if)# no shutdownciscoasa(config-if)#exit

78

username

Determina o nome do usuário e qual senha seráarmazenada no dispositivo de segurança jácriptografada. MD5 (Message-Digest algorithm)

Exemplo:

ciscoasa(config)#username univap password teste

79

group-policy

Determinar a politica do grupo de trabalho de acesso ao dispositivo. (Interna)

Exemplo:

ciscoasa(config)# group-policy Politica1 internal

80

group-policy attributes

Prepara politica de grupo para o tunelamento.

Exemplo:

ciscoasa(config)#group-policy Politica1 attributes

81

webvpn

SSL/VPN para configurações em um túnelde acesso usando recursos de protocoloWEB.

Exemplo:ciscoasa(config-group-policy)# webvpn

82

url-list value

Determina qual será o usuário de acesso ao tunelamento.

Exemplo:url-list value univap

83

Bookmark Manager

Bookmark: <nome>URL: <Endereco_Servidor>

Marca página de acesso para comunicação.Exemplo:Bookmark: univapURL: http://192.168.1.2

84

tunnel-group

Definindo um grupo de tunelamento deacesso.

Exemplo:

ciscoasa(config)#tunnel-group accesso1 type remote-accessciscoasa(config)#tunnel-group accesso1 general-attributes

85

default-group

Define politica de grupo padrão de acesso.

Exemplo:

ciscoasa(config-tunnel-general)# default-group-policy Politica1

86

username attributes

Determina o nome de domínio que deve responder ao tunelamento.

Exemplo:

ciscoasa(config)# username univap attributes

87

vpn-group

Especifica o nome da diretiva de grupo apartir da qual este usuário herda osatributos.

Exemplo:

ciscoasa(config-username)# vpn-group-policy Politica1exit

88

Aplicando configuração do ASA-VPN

ciscoasa>enableciscoasa>show runconf termint vlan2ip address 192.168.2.1 255.255.255.0int ether0/0no shutdownexitwebvpnenable outsideexit

89

username univap password testegroup-policy Politica1 internalgroup-policy attributes Politica1webvpnurl-list value univaptunnel-group acceso1 type remote-accesstunnel-group acceso1 general-attributesdefault-group-policy Politica1username univap attributesvpn-group-policy Politica1exit