1) O documento discute o uso da ferramenta Nmap para avaliar a segurança de uma rede em ambientes Linux.
2) O Nmap permite escanear hosts em uma rede para descobrir quais portas estão abertas e quais serviços estão sendo utilizados, fornecendo informações valiosas para a gestão de segurança da rede.
3) O artigo apresenta demonstrações práticas do uso do Nmap e do Zenmap, sua interface gráfica, escaneando hosts em uma rede da UFPA para identificar portas abertas, sistemas oper
Nmap – Avaliando a segurança da rede em ambiente Linux
1. NMAP – AVALIANDO A SEGURANÇA DA REDE EM AMBIENTE
LINUX
Marlison Henrique Paiva Freitas1
Faculdade de Sistemas de Informação – Universidade Federal do Pará (UFPA)
marlison_henrique@hotmail.com
Resumo. O presente artigo apresenta uma abordagem sobre o funcionamento da ferramenta
de rede “Nmap”. Com esta ferramenta podemos realizar uma avaliação de segurança dos
computadores conectados em uma rede, além de descobrir serviços por eles utilizados.
Palavras chave: Redes de computadores. Avaliação. Integridade. Gnu/Linux.
1. Introdução
A grande necessidade de se estabelecer comunicação eficiente tem incentivado em
todo o mundo a propagação das redes de computadores, cada vez mais enriquecidas com
recursos extraordinários advindos do grande esforço tecnológico que se tem empregado para a
concretização desta realidade.
Na mesma proporção que as redes de computadores se desenvolvem, os riscos e
perigos inerente ás suas vulnerabilidades também. Qualquer pessoa com conhecimento
suficiente pode oferecer ameaça a integridade dos dados de uma rede de computadores, ainda
mais com popularização da Internet, rede mundial de computadores, e a tendência cada vez
maior de que os dados sejam disponibilizados via Web.
No esforço continuo de guarda dos meios virtuais, somam-se inúmeras ferramentas
que podem ser utilizadas pelo gerente de redes. Um ponto relevante, no entanto, é que grande
parte das tais proporcionam ação em dois sentidos, isto é, da mesma forma como são
utilizadas para combater os riscos podem ser utilizadas para realizar um ataque fatal a
integridade de uma rede, é o caso do Nmap.
O Nmap é uma poderosa ferramenta para a avaliação de vulnerabilidades de
computadores que estejam conectados em uma rede. Nesse artigo será utilizada a versão 4.53
desta ferramenta, a plataforma escolhida para a operação é o Gnu/Linux, distribuição Ubuntu,
será realizado um guia básico de introdução à ferramenta, mostrando na prática alguns de seus
1
Acadêmico do Curso de Bacharelado em Sistemas de Informação da Universidade Federal do Pará - UFPA
2. recursos e sua importância para o reconhecimento de possíveis falhas na rede. Para a análise e
coletas de informações deste experimento será utilizada a rede cabeada do Laboratório de
Informática da Universidade Federal do Pará (UFPA), campus II de Santarém.
A escolha do Nmap para a elaboração deste artigo deu-se por ser uma ferramenta
sólida e de grande aceitação no meio computacional, que dispõe de recursos relevantes à
descoberta de venerabilidades na rede, o que é extremamente útil para a uma gerencia
eficiente.
O objetivo desse trabalho é apresentar o Nmap como utilitário para detectar falhas de
segurança em uma rede de computadores, através de relatórios bem definidos acerca da
situação das portas dos computadores interligados na rede.
2. O que é Nmap?
Nmap é um poderoso e eficiente portscan (escâner de porta) capaz de gerar respostas
em tempo hábio da situação das portas de um ou inúmeros computadores de uma rede.
O Nmap permite escanear os hosts de uma rede sempre que se deseja saber os estados
das portas TCP e UDP, isto é importante, pois uma vez sendo sabedor de quais portas estão
abertas pode-se o quanto mais rápido possível recuperar-las e se proteger contra prováveis
ataques de criminosos.
Está disponível para as principais distribuições Gnu/Linux como Debian, Suse,
Fedora, Ubuntu, Mandriva, e inúmeras outras, apresenta também suporte para versões do OS
Windows. É uma aplicação gratuita, o que significa que você pode fazer download livremente
na internet para uso, por sua vez é um programa CUI (Console User Interface), roda por linha
de comandos, mas no presente artigo apresento uma GUI (Grafical User Interface), o Zenmap,
que nada mais é do que uma interface gráfica para o Nmap.
3. Instalação e Requisitos Básicos de Sistemas
Você precisa ter instalado na sua máquina qualquer distribuição atual do Gnu/Linux, já
que o Nmap oferece suporte a todas. A distribuição utilizada neste artigo foi a Ubuntu. Agora
é só instalar o nmap:
Aplicações / Acessorios / Terminal
# apt-get install nmap
3. Em seguida instale o Zenmap, que como dito acima é uma interface gráfica para o
Nmap, para a segunda parte do nosso experimento:
# apt-get install zenmap
4. Experimento
Na primeira parte desde Guia Básico de Introdução apresento o Nmap através de linha
de comando. E na segunda parte mostro o funcionamento do Zenmap, que possui as mesmas
funções do Nmap mais de uma forma bem mais simples através de uma GUI.
4.1. Nmap por meio de linha de código
Para usufruir de todas as funcionalidades do Nmap você precisa está logado como root
(#) usuário com todos os privilégios. Após logado como root, vamos ao que nos interessa de
fato:
Bom, para começar você pode escanear diretamente uma máquina na rede, através do
seguinte comando:
# nmap 10.125.100.73
root@Marlison-laptop:/# nmap 10.125.100.73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 17:40 BRST
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.268 seconds
Caso queira escanear de uma única vez uma faixa inteira de endereços, digite:
# nmap 10.125.100.44-73
4. root@Marlison-laptop:/# nmap 10.125.100.44-73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 17:46 BRST
All 1714 scanned ports on 10.125.100.49 are filtered
MAC Address: 00:90:F5:72:8F:05 (Clevo CO.)
Interesting ports on 10.125.100.55:
Not shown: 1713 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 00:24:8C:83:23:73 (Unknown)
Interesting ports on 10.125.100.56:
Not shown: 1713 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 00:24:8C:83:6D:13 (Unknown)
Interesting ports on 10.125.100.61:
Not shown: 1711 filtered ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:26:22:10:72:22 (Unknown)
Interesting ports on 10.125.100.67:
Not shown: 1708 filtered ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp closed microsoft-ds
1030/tcp closed iad1
MAC Address: 00:23:32:98:ED:F3 (Unknown)
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
5. PORT STATE SERVICE
80/tcp open http
Nmap done: 30 IP addresses (6 hosts up) scanned in 13.868 seconds
Se você acrescentar a opão “-sV” terá mais detalhes do escanner da maquina, como
em:
# nmap -sV 10.125.100.73
root@Marlison-laptop:/# nmap -sV 10.125.100.73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:00 BRST
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5 with Suhosin-Patch)
Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.703 seconds
Outra opção significativa é “-O” o qual faz com que o nmap identifique qual é o
Sistema Operacional (SO) utilizado pelas máquinas dispersas na rede.
# nmap -O 10.125.100.1-254
root@Marlison-laptop:/# nmap -O 10.125.100.73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:01 BRST
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE
80/tcp open http
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.18
Uptime: 0.025 days (since Thu Nov 5 17:25:15 2009)
6. Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.049 seconds
root@Marlison-laptop:/home/marlison# nmap -O 10.125.100.73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:02 BRST
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE
80/tcp open http
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.18
Uptime: 0.026 days (since Thu Nov 5 17:25:14 2009)
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.643 seconds
Outro comando interessante é o acrescido com a opção “-sS”, que dificulta o
reconhecimento de invasão por parte das máquinas-alvo. Essa possibilidade de se reconhecer
o agente da scans torna-se real quando a maquina-alvo tem instalado uma espécie de detector
de intrusos como é o caso do Snort.
# nmap -sS 10.125.100.1-254
root@Marlison-laptop:/# nmap -sS 10.125.100.73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:03 BRST
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.172 seconds
7. root@Marlison-laptop:/# nmap -sS 10.125.100.66-73
Starting Nmap 4.53 ( http://insecure.org ) at 2009-11-05 18:04 BRST
Interesting ports on 10.125.100.67:
Not shown: 1708 filtered ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp closed microsoft-ds
1030/tcp closed iad1
MAC Address: 00:23:32:98:ED:F3 (Unknown)
Interesting ports on 10.125.100.68:
Not shown: 1713 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 00:24:8C:FA:88:6B (Unknown)
Interesting ports on 10.125.100.73:
Not shown: 1713 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 8 IP addresses (3 hosts up) scanned in 7.832 seconds
Se você acrescentar opção “-p” você poderá fazer um scans de uma porta específica ou
uma faixa de portas a qual esteje interessado.
# nmap -sS -p 0-65535 10.125.100.1-254
Você pode escanear esta porta específica usando a opção "-sV" para descobrir mais
sobre ela, como em:
# nmap -sV -p 22543 192. 10.125.100.1
8. 4.2. Nmap por meio de uma GUI – o Zenmap
O Zenmap é uma interface gráfica para o Nmap, isto é, incorpora todos os recursos da
versão para linha de comandos, a diferença é que apresenta uma interface para o usuário, é
apropriado para iniciantes que não estejam bem familiarizados com a linha de comandos do
Gnu/Linux, através de uma interface simples e bem definida o administrador de redes ou um
usuário normal tem acesso aos poderosos recursos da ferramenta Nmap. Sua principal função
é realizar mapeamento da rede e auditoria de segurança, gerando assim um inventário da rede.
Após instalado na distribuição Ubuntu você precisa apenas ir em aplicações/ Internet/
Zenmap. Pode ocorrer de não está neste endereço, mas não é motivo para pânico, Lembre-se
você utiliza o Gnu/Linux e portando pode chamar esse programa pelo terminal digitando
zenmap e clicando em enter, lembre-se de está logado como root, para poder usar todas as
suas funcionalidades.
Abaixo é mostrada sua interface:
Figura 1
9. Na figura acima podemos identificar os vários recursos através dos menus superiores
como scans, toos, profile, a ajuda do sistema, logo abaixo tem-se alguns atalhos como uma
nova scan, o comando Wizard, salvar um scan realizado, entre outros.
No campo Target digitamos um endereço IP de uma máquina que se deseja saber
informações, no próximo campo chamado profile escolho uma função dentre várias existente
e é só clicar no botão Scan. Note que ao fazer a escolha da função no campo profile
automaticamente o comando inerente a ela é transcrito no campo Command logo abaixo, ou
seja, esta ação nada mais é que a abstração oferecida pela a interface gráfica.
Ao realizarmos um scan sobre IP 10.125.100.73, conforme analise da figura no menu
ports/ hosts verifica-se que a porta 80 está aberta (open), disponibilizando o serviço HTTP.
Relatório de Saída Nmap
Figura 2
Neste relatório temos uma série de informações importantíssimas a respeito da
maquina 10.125.100.73 da rede. Desde identificação de porta aberta até qual o Sistema
Operacional rodando na máquina. É só fazer a analise e verificar quais as informações que lhe
são úteis. Imagine uma pessoa com intenções maliciosas de posse de informações deste
10. inventário! O bom do Nmap é que oferece o estado de segurança da rede para que o
administrador possa corrigir as vulnerabilidades. O indicado acima funciona também quando
se quer saber informações sobre uma faixa maior de IPs, lembra...
Na figura 3, abaixo, pode-se visualizar mais detalhes da configuração do Computador
em análise:
Figura 3
Há outras inúmeras funcionalidade disponibilizada pelo Nmap, mas no entanto
procurou-se no presente artigo proporcionar essencialmente uma introdução sucinta ao Nmap
seja por linha de comando seja pela interface gráfica.
5. Resultados
O uso da ferramenta Nmap proporcionou/a conhecimento sólido do estado de
segurança dos hosts da rede de computadores, no caso a rede cabeada do laboratório de
informática do curso de Sistemas de Informação da UFPA, Campus II. Constatou-se com o
experimento que em vários momentos havia vulnerabilidades nas maquinas através de portas
abertas, oportunidades concretas de possíveis ataques a integridade dos dados e operação da
11. rede. O mapeamento realizado em forma de relatórios apresentou características essenciais da
rede que somente deveriam estar restrita aos administradores.
6. Conclusão
Manter-se informados de possíveis “furos de segurança” em sua rede de computadores
é uma boa ideologia. Por meio do uso correto da ferramenta Nmap isto pode se tornar uma
realidade. Por meio de inventários informativos gerados pelo Nmap torna-se menos ardilosa a
tarefa de defender a rede de intrusos mal intencionados.
7. Referências
http://www.guiadohardware.net/dicas/usando-nmap.html (acessado em 29 de Outubro de 2009, às
17h 10min);
http://nmap.org/bennieston-tutorial.html (acessado em 03 de Novembro de 2009, às 14: 20);
http://www.linuxstreet.net/articles/zenmap%20tutorial.html (acessado em 03 de Novembro de
2009, às 14: 45);
http://www.baixaki.com.br/download/zenmap.htm (acessado em 04 de Novembro de 2009, às 18:
45);
http://www.baixaki.com.br/linux/download/nmap.htm (acessado em 04 de Novembro de
2009, às 21:15);