SUPER PROMOÇÃO BLACK FRIDAY - SOMENTE HOJE - APROVEITE!

Clique Aqui

DlteC do Brasil

  • Home
  • Cursos
  • Ebooks
  • Blog
  • Preços
  • Entrar
Linux

Linux LPIC-1 – Auditoria de Portas e Serviços

Leandro Siqueira - 9 de setembro de 2019

Olá amigos! Esse é mais um artigo onde vamos abordar um conteúdo útil para a certificação Linux LPIC-1! Mais especificamente da prova LPI-102, combinado?

Um administrador de sistemas Linux possui à disposição uma série de ferramentas que podem (e devem) ser utilizadas para verificar quaisquer portas abertas por serviços que estejam em execução em um dado momento na máquina local – além daquelas que encontram-se localizadas na rede.

Você já deve saber que o comando netstat consegue exibir várias informações importantes relacionadas à rede, como as portas abertas pelos serviços em execução na máquina, a tabela de roteamento configurada, estatísticas relacionadas às interfaces de rede, etc.

Deve saber também que sua documentação é bastante densa mas, para o exame, basta que você se concentre basicamente nas opções -naltp:

root@ubuntu18-04:~#  netstat -naltp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address  Foreign Address   State       PID/Program name   

tcp0      0 127.0.0.53:53   0.0.0.0:*       LISTEN  299/systemd-resolve

tcp    0      0     127.0.0.1:631    0.0.0.0:*       LISTEN      638/cupsd

tcp6   0      0     ::1:631          :::*            LISTEN      638/cupsd

Note que, através da opção -l, filtramos para que sejam exibidos apenas sockets que estejam em estado LISTEN – ou seja, aguardando por conexões através das portas lógicas – utilizando tcp (opção -t).

É importante ressaltar que esses sockers somente são exibidos caso a opção -a também seja utilizada.

A opção -p é utilizada para exibir o PID do processo (além do nome) relacionado. Lembre-se que a opção -n foi utilizada para que os endereços IP fossem exibidos (e não os nomes associados).

Dentre as conexões abertas no sistema, perceba a existência daquela que encontra-se ouvindo a porta local 631 (serviço de impressão de Internet), utilizando conexão tcp, através do localhost (endereço 127.0.0.1), que poderá receber solicitações de conexão a partir de qualquer fonte (0.0.0.0:*). Trata-se do daemoncupsd!

Se instalarmos o MTA postfix, por exemplo (apt-getinstallpostfix) e rodarmos novamente o comando netstat, veremos que o MTAjá abre a porta 25:

root@ubuntu18-04:~#  netstat -naltp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   

tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      299/systemd-resolve

tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      638/cupsd

tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8229/master        

tcp6       0      0 ::1:631                 :::*                    LISTEN      638/cupsd

tcp6       0      0 :::25                   :::*                    LISTEN      8229/master

Pesquisando pelo processo 8229, verificamos que se trata do postfix:

root@ubuntu18-04:~#  ps aux | grep 8229

root      8229  0.0  0.2  67372  4196 ?        Ss   18:56   0:00 /usr/lib/postfix/sbin/master -w

Caso o administrador preferisse que fossem listadas as conexões udp ativas, bastaria substituir a opção -t por -u:

root@ubuntu18-04:~#  netstat -nalup

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   

udp        0      0 0.0.0.0:38567           0.0.0.0:*                           579/avahi-daemon: r

udp        0      0 127.0.0.53:53           0.0.0.0:*                           310/systemd-resolve

udp        0      0 0.0.0.0:5353            0.0.0.0:*                           579/avahi-daemon: r

udp        0      0 0.0.0.0:631             0.0.0.0:*                           678/cups-browsed   

udp6       0      0 :::55182                :::*                                579/avahi-daemon: r

udp6       0      0 :::5353                 :::*                                579/avahi-daemon: r

Por fim, se desejarmos visualizar a tabela de roteamento, utilizamos a opção -r:

root@ubuntu18-04:~#  netstat -nr

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irttIface

0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 enp0s3

169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 enp0s3

