Emulador de terminal - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

Emulador de terminal

Description:

Title: Sniffer Last modified by: Roberto Amaral Document presentation format: Apresenta o na tela Other titles: Times New Roman Arial Arial Narrow Utopia Helvetica ... – PowerPoint PPT presentation

Number of Views:260
Avg rating:3.0/5.0
Slides: 68
Provided by: gerdsUtpB4
Category:

less

Transcript and Presenter's Notes

Title: Emulador de terminal


1
Emulador de terminal TELNET
  • O TELNET permite que um usuário interação
  • Estabelece conexão TCP com um servidor
  • Transmite os toques no teclado do usuário
    diretamente ao computador remoto.
  • Serviço transparente.

2
Emulador de terminal TELNET
Transmissão comandos
Aplicativo
Aplicativo
S.O.
S.O.
Comando DIR
S.O. de Rede
S.O. de Rede
3
Emulador de terminal TELNET
  • Transmissão de teclas

4
Emulador de terminal TELNET
Estabelece conexão TCP com um servidor
Conexão TCP
Conexão TELNET
5
Emulador de terminal TELNET
  • Amplamente usado
  • Permite que o usuário especifique a máquina
    remota fornecendo seu nome de domínio ou seu
    endereço IP.
  • O TELNET oferece três serviços básicos.
  • Terminal virtual da rede
  • Negociação de opções e fornecimento de um
    conjunto de opções padronizadas
  • Trata ambas as pontas da conexão de forma
    simétrica.

6
Emulador de terminal TELNET
  • Exige Cliente e Servidor

Servidor envia dados
Cliente lê dados de terminal
Cliente envia dados ao servidor
Client TELNET
Servidor TELNET
Servidor recebe dados
Dispositivo de entrada e saída de dados do
usuário




















Sistema Operacional
Sistema Operacional
Inter-rede TCP/IP
7
Emulador de terminal TELNET
  • pseudoterminal (aceite do sistema operacional)
  • Um programa em nível de aplicativo vantagens e
    desvantagens.
  • Vantagem - Fácil a inclusão das modificações e o
    controle do servidor
  • Desvantagem - Ineficiência. Cada sinal trafega do
    teclado do usuário,

8
Emulador de terminal TELNET
Pseudoterninal
Cliente
Telnet Server Filho
PSEUDOTERMINAL
Telnet PAI
S.O.
S.O.
Conexão
NVT
NVT
9
Emulador de terminal TELNET
  • TELNET - Interoperacional entre o maior número
    possível de sistemas
  • carriage control (CR)
  • linefeed (LF)
  • CR-LF
  • Para acomodar esta heterogeneidade, o TELNET
    define como as seqüências de dados e de comandos
    são enviadas através da Internet. A definição é
    conhecida como o terminal virtual de rede (NVT
    Network Virtual Terminal)

10
Emulador de terminal TELNET
  • Software do cliente converte os toques para NVT e
    os envia ao servidor.
  • O software do servidor converte os dados e
    comandos recebidos em formato NVT para o formato
    requerido pelo sistema remoto.

11
Emulador de terminal TELNET
interpretação para os caracteres de controle
12
Emulador de terminal TELNET
  • Além da interpretação de caracteres de controle,
    o NVT define que a finalização da linha padrão
    seja feita através de uma seqüência de duplo
    caractere CR-LF. Quando um usuário pressionar a
    tecla que corresponde ao fim da linha no terminal
    local (p. ex., ENTER ou RETURN), o cliente TELNET
    deverá converte-la em CR-LF para a retransmissão.
    O servidor TELNET converte CR-LF para a seqüência
    de caracteres de fim de linha apropriados na
    máquina remota.

13
Emulador de terminal TELNET
. A figura abaixo lista as funções de controle
permitidas pelo NVT
14
Emulador de terminal TELNET
  • A maioria dos teclados não possui teclas
    extras.
  • Os interpretadores de comandos dos S.O.
    dispõem de uma variedade de formas para gerá-los.
  • Os projetistas NVT optaram por manter os
    comandos separados do conjunto de caracteres
    normais ASCII por dois motivos.
  • Para definir as funções de controle
    separadamente permite maior flexibilidade ao
    TELNET.
  • Para fazer a separação entre os sinais de
    controle e dos dados normais.

