
In der Ausgabe von
netstat -a | grep LISTEN
es gibt normalerweise viele Prozesse. Wie (wo) kann ich Informationen über sie herausfinden, was ist ihr Zweck im System und kann ich sie beenden? Welche von ihnen können unsicher sein und welche sind sicher?
Antwort1
Wie (wo) kann ich Informationen über sie erhalten,
Zuerst müssen Sie herausfinden, welches Programm an welchen Port gebunden ist. Leider gibt es hierfür keine einheitliche Standardmethode, die auf allen *ix-Systemen funktioniert, und Ihre Frage gibt auch keine solche Methode an.
Einige Versionen netstat
verfügen über ein Flag, das den zugehörigen Programmnamen in jeder Ausgabezeile enthält. Beispielsweise --program
unter Linux oder -b
Windows.
Wenn Ihr netstat
System nicht über ein solches Flag verfügt (z. B. OS X), müssen Sie eine andere Methode finden, die auf Ihrem System funktioniert. lsof -i
, /proc
Höhlenforschung usw.
was ist ihr Zweck im System
Sobald Sie den Programmnamen zur Hand haben, man progname
erhalten Sie normalerweise genügend Informationen, um diese Frage selbst zu beantworten.
[kann ich] sie töten?
Sie werden es herausfinden, sobald Sie wissen, was jeder Server macht.
Eine einzelne Antwort hier ist nicht der richtige Ort für eine Liste aller Dinge, die Sie beenden können. Es gibt einfach zu viele Möglichkeiten. Wenn Sie sich nach dem Lesen der Dokumentation zu einem bestimmten Programm nicht sicher sind, können Sie hier eine weitere Frage dazu stellen. Manche Dinge sind ziemlich offensichtlich (z. B. sshd
), andere weniger offensichtlich (z. B. avahi
).
Welche davon können unsicher sein und welche sind sicher?
Es kommt selten vor, dass auf einem neuen *ix-System standardmäßig ein Programm ausgeführt wird, das absolut unsicher ist.
(In der schlechten alten Zeit war das nicht der Fall. Man sah oft Systeme telnetd
, die ohne Chroot liefen ftpd
, die r*
Befehle ...)
Jeder nicht standardmäßige TCP-Listener im Hintergrund sollte von Ihnen oder einem anderen vertrauenswürdigen Administrator installiert werden. Daher sind Sie vermutlich bereits mit allen Sicherheitsbedenken vertraut.
Hier gibt es Grauzonen. Sie haben vielleicht einen Server am Laufen, der nicht absolut unsicher ist, aber bedingt unsicher. Vielleicht ist er nicht richtig gesperrt, vielleicht hat er ungepatchte Bugs usw. Das ist allerdings der Stoff, den ganze Karrieren im Bereich Computersicherheit ausmachen, und nichts, was sich hier in einer einzigen Frage beantworten lässt. Wenn Ihnen diese Erfahrung fehlt, ist Google wahrscheinlich Ihre beste erste Anlaufstelle. Wenn Sie dort nicht finden, was Sie brauchen, können Sie hier eine neue Frage zu einem bestimmten Server stellen.
Antwort2
Der Befehl
netstat -a | grep LISTEN
listet alle Prozesse auf, die auf verschiedenen Socket-Typen lauschen. Diese Sockets können aus beliebigen Adressfamilien wie IPv4 (UDP oder TCP), IPv6 (UDP6 oder TCP6) oder Unix stammen.
Die Einträge wie:
tcp 0 0 *:webmin *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
bedeutet tcp
, dass ein Protokoll verwendet wird und auf Ihrem Computer ein Server ausgeführt wird, z. B. in meinem Fall Webmin und ein FTP-Server.
Die Einträge wie:
tcp6 0 0 [::]:8484 [::]:* LISTEN
tcp6 0 0 [::]:netbios-ssn [::]:* LISTEN
bedeutet, dass das TCP6-Protokoll von IPv6 verwendet wird.
Die Einträge wie:
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
werden von ORBit CORBA erstellt. Diese Common Object Request Broker Architecture (CORBA) ist ein von der Object Management Group (OMG) definierter Standard, der die Zusammenarbeit von Softwarekomponenten ermöglicht, die in mehreren Computersprachen geschrieben sind und auf mehreren Computern ausgeführt werden, d. h. er unterstützt mehrere Plattformen.
1. Wie (wo) kann ich Informationen darüber finden?
Angenommen, ich möchte Informationen zu finden /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
. Die Einzelheiten kann ich herausfinden, indem ich den folgenden Befehl ausführe:
$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
Dieser Befehl gab die Ausgabe aus:
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
Hier:
indicator
ist der Name des mit dem Prozess verknüpften Unix-Befehls.
1909
ist die PID des indicator
Prozesses.
2. Was ist ihr Zweck im System?
Einige Prozesse wie
tcp 0 0 *:ftp *:* LISTEN
dienen zum Abhören eines FTP-Servers.
Andere mögen:
unix 2 [ ACC ] STREAM LISTENING 13297 /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
sind für die Interprozesskommunikation zwischen verschiedenen von CORBA verwendeten Prozessen gedacht.
3. Kann ich sie töten?
Das hängt von der Kritikalität des Prozesses ab. Angenommen, Sie beenden einen abhörenden Server, dann wird die gesamte Kommunikation mit diesem Server beendet.
4. Welche davon können unsicher sein und welche sind sicher?
Es handelt sich bei allen um sichere Prozesse.
Antwort3
netstat -nap | grep LISTEN
gibt die folgende Ausgabe aus, die Folgendes enthält:Nameund daspiddesHörenProzesse:
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
- Zeigen Sie numerische Adressen an, anstatt zu versuchen, symbolische Host-, Port- oder Benutzernamen zu ermitteln.
-a
- Zeigt sowohl abhörende als auch nicht abhörende Sockets an.
-p
Zeigt die PID und den Namen des Programms an, zu dem jeder Socket gehört.