Audit Konfigurasi HTTPS — HSTS, cookie, konten campuran, dan sertifikat
Audit Konfigurasi HTTPS
Tempel header respons sebuah situs — dan, jika Anda memilikinya, sertifikatnya, cuplikan sumber halamannya, dan nama hostnya — dan halaman ini melaporkan bagaimana sisi HTTPS dikonfigurasi: apakah HSTS diatur dan untuk berapa lama, apakah kebijakan keamanan konten meningkatkan permintaan tidak aman, apakah cookie ditandai Secure dan SameSite, apakah banner server mengungkap versi, dan apa yang dikatakan header proxy tentang permintaan yang sebenarnya dilihat aplikasi. Sertifikat diaudit dalam laporan yang sama, subresource http:// biasa dihitung dari sumber halaman, dan perintah yang dapat melihat handshake didaftar untuk Anda jalankan sendiri. Semuanya berjalan di browser Anda dan halaman ini tidak membuat permintaan apa pun.
1. Header respons
Seluruh blok header respons, termasuk baris status. Sumber termudah: curl -sI https://example.com/ di terminal, atau panel Headers pada tab Network di developer tools peramban, disalin dari bagian atas berkas. Header tambahan dibaca dan diabaikan; hanya yang relevan dengan HTTPS yang dilaporkan.
2. Sertifikat atau rantai (opsional)
Dengan kolom ini diisi, laporan yang sama juga memuat audit sertifikat lengkap, sehingga konfigurasi dan sertifikat dibaca bersama. PEM, badan base64 atau heksadesimal polos, dan .p7b PKCS#7 semuanya berfungsi; pemeriksa sertifikat masuk lebih dalam ke sertifikat secara terpisah.
3. Cuplikan sumber halaman (opsional)
Tempel sumber halaman (atau hanya tag dengan URL) dan setiap alamat http:// biasa didaftar, karena subresource yang dimuat melalui HTTP merusak gembok dan dapat ditulis ulang di tengah jalan meskipun halaman itu sendiri datang melalui HTTPS. Alamat ke host situs itu sendiri disorot terpisah, karena itulah yang akan diperbaiki oleh URL relatif.
4. Nama host (opsional)
Dengan nama host di sini, audit memeriksa subject alternative name seperti yang dilakukan peramban, termasuk aturan wildcard, dan mencocokkan alamat http:// biasa dengannya.
belum ada yang diaudit
Contoh ini sengaja tidak sempurna, sehingga setiap bagian laporan memiliki sesuatu di dalamnya: blok header dengan HSTS dan kebijakan keamanan konten (tetapi tanpa preload dan satu cookie tanpa SameSite), rantai dua sertifikat, dan cuplikan halaman yang memuat skrip melalui http:// biasa dan mengarahkan gambar ke host situs itu sendiri dengan cara yang sama. Harapkan nilai F pada contoh dan baca temuan di bawahnya untuk melihat arti masing-masing.
Apa yang diperiksa. Dari blok header: HSTS, max-age, includeSubDomains, dan preload-nya; kebijakan keamanan konten yang meningkatkan permintaan tidak aman; flag Secure, HttpOnly, dan SameSite pada setiap Set-Cookie; banner server yang menyebut produk dan versi; serta header yang diteruskan yang memberi tahu apakah aplikasi melihat permintaan sebagai HTTPS. Dari blok sertifikat: audit sertifikat lengkap, sampai ke apakah setiap tautan dalam rantai benar-benar menandatangani tautan berikutnya. Dari sumber halaman: subresource http:// biasa. Ketiganya dilaporkan terpisah lalu dirangkum bersama, karena gembok yang rusak biasanya berasal dari salah satu dari tiga itu dan bukan dari dua lainnya. Untuk daftar lengkap OWASP tentang header respons keamanan — X-Content-Type-Options, perlindungan pembingkaian, Referrer-Policy, Permissions-Policy, COOP, COEP, CORP, dan nilai berjenjang — tempel blok header yang sama ke halaman Pemeriksaan Header Keamanan; kedua halaman membagi pekerjaan sepanjang lapisan TLS dan lapisan header.
Apa yang tidak dapat dilihat. Halaman ini tidak pernah membuka koneksi TLS. Peramban tidak mengekspos handshake kepada halaman, sehingga versi protokol, suite cipher, grup pertukaran kunci, OCSP stapling, resumption sesi, 0-RTT, rantai sertifikat yang benar-benar dikirim server aktif, dan apakah pengalihan HTTP ke HTTPS terjadi di origin atau di proxy, semuanya di luar apa yang dapat dilaporkan halaman web mana pun. Halaman ini juga tidak dapat menjangkau situs pihak ketiga untuk mengumpulkan header untuk Anda, dan tidak dapat memberi tahu apakah sertifikat tepercaya, karena itu bergantung pada root store yang tidak dapat dibaca halaman. Perintah di bagian bawah halaman ini benar-benar dapat melihat hal-hal tersebut, dan dimaksudkan untuk dijalankan oleh Anda sendiri, di mesin Anda.
Di mana mendapatkan blok header. Di terminal, curl -sI https://example.com/ mencetak persis apa yang diminta halaman ini. Di peramban, buka developer tools, pilih tab Network, muat ulang halaman, pilih permintaan dokumen dan salin seluruh area Response Headers, atau gunakan Copy → Copy response headers. Untuk pemeriksaan pengalihan, jalankan juga curl -sI http://example.com/ dan tempel kedua blok, halaman ini melaporkannya secara berurutan.
Laporan audit
Belum ada yang diaudit. Tempel blok header di atas dan tekan Audit konfigurasi ini untuk laporan lengkap; sertifikat, cuplikan sumber halaman, dan nama host bersifat opsional dan masing-masing menambahkan bagiannya sendiri.
Probe keterjangkauan — satu-satunya bagian halaman ini yang menggunakan jaringan
Halaman tidak dapat membuka koneksi TLS, tetapi dapat mencoba permintaan biasa. Jika situs mengizinkan pembacaan lintas-asal, URL tempat respons akhirnya berada menunjukkan apakah http:// dialihkan ke https://, dan hanya itu yang dapat dibuktikan. Jika permintaan gagal, halaman ini tidak dapat memberi tahu apakah host sedang mati, koneksi Anda sendiri yang mati, atau situs hanya tidak mengizinkan pembacaan lintas-asal — yang terakhir adalah kasus umum, karena kebanyakan situs tidak mengirim Access-Control-Allow-Origin. URL http:// dijawab sebelum pengalihan apa pun, sehingga ini satu-satunya hal di sini yang akan dicoba peramban pada koneksi biasa. Tidak ada yang meninggalkan peramban sampai Anda menekan tombol.
Perintah ini dimaksudkan untuk dijalankan oleh Anda sendiri, di mesin yang Anda kendalikan, terhadap host yang boleh Anda uji. Keluaran -showcerts dapat ditempel langsung ke pemeriksa sertifikat, dan keluaran header kembali ke halaman ini.
Sertifikat adalah dokumen publik. Setiap sertifikat tepercaya publik dipublikasikan ke log Certificate Transparency, sehingga nama host apa pun di dalamnya — termasuk nama internal atau salah ketik yang ditandatangani oleh otoritas sertifikat publik — dapat ditemukan dengan mencari di log tersebut. Sertifikat juga membawa alamat pencabutan yang dipilih penerbitnya, dan alamat itu kadang-kadang menyebut host internal. Inilah sebabnya sertifikat yang disajikan CDN tidak mengatakan apa pun tentang server origin: nama di dalamnya milik CDN. Jika audit menemukan nama host yang tidak Anda duga, anggap itu publik dan ganti apa pun yang dilindunginya.
Privasi: blok header, sertifikat, dan sumber halaman dibaca secara lokal dan tidak pernah diunggah, serta tidak ada permintaan apa pun yang dibuat kecuali Anda menekan tombol di probe keterjangkauan. Untuk membuat sertifikat sendiri gunakan pembuat sertifikat self-signed; untuk memeriksa bahwa kunci privat milik sebuah sertifikat gunakan pencocok sertifikat dan kunci.
🔒 Alat SSL & TLS
Utilitas sertifikat dan kunci yang berjalan sepenuhnya di browser.