قسمت دوم

وSplunk Stream می‌تواند ترافیک شبکه را به صورت زنده تحلیل و داده‌های ارزشمندی استخراج کند. نکته کلیدی در اینجا، آگاهی از وضعیت رمزگشایی TLS است.

پیش‌نیاز کلیدی: وضعیت رمزگشایی ترافیک TLS

* اگر رمزگشایی TLS فعال است:شما به محتوای کامل HTTP (مانند uri_path) دسترسی دارید.
* اگر رمزگشایی TLS فعال نیست (سناریوی رایج): شما نمی‌توانید محتوای HTTP را ببینید، اما همچنان به متادیتای بسیار ارزشمند TLS دسترسی دارید.

روش ۱: جستجو در ترافیک رمزگشایی‌شده (مبتنی بر HTTP)

این کوئری زمانی کار می‌کند که Splunk Stream قادر به دیدن محتوای ترافیک HTTPS باشد.


sourcetype=stream:http dest_port=443 (uri_path="/dns-query" OR uri_path="/resolve")
| stats count by src_ip, dest_ip, uri_path, http_method, user_agent, ja3
| sort - count

روش ۲: استفاده از متادیتای TLS (رویکرد پیشنهادی و واقع‌گرایانه)

این روش نیازی به رمزگشایی ترافیک ندارد و با تحلیل فیلد SNI (server_name`) در هندشیک TLS کار می‌کند. این روش بسیار قابل اعتمادتر است.


sourcetype=stream:tls dest_port=443 server_name IN ("*.cloudflare-dns.com", "dns.google", "mozilla.cloudflare-dns.com", "doh.opendns.com", "dns.quad9.net")
| stats count, dc(src_ip) as distinct_clients by server_name, dest_ip, ja3, ja3s
| rename server_name as DOH_Provider
| sort - count

* نکته: لیست IN (...) را باید به‌روز نگه دارید.
* فیلدهای ja3 و ja3s به شما در شناسایی کلاینت‌ها (مرورگرها یا بدافزارها) کمک می‌کنند.

روش ۳: کوئری ترکیبی برای حداکثر دقت

این کوئری هر دو روش بالا را ترکیب می‌کند تا جامع‌ترین دید را ارائه دهد و احتمال خطا را کاهش دهد.


(sourcetype=stream:http dest_port=443 (uri_path="/dns-query" OR uri_path="/resolve")) OR
(sourcetype=stream:tls dest_port=443 server_name IN ("*.cloudflare-dns.com", "dns.google", "*.quad9.net"))
| stats values(uri_path) as uri_paths, values(http_method) as methods, count by src_ip, dest_ip, server_name, ja3, user_agent
| sort - count


جمع‌بندی و استراتژی نهایی

شناسایی ترافیک DoH یک بازی "همه یا هیچ" نیست، بلکه یک فرآیند مبتنی بر تجمیع شواهد است.

1. با روش‌های با دقت بالا شروع کنید: جستجو بر اساس لیست دامنه‌های DoH شناخته‌شده (
server_name در Splunk یا host در Zeek) کمترین میزان هشدارهای کاذب را دارد.
2. از شاخص‌های عمومی‌تر برای کشف موارد ناشناخته استفاده کنید: الگوهایی مانند
uri_path="/dns-query"` می‌توانند سرویس‌های DoH جدید یا خصوصی را کشف کنند.
3. از JA3 برای شناسایی ابزارها استفاده کنید: فینگرپرینت‌های JA3 می‌توانند به شما بگویند آیا ترافیک DoH از یک مرورگر استاندارد (مثلاً Firefox) نشأت می‌گیرد یا از یک ابزار ناشناخته یا مخرب.
4. ایجاد خط پایه (Baseline): رفتار عادی DoH در شبکه خود را بشناسید. افزایش ناگهانی یا ظهور کلاینت‌های جدید DoH می‌تواند یک زنگ خطر باشد.

با به کارگیری این راهنمای جامع، شما قادر خواهید بود دید کاملی بر این نقطه کور امنیتی پیدا کرده و به طور موثرتری از شبکه خود محافظت کنید.


دوره CISSP
واتس اپ و بله 09902857290

Comments

Be the first to add a comment