
Na saída de
netstat -a | grep LISTEN
geralmente há muitos processos. Como (onde) posso encontrar informações sobre eles, qual a sua finalidade no sistema e se posso matá-los? Quais deles podem ser inseguros e quais são seguros?
Responder1
Como (onde) posso encontrar informações sobre eles,
Primeiro você precisa descobrir qual programa está vinculado a cada porta. Infelizmente, não existe uma maneira padrão única de fazer isso que funcione em todos os sistemas do tipo *ix, e sua pergunta não especifica nenhuma.
Algumas versões netstat
possuem um sinalizador que incluirá o nome do programa associado em cada linha de saída. Por exemplo, --program
no Linux ou -b
no Windows.
Se você netstat
não tiver esse sinalizador (por exemplo, OS X), você terá que encontrar outro método que funcione em seu sistema. lsof -i
, /proc
espeleologia, etc.
qual é o seu propósito no sistema
Depois de ter o nome do programa em mãos, man progname
ele geralmente fornecerá informações suficientes para você mesmo responder a essa pergunta.
[posso] matá-los?
Você descobrirá isso quando souber o que cada servidor está fazendo.
Uma única resposta aqui não é o lugar certo para uma lista de todas as coisas que você pode matar. Existem simplesmente muitas possibilidades. Se você não tiver certeza sobre um determinado programa depois de ler sua documentação, você pode postar outra pergunta aqui perguntando sobre ele. Algumas coisas são bastante óbvias (por exemplo, sshd
), outras mais obscuras (por exemplo, avahi
).
Quais deles podem ser inseguros e quais são seguros?
É raro que um programa seja executado por padrão em um novo sistema *ix que seja absolutamente inseguro.
(Nos velhos tempos, esse não era o caso. Muitas vezes você via sistemas executando telnetd
, sem chroot ftpd
, os r*
comandos...)
Qualquer ouvinte TCP em segundo plano não padrão deve ser algo que você ou outro administrador confiável instalou, então, presumivelmente, você já enfrentou quaisquer questões de segurança.
Existem áreas cinzentas aqui. Você pode ter um servidor em execução que não é absolutamente inseguro, mas que é condicionalmente inseguro. Talvez não esteja bloqueado corretamente, talvez tenha bugs não corrigidos, etc. Esse é o assunto de carreiras inteiras de segurança de computadores, porém, não é algo adequado para ser respondido aqui em uma única pergunta. Na falta dessa experiência, o Google é provavelmente o seu melhor primeiro recurso. Se você não encontrar o que precisa lá, você pode postar aqui uma nova pergunta sobre um servidor específico.
Responder2
O comando
netstat -a | grep LISTEN
lista todos os processos que escutam em vários tipos de soquetes. Esses soquetes podem pertencer a qualquer família de endereços, como ipv4 (udp ou tcp), ipv6 (udp6 ou tcp6), unix.
As entradas como:
tcp 0 0 *:webmin *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
significa que tcp
o protocolo é usado e algum servidor está rodando em sua máquina, como no meu caso, o webmin e o servidor ftp estão rodando.
As entradas como:
tcp6 0 0 [::]:8484 [::]:* LISTEN
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN
significa que o protocolo tcp6 do ipv6 é usado.
As entradas como:
unix 2 [ ACC ] STREAM LISTENING 13297 /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
unix 2 [ ACC ] STREAM LISTENING 13305 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
são criados por ORBit CORBA. Esta Common Object Request Broker Architecture (CORBA) é um padrão definido pelo Object Management Group (OMG) que permite que componentes de software escritos em múltiplas linguagens de computador e executados em vários computadores trabalhem juntos, ou seja, suporta múltiplas plataformas.
1. Como (onde) posso encontrar informações sobre eles?
Suponha que eu queira encontrar informações sobre /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
. Posso descobrir os detalhes executando o seguinte comando:
$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
Este comando deu a saída:
indicator 1909 pradeep 10u unix 0xf6bd8900 0t0 13305 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
indicator 1909 pradeep 12u unix 0xf6b1f600 0t0 13314 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
Aqui:
indicator
é o nome do comando unix associado ao processo.
1909
é o PID do indicator
processo.
2. qual é a sua finalidade no sistema?
Alguns processos como
tcp 0 0 *:ftp *:* LISTEN
são para ouvir um servidor FTP.
Outros gostam:
unix 2 [ ACC ] STREAM LISTENING 13297 /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
destinam-se à comunicação interprocessual entre diferentes processos usados pelo CORBA.
3. Posso matá-los?
Isso depende da criticidade do processo. Suponha que se você encerrar qualquer servidor que esteja escutando, todas as comunicações relacionadas a esse servidor serão interrompidas.
4. Quais deles podem ser inseguros e quais são seguros?
Todos são processos seguros.
Responder3
netstat -nap | grep LISTEN
fornecerá a saída abaixo, que incluirá onomee apiddoaudiçãoprocessos:
unix 2 [ ACC ] STREAM LISTENING 20763 2333/gnome-terminal /tmp/orbit-eugene/linc-91d-0-2dbe139bd35e3
unix 2 [ ACC ] STREAM LISTENING 17900 2014/bonobo-activat /tmp/orbit-eugene/linc-7de-0-2b0c0606f265
unix 2 [ ACC ] STREAM LISTENING 18325 2274/gnome-screensa /tmp/orbit-eugene/linc-7ef-0-59f130216cc19
-n
- Mostrar endereços numéricos em vez de tentar determinar nomes simbólicos de host, porta ou usuário.
-a
- Mostrar soquetes de escuta e de não escuta.
-p
Mostre o PID e o nome do programa ao qual cada soquete pertence.