Você está na página 1de 58

UFCD

Segurança
0840
Servidores
Informática web

UFCD 0840
Servidores web
UFCD 0840
Servidores web
Conteúdos

• TELNET, RLOGIN, SSH E FTP


o Login remoto
o Serviço cliente Telnet
o Telnet
▪ Configuração do serviço Telnet
▪ Uso do serviço Telnet para administração remota
▪ Execução de aplicativos remotamente via Telnet
▪ Shutdown remoto
▪ Desabilitação do serviço Telnet
▪ Impedimento do servidor de uso do serviço Telnet
▪ Servidor Linux – acesso a arquivos do servidor sem Telnet
UFCD 0840
Servidores web
Basics of ipconfig, ping, tracert, nslookup, and netstat
UFCD 0840
Servidores web
UFCD 0840
Servidores web
Informação DNS
UFCD 0840
Servidores web
Cls para apagar o ecrã
UFCD 0840
Servidores web
Ping Default Getway
UFCD 0840
Servidores web
Ping Domain Server

Não existe
UFCD 0840
Servidores web
Tracer mais detalhado do que o ping
UFCD 0840
Servidores web
Nslookup Yahoo.com
UFCD 0840
Servidores web
nslookup
UFCD 0840
Servidores web
nslookup
UFCD 0840
Servidores web
Netstat – Portas abertas
UFCD 0840
Servidores web
Número das portas
UFCD 0840
Servidores web
Comandos muito úteis para Windows

A “linha de comandos preta” que ainda vem com o Windows é para muitos um
local proibido, complexo e retrógrado face à evolução de tecnologia. Com o
aparecimento das interfaces gráficas sofisticadas, foram muitos os utilizadores que
abandonaram a “pequena” janela de comandos e optaram por instalar
ferramentas gráficas para quase tudo.
No entanto, a verdade é que via terminal, conseguimos obter mais rapidamente
informações e realizar determinadas ações, comparativamente à utilização de
aplicações gráficos. Hoje deixamos-lhe um conjunto de 5 comandos muitos úteis
para ver e analisar eventuais problemas com a rede.
UFCD 0840
Servidores web

1) ipconfig

Um dos métodos mais rápidos de saber


o endereço IP (e outras configurações
de rede) de uma máquina é acedendo à
linha de comandos e escrever o
comandos ipconfig.
No Linux é o comando ifconfig.
UFCD 0840
Servidores web

ipconfig /all

Caso o utilizador pretenda ver detalhadamente


todas as configurações, deverá usar o
comando.
UFCD 0840
Servidores web

ipconfig /flushdns
Além da visualização dos parâmetros de rede,
este comando oferece outras acções, como
por exemplo limpar os registos em cache do
DNS (ie, quando mudamos de servidor de
DNS, é importante limpar as informações já
armazenadas). Para limpar a memória cache
basta que usem o comando ipconfig /flushdns
UFCD 0840
Servidores web

ipconfig /flushdns
O DNS (Domain Name System) é um sistema que permite traduzir endereços de IP em domínios. Quando
pesquisa por um determinado site, o servidor DNS tenta determinar qual o endereço de IP associado ao site
em questão.

Quando efetua a alteração de nameservers do seu domínio ou alteração de alguma entrada na zona
DNS do domínio, existe um período de propagação associado a este processo, que não sendo um período
de tempo fixo, poderá ir de 24 a 72 horas dependendo dos servidores de DNS com que o seu computador
está configurado (normalmente os do seu ISP).

A maioria dos sistemas operativos e clientes DNS guarda o Endereço de IP e outras informações DNS
quando visita pela primeira vez um site de forma a otimizar e a melhorar a velocidade dos pedidos ao
mesmo hostname, assim não é necessário obter essa informação sempre que se aceda aquele site. Essa
informação é guardada em cache, tendo o nome de Cache DNS.
UFCD 0840
Servidores web

ipconfig /flushdns

Por vezes existem alterações nas zonas DNS e é necessário apagar a informação guardada de forma a obter
os resultados atualizados corretamente. Para resolver este situação, poderá simplesmente limpar a cache dos
DNS, fazendo FlushDNS.

Abaixo segue alguma informação acerca de como fazer Flush DNS na maioria dos sistemas operativos
como o Windows, Linux e MacOSx.
UFCD 0840
Servidores web

Como apagar a Cache DNS

Flush DNS em Windows 98/NT/2000/XP

Fazer a limpeza da cache DNS no Windows é bastante fácil. Deverá efetuar os seguintes passos:

1. Abra da linha de comandos (Clique no “Menu Iniciar” > “Executar”,


escreva “cmd.exe” e clique Ok.)
2. Digite o seguinte comando: ipconfig /flushdns
UFCD 0840
Servidores web

Como apagar a Cache DNS


Flush DNS em Windows Vista e Windows 7

Fazer FlushDNS no Windows Vista e no Windows 7 é bastante


semelhante, no entanto devido a medidas de segurança da
Microsoft, terá que ter privilégios de administrador para efetuar a
limpeza da cache DNS.

1.Clique no “Menu Iniciar”, aceda a “Todos os Programas” >


“Acessórios”, faça clique com o botão direito do rato sobre a “Linha
de Comandos” e clique em “Executar como administrador”.
2.Digite o seguinte comando: ipconfig /flushdns
UFCD 0840
Servidores web

2) Ping
Um dos métodos que normalmente usamos
para saber se uma máquina está “viva” na rede,
é recorrer ao comando ping. Para quem não
conhece, o comando ping é dos mais usados no
mundo da redes, uma vez que permite testar a
conectividade entre equipamentos, usando para
isso o protocolo ICMP.
Vamos por exemplo testar se o servidor de DNS
da Google (8.8.8.8) está a responder a pings

Alternativas Gráficas:
•GPing
UFCD 0840
Servidores web

3) Tracert
Com tracert podemos ver, em
tempo real, todo o caminho (ou
seja, quais os routers por onde
passa a nossa comunicação) que
um pacote percorre até chegar ao
seu destino.

Alternativas Gráficas:
•3D Traceroute
UFCD 0840
Servidores web
4) nslookup
O comando nslookup, que é tipo
canivete suíço para avaliar o
funcionamento de servidores de
DNS.
UFCD 0840
Servidores web

4) Nslookup (cont.)
UFCD 0840
Servidores web

4) Nslookup (cont.)
UFCD 0840
Servidores web

5) netstat
O netstat é um comando muito útil que nos
permite ver todas as comunicações activas na
nossa máquina. Com este comando podemos
também saber detalhadamente quais os
portos de comunicação TCP e UDP abertos
na nossa máquina.
UFCD 0840
Servidores web
5) netstat
UFCD 0840
Servidores web

Protocolo Telnet
Como utilizar o Telnet
UFCD 0840
Servidores web

O que significa o protocolo Telnet

O Telnet é um protocolo que permite emular (traduzir/adaptar) um terminal à


distância, isto é, que permite executar comandos escritos no teclado de um
computador remoto. O Telnet é um aplicativo com o protocolo Telnet, que funciona
em um ambiente cliente/servidor, ou seja, o computador remoto é configurado no
servidor e aguarda que outro computador venha lhe solicitar um serviço. Como o
computador distante envia os dados, o utilizador tem a impressão de trabalhar
diretamente nele. No Unix, o serviço é fornecido por um daemon, uma pequena tarefa
que funciona em plano de fundo. O daemon do Telnet é chamado de Telnetd.
Um daemon é um programa que se executa como um processo em plano de fundo
no computador, sem ser controlado pelo usuário.
UFCD 0840
Servidores web

Como o Telnet é estruturado e implementado


O Telnet é um protocolo, ou seja, um conjunto de regras e
procedimentos definidos para padronizar a comunicação
no Telnet. Ele tornou-se compatível rapidamente (adaptado
a partir das especificações do protocolo) com várias
plataformas.
UFCD 0840
Servidores web
Como o Telnet é executado
O Telnet é fornecido como padrão em diversas plataformas,
entre as quais, o Unix, o Windows 95, o Windows NT, o Linux,
entre outras. De um modo geral, o comando para iniciar uma
sessão Telnet é telnet nome_do_servidor. O nome do servidor
representa obviamente o nome da máquina remota à qual se
quer conectar. É possível dar o seu endereço IP telnet
125.64.124.77, por exemplo. Também podemos determinar a
porta a ser utilizada enviando o endereço IP ou o nome do
servidor pelo número de porta, tipo telnet 125.64.124.77 80.
UFCD 0840
Servidores web

Quais são os comandos do Telnet


Por razões de segurança, uma vez conectado ao computador remoto, um nome de
usuário (login) e uma senha serão exigidos, a fim de restringir o seu acesso a
pessoas autorizadas. O Telnet é um protocolo potente que permite a execução de
comandos à distância. Eles, que podem ser executados em uma sessão Telnet, são
definidos pelo administrador da rede. Os comandos são, geralmente, Unix, já que a
maior parte dos servidores Telnet funciona com este sistema.
UFCD 0840
Servidores web

Quais são os comandos do Telnet


Os comandos padrão são os seguintes:
UFCD 0840
Servidores web

Protocolo SSH
Protocolo SSH (Secure Shel) – Conceitos básicos e
conexão por senha no Linux
UFCD 0840
Servidores web
SSH
SSH (Secure Shell) é um protocolo de comunicação seguro que permite o envio
de comandos e o controlo remoto de um host por meio de uma conexão
criptografada.
O SSH possui uma arquitetura cliente/servidor, e está disponível em
praticamente todas as plataformas, como Linus, Mac OS X, BSD, Windows, etc..
As conexões com o Telnet não são criptografadas, portanto não apresentam
qualquer nível de segurança.
A arquitetura cliente/servidor está dividida em duas partes: módulo cliente e
componente de servidor. Ambos podem ser instalados na mesma máquina, tanto
na local como na remota, ou simplesmente o módulo cliente na máquina local e
o módulo servidor na máquina remota.
UFCD 0840
Servidores web
SSH
O protocolo SSH cuida da autenticação do utilizador, criptografia e integridade
dos dados transmitidos numa rede.

• Autenticação: Determina a identidade de alguém de forma confiável;


• Criptografia: Os dados são “embaralhados” de modo a se tornarem
ininteligíveis para todos exceto os destinatários (servidor);
• Integridade: Garantia de que os dados transmitidos cheguem inalterados.
UFCD 0840
Servidores web
SSH
Na prática o protocolo SSH tem duas versões que são incompatíveis entre si. O
SSH1 que foi até à versão 1.5 e o SSH2 que é o que vamos utilizar. Este será na
verdade o nosso protocolo SSH que é utilizado por todos.
UFCD 0840
Servidores web
SSH
Ilustração do protocolo SSH

Tunel numa rede local ou internet Host remoto

A conexão é segura devido à crepitação dos dados


UFCD 0840
Servidores web
Pequeno Histórico do SSH
O protocolo SSH foi desenvolvida em 1995 por Tatu Ylonen, pesquisador da
Universidade de Tecnologia da Finlândia.
Em julho do mesmo ano, o SSH1 foi disponibilizado ao publico como software
livre com código fonte.
Em 1996 a SCS (SSH Communications Security Corp, fundada por Ylonen) lançou
a versão SSH-2, incorporando novos algoritmos e eliminando falhas de segurança
da primeira versão.

Obs: Nunca devemos utilizar a versão SSH-1, uma vez que possui enumeras
falhas de segurança e não garante nada hoje em dia.
UFCD 0840
Servidores web
Aqui vamos utilizar verão livre: OpenSSH
O OpenSSH é uma versão gratuita do SSH. A
versão SSH não é gratuita.
É desenvolvido pelo projeto OpenBSD, e
podemos encontra-lo em:
www.openssh.org