15
Emulador de terminal TELNET
  • Para transmitir funções de controle por uma
    conexão TCP, o TELNET codifica-as usando uma
    seqüência de escape.
  • Uma seqüência de escape utiliza um octeto
    reservado para indicar que um octeto de código de
    controle vem em seguida.
  • No TELNET, o octeto reservado que inicia de
    escape é conhecido como octeto IAC (interpret as
    command).

16
Emulador de terminal TELNET
Comandos possíveis e a codificação decimal.
17
Emulador de terminal TELNET
Comandos possíveis e a codificação decimal.
18
Emulador de terminal TELNET
Comandos possíveis e a codificação decimal.
Concordância em executar a opção especificada
Interprete como Comando
19
Emulador de terminal TELNET
Comando go-ahead
O sinal vá em frente
20
Emulador de terminal TELNET
Resposta Comando go-ahead
O sinal vá em frente
21
Emulador de terminal TELNET
Forçar o servidor a ler uma função de controle
  • Enviar funções de controle juntamente com dados
    normais nem sempre é suficiente para assegurar os
    resultados desejados.
  • Exemplo de função de controle da interrupção
    de processo para o servidor.
  • O servidor deve parar de ler os dados da
    conexão TCP, fazendo com que os buffers fiquem
    carregados.
  • Oportunamente, o TCP da máquina do servidor
    começa a indicar uma janela de tamanho zero,
    impedindo que os dados fluam pela conexão

22
Emulador de terminal TELNET
  • Se o usuário gerar uma função de controle de
    interrupção quando os buffers estiverem cheios, a
    função de controle jamais chegará ao servidor.
    Isso indica que o cliente poderá formar a
    seqüência de comando IAC IP e envia-lo à conexão
    TCP, mas como o TCP parou de transmitir à máquina
    do servidor, o servidor não lerá a seqüência de
    controle.

23
Emulador de terminal TELNET
Buffer Cheio
Zera a Janela
Programa Travado
Conexão Normal
Conexão Normal
Servidor Libera Buffer
IAC IP URGENTE
Servidor Aceita URG
24
Emulador de terminal TELNET
  • O TELNET não pode depender somente do stream de
    dados convencional para transmitir as seqüências
    de controle entre o cliente e o servidor, já que
    um aplicativo que esteja operando erroneamente e
    que precise ser controlado poderá
    inadvertidamente bloquear o stream de dados.

25
Emulador de terminal TELNET
Opções TELNET
26
Emulador de terminal TELNET
  • Qualquer extremidade pode faça uma solicitação.
    (protocolo simétrico)

Inicia o serviço com a opção
Will X ?
DO X ou DONT X
WILL X e WONT X
27
Emulador de terminal TELNET
Negociação
Negociação
28
Emulador de terminal TELNET
Negociação
29
Emulador de terminal TELNET
Negociação
Início de subnegociação de opções
30
Emulador de terminal TELNET
Negociação
FIM de subnegociação de opções
31
TÁ LOCO............
? ? ?
32
Segurança Secure Shell
Descrição
O Secure Shell é um programa para ligar
equipamentos que estão em máquinas diferentes
permitindo executar comandos remotamente.
O SSH ( Secure Shell ) é muito parecido com o
telnet mas possui suporte a criptografia de dados
tornando a técnica de sniffer ineficiente,
evitando que logins, senhas, cartões de créditos
e outros dados sejam grampeados.
33
Segurança Secure Shell
TELNET
34
Segurança Secure Shell
SSH
35
Segurança Secure Shell
Software SSH é Free implementado para
suportar os protocolos SSH1 e SSH2.
As implementações de SSH usam como padrão a porta
22/tcp do TCP/IP.
Possuem suporte para kerberos, autenticação TIS e
sockts.
Instalação e configuração são muito simples,
grande suporte técnico em listas de
discussão, estabilidade, escalabilidade,
segurança quando bem configurado, suportado
por diversos sistemas operacionais.
36
Segurança Secure Shell
O SSH (www.ssh.fi) é escrito em C ANSI
(www.ssh.fi)
openssh (www.openssh.com) possui suporte ao ssh1
e ssh2.
SSH2 possui maior flexibilidade, melhor
escalabilidade e uma maior segurança. O
SSH2 atualmente é menos usado que o SSH1, como
ambos são incompatíveis as instituições/empresas
que precisam se comunicar com outras tem
que utilizar o SSH1.
37
Segurança Secure Shell
Suporte a vários algoritmos criptográficos
  • BlowFish Chave de 64 bits Utilizado em
    redes de alta velocidade e de alto volume
  • DES Padrão do governo EUA
  • IDEA - Chave de 128 bits
  • RSA Sistema criptográfico de chave publica /
    chave privada

