Linux denetimi yardımcı olabilir. En azından kullanıcıları ve datagram ağ bağlantılarını yapan işlemleri bulur. UDP paketleri datagramlardır.
İlk önce, auditdçerçeveyi platformunuza yükleyin ve auditctl -lkural tanımlanmadığını söylese bile bir şeylerin iade edildiğinden emin olun .
Ardından, sistem çağrısını izlemek ve socket()daha sonra kolayca bulmak için etiketlemek için bir kural ekleyin ( -k). Sana 64-bit mimarisine olduklarını varsaymak gerekir, ancak yerini alabilir b32yerine b64sen değilsen.
auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET
Bunu oluşturmak için man sayfaları ve başlık dosyalarını seçmeniz gerekir, ancak yakaladığı şey aslında bu sistem çağrısıdır: socket(PF_INET, SOCK_DGRAM|X, Y)üçüncü parametrenin belirtilmediği, ancak genellikle sıfır olduğu. PF_INET2 ve SOCK_DGRAM2. TCP bağlantılarını kullanmak istiyorsunuz olduğunu SOCK_STREAMbelirleyecek olan a1=1. ( SOCK_DGRAMikinci parametrede ORed SOCK_NONBLOCKveya ile karşılaştırılabilir. Bu SOCK_CLOEXECnedenle, &=karşılaştırma yapılır.) Daha -k SOCKETsonra denetim izlerini ararken kullanmak istediğimiz anahtar kelimemizdir. Herhangi bir şey olabilir, ama basit tutmayı seviyorum.
Birkaç dakika geçip denetim yollarını gözden geçirin. İsteğe bağlı olarak, ağdaki bir sunucuyu ping yaparak birkaç paketi zorlayabilir ve bu, UDP kullanan ve denetim alarmımızı tetiklemesi gereken bir DNS araması yapılmasına neden olur.
ausearch -i -ts today -k SOCKET
Ve aşağıdaki bölüme benzer çıktılar görünecektir. Önemli kısımları vurgulamak için onu kısaltıyorum
type=SYSCALL ... arch=x86_64 syscall=socket success=yes exit=1 a0=2 a1=2 ... pid=14510 ... auid=zlagtime uid=zlagtime ... euid=zlagtime ... comm=ping exe=/usr/bin/ping key=SOCKET
Yukarıdaki çıktıda, pingkomutun soketin açılmasına neden olduğunu görebiliriz . Sonra çalıştırabilir strace -p 14510hala çalışıyor olması halinde, süreci. ppid(Ana süreç kimliği) ayrıca durumda listelenen bir script yumurtlar problem çocuk çok olduğunu.
Şimdi, çok fazla UDP trafiğiniz varsa, bu yeterince iyi olmayacak ve ikisi de şu anda uzmanlığımın ötesinde olan OProfile veya SystemTap’e başvurmanız gerekecektir .
Bu, genel davada işleri daraltmaya yardımcı olmalıdır.
İşiniz bittiğinde, bunu oluşturmak için kullanılan aynı hattı kullanmak suretiyle denetim kuralı kaldırmak, sadece yerine -asahip -d.
auditctl -d exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET