faculdade de engenharia da computação - univap.br filecliente servidor so so so – sistema...
TRANSCRIPT
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