Home > DICAS-L2 > Fazendo um Check-list nos Servi?os do Sistema

Fazendo um Check-list nos Servi?os do Sistema

September 18th, 2005

Artigo retirado do site Dicas-L da Unicamp

Configurar servi?os hoje em um sistema Linux, n?o ? mais t?o complicado como antigamente. Muitos servi?os, depois de instalado j? saem funcionando com a sua configura??o padr?o, ou muitos j? vem instalados no sistema. Embora quando pensamos em seguran?a j? ? assumido que n?o devemos colocar um servi?o em produ??o com configura??es padr?es sem que as mesmas sejam testadas pensando nos principios de seguran?a.

Mas o que muitos administradores iniciantes e at? mesmo experientes n?o sabem tirar proveito de ferramentas cl?ssicas para checar se o servi?o est? funcionando corretamente, verificar em qual porta ele est? trabalhando, se ele est? recebendo requisi??es corretamente e at? mesmo, em alguns casos, ver se nenhum invasor fez algo em seu sistema que possa prejudica-lo, para isso mostrarei alguns comandos que podem formar o que costumo chamar de Check-List.

Primeiramente temos que saber a qual porta determinado servi?o est? associado. Podemos ver algumas portas padr?es do sistema no arquivo /etc/services. Exemplo de algumas portas

# cat /etc/services
# cat /etc/services | grep -i ssh
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp

Ap?s termos uma no??o das portas em que os servi?os rodam, podemos utilizar um comando chamado netstat. Esse comando vai nos fornecer algumas informa??es sobre os servi?os de rede do nosso sistema. ? v?lido lembrar que encontramos implementa??es do netstat em outros sistemas operacionais e n?o necess?riamente as op??es e mesmos os recursos s?o implementados da mesma forma.

# netstat -nlt

-n : Op??o para fazer o netstat n?o resolver os IP’s para nomes.
-l : Listar os Sockets que est?o Ouvindo(Listen), ou seja, que est?o prontos para receber uma conex?o.
-t : Listar somente os Sockets no protocolo TCP. Poderiamos utilizar o -u para protocolos UDP.

Com isso podemos ver v?rias informa??es sobre os Sockets que est?o aguardando conex?es. Exemplo:

Proto Recv-Q Send-Q Endere?o Local Endere?o Remoto Estado
tcp 0 0 0.0.0.0:22 0.0.0.0:* OU?A

Proto ? o protocolo que este Socket est? trabalhando. No Endere?o Local vemos que a porta 22 pode responder a qualquer interface de rede no sistema (0.0.0.0:22), no Endre?o Remoto mostra que n?o h? nenhuma conex?o relacionada ? aquela porta e que no Estado ela est? em OU?A, ou seja, aguardando conex?es.

Poderiamos utilzar o netstat com o -a tamb?m, no lugar do -t para vermos todos os Sockets tanto os que est?o ouvindo, que n?o est?o ouvindo e os Estabelecidos, que v?o ser muito importantes. Nos Estabelecidos podemos ver em qual interface o servi?o est? conectado e a qual porta e de onde est? vindo a conex?o.

# netstat -nat
Proto Recv-Q Send-Q Endere?o Local Endere?o Remoto Estado
tcp 0 0 192.168.0.1:32778 200.123.123.123:143 ESTABELECIDA
tcp6 0 0 ::ffff:192.168.0.1:22 ::ffff:192.168.0.8:32796 ESTABELECIDA

Agora que sabemos quais sockets est?o dispon?veis, podemos ver qual processo(servi?o) est? rodando nesse socket com o comando fuser.

# fuser -v 22/tcp
-v: Modo Verbose
USER PID ACCESS COMMAND
22/tcp root 3943 f…. sshd

Com ele podemos ver qual usu?rio est? rodando o processo, o PID que ? o n?mero do processo e o programa que est? rodando que nesse caso ? o sshd. Para cada processo que est? rodando, o sistema cria um diret?rio com PID dele no /proc, onde podemos obter algumas informa??es do processo, um deles ? o arquivo cmdline que mostra o caminho completo do programa, nos mostrando assim que aquele programa ? ele mesmo e n?o um program forjado.

