27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 1
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 2
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
Telnet Server Cliente
Transmissão comandos
Aplicativo
S.O.
S.O. de RedeComando DIR
Aplicativo
S.O.
S.O. de Rede
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 3
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET• Transmissão de teclas
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 4
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETEstabelece conexão TCP com um servidor
Conexão TCP
Conexão TELNET
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 5
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 6
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
• Exige: Cliente e Servidor
Dispositivo de entrada e saída de dados do usuário Sistema
Operacional
Client TELNET
Sistema Operacional
Servidor TELNET
Cliente lê dados de terminal Cliente envia
dados ao servidor
Servidor envia dados
Servidor recebe dados
Inter-rede TCP/IP
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 7
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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,
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 8
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
Telnet Server Filho Cliente
Pseudoterninal
S.O.
Telnet PAI
NVT Conexão
S.O.
NVT
PSEUDOTERMINAL
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 9
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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)
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 10
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
Dispositivo de entrada e
saída de dados do usuário
Cliente ServidorSistema Servidor
Conexão TCP Inter-rede
Formato do sistema cliente
usado
Formato do sistema do
servidor usado
Formato NVT usado
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 11
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
Código de Controle ASCII
Valor Decimal
Significado atribuído
NULL 0Nenhuma operação (não tem qualquer efeito sobre a saída)
BELL 7 Som audível/sinal visível (nenhum movimento)
BS 8 Mova para a esquerda a posição de um caracter
HT 9Mova à direita até a próxima marca de tabulação horizontal
LF 10 Mova para baixo (verticalmente) até a próxima linha
VT 11Mova para baixo até a próxima marca de tabulação vertical
FF 12 Mova até a borda superior da próxima página
CR 13 Mova até a margem esquerda da linha atual
Outro controle - Nenhuma operação (não tem efeito algum sobre a saída)
interpretação para os caracteres de controle
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 12
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 13
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET. A figura abaixo lista as funções de controle permitidas pelo NVT
Sinal Significado atribuído
IP Interrupt Process (finalizar execução do programa)
AO Abort Output (descartar informações resultantes)
AYT Are You There (testar se o servidor responde)
EC Erase Character (excluir caracteres anteriores)
EL Erase Line (excluir toda a linha atual)
SYNCHSynchorniza (limpar a rota de dados até o ponto TCP de urgência, mas não interpretar os comandos)
BRK Break (tecla de interrupção ou sinal de atenção)
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 14
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
• 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.
Emulador de terminal – TELNET
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 15
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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).
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 16
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETComandos possíveis e a codificação decimal.
Comando
Valor Decimal Significado atribuído
IAC 255Interpreta o octeto seguinte como comando (quando o octeto IAC aparece na forma de dados, o emissor o duplica e envia a seqüência de dois octetos)
DONT 254Negação a solicitação de execução da opção especificada
DO 253 Aprovação a permitir a opção especificada
WONT 252 Negação a permitir a opção especificada
WILL 251 Concordância em executar a opção especificada
SB 250 Início de subnegociação de opções
GA 249 O sinal “vá em frente”(go ahead)
EL 248 O sinal “apagar linha” (erase line)
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 17
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
Comando
Valor Decimal Significado atribuído
EC 247 O sinal “apagar caractere” (erase character)
AYT 246 O sinal “você está ai” (are you there)
AO 245 O sinal “cancela saída” (abort output)
IP 244 O sinal “interromper processo” (interrupt process)
BRK 243 O sinal “interromper” (break)
DMARK 242O intervalo de fluxo de dados de um SYNCH (sempre acompanhado de uma notificação TCP Urgent)
NOP 241 Fora de operação
SE 240 Fim de subnegociação de opções
EOR 239 Fim de registro
Comandos possíveis e a codificação decimal.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 18
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETComandos possíveis e a codificação decimal.
Interprete como Comando
Concordância em executar a opção
especificada
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 19
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETComando go-ahead
O sinal “vá em frente
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 20
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETResposta Comando go-ahead
O sinal “vá em frente
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 21
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
• Enviar funções de controle juntamente com dados normais nem
sempre é suficiente para assegurar os resultados desejados.
Forçar o servidor a ler uma função de controle
• 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
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 22
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 23
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNET
Telnet Server Cliente
Conexão Normal
Programa Travado
IAC IP URGENTE
Buffer Cheio Zera a
Janela
Servidor Aceita URG
Servidor Libera Buffer
Conexão Normal
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 24
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 25
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETOpções TELNET
Nome Código RFC Significado atribuído
Transmit Binary 0 856 Mude transmissão para um binário de 8 bits
Echo 1 857 Permita que um lado faça echo dos dados que recebe
Suppress-GA 3 858Solicite status de uma opção TELNET de uma instalação remota
Status 5859 Solicite status de uma opção TELNET de uma
instalação remota
Timing Mark 6 860Solicite que marca de sincronização seja inserida no stream de retorno para sincronizar as duas extremidades de uma conexão
Terminal Type 24 884
Troque informações sobre a marca e o modelo do terminal sendo utilizado (permite que os programas ajustem a saída como seqüência de posicionamento de cursos para o terminal do usuário)
End-of-Record 25 885 Finalize dados enviados com código EOR
Linemode 34 1116Use edição local e envie as linhas completas em vez de caracteres específicos.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 26
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETQualquer extremidade pode faça uma solicitação. (protocolo
simétrico)
Telnet Server Cliente
DO X ou DON’T X Will X ?WILL X e WONT X
Inicia o serviço com a opção
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 27
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETNegociação
Negociação
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 28
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETNegociação
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 29
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETNegociação
Início de subnegociação de opções
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 30
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Emulador de terminal – TELNETNegociação
FIM de subnegociação de opções
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 31
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
TÁ LOCO............
? ? ?
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 32
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell
O Secure Shell é um programa para ligar equipamentos que estão em máquinas diferentes permitindo executar comandos remotamente.
Descrição
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 33
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellTELNET
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 34
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellSSH
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 35
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellSoftware 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 36
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellO 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 37
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellSuporte 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
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 38
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellCOMO 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 39
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell
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.
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 40
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Servidor Cliente
Cria chave RSA de Servidor Temporária
Cria chave pública e privada
Inicia servidor dedicado
Envia a chave pública ao servidor e pede ligação
Compara sua chave pública com a recebida
Envia a chave pública do cliente e a chave pública do servidor
Gera número aleatório e encripta com sua chave privada e com a pública do
Server e abre sessão
Espera confirmação para iniciar os comandos
Envia a chave de sessãoDecripta a chave de sessão com sua chave privada e pública do Cliente. Abre a comunicação com a chave de sessão
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 41
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure ShellProgramas 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
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 42
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 43
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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 bit’s 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 44
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell - SSHDAo 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 45
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell - SSHSsh (Secure Shell) é um programa para se ligar a uma máquina remota e executar comandos a partir dessa mesma máquina remota.
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.
Remote Login: Protoclo de login remoto desenvolvido para oUNIX pela Berkeley. O
Rlogin oferece o mesmo serviço que o TELNET
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 46
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell - SSHCada Host tem uma chave RSA usados para sua identificação.
Esta chave é alterada a cada conexão e nunca é guardada em disco.
Quando o deamon se inicia gera uma chave RSA do tipo servidor.
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 bit’s 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 47
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell - SSHNeste 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
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 48
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 49
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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 .
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 50
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 51
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell – agentSsh-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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 52
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Segurança – Secure Shell – agentO 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 53
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 54
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 55
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH - Windows
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 56
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH - Windows
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 57
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 58
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 59
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 60
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 61
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Comando SSH – WindowsUtiliza os mesmo comando do Prompt do Windows. Exemplo:
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 62
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux - OpenSSHImplementação - OPENSSHO pacote OpenSSH é uma implementação livre do pacote SSH original que possui restrições à sua utilização comercial.
Pré-requisitosPara uma implementação bem-sucedida do servidor SSH é necessário que:
•sua rede esteja corretamente configurada
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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 63
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux - OpenSSH. InstalaçãoSelecione 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.
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 64
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux – OpenSSHConfiguração do servidor SSH
Configuração -> Rede -> Tarefas de servidor -> Servidor SSH (openssh) do LinuxconfO campo Porta contém o número da porta que o servidor SSH utilizará
Define quais endereços de rede do servidor deverão ser utilizados para receber conexões SSH
O valor padrão especifica que deverão ser utilizadas as versões 2 e 1
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.
Controle de acesso de usuário
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 65
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux –SSH-1.2.27Baixar 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/ )
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 66
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux –SSH-1.2.27Verificar 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
27/07/03 13:58 Professor Roberto Amaral – Serviços de Redes 67
Cursos de Ciência da Computação – Redes de Computadores – Serviços de Redes - 2003
Server SSH – Linux – Utilização Utiliza os mesmo comando de terminal do Linux