38
Segurança Secure Shell
COMO FUNCIONA O SECURE SHELL
O Ssh usa um esquema de autenticação de servidor
por RSA. O esquema está baseado em criptografia
de chaves públicas e privadas, no qual a
encriptação e desencriptação usam chaves
separadas, não sendo possível através da chave de
encriptação saber a de desencriptação. RSA é um
sistema onde cada usuário cria um par de chaves
pública/privada para propósitos de autenticação.
O servidor sabe a chave pública, e só o usuário
sabe a sua chave privada.   
39
Segurança Secure Shell
COMO FUNCIONA O SECURE SHELL
Possui um arquivo que contém a lista de chaves
dos clientes.
Quando o usuário invoca o cliente de Ssh para
iniciar uma sessão , o servidor confere a chave,
para saber se é permitida, enviando a resposta.
A comunicação entre o cliente de Ssh e o servidor
é codificada, de forma a que a chave de sessão
nunca é transmitida em rede sem estar encriptada.
 
40
Servidor
Cliente
Cria chave RSA de Servidor Temporária
Cria chave pública e privada
Envia a chave pública ao servidor e pede ligação
Inicia servidor dedicado
Envia a chave pública do cliente e a chave
pública do servidor
Compara sua chave pública com a recebida
Gera número aleatório e encripta com sua chave
privada e com a pública do Server e abre sessão
Envia a chave de sessão
Decripta a chave de sessão com sua chave privada
e pública do Cliente. Abre a comunicação com a
chave de sessão
Espera confirmação para iniciar os comandos
41
Segurança Secure Shell
Programas inclusos no SSH
  • Make-ssh-know-hosts Programa que localiza
    hosts em um determinado domínio
  • SCP Secure Shell Copy forma segura de
    copiar arquivos
  • ssh Client Secure Shell Emulador de terminal
  • ssh-add Adiciona identidade ao agente de
    autenticação
  • ssh-agent Autenticação RSA
  • sshd Servidor Secure Shell Porta 22
  • ssh-keygen Gerador de chave do ssh

