شاید شما درباره شفافیت گواهی و گزارش آن چیزی شنیده باشید. با استناد به ویکی پدیا: "شفافیت گواهی (CT) یک استاندارد امنیتی اینترنتی و چارچوب منبع باز برای نظارت و ممیزی گواهینامه های دیجیتال است." اساساً ، اطلاعاتی را درباره هرگونه گواهی عمومی که صادر می شود به شما می دهد. علاوه بر مزایای آن ، من به یک مشکل احتمالی فکر کردم زیرا هنگام استفاده از گواهینامه های TLS ، به عنوان مثال از Let’s Encrypt ، تمام FQDN ها را به مردم نشت می کند. گواهی نامه با دو نام DNS (نام جایگزین موضوع SAN) كه باید از آنها "خصوصی" نگهداری شود .
از این رو من خود آزمایشی کردم که در آن دو گواهی با نام تصادفی ایجاد کردم و سرورهای معتبر DNS و همچنین آدرس IPv6 این نام ها را کنترل کردم تا بررسی کنم که در حال برطرف کردن / اتصال به نام میزبان نامشخص است . اینجا برویم:
TL ؛ DR: طی یک دوره آزمایشی 8 ماهه (1) FQDN کاملاً پنهان من 700 بار با پرس و جوهای DNS حل شد ، در حالیکه 73 اتصال IPv6 HTTPS وارد شد (2) FQDN دوم من (SAN در وبلاگ من) حدود 500 بار مورد سال قرار گرفت ، در حالی که 273 اتصال IPv6 وارد شد ، به پورت 80 و 443 تقسیم شده است. یعنی: هر دو نام میزبان کاملاً بلااستفاده "درز کرده است" و فقط با استفاده از گواهینامه های X.509 توسط مردم اسکن می شود!
The Setup
من از نامهای میزبان و آدرس IPv6 به طور تصادفی ایجاد شده استفاده کردم:
- گواهی اجازه دهید با یک نام DNS رمزگذاری کنیم که من هرگز در هر کجا استفاده می شود من حتی برای آن یا موارد مشابه آن گوگل نکردم. نامش هست
7qftpqiw5m.ib.weberdns.de با داشتن یک رکورد واحد AAAA با اشاره به
2001: 470: 765b: 0: 747d: 36b6: 0d74: f26a . صادر شده در 2019-10-30 14:49 UTC ، CT در اینجا وارد شوید: https://crt.sh/؟id=2053680948.cepts19659012] گواهی LE دیگری با نام DNS
xd524olksc.ib.weberdns.de (با AAAA به
2001: 470: 765b: 0: d302: 1962: 0df9: 91eb ) همراه با weberblog.net و blog.webernetz.net (نام میزبان قدیمی من برای وبلاگ). در واقع ، من از این گواهی به مدت 2،5 ماه در وبلاگ خود استفاده کردم و به بسیاری از اشخاص امکان دیدن نام میزبان را داد. صادر شده در 2019-10-30 15:09 UTC ، CT اینجا وارد شوید: https://crt.sh/؟id=2053730087. در وبلاگ من تا تاریخ 15-15/01/20 13:55 بعد از ظهر فعال بود.
همانطور که هر دو گواهینامه توسط Let's Encrypt صادر شد ، اعتبار آنها پس از 90 روز به پایان رسید.
از آنجا که من سرورهای معتبر DNS را برای * کنترل می کنم. ib.weberdns.de (Infoblox VM ها با ورود به سیستم پرس و جو فعال هستند) و همچنین فضای IPv6 2001: 470: 765b :: / 64 (اتصال کارگزار تونل HE از طریق فایروال Palo Alto Networks من) توانستم همه را بگیرم جستجوی تک DNS و تلاش برای اتصال IP . ؛) با این حال ، تمام اتصالات به طور کامل مسدود شده بودند. هیچ سرویسی به آن آدرس های IPv6 گوش نمی داد.
بسیاری از درخواست های DNS و اتصالات IP
پس از صدور دو گواهینامه ، گواهی دوم (با SAN) را در وبلاگ خود قرار دادم. برای هر دو نام میزبان ، بلافاصله چند درخواست DNS در سرورهای DNS مشاهده کردم. و همچنین اتصالات ورودی به آدرس های IPv6:
در اینجا تصویری از Palo Alto نشان داده شده است که دو قانون مسدود کردن و بازدیدهای آنها را نشان می دهد:
تحلیل من
من مرور کردم پرونده های گزارش از سرورهای معتبر DNS و همچنین از فایروال. همانطور که انتظار می رفت ، صدها تلاش برای اتصال به نام میزبان وجود دارد: منابع)
(307)
(228)
(منابع منحصر به فرد)
(32)
(99)
(منابع منحصر به فرد)
(3)
(14)
37 AAAA
22 MX
6 DS
5 NS
3 TXT
3 SOA
3 CAA
2 CNAME
117 AAAA
29 MX
24 CAA
8 TXT
8 NS
7 SOA
4 DS
3 CNAME
2 DNSKEY
( منابع منحصر به فرد)
[unique /32]
(15)
[2]
(46)
[14]
122x 443
1 Google LLC
8 Quintex Alliance Consulting
6 Emerald Onion
4 Google LLC
4 F3 Netze eV
2 Zwiebelfreunde eV
2 Nexeon Technologies، Inc.
1 OVH Ltd
1 Keyweb AG
1 Joey Julian Koenig
1 Hydra Communications Ltd
1 Hurricane Electric LLC
1 الك لارسن
QED
در حالی كه اولین FQDN پرس و جوهای DNS بیشتری داشت ، مورد دوم تلاش بیشتری برای اتصال داشت.
من به هر كدام نگاه نكرده ام آدرس منبع IPv6 ، اما به نظر می رسد موارد جالب وجود دارد. البته ، این Google است. و اغلب DigitalOcean که احتمالاً فقط میزبان مواردی است؟ (آیا کسی می داند Let’s Encrypt خود در کجا میزبانی شود؟) بعلاوه ، حداقل یک گره خروجی Tor با توجه به جستجوی whois وجود دارد. و Technische Universitaet Muenchen سوابق CAA نام میزبان را فقط چند ثانیه پس از ورود به سیستم CT بررسی كرد. احتمالاً تحقیقی در اینجا ادامه دارد؟ همان Cloudflare ، که فقط سابقه CAA را زیر س quال برد.
تحلیل بیشتر
مثل همیشه ، با این داده ها می توانید کارهای بسیار بیشتری انجام دهید. در ابتدا ، رسم نمودارهای زیبا تر برای درک آسانتر داده ها نسبت به مقادیر خام. ؛) اما همچنین برخی از تجزیه و تحلیل های دیگر مانند:
- جدول زمانی پرس و جو <- این احتمالاً در چند ساعت اول نمایش داده شد که در مقایسه با بقیه دوره آزمون
- همبستگی مشتریان DNS (فرستنده DNS query) و آدرسهای IPv6 که ارتباطات واقعی را با سرورها تأمین می کنند <- احتمالاً هیچ ارتباط زیادی در اینجا وجود ندارد زیرا اولین نمایشگرهای DNS بازگشتی را نشان می دهد در حالی که دومین خزنده های Google
- نگاه عمیق تری به آدرس IPv6 منبع دارند <- جزئیات بیشتر در مورد خزنده های موتور جستجو ، پروژه های دانشگاهی ، گره های خروج TOR و کلیک های تصادفی شخصی درصورتی که کسی نام میزبان عجیب و غریب را در گواهی وبلاگ من مشاهده کرده است. برای موارد استفاده خصوصی هر FQDN بلافاصله در سیاهههای مربوط به CT تبلیغ می شود و اسکن می شود! از آنجا که نرخ پرس و جو برای سوابق A بسیار بیشتر بود ، به احتمال زیاد دو صد تلاش اتصال برای هر نام میزبانی که در سیاهههای مربوط به CT عمومی ظاهر شده است یا فقط یک نام جایگزین موضوع در یک گواهینامه عمومی است
.
ضمیمه
اگر می خواهید به سیاهههای مربوط به خام نگاهی بیندازید ، در اینجا می خواهیم:
من از دستورات پوسته زیر برای تجزیه و تحلیل خود استفاده کردم (مراجعه به تجزیه Logfile ):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
24
24 ] 25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# هر دو نام DNS f rom هر دو سرور معتبر DNS
گربه / var / log / فایروال ها / 2001 / 2001 : 470 : 765b :: d031 : 53 / * / * * | grep 7qftpqiw5m > ~ / cert1 [196591111]] cert1 [196591111]] – ib1
گربه / var / log / دیوارهای آتش / 2001 470 : 765b :: d031 : 53 / * / [196591111]] [ 19659113] * | grep xd524olksc > ~ / cert2 ] – ] 19659143] ib1
گربه [19659111] / var / log / دیوارهای آتش / 2001 : 470 : 470 : : 16b0 :: d032 : 53 / * / * / ] [ / ] [ 19659134] grep 7qftpqiw5m > ~ / cert1 – dns 1990 dns 1990 ] گربه / var / log / دیوارهای آتش / 2001 : 470 : 19659118] 1f0b : 16b0 :: d032 : 53 / * / ] / ] * | grep xd524olksc > ~ / cert2 – [196591165] dns – dns ] ib2
# هر دو گزارش سیاست
گربه / var / log / دیوارهای آتش / 2001 : 470 : 470 : 765b :: 1 / * / * / * | grep [19459113] [19459114] ] 2867f699 – 8191 – 4169 – 98ae – d45d7f349c29 d45d7f349c29] – palo
گربه / var / log / firewalls [196591111]] : 470 : 765b :: 1 / * / * ] [ * ] 19659111] | grep 151bf66d – 2f75 – 43ab – 43ab – 19149] 1919 19659111]> ~ / cert2 [19659113] – palo
# هر دو DNS معتبر به یک پرونده وارد می شوند
گربه cert1 – – ] dns – ib1 cert1 – dns – ib2 > cert1 cert1 [19459114] ] dns – همه
گربه cert2 – dns – ib1 – ib1 – dns – ib2 > cert2 – dns – [19659904] 19659067] # خروج از بروزرسانی های منطقه DNSSEC
گربه cert1 – dns – [196591111]] [1965914] grep – v ZRQ > cert1 – dns – dns – ] همه [19659113] – تمیز
گربه cert2 – dns – همه ] grep – v ZRQ > cert2 – dns – 19659113] –
#DNS نمایش داده شد برای سوابق A
گربه cert1 ] ] – همه | grep پرس و جو | grep "IN A" | w 19659111] – l
گربه cert1 – dns – همه | grep پرس و جو | grep "IN A" | awk "{چاپ $ 8}" | sed s / [19659437] #. * // | مرتب سازی -g | uniq
گربه cert1 – dns – همه | grep ] پرس و جو | grep "IN A" | awk "{چاپ $ 8}" | sed ] s / #. * // | مرتب سازی -g | uniq | wc -l
گربه cert2 – dns – همه | grep پرس و جو | grep "IN A" | wc – l
گربه ] cert2 – dns – همه | grep پرس و جو ] ] "IN A" | awk "{print $ 8}" | sed s / ] # . * // | مرتب سازی -g | uniq
گربه cert2 – dns – همه | grep ] پرس و جو | grep "IN A" | awk "{چاپ $ 8}" | sed ] s / #. * // | مرتب سازی -g | uniq | wc -l
#DNS query for AAAA records
گربه cert1 – dns – همه | grep پرس و جو | grep "IN AAAA" | wc | wc 19659249] l
گربه cert1 – dns – همه | ] grep پرس و جو | grep "IN AAAA" | awk "{چاپ $ 8}" | sed s / #. * // | مرتب سازی -g | uniq
گربه cert1 – dns – همه | grep ] query | grep "IN AAAA" | awk "{چاپ $ 8}" | sed [19459111] ] s / #. * // | مرتب سازی -g | uniq | wc -l
گربه cert2 – dns – همه | grep پرس و جو | grep "IN AAAA" | wc – l گربه ] cert2 – dns – همه | grep پرس و جو ] "IN AAAA" | awk "{print $ 8}" | sed s / # . * // | مرتب سازی -g | uniq
گربه cert2 – dns – همه | grep ] query | grep "IN AAAA" | awk "{چاپ $ 8}" | sed [19459111] ] s / #. * // | مرتب سازی -g | uniq | wc -l
# لیست RR های مورد پرسش
گربه cert1 – dns – [19659114] همه | grep پرس و جو | awk "{چاپ $ 13}" | ] ] ] uniq – c | مرتب سازی – ساعت
گربه گواه ] – dns – همه | grep پرس و جو | awk ] "چاپ $ 13}" [19659111] | مرتب سازی | uniq – c | مرتب سازی – ساعت اتصالات
گربه cert1 – palo | wc – l ] گربه ج ert2 – palo | wc – l
# آدرسهای منبع منحصر به فرد گربه ] cert1 – palo | برش – d "،" – f 8 | مرتب سازی | uniq | wc – l
- ] cert2 – palo | برش – d '،' – f 8 | مرتب سازی | uniq | wc – l بنادر
گربه cert1 – پالو | برش – d ' – f 26 [1 9659111] | مرتب سازی | uniq – c
گربه cert2 palo | cut – d "،" – f 26 | ] مرتب سازی | 19659111] | uniq – c | مرتب سازی – r
# سeriesالات برای همه آدرسهای منبع منحصر به فرد [19459111] ]
برای من در " گربه cert1 – palo
] |
برش – d '"،" – f 8 | مرتب سازی | uniq " ؛ انجام whois $ i ؛ انجام شده | 19659134] grep – e [19659114] org – name – e OrgNameبرای 19659774] در [196597756] " گربه cert2 – palo | برش –
d – ' – f 8 | مرتب سازی | uniq " ؛ انجام whois $ i ؛ انجام شد | grep – e ] org – name – e OrgName
نعمت خدا!
عکس توسط AbsolutVision در Unsplash.
- ] cert2 – palo | برش – d '،' – f 8 | مرتب سازی | uniq | wc – l بنادر