192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3

Caso a opção -n não seja especificada, nomes são mostrados no lugar dos endereços IP:

root@ubuntu18-04:~#  netstat -r

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irttIface

default         roteador        0.0.0.0         UG        0 0          0 enp0s3

link-local      0.0.0.0         255.255.0.0     U         0 0          0 enp0s3

192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3

Já o comando lsof é responsável por listar os arquivos abertos – e, tome nota: no Linux, uma conexão, uma biblioteca em uso, etc., são todos exemplos de arquivos abertos! Observe uma breve saída do comando:

root@ubuntu18-04:~#  lsof -u pedro

COMMAND    PID  USER   FD    TYPE   DEVICE SIZE/OFF     NODE NAME

systemd   1623 dltec  cwd    DIR     8,1     4096          2 /

systemd   1623 dltec  rtd    DIR     8,1     4096          2 /

systemd   1623 dltec  txt   REG   8,1  1595792    4587610 /lib/systemd/systemd

systemd   1623 dltec  mem   REG  8,1  1700792    4592571 /lib/x86_64-linux-gnu/libm-2.27.so

continua…

Se, por exemplo, o usuário dltec estiver editando um arquivo e, no mesmo momento, o administrador lançar o comando lsof, este arquivo será exibido em sua saída:

dltec@ubuntu18-04:~$vi Arquivos/Documentos/Listadecompras.txt

root@ubuntu18-04:~#  lsof -u dltec

vi        2468 dltec    3u      REG                8,1    12288    4721154 /home/dltec/Documentos/.Listadecompras.txt.swp

bash      2472 dltec  cwd       DIR                8,1     4096    4721450 /home/dltec

bash      2472 dltec  rtd       DIR                8,1     4096          2 /

bash      2472 dltec  txt       REG                8,1  1113504     786439 /bin/bash

bash      2472 dltec  mem       REG                8,1    47568    4592598 /lib/x86_64-linux-gnu/libnss_files-2.27.so

bash      2472 dltec  mem       REG                8,1    97176    4592592 /lib/x86_64-linux-gnu/libnsl-2.27.so

bash      2472 dltec  mem       REG                8,1    47576    4592609 /lib/x86_64-linux

continua…

Para que o comando exiba os arquivos abertos relacionados a conexões de rede, podemos utilizar a opção -i:

root@ubuntu18-04:~#  lsof -i

COMMAND    PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

systemd-r  310 systemd-resolve   12u  IPv4  15842      0t0  UDP 127.0.0.53:domain

systemd-r  310 systemd-resolve   13u  IPv4  15843      0t0  TCP 127.0.0.53:domain (LISTEN)

cupsd      566            root    6u  IPv6  19392      0t0  TCP ip6-localhost:ipp (LISTEN)

cupsd      566            root    7u  IPv4  19393      0t0  TCP localhost:ipp (LISTEN)

avahi-dae  579           avahi   12u  IPv4  19094      0t0  UDP *:mdns

avahi-dae  579           avahi   13u  IPv6  19095      0t0  UDP *:mdns

avahi-dae  579           avahi   14u  IPv4  19096      0t0  UDP *:38567

avahi-dae  579           avahi   15u  IPv6  19097      0t0  UDP *:55182

cups-brow  678            root    7u  IPv4  19549      0t0  UDP *:ipp

master    1309            root   13u  IPv4  21161      0t0  TCP *:smtp (LISTEN)

master    1309            root   14u  IPv6  21162      0t0  TCP *:smtp (LISTEN)

Também podemos especificar quais portas desejamos visualizar. Por exemplo, para visualizarmos as portas relacionadas ao smtp, podemos escolher uma das seguintes formas:

root@ubuntu18-04:~#  lsof -i :smtp

# Ou

root@ubuntu18-04:~#  lsof -i :25

O comando nmap é responsável por realizar um escaneamento geral das portas/serviços abertas(ativas) no sistema (ou alguma outra máquina da rede). Além disso, o comando também informa a quantidade de portas fechadas no sistema.

O comando nmap possui diversas opções. Para o exame, basta conhecer apenas as mais elementares.

Caso não esteja instalado no sistema, basta rodar o comando apt-getinstallnmap. Observe:

root@ubuntu18-04:~#  nmap localhost

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-20 22:37 -03

Nmap scan report for localhost (127.0.0.1)

Host is up (0.000017s latency).

Not shown: 998 closed ports

PORT    STATE SERVICE

25/tcp  open  smtp

631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds

Da mesma forma, o nmap também consegue escanear algum outro hostpresente na rede. Por exemplo, vamos rodar no Ubuntu o comando nmap para que sejam escaneadas as portas abertas/fechadas no endereço IP 192.168.0.11:

root@ubuntu18-04:~#  nmap 192.168.0.11

Nmap scan report for 192.168.0.11

Host is up (-0.0068s latency).

Not shown: 997 filtered ports

PORT   STATE SERVICE

22/tcp open  ssh

23/tcp open  telnet

25/tcp open  smtp

MAC Address: 08:00:27:6F:47:A3 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 14.89 seconds

Podemos inclusive verificar detalhes sobre o sistema operacional instalado na máquina (além de outras informações úteis), através da opção -O:

root@ubuntu18-04:~#  nmap -O localhost

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-21 09:12 -03

Nmap scan report for localhost (127.0.0.1)

Host is up (0.000019s latency).

Not shown: 998 closed ports

PORT    STATE SERVICE

25/tcp  open  smtp

631/tcp open  ipp

Device type: general purpose

Running: Linux 3.X

OS CPE: cpe:/o:linux:linux_kernel:3

OS details: Linux 3.7 – 3.10

Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 4.00 seconds

Agora, se o objetivo for escanear todas as máquinas presentes na rede 192.168.0.0, podemos lançar o seguinte comando:

root@ubuntu18-04:~#  nmap 192.168.0.1/24

Por fim, o comando fuser é responsável por informar qual processo encontra-se utilizando determinada porta. Por exemplo, se informarmos ao comando a porta 53/tcp, o comando retorna o processo correspondente:

# A opção -u é responsável por exibir o usuário dono do processo

root@ubuntu18-04:~#  fuser 53/tcp

53/tcp:     297

A partir desta informação, podemos rodar o comando ps para verificar o processo correspondente:

root@ubuntu18-04:~#  ps aux| grep 297

systemd+   297  0.0  0.2  70616  4788 ?        Ss   09:03   0:00 /lib/systemd/systemd-resolved

Com isso finalizamos mais um artigo com conteúdo para a certificação Linux LPIC-1 e espero você em um próximo artigo!

Não esqueça de usar o campo de comentário abaixo para deixar sua dúvida, sugestão ou até mesmo um elogio!

 2 1
Share Now

Leandro Siqueira

Graduado em Análise de Sistemas pela Universidade Salgado de Oliveira (UNIVERSO) e pós-graduado em Engenharia de Software pela Escola Politécnica da Universidade Federal do Rio de Janeiro (UFRJ). Certificado ITIL Foundations, ISO 20000 Foundation Bridge e LPIC-1. Atua profissionalmente na área de TI desde 2010 - com foco em desenvolvimento de sistemas de informação e ensino de tecnologia.

One Response

  • Felipe 10 de setembro de 2019 at 8:06

    Ótimo artigo!!!

    Reply
  • Leave a Reply Cancel Reply

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

    Previous Post Camada Física do Modelo OSI
    Next Post Aprenda como um Switch L2 Encaminha Informações na Rede

    Artigos Populares

    • Subrede IP: Máscaras possíveis para classes A, B e C
    • Qual a Diferença entre Modelo OSI e TCP/IP?
    • Passo a Passo para Resolver Problemas de Conectividade de Rede
    • Como descobrir o MAC de um host se eu tenho apenas o IP?
    • Configurando Porta e VLAN em Switch Cisco de Acesso

    Entre para a lista vip

    Cursos Online Gratuitos com Opção de Certificado
    • Contato
    • Crie sua conta
    • Login

    DlteC do Brasil - Todos os direitos reservados