
В выходных данных
netstat -a | grep LISTEN
Обычно процессов много. Как (где) узнать о них информацию, каково их назначение в системе и можно ли их убить? Какие из них могут быть небезопасными, а какие безопасными?
решение1
Как (где) я могу узнать информацию о них,
Сначала вам нужно выяснить, какая программа привязана к каждому порту. К сожалению, не существует единого стандартного способа сделать это, который будет работать на всех системах типа *ix, и ваш вопрос не указывает его.
В некоторых версиях netstat
есть флаг, который будет включать соответствующее имя программы в каждой выходной строке. Например, --program
в Linux или -b
Windows.
Если у вас netstat
нет такого флага (например, OS X), вам придется найти другой метод, который работает в вашей системе. lsof -i
, /proc
спелеология и т. д.
какова их цель в системе?
Как только вы узнаете название программы, man progname
вы, как правило, получите достаточно информации, чтобы самостоятельно ответить на этот вопрос.
[могу ли я] убить их?
Вы поймете это, как только узнаете, что делает каждый сервер.
Один ответ здесь не является подходящим местом для списка всех вещей, которые вы можете убить. Просто слишком много возможностей. Если вы не уверены в определенной программе после прочтения ее документации, вы можете задать здесь другой вопрос, спрашивая о ней. Некоторые вещи довольно очевидны (например, sshd
), другие более неясны (например, avahi
).
Какие из них могут быть небезопасными, а какие безопасными?
Редко бывает так, что программа запускается по умолчанию на новой *ix-системе, что абсолютно небезопасно.
(В старые недобрые времена это было не так. Часто можно было увидеть системы telnetd
, работающие без chroot ftpd
, r*
команды...)
Любой нестандартный фоновый прослушиватель TCP должен быть установлен вами или другим доверенным администратором, поэтому, по всей вероятности, вы уже разобрались со всеми проблемами безопасности.
Здесь есть серые зоны. У вас может быть работающий сервер, который не абсолютно небезопасен, но условно небезопасен. Возможно, он не заблокирован должным образом, возможно, у него есть неисправленные ошибки и т. д. Это то, что нужно всем специалистам по компьютерной безопасности, но это не то, на что можно ответить здесь одним вопросом. Если у вас нет такого опыта, Google, вероятно, является вашим первым средством. Если вы не нашли там то, что вам нужно, вы можете разместить здесь новый вопрос о конкретном сервере.
решение2
Команда
netstat -a | grep LISTEN
перечисляет все процессы, прослушивающие различные типы сокетов. Эти сокеты могут быть любого семейства адресов, например ipv4 (udp или tcp), ipv6 (udp6 или tcp6), unix.
Такие записи, как:
tcp 0 0 *:webmin *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
означает tcp
, что используется протокол и на вашем компьютере запущен какой-то сервер, как в моем случае запущены webmin и ftp-сервер.
Такие записи, как:
tcp6 0 0 [::]:8484 [::]:* LISTEN
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN
означает, что используется протокол TCP6 IPv6.
Такие записи, как:
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
созданы ORBit CORBA. Эта архитектура Common Object Request Broker Architecture (CORBA) является стандартом, определенным Object Management Group (OMG), который позволяет программным компонентам, написанным на нескольких компьютерных языках и запущенным на нескольких компьютерах, работать вместе, т. е. поддерживает несколько платформ.
1. Как (где) я могу узнать информацию о них?
Предположим, я хочу найти информацию о /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
. Я могу узнать подробности, выполнив следующую команду:
$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
Эта команда выдала следующий результат:
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
Здесь:
indicator
— имя команды unix, связанной с процессом.
1909
— PID процесса indicator
.
2. какова их цель в системе?
Некоторые процессы, такие как
tcp 0 0 *:ftp *:* LISTEN
предназначены для прослушивания FTP-сервера.
Другие, как:
unix 2 [ ACC ] STREAM LISTENING 13297 /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
предназначены для межпроцессного взаимодействия между различными процессами, используемыми CORBA.
3. Могу ли я их убить?
Это зависит от критичности процесса. Предположим, если вы убьете любой сервер, который слушает, то он прекратит все коммуникации, связанные с этим сервером.
4. Какие из них могут быть небезопасными, а какие безопасными?
Все это безопасные процессы.
решение3
netstat -nap | grep LISTEN
даст следующий вывод, который будет включатьимяипидпринадлежащийслушаюпроцессы:
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
- Показывать числовые адреса вместо попыток определить символические имена хостов, портов или пользователей.
-a
- Показывать как прослушиваемые, так и не прослушиваемые сокеты.
-p
Показывать PID и имя программы, к которой принадлежит каждый сокет.