Mengapa browser saya berpikir bahwa https://1.1.1.1 aman?

133

Ketika saya mengunjungi https://1.1.1.1 , browser web apa pun yang saya gunakan menganggap URL itu aman.

Inilah yang ditunjukkan Google Chrome:

Bilah alamat Google Chrome 65.0.3325.181 menunjukkan https://1.1.1.1

Biasanya, ketika saya mencoba mengunjungi situs HTTPS melalui alamat IP-nya, saya mendapatkan peringatan keamanan seperti ini:

Bilah alamat Google Chrome 65.0.3325.181 menampilkan https://192.168.0.2

Dari pemahaman saya, sertifikat situs harus sesuai dengan domain, tetapi Penampil Sertifikat Google Chrome tidak menunjukkan 1.1.1.1:

Penampil Sertifikat: * .cloudflare-dns.com

Artikel pengetahuan GoDaddy "Bisakah saya meminta sertifikat untuk nama intranet atau alamat IP?" mengatakan:

Tidak - kami tidak lagi menerima permintaan sertifikat untuk nama intranet atau alamat IP. Ini adalah standar industri , bukan yang khusus untuk GoDaddy.

( penekanan milikku)

Dan juga:

Akibatnya, efektif 1 Oktober 2016 , Otoritas Sertifikasi (CA) harus mencabut sertifikat SSL yang menggunakan nama intranet atau alamat IP .

( penekanan milikku)

Dan:

Alih-alih mengamankan alamat IP dan nama intranet, Anda harus mengkonfigurasi ulang server untuk menggunakan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN), seperti www.coolexample.com .

( penekanan milikku)

Ini baik setelah tanggal pencabutan wajib 01 Oktober 2016, namun sertifikat untuk 1.1.1.1dikeluarkan pada 29 Maret 2018 (ditunjukkan pada gambar di atas).


Bagaimana mungkin semua browser utama berpikir bahwa https://1.1.1.1 adalah situs web HTTPS tepercaya?

Deltik
sumber
10
Layak menunjukkan ada perbedaan besar antara 192.168.0.2 dan 1.1.1.1. Seseorang 192.168.0.2tidak ada di luar intranet Anda. Jika Anda membuat sertifikat yang Anda tandatangani sendiri 192.168.0.2akan dipercaya, dan Anda bisa menggunakan pendekatan yang sama untuk SAN, pada domain seperti fake.domain. Layak menunjukkan bahwa 1.1.1.1itu bukan alamat IP yang dicadangkan, sehingga muncul, CA mana pun akan mengeluarkan sertifikat.
Ramhound
12
blog.cloudflare.com/announcing-1111 "Kami sangat gembira hari ini untuk mengambil langkah lain menuju misi itu dengan meluncurkan 1.1.1.1 - layanan DNS konsumen konsumen pertama yang tercepat di Internet."
11
Saya pikir Anda salah mengartikan kalimat. Mereka mungkin berarti 'harus mencabut sertifikat SSL yang menggunakan intranet (nama atau alamat IP)' tidak 'harus mencabut sertifikat SSL yang menggunakan (nama intranet) atau alamat IP'.
Maciej Piechotka
1
@MaciejPiechotka benar, ini berarti "harus mencabut sertifikat SSL yang menggunakan nama intranet atau alamat IP intranet"
Ben
2
BTW ... tidak ada pencabutan wajib. Secara harfiah tidak ada organisasi di Bumi yang memiliki kekuatan seperti itu. Yang paling dekat Anda dapatkan adalah sekelompok CA setuju untuk melakukan sesuatu.
cHao

Jawaban:

95

Bahasa Inggris bersifat mendua . Anda menguraikannya seperti ini:

(intranet names) or (IP addresses)

yaitu melarang penggunaan alamat IP numerik sepenuhnya. Arti yang cocok dengan apa yang Anda lihat adalah:

intranet (names or IP addresses)

yaitu larangan sertifikat untuk rentang IP pribadi seperti 10.0.0.0/8, 172.16.0.0/12, dan 192.168.0.0/16, serta untuk nama pribadi yang tidak terlihat pada DNS publik.

Sertifikat untuk alamat IP yang dapat dirutekan secara publik masih diperbolehkan, hanya saja umumnya tidak disarankan untuk kebanyakan orang, terutama mereka yang tidak juga memiliki IP statis.