# cat /proc/3943/cmdline
/usr/sbin/sshd

Outra ferramenta que poderiamos utilizar ? a lsof, que vai nos mostrar informa??es parecidas com a do netstat e a fuser, s? que em uma ?nica ferramenta. A lsof mostrar? os Socktes que est?o Ouvindo, que est?o Estabelecidos e entre outros, e nos mostrar? tamb?m o usu?rio, o PID e o programa que est? rodando, ou seja, poderiamos dizer que a lsof ? uma jun??o da netstat e a fuser. Por?m a lsof n?o vem instalada em todas as distro Linux, sendo necess?rio instala-l? via pacotes ou pelo source.

# lsof -i

-i : Listar? todos os processos ou arquivos relacionados a uma interface de rede, se n?o for especificado uma interface de rede, como fizemos ele mostrar? do todas as interfaces.

firefox-b 4652 user 36u IPv4 22723 TCP 192.168.0.1:38138->64.233.161.19:www (ESTABLISHED)
ssh 8342 root 3u IPv4 100376 TCP 192.168.0.1:54751->192.168.0.8:ssh (ESTABLISHED)

Uma coisa que muitos administradores tamb?m esquecem de olhar s?o os Raw Sockets, que s?o os Sockets que n?o dependem de um protocolo espec?fico, permite acesso direto a protocolos de baixo n?vel como ICMP, TCP, UDP, e IP, mais considerados por muitos como como um potencial foco de problemas de seguran?a devido ao fato que poucos administradores verificam as atividades de Raw Sockets de seus sistemas.

Podemos ver se existe algum Raw Socket aberto no nosso sistema utilizando o netstat com uma outra op??o.

# netstat -nlw
-w : Lista os Raw Sockets.

Provavelmente n?o ter? nenhum aberto, ent?o retorna um resposta vazia. Mas devemos ter muito cuidado com os Raw Sockets pois muitas BackDoors mais modernas utilizam o Raw Socket para abrir o seu sistema sem depender de um protocolo. O hping pode ser utilizado como uma BackDoor em seu sistema aproveitando-se do Raw Socket para poder executar comandos remotamente em seu sistema. Veja mais detalhes na documenta??o do hping.

Sa?da de uma respota positiva, utilizando o netstat para listar os Raw Sockets.

Proto Recv-Q Send-Q Endere?o Local Endere?o Remoto Estado
raw 0 0 0.0.0.0:255 0.0.0.0:* 7

E um ?ltimo programa que podemos utilizar ? o nmap que ? um poderoso programa para varreduras de portas ,nesse caso vamos ter a possibilidade de fazer uma an?lise interna ou externa do nosso sistema para vermos quais portas/servi?os est?o dispon?veis. O nmap n?o vem por padr?o nas distribui??es Linux, sendo necess?rio instala-lo. Ent?o de uma outra m?quina podemos fazer o seguinte teste.

Para Portas TCP.

# nmap -sT 192.168.0.1

-sT : Varredura de portas TCP completas.
192.168.0.1 -> Seu IP.

PORT STATE SERVICE
9/tcp open discard
13/tcp open daytime
21/tcp open ftp
22/tcp open ssh

Ou podemos testar localmente.

# nmap -sT localhost

# nmap -sT -p 22 localhost

PORT STATE SERVICE
22/tcp open ssh

Para Portas UDP

# nmap -sU 192.168.0.1

-sT : Varredura de portas TCP completas.
192.168.0.1 -> Seu IP.

PORT STATE SERVICE
9/udp open|filtered discard
53/udp open|filtered domain
111/udp open|filtered rpcbind

Ou podemos testar localmente.

# nmap -sU localhost

# nmap -sU -p 53 localhost

PORT STATE SERVICE
53/udp open|filtered domain

Ou ainda olhando as portas TCP e UDP simultaneamente

# nmap -sU -sT 192.168.0.1

Em alguns casos o uso do Nmap pode ser interessante para fazer o checklist de todas as portas ativas no servidor.