42
Segurança Secure Shell - SSHD
Sshd é um programa para iniciar o servidor que
por sua vez, espera por ligações de clientes.
Cada cliente instanciado cria um novo deamon,
gerando uma chave para encriptar, autenticar,
executar comandos e trocar dados.
Cada Host tem uma chave RSA usada para sua
identificação. Quando o deamon inicia gera uma
chave RSA do tipo servidor.  
Esta chave é alterada de hora em hora enquanto
estiver sendo usada e nunca é guardada em disco.
43
Segurança Secure Shell - SSHD
Quando um cliente pede ligação ao deamon, este
envia a sua chave pública de Host e a chave
pública de servidor para o cliente.
O cliente compara a chave de Host com a da sua
base de dados, verificando assim que não houve
alteração.
O cliente gera 256 bits aleatórios criando um
número. Este número é encriptado com as duas
chaves (host e servidor), enviando o número
encriptado para o servidor.
Ambos usam este número aleatório como chave de
sessão que é usada para encriptar todas as
comunicações.
44
Segurança Secure Shell - SSHD
Ao iniciar o dialogo de autenticação, o cliente
usa sua password, combinada com autenticação RSA
Host ou RSA Challenge-response ou TIS channenge
response.
Finalmente, o cliente pede um acesso ou execução
de um comando.
Ambos os lados entram então na modalidade de
sessão. (DADOS)
Quando o programa termina e todas as conexões
forem fechadas, o servidor emite um comando de
saída ao cliente, e ambos os lados são
desligados.
Sshd pode ser configurado na linha de comando
usando um arquivo de configuração.
45
Segurança Secure Shell - SSH
Ssh (Secure Shell) é um programa para se ligar a
uma máquina remota e executar comandos a partir
dessa mesma máquina remota.
Remote Login Protoclo de login remoto
desenvolvido para oUNIX pela Berkeley. O Rlogin
oferece o mesmo serviço que o TELNET
Isso é conseguido ao estabelecer um rlogin, que
providencia uma comunicação segura (encriptada).
Por cada cliente instanciado cria-se um novo
deamon, tendo este capacidade para gerar chaves,
encriptar, autenticar, executar comandos e troca
de dados.
46
Segurança Secure Shell - SSH
Cada Host tem uma chave RSA usados para sua
identificação.
Quando o deamon se inicia gera uma chave RSA do
tipo servidor.
Esta chave é alterada a cada conexão e nunca é
guardada em disco.
Quando um cliente pede ligação ao deamon, este
envia a sua chave pública de Host e a de servidor
para o cliente.
O cliente compara a chave do Host com a da base
de dados e gera 256 bits aleatórios criando um
número.
Ambos usam este número aleatório como chave de
sessão que é usada para encriptar todas as
comunicações.
47
Segurança Secure Shell - SSH
Neste ponto é iniciado o dialogo de
autenticação..
O cliente autentica-se com sua password,
combinada com autenticação RSA Host, RSA
Challenge-response.
Se o cliente for autenticado com sucesso, inicia
um diálogo para preparar a sessão.
Neste ponto o cliente pode pedir o alocamento de
um pseudo-tty, conexões tipo forwarding X11,
TCP/IP, ou ligações pelo agente de autenticação,
sobre um canal seguro
48
Segurança Secure Shell - SSH
Finalmente, o cliente pede um acesso ou execução
de um comando.
Ambos os lados entram então na modalidade de
sessão.
Quando o programa termina e todas as conexões
estiveram fechadas, o servidor emite um comando
de saída ao cliente, e ambos os lados são
desligados.
49
Segurança Secure Shell - keygen
Ssh-keygen gera e organiza as chaves de
identificação para o ssh(cliente).
Cada usuário que deseja utilizar o ssh com chave
RSA de autenticação, utiliza este programa para
criar a chave que será guardada em arquivo.
Normalmente este programa pergunta qual o arquivo
para guardar a chave privada. A chave pública é
guardada no arquivo com o mesmo nome da chave
privada, mas com a extensão ".pub".
Os nomes de arquivos alternativos podem ser dados
na linha de comando. O campo da palavra chave
(passphrase) pode estar vazio. Um bom tamanho
para a palavra chave é de 10-30 caracteres. A
palavra chave pode ser mudada posteriormente,
usando a opção de -p .
50
Segurança Secure Shell keygen
Não há nenhum modo para recuperar uma palavra
chave perdida. Se a palavra chave for esquecida,
será necessário gerar uma chave nova e copiar a
correspondente chave pública para a outra
máquina.
A cifra a ser usada quando codificamos chaves com
uma palavra chave está definida no ssh.h. Usando
a opção u, as chaves encriptadas com qualquer
algoritmo de cifra podem-se alterar para usar a
cifra por defeito.
51
Segurança Secure Shell agent
Ssh-agente é um programa que guarda as chaves
privadas de autenticação.
É necessário iniciar o ssh-agente no inicio de
uma sessão de login, e todos os outros programas
são criados como filhos.
Programas iniciados debaixo do agente, herdam uma
ligação para o agente, e o agente é
automaticamente usado para autenticação de RSA,
quando se inicia a ligação para outras máquinas
usando o Ssh.
52
Segurança Secure Shell agent
O agente não tem nenhuma chave privada
inicialmente.
Chaves são adicionadas com o ssh-add. Quando
executado sem argumentos, ssh-add adiciona em um
arquivo de identificação.
Várias identidades podem ser armazenado no agente.
A idéia é que o agente rode no PC local ou no
terminal. Assim os dados de autenticação não
precisam ser armazenados em qualquer outra
máquina. Podendo se ligar a qualquer host de um
modo seguro.
53
Segurança Secure Shell ssh-add
Ssh-adds adiciona identidades para o agente de
autenticação, ssh-agent.
O agente de autenticação tem que estar rodando,
quando for necessário adicionar identidades para
o agente de autenticação.
54
Segurança Secure Shell ssh-scp
Scp serve para copiar arquivos entre dois host
sobre um rede.
Utiliza o ssh para transferir os dados , e usa o
mesmo sistema de autenticação. Provê a mesma
segurança que o Ssh. 
Se for necessário o Scp pede passwords para
autenticação.
55
Server SSH - Windows
56
Server SSH - Windows
57
(No Transcript)
58
(No Transcript)
59
(No Transcript)
60
(No Transcript)
61
Comando SSH Windows
Utiliza os mesmo comando do Prompt do Windows.
Exemplo
62
Server SSH Linux - OpenSSH
Implementação - OPENSSH O pacote OpenSSH é uma
implementação livre do pacote SSH original que
possui restrições à sua utilização comercial.
O OpenSSH é compatível com a versão 1 do
protocolo SSH (com suas duas variantes, a 1.3 e
1.5) e com a versão 2.
  • Pré-requisitos
  • Para uma implementação bem-sucedida do servidor
    SSH é necessário que
  • sua rede esteja corretamente configurada