Pernyataan ini adalah saran, bukan klaim bahwa Anda tidak dapat mengamankan alamat IP (publik).

Alih-alih mengamankan alamat IP dan nama intranet, Anda harus mengkonfigurasi ulang server untuk menggunakan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN), seperti www.coolexample.com

Mungkin seseorang di GoDaddy salah mengartikan kata-kata itu, tetapi lebih mungkin mereka ingin menjaga saran mereka tetap sederhana, dan ingin merekomendasikan penggunaan nama DNS publik dalam sertifikat.

Kebanyakan orang tidak menggunakan IP statis yang stabil untuk layanan mereka. Menyediakan layanan DNS adalah satu-satunya kasus di mana benar-benar diperlukan untuk memiliki IP terkenal yang stabil alih-alih hanya nama. Untuk orang lain, memasukkan IP Anda saat ini ke sertifikat SSL Anda akan membatasi pilihan Anda di masa depan, karena Anda tidak bisa membiarkan orang lain mulai menggunakan IP itu. Mereka bisa menyamar sebagai situs Anda.

Cloudflare.com memiliki kendali atas alamat IP 1.1.1.1 sendiri, dan tidak berencana untuk melakukan hal yang berbeda dengannya di masa mendatang, jadi masuk akal bagi mereka untuk memasukkan IP mereka di sertifikat mereka. Khususnya sebagai penyedia DNS , kemungkinan besar klien HTTPS akan mengunjungi URL mereka berdasarkan nomor daripada untuk situs lain mana pun.

Peter Cordes
sumber
5
Ini menjawab dengan tepat mengapa saya bingung. Saya mengirim saran ke GoDaddy untuk meningkatkan kata-kata dari artikel tersebut . Semoga mereka akan memperbaikinya untuk mengklarifikasi "(nama server internal) atau (alamat IP yang dicadangkan)" sebagaimana didokumentasikan di Forum CAB .
Deltik
14
Pedantically, Cloudflare tidak "memiliki" alamat 1.1.1.1. Hal ini dimiliki oleh APNIC Labs , yang memberi izin Cloudflare untuk mengoperasikan DNS resolver ada dalam pertukaran untuk bantuan Cloudflare dalam mempelajari volume besar paket sampah yang keliru ditujukan kepada IP yang .
Kevin
12
Dengan pedas, @Kevin, APNIC juga tidak memilikinya. Artikel ini menyebutkan masalah kepemilikan, dan menggunakan frasa "dialokasikan untuk". IANA, bagian dari ICANN, mengalokasikan kisaran alamat untuk APNIC yang mengalokasikan alamat tersebut ke Cloudflare. Alamat IPv4 hanyalah cara mewah untuk menulis nomor dari 0-4294967296 (jika Anda melakukan ping ke 16843009 di banyak sistem operasi maka Anda akan menemukan Anda mendapatkan respons dari 1.1.1.1) dan AS tidak akan mengenali memiliki nomor (karenanya mengapa nama "Pentium" dibuat)
TOOGAM
5
Masalah Intel adalah kasus merek dagang, bukan kepemilikan ...
StarWeaver
3
@TOOGAM: Maksud saya, dalam sistem whois, yang saya tautkan secara khusus, 1.1.1.1 dialokasikan untuk APNIC Labs. Jika Anda akan memilih nits tentang alokasi vs. kepemilikan, jangan memutar arti "dialokasikan."
Kevin
102

Dokumentasi GoDaddy keliru. Tidak benar bahwa Otoritas Sertifikasi (CA) harus mencabut sertifikat untuk semua alamat IP ... hanya alamat IP yang dicadangkan .

Sumber: https://cabforum.org/internal-names/

CA untuk https://1.1.1.1 adalah DigiCert , yang sejak penulisan jawaban ini, tidak mengizinkan membeli sertifikat situs untuk alamat IP publik.

DigiCert memiliki artikel tentang ini yang disebut Penerbitan Sertifikat Nama Server Internal Setelah 2015 :

Jika Anda adalah admin server yang menggunakan nama internal, Anda harus mengkonfigurasi ulang server tersebut untuk menggunakan nama publik, atau beralih ke sertifikat yang dikeluarkan oleh CA internal sebelum tanggal cutoff 2015. Semua koneksi internal yang memerlukan sertifikat yang dipercayai publik harus dilakukan melalui nama yang bersifat publik dan dapat diverifikasi (tidak masalah jika layanan tersebut dapat diakses publik).