Esta versão está disponível para todas as


plataformas.

Uma vez que vamos instalar no Linux não


precisamos de descarregar, vamos utilizar o
apt-get install para fazer a instalação do
SSH.
UFCD 0840
Servidores web
Utilização do SSH
Instalar o cliente OpenSSH no Linux:
sudo apt-get install openssh-cliente
Instalar o servidor no Linux:
sudo apt-get install openssh-server

Conectar a partir do cliente:


ssh –l utilizador IP/nome_host
ssh –l boson 192.1.129
UFCD 0840
Servidores web
Conexão SSH
Precisamos de duas máquinas: um cliente e um servidor.
O cliente instalado no Linux (Debian) e o servidor noutro Linux (Ubuntu).
Vamos fazer a conexão SSH e ver como funciona.
UFCD 0840
Servidores web
Conexão SSH
Vamos para o servidor para instalar o server (Ubuntu)
1) No terminal vamos digitar o seguinte comando:

2) De seguida vamos instalar na mesma máquina o cliente: (Cliente instalado


por defeito)
UFCD 0840
Servidores web
Conexão SSH
Vamos agora para o cliente Debian, logado como root:
1. Verificar se o cliente já está instalado (não é necessário fazer sudo)

Neste momento já temos instalado o servidor e o cliente


2. O IP do servidor é: 192.168.1.129
3. Fazer Ping:

4. Verificar o IP do cliente:
UFCD 0840
Servidores web
Fazer uma conexão
Vamos fazer uma conexão a partir do cliente no servidor SSH

-l login (qual o utilizador vamos entrar no servidor )


De seguida podemos utilizar o IP ou o nome do host do servidor SSH
Verificar que o prompt já mudou de utilizador.
UFCD 0840
Servidores web
De seguida fazer pwd para verificar o diretório onde estamos

Todos os comandos que forem executados nesta prompt serão executados no


servidor e não mais na máquina cliente.
• Para sair podemos digitar exit ou logout.
UFCD 0840
Servidores web
Conexão SSH
É importante fazer a configuração do servidor SSH. Para isso ele tem alguns
ficheiros de configuração importantes. Vamos verificar esses ficheiros.

Neste momento interessa-nos o ficheiros ssh_config e sshd_config.


ssh_config – Tem as opções de configuração do cliente SSH.
sshd_config – Tem as opções de configuração do servidor SSH.
UFCD 0840
Servidores web
No servidor SSH
Vamos ver algumas das configurações do ficheiro sshd_config.
UFCD 0840
Servidores web
UFCD 0840
Servidores web

O ficheiro está vazio.


UFCD 0840
Servidores web
Inserir um texto de boas vindas e salvar.
UFCD 0840
Servidores web
Ir para o cliente refazer a conexão
UFCD 0840
Servidores web

Até agora aprendemos a fazer a


conexão via SSH entre uma
máquina cliente e um servidor,
além aprender instalar tanto o
cliente e o servidor, e para que
serve o SSH.
UFCD 0840
Servidores web
UFCD 0840
Servidores web
1.Install telnet use this command in terminal(Applications/Accessories/Terminal):
sudo apt-get install xinetd telnetd
2.Edit /etc/inetd.conf using your favourite file editor with root permission,add this line:
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
3.Edit /etc/xinetd.conf,make its content look like following:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
UFCD 0840
Servidores web
4.You can change telnet port number by edit /etc/services with this line:
telnet 23/tcp
5.If you’re not satisfied with default configuration.Edit etc/xinetd.d/telnet, add following:
# default: on
# description: The telnet server serves telnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
add these lines as you like:
only_from = 192.168.120.0/24 #Only users in 192.168.120.0 can access to
only_from = .bob.com #allow access from bob.com
no_access = 192.168.120.{101,105} #not allow access from the two IP.
access_times = 8:00-9:00 20:00-21:00 #allow access in the two times
......
6.Use this command to start telnet server:
sudo /etc/init.d/xinetd restart