63
Server SSH Linux - OpenSSH
  • . Instalação
  • Selecione para instalação com o synaptic os
    pacotes
  • openssh-server
  • linuxconf-opensshd
  • openssh-client
  • ou abra um terminal e utilize os comandos abaixo

apt-get install openssh-server apt-get
install linuxconf-opensshd apt-get install
openssh-client
Os procedimentos descritos acima instalarão o
servidor e o cliente SSH. Para instalar apenas o
cliente basta selecionar somente o pacote
openssh-cliente para instalação.
64
Server SSH Linux OpenSSH
Chaves de autenticação do servidor. O pacote de
instalação do Openssh ao ser instalado gera
automaticamente essas chaves e as coloca nos
locais corretos, logo não há necessidade de se
alterar.
Configuração -gt Rede -gt Tarefas de servidor -gt
Servidor SSH (openssh) do Linuxconf
Define quais endereços de rede do servidor
deverão ser utilizados para receber conexões SSH
O campo Porta contém o número da porta que o
servidor SSH utilizará
Configuração do servidor SSH
O valor padrão especifica que deverão ser
utilizadas as versões 2 e 1
Controle de acesso de usuário
65
Server SSH Linux SSH-1.2.27
Baixar em www.ssh.fi
Descompactar os arquivos .c, .h e configure
./configure ? Verificação dos arquivos
necessário para configuração e compilação do ssh
make ? criação do ssh
Ao término do make, teremos os seguintes arquivos
scp, ssh, ssh-add, ssh-agent, sshd,
ssh-keygen
Complete a instalação com make install (
/usr/local/ )
66
Server SSH Linux SSH-1.2.27
Verificar a opções dos arquivos de configuração
do ssh /etc/sshd_config (arquivo de
configuração do servidor) Estas alterações são
permanentes.
Geralmente será necessário que as alterações
sejam feitas somente na inicialização do ssh.
(sshd_config) -b (quantos bits é a chave do
servidor) -g (tempo limite para
autenticação) -i (para inicializar a partir do
inetd) -p (especifica a porta pode ser
utilizado uma porta alternativa -k (tempo para
regeneração de chaves)
Iniciando o servidor sshd
67
Server SSH Linux Utilização
A configuração padrão do servidor SSH é bastante
completa e segura veremos a seguir apenas as
opções mais importantes. O campo Porta contém o
número da porta que o servidor SSH utilizará, a
alteração do valor padrão exigirá alterações
também no cliente SSH, portanto sugerimos que
seja mantido esse valor. O campo Escuta endereço
define quais endereços de rede do servidor
deverão ser utilizados para receber conexões SSH.
O valor padrão define que todos os endereços
serão utilizados. A versão do protocolo a ser
utilizada é definida no campo Protocolo o valor
padrão especifica que deverão ser utilizadas as
versões 2 e 1 (nesta ordem de preferência). Veremo
s a seguir as principais opções de cada guia
apresentadas na Figura 6-1
Utiliza os mesmo comando de terminal do Linux
Finalize a configuração do servidor SSH ativando
a inicialização automática do serviço sshd
acessando a opção Controle-gtPainel de
controle-gtControle de atividade dos serviços do
Linuxconf.
Write a Comment
User Comments (0)
About PowerShow.com