انتخاب شواهد HTTP: رکوردهای دروازه یا گزارشهای برنامه
دروازه VPN اتصالها را میبیند، برنامه شما درخواستها را میبیند و پروکسی TLS بدنهها را. کممداخلهترین منبعی را انتخاب کنید که به پرسش عملیاتی پاسخ میدهد.
پایش وب با هدف آغاز میشود، نه با نقطه ثبت. شمارش کارخواهان فعال، زمانسنجی یک فراخوان API و خواندن بدنه پیامها هر یک شواهد متفاوت و تصمیمهای حریم خصوصی متفاوتی میطلبند. دروازهای که HTTPS محافظتشده را هدایت میکند اتصالها را میبیند نه محتوای صفحه را. انتخاب لایه اشتباه دادهای میدهد که پرمایه به نظر میرسد و به هیچ چیز پاسخ نمیدهد.
پرسش را پیش از منبع داده نامگذاری کنید
با تصمیم عملیاتیای آغاز کنید که دادهها باید پشتیبان آن باشند. پرسشهای دسترسپذیری به شمارشها و زمانها نیاز دارند، پرسشهای درخواست به مسیرها و کدهای وضعیت و پرسشهای محتوا به بدنه پیامها. هر گام به سمت درون حساسیت و پیچیدگی مهندسی میافزاید. پیش از آغاز گردآوری، مالک خدمت و مالک امنیت باید مخاطب، هدف و نحوه برخورد را تأیید کنند، زیرا اداره تونل همان تصمیم نیست.
پرسش را در یک جمله بنویسید و آن را کنار برنامه گردآوری نگه دارید. این تنها مهار قابل اعتماد دامنه است.
دروازه چه میتواند نشان دهد و چه نمیتواند
دروازهای که HTTPS بهدرستی محافظتشده را هدایت میکند معمولاً نشانیها، درگاهها و حجمها را میبیند، نه سطرهای درخواست یا بدنهها.
conntrack -L -d 203.0.113.10 | head
tcpdump -ni vpn0 -c 20 'tcp port 443'فهرست conntrack جریانها و ترجمهها را نشان میدهد و ثبت کوتاه بستهها را بدون محتوای خواندنی برنامه نشان میدهد. این برای پاسخ به اینکه ترافیک جریان دارد یا نه، چه اندازه و میان کدام نقطههای پایانی کافی است. این فهرست URL نیست و یک پروکسی CONNECT معمولی تبادل رمزنگاریشده را بدون پایان دادن به TLS برنامه هدایت میکند. وقتی کسی از آن موقعیت مسیرهای درخواست را وعده میدهد، بپرسید کدام جزء رمزگشایی میکند و زیر اعتماد چه کسی.
گزارشهای برنامه به بیشتر پرسشهای درخواست پاسخ میدهند
برای برنامهای که خودتان اداره میکنید، ثبت پشتیبانیشده خودش معمولاً بدون رمزگشایی اتصالهای دیگران به پرسش سطح درخواست پاسخ میدهد.
curl -sS -o /dev/null -w "%{http_code} %{time_total}\n" https://app.example.com/health
tail -n 5 /var/log/nginx/access.logدرخواست سلامت دسترسپذیری را از موقعیت یک کارخواه میسنجد و گزارش دسترسی فیلدهایی را ثبت میکند که سرور پیشتر برای نگه داشتن برگزیده است. فیلدهایی را که وظیفه نیاز دارد برگزینید و بقیه را بیرون بگذارید، زیرا حتی یک URL میتواند پارامترهای حساس حمل کند. یک سطر گزارش شاهدی درباره همان خدمت است، نه درباره هر خدمت دیگری که کاربر از طریق تونل به آن رسیده است. باریک نگه داشتن گردآوری پرسش نگهداری را هم کوچک نگه میدارد، پس پنجرهای کوتاهتر از آزمایش ذهنیای که نیاز را پدید آورد تعیین کنید.
شنود یک طراحی اعتماد جداگانه است
اگر بازرسی در سطح پیام واقعاً لازم باشد، شنود TLS یک نقطه پایانی مورد اعتماد تازه و ترتیب اعتماد کارخواهی میسازد که باید توزیع و نگهداری شود. برنامههایی که گواهیها را سنجاق میکنند خواهند شکست و گرداننده اکنون کلیدهای خصوصیای در دست دارد که حفاظتشان به اندازه هر کلید سرور مهم است. به کار انداختن گردآوری با تضعیف اعتبارسنجی گواهی یا وصله کردن برنامهای که گواهیهایش را سنجاق میکند، یک مهار امنیتی را با یک سطر گزارش معاوضه میکند. طراحی بازرسی مستندی را ترجیح دهید که توزیع اعتمادش پیشتر مدیریت میشود و کلید خصوصی مرجع را بیرون از هر چیز مشترک نگه دارید.
در پایان پنجره گردآوری، پیکربندی و مواد اعتمادش را از طریق مالکانشان بردارید و شواهد نگهداریشده را بر پایه سیاست توافقشده از میان بردارید. اطلاعات قابل اعتماد کافی برای هدف اعلامشده معیار موفقیت است، نه بزرگترین ثبت ممکن.