# nmap -sU -sT -F 192.168.0.1

-F: Todas as portas decladas no services

Ou olhar porta a porta at? 65535

# nmap -sU -sT -p- 192.168.0.1

Sendo assim conseguiremos ver todas as portas que est?o dispon?veis em nosso sistema.

Podemos ver tamb?m os banners dos servi?os que est?o rodando. Que para um invasor pode ser um informa??o preciosas.

# nmap -sV 192.168.0.1

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 3.8.1p1 (protocol 2.0)
25/tcp open smtp Exim smtpd 4.50
111/tcp open rpcbind 2 (rpc #100000)
113/tcp open ident OpenBSD identd
MAC Address: 00:50:BF:63:D0:E7 (Mototech)

O nmap possui muitas op??es, veja o manual dele para ver todas as op??es de uso.
CONCLUS?O.

Com o conhecimentos dessas ferramentas um administrador poder? fazer um bom check-list em seu sistema, e ter? um total dom?nio de todos os servi?os que est?o rodando no sistema.

DICAS-L2

  1. September 21st, 2008 at 10:30 | #1

    見てよ。

  2. September 23rd, 2008 at 11:01 | #2

    だと思わない?

  3. September 27th, 2008 at 09:10 | #3

    We are sell yogurt filling machine,cup filling machine, cup filling machine etc.

  4. September 29th, 2008 at 09:03 | #4

    いろいろ検索中にライブチャット拝見しました。楽しいブログですね!また、遊びにきます!

  5. October 9th, 2008 at 12:11 | #5

    いろいろ検索中にライブチャット拝見しました。楽しいブログですね!また、遊びにきます!

  6. October 12th, 2008 at 04:03 | #6

    正統派ホストクラブでは落ち着きと優雅さがあります。華やかに最高級のおもてなしで貴女を美しく演出。洗練された雰囲気で華やかな夜を愉しみたい貴女は正統派ホストクラブへ。歌舞伎町?都内?神奈川?千葉?埼玉?関西で正統派ホストクラブをお探しなら『ADAM』でチェック!

  7. October 13th, 2008 at 02:18 | #7

    Products include:vacuum pump hvac, aircraft vacuum pump, auto vacuum pump.

  8. October 15th, 2008 at 14:20 | #8

    The vitiligo pamphlet vitiligo is a skin, an introduction to vitiligo by the vitiligo society.

  9. October 17th, 2008 at 12:30 | #9

    I know some wow gold in wow.

  10. October 20th, 2008 at 13:40 | #10

    We offer wow powerleveling , cheap wow power level

  11. October 23rd, 2008 at 12:39 | #11

    風俗利用には感謝?感謝でございますこの浮き沈みの激しい風俗業界で、しかも、小さな小さなとってもとっても小さなこんな土地です。

  12. December 8th, 2008 at 14:09 | #12

    Cheapest maplestory mesos, play maplestory mesos you can Buy maplestory mesos.

  1. November 13th, 2008 at 20:59 | #1
  2. November 14th, 2008 at 07:01 | #2
  3. November 14th, 2008 at 07:28 | #3
  4. November 14th, 2008 at 19:02 | #4
  5. November 14th, 2008 at 20:35 | #5
  6. November 15th, 2008 at 04:33 | #6
  7. November 15th, 2008 at 21:18 | #7
  8. November 16th, 2008 at 17:32 | #8
  9. November 16th, 2008 at 19:33 | #9
  10. November 16th, 2008 at 23:34 | #10
  11. November 17th, 2008 at 06:44 | #11
  12. November 17th, 2008 at 20:29 | #12
  13. November 17th, 2008 at 20:37 | #13
  14. November 18th, 2008 at 00:26 | #14
  15. November 18th, 2008 at 23:46 | #15
  16. November 19th, 2008 at 06:06 | #16
  17. November 20th, 2008 at 22:13 | #17
  18. November 20th, 2008 at 22:53 | #18
  19. November 21st, 2008 at 19:42 | #19
  20. November 21st, 2008 at 22:13 | #20
  21. November 22nd, 2008 at 19:59 | #21
  22. November 22nd, 2008 at 20:03 | #22
  23. November 23rd, 2008 at 20:20 | #23
  24. November 23rd, 2008 at 20:25 | #24
  25. November 24th, 2008 at 20:05 | #25
  26. November 24th, 2008 at 20:09 | #26
  27. November 26th, 2008 at 01:47 | #27
  28. November 26th, 2008 at 07:34 | #28
  29. November 26th, 2008 at 20:54 | #29
  30. November 26th, 2008 at 23:28 | #30
  31. November 27th, 2008 at 20:33 | #31
  32. November 28th, 2008 at 03:57 | #32
  33. November 28th, 2008 at 23:02 | #33
  34. November 30th, 2008 at 09:13 | #34
  35. November 30th, 2008 at 23:47 | #35
  36. December 1st, 2008 at 04:36 | #36
  37. December 7th, 2008 at 04:43 | #37
  38. December 7th, 2008 at 08:14 | #38
  39. December 8th, 2008 at 01:41 | #39
  40. December 8th, 2008 at 04:36 | #40
  41. December 12th, 2008 at 12:04 | #41
  42. December 12th, 2008 at 22:41 | #42
  43. December 13th, 2008 at 03:40 | #43
  44. December 13th, 2008 at 19:43 | #44
  45. December 14th, 2008 at 15:34 | #45
  46. December 14th, 2008 at 19:26 | #46
  47. December 15th, 2008 at 02:57 | #47
  48. December 16th, 2008 at 11:27 | #48
  49. December 17th, 2008 at 03:54 | #49
  50. December 17th, 2008 at 13:03 | #50
  51. December 18th, 2008 at 09:48 | #51
  52. December 19th, 2008 at 16:50 | #52
  53. December 20th, 2008 at 01:59 | #53
  54. December 20th, 2008 at 08:56 | #54
  55. December 20th, 2008 at 12:08 | #55
  56. December 20th, 2008 at 12:36 | #56
  57. December 22nd, 2008 at 12:45 | #57
  58. December 22nd, 2008 at 12:45 | #58
  59. December 25th, 2008 at 16:29 | #59
  60. December 25th, 2008 at 21:47 | #60
  61. December 26th, 2008 at 01:29 | #61
  62. December 27th, 2008 at 13:47 | #62
  63. December 27th, 2008 at 16:58 | #63
  64. December 28th, 2008 at 00:05 | #64
  65. December 28th, 2008 at 00:43 | #65
  66. December 28th, 2008 at 11:34 | #66
  67. December 28th, 2008 at 13:29 | #67
  68. December 28th, 2008 at 19:50 | #68
  69. December 28th, 2008 at 21:42 | #69
  70. December 29th, 2008 at 09:19 | #70
  71. December 29th, 2008 at 09:41 | #71
  72. December 31st, 2008 at 03:43 | #72
  73. December 31st, 2008 at 09:01 | #73
  74. December 31st, 2008 at 10:40 | #74
  75. December 31st, 2008 at 11:51 | #75
  76. December 31st, 2008 at 22:22 | #76
  77. January 1st, 2009 at 04:12 | #77
  78. January 2nd, 2009 at 10:08 | #78
  79. January 3rd, 2009 at 09:45 | #79
  80. January 3rd, 2009 at 13:48 | #80
  81. January 3rd, 2009 at 16:29 | #81
  82. January 3rd, 2009 at 20:09 | #82
  83. January 4th, 2009 at 17:39 | #83
  84. January 4th, 2009 at 20:57 | #84
  85. January 5th, 2009 at 08:58 | #85
  86. January 5th, 2009 at 19:36 | #86
  87. January 6th, 2009 at 05:34 | #87
  88. January 6th, 2009 at 19:58 | #88
  89. January 7th, 2009 at 14:56 | #89
  90. January 7th, 2009 at 21:04 | #90
  91. January 7th, 2009 at 23:24 | #91
  92. January 8th, 2009 at 19:31 | #92
  93. January 9th, 2009 at 20:58 | #93