( penekanan milikku)

Cloudflare hanya mendapatkan sertifikat untuk alamat IP mereka 1.1.1.1dari CA yang tepercaya itu.

Parsing sertifikat untuk https://1.1.1.1 mengungkapkan bahwa sertifikat tersebut menggunakan Nama Alternatif Subjek (SAN) untuk mencakup beberapa alamat IP dan nama domain biasa:

deltik@node51 [~]$ openssl s_client -showcerts -connect 1.1.1.1:443 < /dev/null 2>&1 | openssl x509 -noout -text | grep -A1 'Subject Alternative Name:'
            X509v3 Subject Alternative Name: 
                DNS:*.cloudflare-dns.com, IP Address:1.1.1.1, IP Address:1.0.0.1, DNS:cloudflare-dns.com, IP Address:2606:4700:4700:0:0:0:0:1111, IP Address:2606:4700:4700:0:0:0:0:1001

Informasi ini juga ada di Penampil Sertifikat Google Chrome di bawah tab "Perincian":

Penampil Sertifikat: Detail: * .cloudflare-dns.com

Sertifikat ini berlaku untuk semua domain yang terdaftar (termasuk wildcard *) dan alamat IP.

Deltik
sumber
Tautan artikel Anda tampaknya tidak berfungsi. Terbaik untuk mengutip informasi yang relevan.
Ramhound
11
Saya pikir itu tidak salah sebanyak menyesatkan. Itu harus tanda kurung sebagai 'harus mencabut sertifikat SSL yang menggunakan intranet (nama atau alamat IP)' tidak 'harus mencabut sertifikat SSL yang menggunakan (nama intranet) atau alamat IP'.
Maciej Piechotka
3
Yah, itu tidak mengatakan "nama intranet atau alamat IP". Nama intranet, atau alamat IP intranet. Tidak salah, hanya OP saja yang membacanya secara selektif.
Lightness Races in Orbit
45

Sepertinya Nama Alt Subjek Sertifikat menyertakan alamat IP:

Not Critical
DNS Name: *.cloudflare-dns.com
IP Address: 1.1.1.1
IP Address: 1.0.0.1
DNS Name: cloudflare-dns.com
IP Address: 2606:4700:4700::1111
IP Address: 2606:4700:4700::1001

Secara tradisional saya kira Anda hanya akan memasukkan Nama DNS di sini, tetapi Cloudflare telah memasukkan Alamat IP mereka juga.

https://1.0.0.1/ juga dianggap aman oleh browser.

Michael Frank
sumber
1
Saya tidak melihat bagaimana ini menjawab pertanyaan. Mem-posting konten sertifikat tidak menjelaskan mengapa sertifikat semacam itu dapat dikirimkan.
Dmitry Grigoryev
18
@DmitryGrigoryev: Tapi itu membuktikan bahwa sertifikat seperti itu dikirimkan, yang merupakan titik utama kebingungan dalam pertanyaan (OP tidak dapat menemukan 1.1.1.1 yang tercantum dalam sertifikat)
Lightness Races in Orbit
3
Jawaban ini memang menjawab pertanyaan penulis. Sementara penulis menjelaskan secara lebih terperinci sehubungan dengan kebingungan mereka, ini mengidentifikasi fakta, sertifikat yang dimaksud memang valid. Sejak penulis pertanyaan, tidak pernah memberi kami apa yang sebenarnya dikatakan GoDaddy, sulit untuk menjawab pertanyaan dengan yang lain.
Ramhound
4
@DmitryGrigoryev - Jika pertanyaannya adalah "Mengapa browser saya berpikir bahwa 1.1.1.1 aman?" (judul halaman ini) atau "Bagaimana mungkin semua browser utama berpikir bahwa 1.1.1.1 adalah situs web HTTPS tepercaya?" (satu-satunya pertanyaan aktual di dalam tubuh), lalu "karena 1.1.1.1 terdaftar sebagai SAN dalam sertifikat" dengan jelas menjawab pertanyaan itu.
Dave Sherohman
@DmitryGrigoryev " tidak menjelaskan mengapa sertifikat seperti itu dapat dikirimkan " maka pertanyaannya tidak jelas, karena bahkan tidak berisi informasi sertifikat lengkap, dan tidak jelas pertanyaan teknis tentang implementasi TLS di browser atau pertanyaan kebijakan tentang CA, tetapi campuran keduanya
curiousguy