Sie können das auditd-Framework für diese Art von Dingen verwenden. Sie sind nicht sehr "benutzerfreundlich" oder intuitiv, weshalb Sie sich ein wenig umsehen müssen.
Stellen Sie zunächst sicher, dass auditd installiert ist und ausgeführt wird und dass Ihr Kernel dies unterstützt.
Für Ubuntu können Sie es apt-get install auditd
zum Beispiel mit installieren .
Anschließend fügen Sie eine Richtlinie für die Überwachung connect
hinzu , um alle Systemaufrufe wie folgt zu überwachen :
auditctl -a exit,always -F arch=b64 -S connect -k MYCONNECT
Wenn Sie eine 32-Bit-Installation von Linux verwenden, müssen Sie b64 in b32 ändern.
Mit diesem Befehl wird eine Richtlinie in das Überwachungsframework eingefügt, und alle connect () - Systemaufrufe werden (normalerweise /var/log/audit/audit.log
) in Ihren Überwachungsprotokolldateien protokolliert, damit Sie sie anzeigen können .
Eine Verbindung mit netcat zu Port 80 von news.ycombinator.com führt beispielsweise zu folgendem Ergebnis:
type=SYSCALL msg=audit(1326872512.453:12752): arch=c000003e syscall=42 success=no exit=-115 a0=3 a1=24e8fa0 a2=10 a3=7fff07a44cd0 items=0 ppid=5675 pid=7270 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts4 ses=4294967295 comm="nc" exe="/bin/nc.openbsd" key="MYCONNECT"
type=SOCKADDR msg=audit(1326872512.453:12752): saddr=02000050AE84E16A0000000000000000
Hier können Sie sehen, dass die Anwendung /bin/nc.openbsd einen connect () -Aufruf initiiert hat. Wenn Sie viele connect-Aufrufe erhalten und nur eine bestimmte IP oder einen bestimmten Port abrufen möchten, müssen Sie eine Konvertierung durchführen. Die SOCKADDR-Zeile enthält ein saddr-Argument. Sie beginnt mit 0200, gefolgt von der Portnummer in Hexadezimal (0050), was 80 bedeutet, und der IP in Hexadezimal (AE84E16A), die die IP von news.ycombinator.com von 174.132.225.106 ist.
Das Audit-Framework kann eine Vielzahl von Protokollen generieren. Denken Sie also daran, es zu deaktivieren, wenn Sie Ihre Mission erfüllt haben. Um die obige Richtlinie zu deaktivieren, ersetzen Sie einfach -a durch -d:
auditctl -d exit,always -F arch=b64 -S connect -k MYCONNECT
Gute Dokumentation zum auditd-Framework:
http://doc.opensuse.org/products/draft/SLES/SLES-security_sd_draft/part.audit.html
Konvertieren Sie IP-Adressen in / aus hexadezimal, dezimal, binär usw. unter:
http://www.kloth.net/services/iplocate.php
Allgemeiner Hex / Dec-Konverter:
http://www.statman.info/conversions/hexadecimal.html
Eine kurze Einführung in auditd aus dem IT Security Stack Exchange.
http://security.blogoverflow.com/2013/01/a-brief-introduction-to-auditd/
Bearbeiten 1 :
Eine andere schnelle Methode, dies zu tun, besteht darin, eine schnelle Schleife zu erstellen, die die Verbindungsdaten zu Ihnen speichert, wie folgt:
while true;do
ss -ntap -o state established '( dport = :80 )'
sleep 1
done
Dieser Befehl verwendet den ss
Befehl (Socket-Statistik), um die aktuell eingerichteten Verbindungen zu Port 80 zu sichern, einschließlich des Prozesses, von dem er initiiert wurde. Wenn es viele Daten gibt, die Sie hinzufügen können, | tee /tmp/output
um die Ausgabe auf dem Bildschirm anzuzeigen, und um sie für die spätere Verarbeitung / das Graben in / tmp / output zu schreiben. Wenn die schnelle Haproxy-Verbindung nicht hergestellt werden kann, versuchen Sie, sie zu entfernen. Seien Sie sleep 1
jedoch vorsichtig, wenn es sich um einen stark ausgelasteten Computer handelt. Ändern Sie nach Bedarf!